t c p使用一種視窗(w i n d o w)機制來控制資料流。當乙個連線建立時,連線的每一端分配乙個緩衝區來儲存輸入的資料,並將緩衝區的尺寸傳送給另一端。當資料到達時,接收方傳送確認,其中包含了自己剩餘的緩衝區尺寸。剩餘的緩衝區空間的大小被稱為視窗( w i n d o w) ,指出視窗大小的通知稱為視窗通告(window advertisement) 。接收方在傳送的每一確認中都含有乙個視窗通告。
如果接收方應用程式讀資料的速度能夠與資料到達的速度一樣快,接收方將在每一確認中傳送乙個正的視窗通告。然而,如果傳送方操作的速度快於接收方(由於c p u更快) ,接收到的資料最終將充滿接收方的緩衝區,導致接收方通告乙個零視窗( zero window) 。傳送方收到乙個零視窗通告時,必須停止傳送,直到接收方重新通告乙個正的視窗。
tcp的特點之一是提供體積可變的滑動視窗機制,支援端到端的流量控制。tcp的視窗以位元組為單位進行調整,以適應接收方的處理能力。處理過程如下:
(1)tcp連線階段,雙方協商視窗尺寸,同時接收方預留資料快取區;
(2)傳送方根據協商的結果,傳送符合視窗尺寸的資料字節流,並等待對方的確認;
(3)傳送方根據確認資訊,改變視窗的尺寸,增加或者減少傳送未得到確認的位元組流中的位元組數。調整過程包括:如果出現傳送擁塞,傳送視窗縮小為原來的一半,同時將超時重傳的時間間隔擴大一倍。
tcp的視窗機制和確認保證了資料傳輸的可靠性和流量控制。
tcp/ip中滑動視窗的意義
1.在不可靠鏈路上可靠地傳輸幀(核心功能)2.用於保持幀的傳輸順序
3.它有時支援流量控制,這是一種接收方能夠控制傳送方的一種反饋機制
TCP IP 滑動視窗
這樣的傳輸方式有乙個缺點 資料報的往返時間越長,通訊的效率就越低。為解決這個問題,tcp 引入了視窗這個概念。即使在往返時間較長的情況下,它也不會降低網路通訊的效率。那麼有了視窗,就可以指定視窗大小,視窗大小就是指無需等待確認應答,而可以繼續傳送資料的最大值。視窗的實現實際上是作業系統開闢的乙個快取...
TCP IP 協議中的滑動視窗
乙個例子明白傳送緩衝區 接受緩衝區 滑動視窗協議之間的關係。在上面的幾篇文章中簡單介紹了上述幾個概念在tcp網路程式設計中的關係,也對應了幾個基本socket系統呼叫的幾個行為,這裡再列舉乙個例子,由於對於每乙個tcp的socket來說,都有乙個傳送緩衝區和接受緩衝區與之對應,所以這裡只做單方向ji...
Week5 D 滑動視窗滑動視窗
week5 d 滑動視窗滑動視窗 zjm 有乙個長度為 n 的數列和乙個大小為 k 的視窗,視窗可以在數列上來回移動.現在 zjm 想知道在視窗從左往右滑的時候,每次視窗內數的最大值和最小值分別是多少.例如 數列是 1 3 1 3 5 3 6 7 其中 k 等於 3.window position ...