協議4:滑窗協議(全雙工協議)簡介
兩個視窗
預設視窗為1,序列號長度為3位的傳送過程:
文字描述:
接收方收到幀後,首先核對是否為預期幀號(frame_expected),如果是的,則接收並frame_expected+1,移動接收視窗
傳送端收到應答幀,核對響應幀號(next_frame_to_send),核對無誤後,從網路層取新的幀,並執行next_frame_to_send+1,移動傳送視窗,如核對幀號不正確,則不移動視窗
void protocol4(void) //因為是雙工協議,不再有發方收方的界限
if(r.ack==next_frame_to_send) //是不是確認了
}s.info = buffer;
s.seq = next_frame_to_send;
s.ack = 1-frame_expected; //捎帶確認
每個待傳送幀被賦予乙個序列號seq,seq的取值範圍是0~2^n-1(n位欄位,中n=1)
建立緩衝區:
傳送視窗:快取已傳送、待確認的幀
接收視窗:快取期待接收的幀(序號)
傳送視窗滑動機制
視窗設定
視窗滑動機制
特點可能會出現的異常情況
因為機制原因仍然可以正常工作,只不過有很多重複幀浪費了頻寬
通道利用率
已知:則通道的利用率為:k/(k+br)
例子:求解:
提高通道利用率的方法:
增加滑動視窗最大長度w
理想情況下,使例題通道利用率達到100%,則滑動視窗最大長度為:w = 26
如何尋找乙個合適的w值
滑動視窗協議
只有在接收視窗向前滑動時 與此同時也傳送了確認 傳送視窗才有可能向前滑動。收發兩端的視窗按照以上規律不斷地向前滑動,因此這種協議又稱為滑動視窗協議。當傳送視窗和接收視窗的大小都等於 1時,就是停止等待協議。當傳送視窗大於1,接收視窗等於1時,就是回退n步協議。當傳送視窗和接收視窗的大小均大於1時,就...
滑動視窗協議
百科名片 滑動視窗協議,是tcp使用的一種 流量控制方法。該協議允許傳送方在停止並等待確認前可以連續傳送多個分組。由於傳送方不必每發乙個分組就停下來等待確認,因此該協議可以加速資料的傳輸。只有在接收視窗向前滑動時 與此同時也傳送了確認 傳送視窗才有可能向前滑動。收發兩端的視窗按照以上規律不斷地向前滑...
滑動視窗協議
同學 luffy 給你打 讓你記下一串手機號碼,可是你記憶力不太好,你跟 luffy 約定,一次只最多只能報 4 個數字,luffy 念一遍,如果你聽到了就把他說的話重複一遍。接下來 你 你一次最多報 4 個數字,多了我記不住啊!luffy 139 你 139 luffy 知道你聽到了 luffy ...