計算機網路之滑動視窗機制

2022-08-24 14:12:10 字數 1129 閱讀 7432

1.  首先我們知道tcp可靠傳輸原理中的停止等待協議,該協議就是傳送方每傳送乙個報文段後就停止傳送,一直等收到接收方的確認後再傳送下乙個報文段。

tcp通訊是全雙工的,我們假定a為傳送方,b為接收方。a會有乙個傳送視窗,b有乙個接收視窗。

傳送視窗表示在沒有收到b確認的情況下,a也可以連續把傳送視窗的資料傳送出去。但是已經傳送過的資料在未收到確認之前,它還需要暫時保留,以便於超時重傳時使用。傳送視窗越大,它就可以在收到對方確認之前傳送更多的資料,因而獲得更高的傳輸效率。

2.  1位元滑動視窗協議傳送視窗等於1,接收視窗等於1)

當傳送視窗和接收視窗的大小固定為1時,滑動視窗協議退化為停等協議。該協議規定傳送方每傳送一幀後就要停下來,等待接收方已正確接收的確認(ack)返回後才能繼續傳送下一幀。由於接收方需要判斷接收到的幀是新發的幀還是重新傳送的幀,因此傳送方要為每乙個幀加乙個序號。由於停等協議規定只有一幀完全傳送成功後才能傳送新的幀,因而只用一位元來編號就夠了,具有累計確認機制。

3.  回退n幀協議(傳送視窗大於1,接收視窗大於1)

由於停等協議要為每乙個幀進行確認後才繼續傳送下一幀,大大降低了通道利用率,因此又提出了後退n協議。後退n協議中,傳送方在發完乙個資料幀後,不停下來等待應答幀,而是連續傳送若干個資料幀,即使在連續傳送過程中收到了接收方發來的應答幀,也可以繼續傳送。且傳送方在每傳送完乙個資料幀時都要設定超時定時器。只要在所設定的超時時間內仍收到確認幀,就要重發相應的資料幀。如:當傳送方傳送了n個幀後,若發現該n幀的前乙個幀在計時器超時後仍未返回其確認資訊,則該幀被判為出錯或丟失,此時傳送方就不得不重新傳送出錯幀及其後的n幀。

4.  選擇重傳協議(傳送視窗大於1,接收視窗大於1)

在後退n協議中,接收方若發現錯誤幀就不再接收後續的幀,即使是正確到達的幀,這顯然是一種浪費。另一種效率更高的策略是當接收方發現某幀出錯後,其後繼續送來的正確的幀雖然不能立即遞交給接收方的高層,但接收方仍可收下來,存放在接收緩衝區中,同時要求傳送方重新傳送出錯的那一幀。一旦收到重新傳來的幀後,就可以原已存於緩衝區中的其餘幀一併按正確的順序遞交高層。這種方法稱為選擇重發(selectice repeat)。顯然,選擇重發減少了浪費,但要求接收方有足夠大的緩衝區空間。

計算機網路 視窗機制

引言 為什麼tcp需要有視窗這個機制?因為相對於udp,tcp需要提供穩定的服務,視窗 快取 機制就能提供這個功能。那麼為什麼要用視窗控制這個機制呢?因為tcp還要提供流控 務。首先先來說一哈 tcp是如何傳輸位元組流的 1 按報文段 segment 傳輸 報文段 若干位元組構成 2 ip是按分組 ...

計算機網路(7) 滑動視窗

接收視窗 在接收端設定接收視窗是為了控制可以接受哪些資料幀而不可以接收哪些幀。在接收方只有當收到的資料幀的序號落入接收視窗內才允許將該資料幀手下。若接收到的資料幀落在了接收視窗之外,則一律將其丟棄。在傳送端,每收到乙個卻認真,傳送視窗就向前滑動乙個幀的位置,當傳送視窗內沒有可以傳送的幀 即視窗內全部...

計算機網路 滑動視窗協議的視窗大小

在學習滑動視窗協議的時候,我在鏈路層的滑動視窗這吃了不少苦頭,因為動態的視窗變化真的不適合看老師發的pdf 話說老師為什麼不能發ppt非得發pdf?雖然後來摸索著看懂了不少,但是到了視窗大小的問題上又矇圈了。在gbn go back n 和sr select repeat 中,我迷糊了特別久,最後終...