Thuật toán “Khôi phục nhanh” – FRCV (Fast Recovery)

Một phần của tài liệu Các cải tiến TCP cho đường truyền vệ tinh (Trang 39 - 40)

Thuật toán khôi phục nhanh quy định việc thực hiện thuật toán tránh tắc nghẽn ngay sau khi thực hiện thuật toán phát lại nhanh, chứ không trở về pha “Khởi động chậm”. Điều này tránh cho lƣu lƣợng số liệu trong kết nối TCP không bị giảm đột ngột, gây lãng phí dải thông của đƣờng truyền.

Thuật toán phát lại nhanh và khôi phục nhanh thƣờng đƣợc cài đặt kết hợp với nhau nhƣ sau:

(i) Sau khi nhận đƣợc biên nhận ACK lặp thứ 3 liên tiếp, thực thể phát kết luận rằng gói số liệu đó đã bị mất nên phát lại gói số liệu bị mất đó chứ không chờ cho đến khi bị timeout, sau đó thiết lập ngƣỡng ssthresh = max(2, cwnd/2).

Khác với FRTX, sau khi phát lại gói số liệu bị mất sẽ trở về pha “Khởi động chậm” bằng cách đặt cwnd=1. Trong FRCV, sau khi

phát lại gói số liệu bị mất, thực thể phát sẽ tăng cwnd=ssthresh + 3. Điều này có nghĩa là cwnd đƣợc tăng lên thêm ba gói số liệu tƣơng ứng với ba gói số liệu đã rời mạng (thực chất là ba gói số liệu đã đƣợc nhận trong bộ đệm của thực thể nhận, tƣơng ứng với ba thông báo ACK lặp).

(ii) Với mỗi thông báo ACK lặp tiếp theo, tăng cwnd = cwnd + 1, tƣơng ứng với một gói số liệu đã đƣợc nhận đúng và đi ra khỏi mạng.

Thực hiện việc phát một gói số liệu, nếu cwnd và rwnd có giá trị mới và cửa sổ phát W vẫn chƣa lớn hơn min{cwnd, rwnd}.

(iii) Sau khi nhận đƣợc báo nhận ACK của gói dữ liệu bị mất và đã

đƣợc phát lại ở bƣớc (i), thực thể phát TCP thiết lập lại cửa sổ cwnd đƣợc giữ trong trƣờng ssthresh sau đó kết thúc thuật toán.

Một phần của tài liệu Các cải tiến TCP cho đường truyền vệ tinh (Trang 39 - 40)