6. Dạng địa chỉ quảng bá Berkeley
2.6.3. Sự truyền lại thích hợp
Trớc khi TCP đợc phát minh, giao thức truyền thông dùng giá trị độ trễ cố định để truyền lại – ngời thiết kế giao thức hoặc quản lý mạng chọn lựa một giá trị đủ lớn cho độ trễ mong chờ. Những ngời thiết kế làm việc trên TCP nhận ra rằng thời gian hết cố định sẽ làm việc không tốt với các liên mạng. Do vậy, họ chọn lựa việc tạo ra sự truyền lại của TCP có khả năng thích nghi. Đó là TCP điều khiển độ trễ của kết nối hiện thời, và có những thay đổi thích hợp thời gian truyền lại để thích nghi với những điều kiện thay đổi.
Làm thế nào để TCP có thể điều khiển đợc độ trễ? Thực tế TCP không thể biết chính xác độ trễ của từng phần thuộc liên mạng tại mọi thời điểm. Thay vào đó TCP ớc tính độ trễ khứ hồi (round-trip delay) cho mỗi kết nối tích cực bằng cách đo thời gian cần thiết để nhận đợc sự đáp lại. Mỗi khi nó gửi đi một thông
điệp, TCP ghi nhận thời điểm mà thông điệp đó gửi đi. Khi một sự trả lời đến, TCP trừ thời gian thông điệp đợc gửi với thời gian hiện tại để nhận đợc giá trị ớc tính cho độ trễ khứ hồi đối với kết nối đó. Khi nó gửi đi các gói tin dữ liệu và nhận đợc các acknowledgement, TCP tạo ra một dãy các giá trị ớc tính độ trễ khứ hồi và dùng hàm thống kê để tính ra giá trị trung bình. Cùng với giá trị trung bình, TCP l- u giữa một ớc lợng của biến thể, và dùng sự kết hợp tuyến tính của giá trị trung bình ớc tính và biến thể để làm giá trị cho sự truyền lại.
Kinh nghiệm đã cho thấy rằng sự truyền lại thích nghi TCP làm việc rất tốt. Dùng biến thể giúp cho TCP phản ứng nhanh chóng khi độ trễ tăng bởi số lợng lớn các gói tin. Dùng giá trị trung bình giúp cho TCP khởi tạo lại giá trị thời gian truyền lại nếu độ trễ trả về một giá trị thấp hơn sau khi có sự quá tải tạm thời. Khi độ trễ duy trì không đổi, TCP điều chỉnh thời gian truyền lại đến một giá trị lớn hơn độ trễ khứ hồi một chút. Khi độ trễ bắt đầu biến đổi, TCP điều chỉnh thời gian truyền lại đến giá trị lớn hơn nhiều giá trị trung bình để có thể chịu đợc khả năng cực đại.
Để hiểu mà sự truyền lại thích nghi giúp cho TCP đạt đợc thông lợng cực đại trên mỗi kết nối, hãy xem xét một trờng hợp bị mất gói tin trong hai kết nối mà có độ trễ khứ hồi khác nhau. Ví dụ, hình trên minh hoạ sự truyền tin trên hai kết nối đó.