Tóm tắt nội dung bài viết
1. TCP (Transmission Control Protocol)
– Là giao thức hướng kết nối (connection-oriented) nghĩa là khi muốn truyền dữ liệu thì phải thiết lập kết nối trước.
– Hỗ trợ cơ chế full-duplex ( truyền và nhận dữ liệu cùng một lúc)
– Cung cấp cơ chế đánh số gói tin (sequencing): để ráp các gói tin cho đúng ở điểm nhận
– Cung cấp cơ chế báo nhận (Acknowledgement) :Khi A gửi dữ liệu cho B, B nhận được thì gửi gói tin cho A xác nhận là đã nhận. Nếu không nhận được tin xác nhận thì A sẽ gửi cho đến khi B báo nhận thì thôi.
– Phục hồi dữ liệu bị mất trên đường truyền ( A gửi B mà không thấy xác nhận sẽ gửi lại) .
TCP Header: Do là giao thức tin cậy nên header của TCP rất phức tạp
- 32 bit sequence number: dùng để đánh số thứ tự gói tin (từ số sequence nó sẽ tính ra được số byte đã được truyền).
- 32 bit acknowledgement number: dùng để báo nó đã nhận được gói tin nào và nó mong nhận được byte mang số thứ tự nào tiếp theo.
- 4 bit header length: cho biết toàn bộ header dài bao nhiêu Word (1 Word = 4 byte).
- Phần kí tự (trước 16 bit Window Size): là các bit dùng để điều khiển cờ (flag) ACK, cờ Sequence v.v.
- 16 bit urgent pointer: được sử dụng trong trường hợp cần ưu tiên dữ liệu ( kết hợp với bit điều khiển u r g ở trên).
Các trường ở trên là cố định, TCP dành cho chúng ta trường Option để lập trình thêm các tính năng cho TCP nếu có nhu cầu.
Các ứng dụng sử dụng giao thức TCP : HTTP, DNS, SMTP, telnet, SNMP v.v.
2. UDP ( User Datagram Protocol )
– Là loại giao thức connectionless (nghĩa là có gói tin nào là đẩy ngay vào đường truyền mà không cần thiết lập các kết nối trước).
– Không đảm bảo tính tin cậy khi truyền dữ liệu và không có cơ chế phục hồi dữ liệu ( nó không quan tâm gói tin có đến đích hay không, không biết gói tin có bị mất mát trên đường đi hay không).
UDP được sử dụng khi vận tốc là mong ước và sửa lỗi là không thiết yếu. Ví dụ, UDP thường được sử dụng cho chương trình phát sóng trực tiếp và game show trực tuyến .
Ví dụ, giả sử bạn đang xem hình ảnh video trực tiếp. Live Stream phát sóng thường sử dụng UDP thay vì TCP. Các máy chủ chỉ cần gửi một dòng của các gói tin UDP để máy tính xem. Nếu bạn bị mất kết nối trong vài giây, video sẽ đóng băng cho một thời điểm và sau đó chuyển đến các bit hiện tại của truyền hình, bỏ qua các bit bạn đã bị bỏ qua. Video hoặc âm thanh có thể bị bóp méo một lúc và video tiếp tục chơi mà không có dữ liệu bị mất.
UDP Header
Như đã đề cập, trước khi tài liệu xuống tầng Internet thì nó sẽ được đóng 1 Transport Header ( TCP Header hoặc UDP Header ) .
Ta cùng nghiên cứu và phân tích UDP Header .
UDP Header rất đơn giản (phần màu vàng)
Gồm 16 bit source port, 16 bit des port. Vậy port là gì ?
Có rất nhiều session sử dụng liên kết UDP vậy làm thế nào để định danh chúng ? thì tầng Transport dùng 1 cặp source port và destination port để định danh 1 session đang truy nhập vào đường truyền của liên kết UDP. Ta hoàn toàn có thể coi port là địa chỉ tầng Transport ( giao thức DNS chạy UDP port 53, TFTP port 69 v.v )
16 bit UDP Length : cho biết hàng loạt gói tin UDP dài tổng số bao nhiêu byte. Ta thấy 16 bit thì sẽ có tổng số 2 ^ 16 byte = 65536 giá trị ( từ 0 -> 65535 byte ) .
16 bit UDP checksum : sử dụng thuật toán mã vòng CRC để kiểm lỗi. Và chỉ kiểm tra một cách hạn chế .
Các ứng dụng sử dụng UDP là : voip, video conference, DNS, TFTP v.v.
3. Tiến trình bắt tay 3 bước (Three-way handshake)
Gải thích ví dụ trên :
Bước 1:
Host A gửi cho B một gói tin có cờ SYN được bật lên, với số thứ tự được đánh là 100
Bước 2:
Host B nhận được gói tin thì B gửi lại gói tin có cờ SYN được bật lên, kèm theo đó là cờ ACK ( để xác nhận ) .
ACK = 101 nghĩa là ” này A, tôi đã nhận được gói tin có SEQ = 100, tôi mong ước nhận thêm gói tin có SEQ = 101 ). Khi gửi gói tin đi thì nó đánh số thứ tự SEQ = 300
Bước 3:
Sau khi liên kết đã được thiết lập thì A gởi tin để phân phối nhu yếu của B .
Gói tin được đánh số SEQ = 101 : để cung ứng nhu yếu của B
ACK = 301 dùng để báo là đã nhận được gói tin có SEQ = 300 .
Và chỉ có cờ ACK được bật lên bởi gói tin bước 3 được dùng để báo nhận cho gói tin bước 2 .
Cơ chế điều khiển luồng trong TCP (Flow Control)
Giả sử : Sender gửi quá nhiều tài liệu cho Receiver, thì Receive sẽ chuyển vào bộ đệm để chờ giải quyết và xử lý, đến lúc bộ đệm đầy thì B gởi tín hiệu cho A để không truyền nữa cho đến khi B giải quyết và xử lý hết thì sẽ gởi lại gói tin cho A để liên tục nhận tài liệu .
Fixed Windowing
Thay vì gửi từng byte rồi đợi ACK thì Sender sẽ gửi nhiều byte cùng lúc. ( Window Size bằng bao nhiêu sẽ gửi bấy nhiêu )
Receiver sau khi nhận được byte thứ 3 sẽ ACK = 4 để xác nhận và nhu yếu byte thứ 4 .
ở chính sách Fixed Windowing thì Window Size cố định và thắt chặt, nhưng có trường hợp ta không giữ hành lang cửa số cố định và thắt chặt được .
TCP Sliding Windowing (Window Size có thể thay đổi)
Window Size = 3 nên Sender sẽ gửi lần lượt 3 byte nhưng Receiver chỉ nhận được 2 byte ( do nghẽn mạng, do giải quyết và xử lý không nổi ) thì Receiver sẽ ACK = 3 để nhu yếu Sender gửi lại byte thứ 3 đồng thời nó cũng báo là hãy sử dụng Window Size = 2 ( vì nó chỉ chịu nổi Size = 2 ). Sender sau đó sẽ set Window Size = 2 .
4. Truyền dữ liệu half-duplex và full-duplex
Trên một môi trường tự nhiên truyền dẫn ( ví dụ trên một sợi cáp đồng ) thông tin Viral giữa những thiết bị mạng hoàn toàn có thể được thực thi theo nhiều dạng thức khác nhau như : Chỉ được cho phép truyền một chiều ( quy trình t1 ) từ thiết bị mạng này tới thiết bị mạng khác trong một đơn vị chức năng thời hạn, quy trình t2 chỉ được thực thi khi t1 kết thúc. Dạng thức này được gọi là bán song công ( half-full duplex gọi tắt là halfduplex ). Trong trường hợp thiên nhiên và môi trường truyền và những thiết bị mạng hoàn toàn có thể hoạt động giải trí song song cùng lúc để quy trình t1 và t2 xảy ra đồng thời ta có dạng thức truyền toàn song công ( full duplex ) .
+ Truyền bán song công ( half duplex ) : giữa hai đường truyền tài liệu và luồng tin, chỉ truyền theo một hướng tại một thời gian khi một thiết bị triển khai xong việc truyền dẫn, nó phải chuyển thiên nhiên và môi trường truyền đến thiết bị khác. Một thiết bị hoàn toàn có thể đóng vai trò Thu và Phát tín hiệu nhưng tại một thời gian nó chỉ hoàn toàn có thể triển khai một vai trò duy nhất. Ví dụ hoạt động giải trí của bộ tọa đàm điện thoại thông minh, mạng LAN có sử dụng những thiết bị TT là thiết bị lớp 1 thì luôn sử dụng không hề sử dụng dạng thức fullduplex .
+ Truyền toàn song công ( full duplex): cho phép dữ liệu truyền đồng thời trên cả hai đường, mỗi thiết kế có một kênh riêng. Một thiết bị có thể đồng thời vừa Phát lại vừa Thu tín hiệu. Các modem máy tính đều hoạt động theo phương thức này, mạng LAN sử dụng toàn thiết bị tập trung lớp 2 hoặc 2 máy tính kết nối trực tiếp với nhau có thể sử dụng dạng thức fullduplex.
Xem thêm: HƯỚNG DẪN TRA CỨU MÃ SỐ MÃ VẠCH ONLINE
+ Bên cạnh đó còn hoàn toàn có thể vận dụng dạng thức truyền đơn công ( simple mode ) : tin tức chỉ truyền theo một chiều qui định trước, một thiết bị chỉ đóng một vai trò Thu hoặc Phát cố định và thắt chặt. Hệ thống báo cháy sử dụng phương pháp này .
Như vậy là các bạn đã tìm hiểu xong phần CCNA số 4 : TCP và UDP rồi nhé.
Source: http://wp.ftn61.com
Category: Tin Tức
Để lại một bình luận