Tổng quan về TCPIP, các khái niệm và các đặc tính, qúa trình phát triển, hình thành và cách thức hoạt động, mối liên hệ giữa TCPIP và các giao thức, Kiến trúc, chức năng và ưu nhược điểm, So sánh giữa TCPIP và OSI
Trang 1TRƯỜNG ĐẠI HỌC GTVT THÀNH PHỐ HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
Mạng Máy Tính Và Truyền Thông
TPHCM, Tháng 11 - 2021
Trang 2Giới Thiệu
Nhu cầu trao đổi thông tin trong nhiều lĩnh vực khác nhau , về nhiều chủ đề khác
nhau, giữa các tổ chức, các cơ quan… là không có giới hạn vì thế, nhu cầu kết
nối các mạng khác nhau để trao đổi thông tin là thực sự cần thiết Nhưng thật
không may là hầu hếtt các mạng của các công ty, cơ quan…đều là các thực thể
độc lập, được thiết lập để phục vụ nhu cầu trao đổi thông tin của bản thân các tổ
chức đó Các mạng này có thể được xây dựng từ những kỹ thuật phần cứng của
riêng họ Điều này chính là một cản trở cho việc xây dựng mạng chung Nhu cầu
về một kỹ thuật mới mà có thể kết nối được nhiều mạng vật lý có cấu trúc khác
hẳn nhau là thực sự cần thiết Nhận thức được điều đó trong quá trình phát triển
mạng ARPANET của mình tổ chức ARPA (Advance Research Prọect Agency)
đã tập trung nghiên cứu nhằm đưa ra một kỹ thuật nhằm thoả mãn những yêu cầu
trên Kỹ thuật ARPA bao gồm một thiết lập các chuẩn mạng xác định rõ các chi
tiết của của việc làm như thế nào để các máy tính có thể truyền thông với nhau
cũng như với một sự thiết lập các quy tắc cho việc kết nối mạng, lưu thông và
chọn đường Kỹ thuật đó được phát triển đầy đủ và được đưa ra với tên gọi chính
xác là TCP/IP internet Protocol Suit và thường được gọi tắt là TCP/IP Dùng
TCP/IP người ta có thể kết nối được tất cả các mạng bên trong công ty của họ
hoặc có thể kết nối giữa các mạng của các công ty với nhau
Trang 3Mục Lục
Trang
Chương I: Tổng quan về TCP/IP - 4
I Khái niệm và các đặc tính - 4
1 Khái niệm - 4
2 Các đặc tính - 5
II Qúa trình phát triển, hình thành và cách thức hoạt động - 6
1 Qúa trình phát triển - 6
2 Cách thức hoạt động - 6
III Mối liên hệ giữa TCP/IP và các giao thức - 9
1 SSL/TSL - 9
2 HTTPS - 10
3 SSH - 13
Chương II: Kiến trúc, chức năng và ưu nhược điểm - 16
I Kiến trúc và chức năng trong phân tầng của TCP/IP - 16
1 Tầng ứng dụng ( application) - 16
2 Tầng giao vận (transport) - 17
3 Tầng mạng (internet) - 18
4 Tầng vật lý (physical) - 18
II Ưu nhược điểm - 18
1 Ưu điểm - 18
2 Nhược điểm - 19
Chương III: So sánh giữa TCP/IP và OSI - 19
Trang 4TCP/IP hoặc Transmission Control Protocol/Internet Protocol (Giao thức điều
khiển truyền vận/giao thức mạng) là một bộ các giao thức trao đổi thông tin được
sử dụng để kết nối các thiết bị mạng trên Internet TCP/IP có thể được sử dụng
như là một giao thức trao đổi thông tin trong một mạng riêng (intranet hoặc
extranet)
Toàn bộ bộ giao thức Internet – một tập hợp các quy tắc và thủ tục – thường được
gọi là TCP/IP, mặc dù trong bộ cũng có các giao thức khác
TCP/IP chỉ định cách dữ liệu được trao đổi qua Internet bằng cách cung cấp thông
tin trao đổi đầu cuối nhằm mục đích xác định cách thức nó được chia thành các
gói, được gắn địa chỉ, vận chuyển, định tuyến và nhận ở điểm đến TCP/IP không
yêu cầu quản lý nhiều và nó được thiết kế để khiến mạng đáng tin cậy hơn với
khả năng phục hồi tự động
Trang 5Có hai giao thức mạng chính trong bộ giao thức mạng phục vụ các chức năng cụ
thể TCP xác định cách các ứng dụng tạo kênh giao tiếp trong mạng Ngoài ra, nó
cũng quản lý cách các tin được phân thành các gói nhỏ trước khi được chuyển
qua Internet và được tập hợp lại theo đúng thứ tự tại địa chỉ đến
IP xác định cách gán địa chỉ và định tuyến từng gói để đảm bảo nó đến đúng nơi
Mỗi gateway trên mạng kiểm tra địa chỉ IP này để xác định nơi chuyển tiếp tin
nhắn
2 Các đặc tính
- Là bộ giao thức chuẩn mở và sẵn có vì: nó không thuộc sở hữu của bất cứ một
tổ chức nào; các đặc tả thì sẵn có và rộng rãi Vì vậy, bất kì ai cũng có thể xây
dựng phần mềm truyền thông qua mạng máy tính dựa trên nó
- TCP/IP độc lập với phần cứng mạng vật lý, điều này cho phép TCP.IP có thể
được dùng để kết nối nhiều loại mạng có kiến trúc vật lý khác nhau như Ethernet,
Token Ring, FDDI, X25, ATM…
- TCP/IP dùng địa chỉ IP để định danh các host trên mạng tạo thành một mạng ảo
thống nhất khi kết nối mạng
So sánh giữa mô hình OIS và TCP/IP
Trang 6II Qúa trình phát triển, hình thành và cách thức hoạt động
1 Qúa trình phát triển, hình thành
Cơ quan chỉ đạo các dự án nghiên cứu Quốc phòng tiên tiến (Defense Advanced
Research Projects Agency – DARPA), chi nhánh nghiên cứu của Bộ Quốc phòng
Mỹ, đã tạo ra model TCP/IP trong những năm 1970 để sử dụng trong ARPANET,
một mạng diện rộng có trước Internet TCP/IP ban đầu được thiết kế cho hệ điều
hành Unix và được tích hợp vào tất cả các hệ điều hành sau nó Model TCP/IP và
các giao thức liên quan hiện được Internet Engineering Task Force duy trì
Trải qua nhiều năm nghiên cứu và phát triển, bộ giao thức này đã nhận được nhiều
kết quả tốt Cũng bởi điều này mà cuộc hội thảo được Internet Architecture Broad
mở ra với sự tham gia của hơn 250 đại biểu đại diện cho các công ty thương mại
cho ra mắt giao thức và mô hình TCP/IP Kể từ đó giao thức này được phổ biến
rộng rãi trên toàn thế giới
Đầu năm 1978, giao thức TCP/IP được ổn định hóa và được xem như một tiêu
chuẩn cho toàn bộ mạng lưới thông tin của Hoa Kỳ Sự ra đời của TCP/IP được
cả nhân loại đánh giá cao trong đó Kahn và Cerf là 2 nhà phát triển chính đã được
trao tặng huy chương Presidential Medal of Freedom cho những cống hiến danh
giá của họ cho nhân loại
Với số lượng thông tin ngày càng khủng như hiện nay, nếu như không có giao
thức đóng gói đơn giản hóa và phân tích dữ liệu của TCP/IP thì con người sẽ bị
đẩy lùi đi rất nhiều Bằng chứng rõ ràng nhất là bất cứ máy tính nào muốn lên
Internet đều phải dùng kết nối thông qua TCP/IP
2 Cách thức hoạt động
TCP/IP sử dụng mô hình giao tiếp máy khách/máy chủ, trong đó người dùng hoặc
thiết bị (máy khách) được một máy tính khác (máy chủ) cung cấp một dịch vụ
(giống như gửi một trang web) trong mạng
Nói chung, bộ giao thức TCP/IP được phân loại là không có trạng thái, có nghĩa
là mỗi yêu cầu của máy khách được xem là mới bởi vì nó không liên quan đến
yêu cầu trước Việc không có trạng thái này giúp giải phóng đường mạng, do đó
chúng có thể được sử dụng liên tục
Trang 7Tuy nhiên, tầng vận chuyển lại có trạng thái Nó truyền một tin nhắn duy nhất và
kết nối của nó vẫn giữ nguyên cho đến khi nhận được tất cả các gói trong tin nhắn
và tập trung tại điểm đến
Mô hình TCP/IP hơi khác so với mô hình OSI (Open Systems Interconnection –
Mô hình kết nối các hệ thống mở) bảy lớp được thiết kế sau nó, nó xác định cách
các ứng dụng giao tiếp trong một mạng
TCP đóng vai trò quan trọng trong việc kiểm tra và đảm bảo sự an toàn cho từng
gói tin khi đi qua mỗi trạm Khi thực hiện quá trình này nếu như giao thức TCP
nhận thấy gói tin bị lỗi, một tín hiệu khác sẽ được truyền đi và gửi yêu cầu hệ
thống gửi lại 1 gói tin khác Quá trình này sẽ giúp người dùng hiểu rõ hơn chức
năng của mỗi tầng trong mô hình TCP IP
Còn IP (hay giao thức liên mạng) cho phép các gói tin được gửi tới địch đã được
định sẵn bằng cách bổ sung các thông tin dẫn đường vào các gói tin để chúng
được tới đúng đích đã quy định từ ban đầu
Trang 8Nguyên lý hoạt động của TCP IP
Trang 9Khi truyền dữ liệu , quá trình tiến hành từ tầng trên xuống tầng dưới, qua mỗi tầng
dữ liệu được thêm vào thông tin điều khiển gọi là Header Khi nhận dữ liệu thì
quá trình xảy ra ngược lại, dữ liệu được truyền từ tầng dưới lên và qua mỗi tầng
thì phần header tương ứng sẽ được lấy đi và khi đến tầng trên cùng thì dữ liệu
không còn phần header nữa
Trong bộ giao thức TCP/IP, IP đóng vai trò vô cùng quan trọng trong việc chuyển
tiếp gói tin tới một máy tính khác Thông qua 1 hoặc nhiều khoảng (chuyển tiếp)
gần nhất với người nhận gói tin Còn giao thức TCP sẽ giúp kiểm tra các gói dữ
liệu xem có bất cứ lỗi nào không Sau đó gửi yêu cầu truyền lại nếu như phát hiện
ra lỗi
Có thể hình dung việc truyền tin trên mạng Internet giống như một dây chuyền
sản xuất vậy Các công nhân sẽ lần lượt chuyền các bán thành phần qua nhiều
giai đoạn khác nhau để bổ sung hoàn thiện các sản phẩm Vì vậy, bạn có thể hình
dung IP giống như cách thức hoạt động của nhà máy còn TCP thì giống như 1
người giám sát dây chuyền đảm bảo cho chúng hoạt động liên tục và không gặp
lỗi
III Mối liện hệ giữa TCP/IP và các giao thức
1 SSL/TSL
SSL/TLS hoạt động dựa trên việc sử dụng public và private key, đồng thời các
khóa duy nhất của mỗi phiên giao dịch Trong quá trình khách truy cập điền vào
thanh địa chỉ bảo mật SSL thông tin của web browser hoặc khi chuyển hướng tới
trang web bảo mật khác, lúc đó thì trình duyệt và web server được thiết lập kết
nối với nhau
Ở đợt tiến hành kết nối ban đầu, public key và private key được dùng để tạo ra
session key, vốn được dùng để mã hóa và giải mã dữ liệu được truyền đưa
Session key này sẽ chỉ có thể được dùng trong đợt giao dịch này và cũng chỉ được
sử dụng trong một khoảng thời gian nhất định
Chức năng chính của giao thức TLS là cung cấp sự riêng tư bảo đảm sự nguyên
vẹn cho dữ liệu giữa hai ứng dụng trong môi trường mạng
Vì TLS là giao thức được phát triển từ giao thức SSL nên giao thức TLS cũng
Trang 10Trong mô hình TCP/IP thì giao thức TLS gồm có hai lớp: Lớp Record Layer và
lớp Handshake Layer Với Record layer là lớp thấp nhất gồm TLS record protocol
(trên tầng giao vận như giao thức điều khiển truyền tải TCP, giao thức truyền vận
không tin cậy UDP)
Tính năng kết nối riêng tư: ứng dụng mã hoá đối xứng được sử dụng để mã hoá
dữ liệu (mã hoá AES ) Các khoá để mã hoá đối xứng được sinh ra trong mỗi
lần thực hiện kết nối, được thỏa thuận bí mật của giao thức khác (ví dụ TLS) Nhờ
vậy mà giao thức TLS có thể được sử dụng mà không cần mã hoá
Tính năng kết nối đáng tin cậy: Một thông điệp vận chuyển thông báo sẽ bao gồm
kiểm tra tính toàn vẹn (sử dụng hàm Băm ví dụ SHA-1)
Không chỉ có vậy, giao thức TLS còn có thể sử dụng để đóng gói, mã hóa dữ liệu,
phân mảnh, hỗ trợ các máy chủ nhận ra nhau để từ đó tiến hành thỏa thuận mã
hóa
2 HTTPS
HTTPS (Hypertext Transfer Protocol Secure) là giao thức truyền tải siêu văn
bản an toàn Thực chất, đây chính là giao thức HTTP nhưng tích hợp thêm Chứng
chỉ bảo mật SSL nhằm mã hóa các thông điệp giao tiếp để tăng tính bảo mật Có
thể hiểu, HTTPS là phiên bản HTTP an toàn, bảo mật hơn
HTTPS hoạt động tương tự như HTTP, tuy nhiên được bổ sung thêm chứng
chỉ SSL (Secure Sockets Layer – tầng ổ bảo mật) hoặc TLS (Transport Layer
Security – bảo mật tầng truyền tải) Hiện tại, đây là các tiêu chuẩn bảo mật
hàng đầu cho hàng triệu website trên toàn thế giới
Trang 11Cả SSL và TLS đều sử dụng hệ thống PKI (Public Key Infrastructure -hạ tầng
khóa công khai) không đối xứng Hệ thống này sử dụng hai “khóa” để mã hóa
thông tin liên lạc, “khóa công khai” (public key) và “khóa riêng” (private key)
Bất cứ thứ gì được mã hóa bằng khóa công khai chỉ có thể được giải mã bởi khóa
riêng và ngược lại Các tiêu chuẩn này đảm bảo các nội dung sẽ được mã hóa
trước khi truyền đi, và giải mã khi nhận Điều này khiến hacker dù có chen ngang
lấy được thông tin cũng không thể “hiểu” được thông tin đó
Về cơ bản, HTTPS là một giao thức HTTP với bảo mật bổ sung Tuy nhiên, trong
thời đại mà mọi thông tin đều được số hóa, thì giao thức HTTPS lại trở nên cực
kỳ cần thiết cho bảo mật website
HTTPS sử dụng Port 443 – đây chính là cổng hỗ trợ mã hóa kết nối từ máy tính
client đến server, nhằm bảo vệ gói dữ liệu đang được truyền đi
Khi máy khách truy cập một website, giao thức HTTPS sẽ hỗ trợ xác thực tính
đích danh của website đó thông qua việc kiểm tra xác thực bảo mật (Security
Certificate)
Các xác thực bảo mật này được cung cấp và xác minh bởi Certificate Authority
(CA) – các tổ chức phát hành các chứng thực các loại chứng thư số cho người
dùng, doanh nghiệp, máy chủ, mã nguồn, phần mềm Các tổ chức này đóng vai
trò là bên thứ ba, được cả hai bên tin tưởng để hỗ trợ quá trình trao đổi thông tin
an toàn
Giao thức HTTPS sử dụng phương thức mã hóa (encryption) để đảm bảo các
thông điệp trao đổi giữa máy khách và máy chủ không bị kẻ thứ ba (hackers)
Trang 12Nếu truy cập một website không được cài đặt giao thức HTTPS, người dùng sẽ
đối diện với nguy cơ bị tấn công sniffing Hacker có thể “chen ngang” vào kết
nối giữa máy khách và máy chủ, đánh cắp các dữ liệu mà người dùng gửi đi
(password, thông tin thẻ tín dụng, văn bản email,…) và các thông tin sẵn có từ
website Thậm chí, mọi thao tác của người dùng trên website đều có thể bị quan
sát, ghi lại mà họ không hề hay biết
Với giao thức HTTPS, người dùng và máy chủ hoàn toàn có thể tin tưởng rằng
các thông điệp chuyển giao qua luôn trong trạng thái nguyên vẹn, không qua bất
kì chỉnh sửa, sai lệch nào so với dữ liệu đầu vào
Với giao thức HTTPS, trước khi dữ liệu giữa máy khách và máy chủ được mã
hóa để tiếp tục trao đổi, trình duyệt trên máy khách sẽ yêu cầu kiểm tra chứng chỉ
SSL từ máy chủ, đảm bảo rằng rằng người dùng đang giao tiếp với đúng đối tượng
mà họ muốn Chứng chỉ SSL/TSL của HTTPS sẽ giúp xác minh đó là website
chính thức
Trang 133 SSH
SSH tên đầy đủ là Secure SHell là một giao thức mạng mang tính bảo mật, cung
cấp cách thức truy cập từ xa vào một thiết bị khác một cách an toàn thông qua
các cơ chế mã hóa Bằng cách sử dụng một số kỹ thuật mã hóa, xác thực mỗi bên
với nhau để đảm bảo dữ liệu trao đổi giữa cácmáy trong phiên làm việc được mã
hóa và giải mã nhằm mục đích giữ vững tính toàn vẹn của dữ liệu và bảo vệ an
ninh thông tin
SSH hoạt động theo mô hình client-server để xác thực hai bên và mã hóa dữ liệu
giữa chúng Client sẽ là thành phần tạo phiên kết nối SSH đến thành phần khác,
còn Server sẽ cho phép Client mở phiên SSH kết nối vào chính mình
Để làm được điều này Server sẽ lắng nghe trên một port được chỉ định cho SSH,
mặc định là port 22 Mỗi kết nối SSH bao gồm hai việc xác thực: xác thực SSH
Server và xác thực SSH Client Client chịu trách nhiệm khởi tạo quá trình bắt tay
TCP với Server, thương lượng kết nối an toàn, xác thực Server và cung cấp thông
tin đăng nhập để Server xác thực mình Còn Server có trách nhiệm thương lượng
kết nối an toàn, xác thực bên Client và sinh ra phiên làm việc nếu thông tin đăng
nhập được chấp nhận SSH Client và SSH Server thương lượng với nhau để xác
định cơ chế xác thực sẽ sử dụng thậm chí có thể yêu cầu nhiều kiểu xác thực để
thiết lập kết nối an toàn trong quá tình trao đổi dữ liệu giữa chúng
Đối với SSH version 1 là hoạt động của version 1 này có thể được chia làm 3
bước chính:
1 Khởi tạo 1 kết nối SSH, chính là tạo ra 1 kênh giao tiếp bảo mật giữa Server
và Client
2 Client xác thực Server Sau khi Client xác định được định danh của Server,
1 kết nối bảo mật đối xứng được hình thành giữa 2 bên
3 Server xác thực Client dựa trên kết nối được thiết lập ở trên
Trang 14Bước 1.Khi Client khởi tạo 1 kết nối TCP tới port 22 ở Server, sẽ có 2 thông tin
được trao đổi:
• Phiên bản Protocol mà Server hỗ trợ
• Phiên bản của gói cài đặt SSH trên Server
Nếu phiên bản Protocol của Server phù hợp với Client thì kết nối mới được tiếp
tục Ngay sau khi Client tiếp tục kết nối, Server và Client sẽ chuyển sang sử dụng
bộ giao thức Binary Packet Protocol dài 32 bit
Bước 2 Server sẽ gửi các thông tin quan trọng tới Client, đây là những thông tin
nắm vai trò chính trong session hiện tại:
• Server cho Client biết định danh của mình bằng RSA Public Key trên
Server Mọi Client kết nối tới Server đều nhận được RSA Public Key giống
nhau
• Server Key Server Key này được tái tạo theo mỗi khoảng thời gian nhất
định
• 1 chuỗi 8 bytes ngẫu nhiên được gọi là checkbytes Sau này Client sẽ sử
dụng chuỗi này để hồi đáp lại cho Server
• Cuối cùng, Server cấp cho Client biết toàn bộ các phương thức xác thực,
mã hóa mà Server hỗ trợ
Dựa vào danh sách các phương thức mã hóa mà Server hỗ trợ, Client tạo ra 1
Symmetric Key ngẫu nhiên và gửi cho Server Key này sẽ được sử dụng để mã
hóa và giải mã trong toàn bộ quá trình giao tiếp giữa 2 bên trong session hiện tại,
đây còn được gọi là Session Key Session Key sẽ được mã hóa kép, mã hóa đầu
tiên dựa vào RSA Public Key và mã hóa thứ 2 dựa vào Server Key Việc mã hóa
kép đảm bảo cho dù RSA Public Key có bị lộ thì cũng không thể giải mã gói tin
do còn 1 lớp mã hóa bằng Session Key được thay đổi theo thời gian
Cho đến lúc này Client vẫn chưa thể xác thực được Server, nó chỉ biết được định
danh của Server dựa vào RSA Public Key Để xác thực Server thì Client phải
chắc chắn Server có khả năng giải mã được Session Key Bởi vậy sau khi gửi
Session Key xong Client sẽ chờ hồi âm từ phía Server Nếu nhận được thông báo
xác nhận Client đã sẵn sàng để xác thực được Server thì quá trình này hoàn tất
Bước 3 Server xác thực Client: có nhiều phương pháp, trong đó có 2 phương
pháp phổ biến nhất:
1 Password Authentication: Đây là phương pháp phổ biến và đơn giản nhất
Server yêu cầu Client cung cấp user name và password Server xác nhận
password dựa trên cơ sở dữ liệu được lưu trên Server Và dĩ nhiên, Client
sẽ mã hóa Password bằng Session Key trước khi gửi cho Server kiểm
chứng Password này