流量控制與可靠傳輸機制 方法 停止-等待 可靠傳輸 滑動窗口 性能分析 GBN 信道利用率 選擇重傳協議 SR 超時事件 圖解 言簡意賅 總結 新手上車

                                           粉絲不過W

數據鏈路層的流量控制

        較高的發送速度 & 較低的接收能力的不匹配,會造成傳輸出錯,因此流量控制也是數據鏈路層的一項重要工作

            數據鏈路層的流量控制:點對點

           傳輸層的流量控制:端到端

            數據鏈略層流量控制手段:接收方收不下就不回覆確認

            傳輸層流量控制手段:接收端給發送端一個窗口公告

   控制流量的方法

  停止-等待協議: 

      每發送完一個幀就停止發送,等待對方的確認,在收到確認後再發送下一個幀

    停止-等待協議:發送窗口大小 = 1 , 接收窗口大小 = 1

    後退N幀協議( GBN ):發送窗口大小 > 1,接收窗口大小 = 1

    選擇重傳協議( SR ):發送窗口大小 > 1,接收窗口大小 > 1

可靠傳輸,滑動窗口,流量控制

        可靠傳輸:發送端發啥,接收端收啥

        流量控制:控制發送速率,使接收方有足夠的緩衝空間來接收每一個幀

 

     停止-等待協議

          除了比特出差錯,底層信道還會出現丟包問題,實現流量控制

               丟包:物理線路故障、設備故障、病毒攻擊、路由信息錯誤等原因,會導致數據包的丟失

          停止 - 等待:每發送完一個分組就停止發送,等待對方確認,在收到確認後再發送下一個分組

              應用情況:無差錯情況 & 有差錯情況

        停等協議——無差錯情況

               每發送1個數據幀就停止並等待,因此用1bt來編號就夠

        停等協議——有差錯情況:

           ACK丟失:

          ACK遲到: 

      停等協議性能分析:

          利用率低

 

        信道利用率:

            發送方在一個發送週期內,有效地發送數據所需要的時間佔整個發送週期的比率

            信道吞吐率 = 信道利用率 * 發送方的發送速率

 

選擇重傳協議( selective repeat )

       滑動窗口:

 

  SR發送方必須響應: 

            上層的調用:

                 從上層收到數據後,SR發送方 檢査下一個可用於該幀的序號,如 序號位於發送窗口內,則發送數據幀;否則就像GBN一樣,要麼將數據緩存,要麼返回給上層之後再傳輸

          收到了一個ACK:

                 如 收到ACK,加入該幀序號在窗口內,則SR發送方將那個被確認的幀 標記爲已接收。如 該幀序號是窗口的下界( 最左邊第一個窗口對應的序號 ),則窗口向前移動到具有最小序號的未確認幀處。如果窗口移動了,且有序號在窗口內的未發送幀,則發送這些幀

          超時事件:

               每個幀都有自己的定時器,一個超時事件發生後,重傳一個幀

 

   SR接收方:

          來者不拒( 窗口內的幀 )

          SR接收方將確認一個正確接收的幀,而不管其是否按序,失序的幀將被緩存,並返回給發送方一個該幀的確認幀( 收誰確認誰 ),直到所有幀( 即序號更小的幀 )都被收到爲止,這時纔可以將一批幀按序交付給上層,然後向前移動滑動窗口

         如 收到了窗口序號外( 小於窗ロ下界 )的幀,就返回一個ACK其他情況,就忽略該幀

 

 

  滑動窗口長度:

             發送窗口最好 = 接收窗口

          

   後退N幀協議( GBN )

 

            流水線技術:

                            發送窗口:發送方維持一組連續的允許發送的幀的序號

                            接收窗口: 接收方維持一組連續的允許接收幀的序號

       GBN發送方必須響應:

.           上層的調用

               上層要發送數據時,發送方先檢査發送窗口是否已滿,如 未滿,則產生一個並將其發送;

                如 窗口已滿,發送方只需將數據返回給上層,暗示上層窗口已滿

                 上層等一會再發送 ( 實際實現中,發送方可以緩存這些數據,窗口不滿時再發送幀 )

             收到了一個ACK

                 GBN協議中,對n號幀的確認採用累積確認的方式,標明接收方已經收到n號幀 和 它之前的全部幀

          超時事件

                 協議的名字:後退N幀 / 回退N幀,來源於出現丟失、時延過長幀時發送方的行爲。像在停等協議中一樣定時器將再次用於恢復數據幀、確認幀的丟失。如 超時,發送方重傳 所有已發送未被確認的幀

  GBN接收方:

         如 正確收到n號幀,且按序,那 接收方爲n幀發送一個ACK,並將該幀中的數據部分交付給上層

         其餘情況都丟棄幀,併爲最近按序接收的幀重新發送ACK。接收方無需緩存任何失序幀,只需要維護一個信息:expectedseqnum(下一個按序接收的幀序號)

     出現超時:發送方重傳 所有發送但沒有被確認的幀

 

 

生成結果

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章