Điều khiển chống tắc nghẽn trong TCP

Một phần của tài liệu nghiên cứu điều khiển tắc nghẽn trong ngn (Trang 47 - 49)

TCP (Transmission Control Protocol) [11] là giao thức phổ biến nhất hiện nay cho truyền dữ liệu tin cậy trên Internet. Ngoài điều khiển chống tắc nghẽn ra, nó còn thực hiện chức năng khôi phục dữ liệu đã mất và quản lý kết nối. Điều khiển chống tắc nghẽn trong TCP thuộc loại điều khiển vòng kín phản hồi ẩn, TCP dựa vào mất gói để phát hiện tắc nghẽn. Nó có 2 cơ cấu để phát hiện ra mất gói. Đầu tiên, khi gói được gởi, phía gởi TCP khởi tạo bộ định thời. Nếu bộ định thời hết hiệu lực trước khi gói được xác nhận, TCP xem như gói bị mất. Thứ 2, khi phía nhận TCP nhận gói không đúng trật tự. Nó gởi xác nhận ACK cho gói mà nó nhận gần nhất. Ví dụ, giả sử phía nhận nhận gói từ 1 đến 5, và gói 6 bị mất. Khi phía nhận nhận gói 7, nó gởi dupack cho gói 5. Phía gởi TCP xét các sự tới của 3 bản sao phúc đáp (3 dupack) như dấu hiệu của 1 gói mất.

Kết nối TCP qua 2 pha: khởi đầu chậm và pha AIMD. Hình 3.1 cho ta thấy quỹ đạo điển hình của cửa sổ chống tắc nghẽn.

Khởi đầu chậm: TCP đi vào mô hình khởi đầu chậm khi bắt đầu kết nối.

Trong suốt quá trình khởi đầu chậm, phía gởi tăng tốc độ gởi theo hàm mũ. Cụ thể, khi bắt đầu khởi đầu chậm cửa sổ tắc nghẽn thiết lập là 1 đoạn, là MSS khởi tạo bởi phía gởi trong suốt giai đoạn thiết lập kết nối. Do đó, phía gởi gởi 1 đoạn và đợi cho tới khi phía nhận xác nhận nó. Một khi ACK đến phía gởi, phía gởi tăng cửa sổ chống tắc nghẽn của nó bởi 1, gởi 2 đoạn, và đợi ACK tương ứng. Mỗi khi ack đến, phía gởi có thể gởi 2 đoạn, 4 đoạn, ... gấp đôi lên dẫn đến tăng theo hàm mũ của cửa sổ chống tắc nghẽn. TCP thoát khỏi khởi đầu chậm khi đoạn bị mất. Khi đó phía gởi giảm cửa sổ tắc nghẽn đi 1 nửa và đi vào giai đoạn AIMD.

Chương 3: Các phương pháp điều khiển tắc nghẽn

36

Hình 3.1 Cửa sổ tắc nghẽn

AIMD: Trong mô hình này, miễn là không có đoạn nào bị mất, phía gởi TCP

tăng cửa sổ tắc nghẽn của nó bởi 1 MSS mỗi RTT. Khi gói bị mất, TCP giảm cửa sổ tắc nghẽn đi một nửa. Như kết quả, thông lượng biểu thị 1 dãy tăng cộng theo sau bởi giảm nhân. Trạng thái này thường được xem như “TCP sawtooth” hình 3.1.

Điều khiển chống tắc nghẽn trong TCP có những nhược điểm cơ bản là:

 Thông tin phản hồi là ẩn và vì vậy cửa sổ gửi luôn giảm đi một nửa khi xảy ra tắc nghẽn là không thực sự hiệu quả.

 TCP không chia sẻ thông tin điều khiển, vì vậy các kết nối cùng một thời điểm đến cùng một đích (một trường hợp thường xảy ra với lưu lượng web) sẽ phải cạnh tranh, thay vì phối hợp để sử dụng băng thông mạng một cách hợp lý.

 Đối với mạng đa dịch vụ, thuật toán điều khiển chống tắc nghẽn của TCP không đem lại tính bình đẳng cần thiết cho các ứng dụng.

 Đối với mạng có lưu lượng biến đổi động, biến đổi nhanh, điều khiển tắc nghẽn của TCP tỏ ra bất ổn định và không hội tụ [5]

Chương 3: Các phương pháp điều khiển tắc nghẽn

37

Một phần của tài liệu nghiên cứu điều khiển tắc nghẽn trong ngn (Trang 47 - 49)