Mô hình OSI là gì? (phần 6)

Tầng 4: tầng chuyển vận (tiếp tục)

Sequencing và acknowledgment

Kết nối TCP là 2 hướng: chúng cho phép cả 2 host gửi và nhận segment. TCP kiểm soát dòng segment ở mỗi hướng
của kết nối một cách độc lập, sử dụng sequence number của máy gửi và máy nhận. Như vậy, kết nối TCP duy trì
hai tập hợp sequence number: sequence number của máy gửi và sequence number của máy nhận. Sequence number của
máy gửi kiểm soát dòng segment được gửi bởi máy gửi. Sequence number của máy nhận kiểm soát dòng segment được gửi
bởi máy nhận. Mỗi segment được gửi theo mỗi hướng được đánh số trong một tập hợp thành chuỗi của máy gửi và
máy nhận, phụ thuộc vào hướng nào segment sẽ đi.
Sequencing cũng quyết định trật tự của các data segment. Data segment cần được lắp ráp lại theo một trật tự đúng
khi chúng đến đích ở máy nhận, vì chúng đến với bất cứ trật tự nào tùy theo điều kiện mạng. TCP trên máy nhận
sẽ sử dụng sequence number của mỗi data segment để quyết định trật tự của nó trong suốt quá trình lắp ráp lại.
Trong suốt quá trình truyền dữ liệu, lỗi có thể xảy ra vì xung đột điện tử, link failure. TCP sử dụng sequencing
và ack, không những cho phép kiểm soát truyền dữ liệu hai hướng mà còn cho phép sửa chữa lỗi truyền dữ liệu bằng
cách truyền lại các segment bị mất hoặc bị hư hại. Sau khi kết nối TCP thiết lập three way handshake, TCP sử dụng
positive acknowledgment and retransmission (PAR) để đảm bảo tất cả các segment đều được nhận trong một khoảng thời gian xác định. Sau đây là PAR làm việc như thế nào:
+ Máy gửi khởi động một timer khi nó gửi một segment. Máy gửi sẽ gửi lại segment đó, nếu nó không nhận được khẳng
định nhận dữ liệu từ máy nhận sau khoảng thời gian xác định đó.
+ Máy gửi theo dõi sequence number của từng segment mà nó gửi đi và chờ đợi khẳng định nhận dữ liệu cho mỗi segment.
+ Máy nhận gửi khẳng định nhận dữ liệu trở lại máy gửi cho mỗi segment mà nó nhận. Thông điệp ACK chứa sequence

number của segment tiếp theomáy nhận mong muốn nhận.

TCP sliding windows

TCP sliding windows chỉ ra bao nhiêu segment có thể được gửi đi trước khi chờ khẳng định nhận dữ liệu ACK từ máy nhận.

Chia sẻ

Leave a Reply

Your email address will not be published. Required fields are marked *