6. Dạng địa chỉ quảng bá Berkeley
2.6.7. Điều khiển tắc nghẽn
Một trong những lĩnh vực thú vị nhất của TCP đó là cơ chế điều khiển tắc nghẽn. Trong hầu hết liên mạng hiện đại, mất gói tin (hoặc trễ trong thời gian dài) có thể bị gây ra bởi tắc nghẽn nhiều hơn là do phần cứng trục trặc. Thú vị là các giao thức truyền thông thực hiện sự truyền lại có thể còn làm nghiêm trọng sự tắc nghẽn bởi việc tống thêm nhiều bản sao của một thông điệp vào mạng. Nếu tắc nghẽn gây ra bị truyền lại qua nhiều, toàn bộ hệ thống có thể tới một tình trạng sụp đổ tắc nghẽn (congestion collapse), tơng tự nh tắc nghẽn giao thông trên đờng cao tốc. Để tránh sự cố này, TCP luôn luôn dùng gói tin bị mất để đo độ tắc nghẽn của mạng, và đáp lại bằng việc giảm tốc độ truyền lại dữ liệu.
Mỗi khi một thông điệp bị mất, TCP bắt đầu điều khiển tắc nghẽn. Thay vì truyền lại dữ liệu đủ để điền đầy vùng đệm của máy nhận, TCP bắt đầu bằng việc gửi đi một thông điệp đơn có chứa dữ liệu. Nếu ACK đến mà không có thông tin bị mất, TCP sẽ gấp đôi lợng dữ liệu gửi đi, và gửi đi 2 thông điệp nữa. Nếu có ACK trả lời cho 2 thông điệp đó, TCP sẽ gấp 4 lần lợng dữ liệu và cứ nh vậy. Sự tăng theo hàm mũ đến khi TCP gửi đợc một nửa kích thớc của cửa sổ máy nhận và nó sẽ giảm dần tốc độ tăng để truyền.
Cơ chế điều khiển tắc nghẽn của TCP đáp ứng rất tốt sự tăng nhanh của liên mạng. Bằng cách giảm nhanh chóng, TCp có thể tránh đợc sự tắc nghẽn. Hơn nữa, bởi vì nó tránh thêm vào sự truyền lại với tắc nghẽn của liên mạng, cơ chế điều khiển tắc nghẽn của TCP ngăn ngừa đợc sự sụp đổ do tắc nghẽn.