2013-10-16 27 views
7

Sự khác biệt và kết nối giữa cửa sổ trượt trong điều khiển luồng và cửa sổ nghẽn trong điều khiển tắc nghẽn là gì?diffrence giữa cửa sổ trượt và cửa sổ tắc nghẽn

Tôi nghĩ cả hai đều là kích thước điều khiển để truyền, nhưng sự khác biệt là gì? Tôi không hoàn toàn có được sự khác biệt giữa kiểm soát dòng chảy và kiểm soát tắc nghẽn quá.

+0

có thể trùng lặp của [TCP - sự khác biệt giữa cửa sổ nghẽn và cửa sổ nhận] (http://stackoverflow.com/questions/11555662/tcp-difference-between-congestion-window-and-receive-window) –

Trả lời

9

Cửa sổ nghẽn và kiểm soát luồng là các tính năng khác nhau của TCP và đầu vào của chúng được cấp cho cửa sổ trượt .

Cửa sổ nghẽn được dựa trên ước tính tốc độ gửi mạng. Nó bắt đầu với một MSS đơn và phát triển bằng cách sử dụng khởi động chậm. Khi nó đạt đến ngưỡng, sau đó nó phát triển bằng cách sử dụng tránh tắc nghẽn. Giá trị của cửa sổ này đại diện cho số tiền tối đa (bằng byte) mà người gửi có thể gửi.

Điều khiển luồng được chạy ở phía nhận và được truyền tới người gửi bất cứ khi nào người nhận gửi gói (thường là ACK) đến người gửi. Cửa sổ nhận là lượng không gian có sẵn trong bộ đệm của người nhận và người gửi ghi lại nó. Khi người gửi phải gửi một số dữ liệu, sau đó nó chọn mức tối thiểu của cửa sổ nghẽn và cửa sổ của người nhận và chỉ gửi nhiều dữ liệu đó. Lượng dữ liệu có thể được gửi đại diện cho cửa sổ trượt. Về cơ bản, cửa sổ trượt đại diện cho lượng dữ liệu nổi bật mà người gửi có. Nếu bất kỳ cửa sổ nào (tắc nghẽn hoặc điều khiển luồng) mở ra, thì cửa sổ được kéo dài ở bên phải.

+0

Nó giúp biết, ngay cả khi rwnd (cửa sổ của người nhận) là 0; Người gửi tiếp tục truyền ít nhất 1 byte. Nếu nó truyền 0 byte, nó không có cách nào để biết khi nào không gian đệm xóa hết trên đầu thu. – XChikuX

Các vấn đề liên quan