流量控制与可靠传输机制 方法 停止-等待 可靠传输 滑动窗口 性能分析 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(下一个按序接收的帧序号)

     出现超时:发送方重传 所有发送但没有被确认的帧

 

 

生成结果

 

 

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