停止等待協議


互聯網早起階段,線路質量不好,所以數據鏈路層就要擔負起可靠傳輸的職責,因此早期階段鏈路層就會使用這三種流量控制的協議;

現代計算機由於線路取得很大進步,因此數據鏈路層就可以不進行流量控制的功能,鏈路層可以進行差錯控制等其他功能,把流量控制的功能交給傳輸層。這樣的好處就是數據鏈路層不用進行流量控制功能,速度變快了,延遲變小了

我們一般認為流量控制既可以在鏈路層,又可以在傳輸層上進行。兩者取其一。


數據包:在數據鏈路層就是幀,網絡層就是IP數據報,不同的層,數據報有不同的名字

進行滑動窗口(這三種滑動窗口協議:停止等待協議,GBN,SR)的目的:

  • 可以解決流量控制
  • 可以解決可靠傳輸,數據包的丟失問題

停止等待協議做題(研究)的前提:

  1. 雖然現在絕大多數都是全雙工通信方式,但是研究問題時還是抽象成單工(即一方發送,一方接收)
  2. 不需要考慮協議是在哪一個層次上(數據鏈路層or傳輸層)

停止等待協議應用情況:

  • 有差錯情況(丟包情況)

    一、數據幀丟失OR幀出錯

超時計時器是每次發送幀都會啟動,只不過正常可以到達的幀,它的計時器一般不會有用,即計時器設置的時間一般要大於一個RTT;但是當發送丟包(差錯)的話,這等待的時間就會遠遠大於一個RTT,當計時器到達設置的時間還沒收到確認信號時,就會重發剛才發送失敗的幀。這就叫自動重傳機制

!!1 每次發送幀的時候,要拷貝一份剛才發送的幀,這樣在發送失敗的時候才會重新發送拷貝的副本

​ 2 數據幀和確認幀必須編號。當編號連續的時候就指知道發生了數據包丟失

​ 3 對於幀出錯,當接收方收到發送過來的幀,但是發現幀出錯,不能用,也不會返回給發送方一個確認幀,超時之后仍然會重傳。

​ 二、確認幀丟失

​ 三、ACK遲到

對於來晚的確認幀不做處理,丟棄掉。

本來是准備接收1#幀,但是收到的是0#幀,知道ACK遲到,丟棄掉這個)#確認幀

  • 無差錯情況

停止等待協議優點:簡單

缺點:信道利用率太低 (信道利用率:有效發送(傳輸)時間占整個發送周期的比率)

發送周期:發送時延+RTT+確認幀接收時延

有效發送時間:發送時延

停止等待協議的信道利用率整體比較低,信道大多時間處於空閑時間

后面兩種窗口機制信道利用率比較高


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM