Tầng 4: tầng chuyển vận (tiếp tục)
Các giao thức TCP/IP phổ biến nhất ở tầng 4
+ TCP: Transport Control Protocol là giao thức chuyển vận hướng kết nối. TCP đảm bảo việc truyền dữ liệu đáng
tin cậy.
+ UDP: User Datagram Protocol là giao thức chuyển vận không kết nối. UDP không đảm bảo việc truyền dữ liệu đáng
tin cậy.
Kiểm soát dòng TCP
Giao thức chuyển vận TCP là giao thức hướng kết nối có thể kiểm soát dòng truyền dữ liệu và đảm bảo truyền dữ liệu
đáng tin cậy.
TCP trên máy gửi thiết lập một kết nối luận lí tới TCP trên máy nhận. Bước này gọi là three way handshake. Máy gửi
và máy nhận dùng kết nối này cùng hợp tác cho việc truyền dữ liệu. Kết nối chấm dứt, khi không còn dữ liệu để chuyển
đi. Bất cứ host nào cũng có thể khởi xướng kết nối TCP. Host khởi xướng kết nối TCP trở thành máy gửi. Host kia
là máy nhận. Tuy nhiên, kết nối TCP cho phép cả 2 host gửi và nhận dữ liệu. TCP kiểm soát dòng segment theo mỗi
hướng của kết nối một cách độc lập sử dụng sequence numbers của máy gửi và máy nhận.
Three way handshake
Bước đầu tiên là thiết lập kết nối TCP tham gia vào quá trình three way handshake. Sau đây là mô tả quá trình
three way handshake làm việc như thế nào:
1, Host khởi xướng kết nối gửi một thông điệp SYN tới máy nhận, thông báo với máy nhận muốn thiết lập
kết nối TCP. Thông điệp này chứa sequence number bắt đầu của máy gửi để truyền dữ liệu TCP.
2, Sequence number bắt đầu là sequence number của segment TCP đầu tiên được truyền từ máy gửi đến máy
nhận. Máy gửi và máy nhận sau đó thương lượng các thông số kết nối.
3, Máy nhận trả lời với một thông điệp SYN cái chứa sequence number bắt đầu của máy nhận. Thông điệp này
cũng gửi đi một khẳng định nhận dữ liệu (ACK) tới máy gửi, chỉ ra rằng máy nhận đã nhận thông điệp SYN đầu tiên.
4, Máy gửi gửi trả lời thông điệp ACK tới máy nhận cho máy nhận biết nó đã nhận được sequence number bắt đầu
của máy nhận và rằng nó sẵn sàng gửi dữ liệu.
Tại điểm này, kết nối TCP hai hướng đã được thiết lập. Kết nối TCP là kết nối 2 hướng vì cả 2 host đều gửi
thông điệp SYN và ACK tới mỗi máy để đồng bộ hóa và đảm bảo việc truyền dữ liệu đáng tin cậy.