欢迎来到天天文库
浏览记录
ID:59213095
大小:969.00 KB
页数:43页
时间:2020-09-26
《第9讲 滑动窗口协议和HDLCppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机网络窗口滑动机制高级数据链路控制协议HDLCPPP协议第9讲窗口滑动机制和HDLC1滑动窗口机制发送端和接收端分别设定发送窗口和接收窗口。发送窗口用来对发送端进行流量控制。发送窗口的大小WT代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。01234567012发送窗口WT不允许发送这些帧允许发送5个帧(a)01234567012不允许发送这些帧还允许发送4个帧WT已发送(b)01234567012不允许发送这些帧WT已发送(c)01234567012不允许发送这些帧还允许发送
2、3个帧WT已发送已发送并已收到确认(d)接收端设置接收窗口在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。若接收到的数据帧落在接收窗口之外,则一律将其丢弃。在连续ARQ协议中,接收窗口的大小WR=1。只有当收到的帧的序号与接收窗口一致时才能接收该帧。否则,就丢弃它。每收到一个序号正确的帧,接收窗口就向前(即向右方)滑动一个帧的位置。同时发送对该帧的确认。不允许接收这些帧01234567012WR准备接收0号帧(a)不允许接收这些帧01234567012WR准备接收1号帧已收到(
3、b)不允许接收这些帧01234567012WR准备接收4号帧已收到(c)滑动窗口的重要特性只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。收发两端的窗口按照以上规律不断地向前滑动,因此这种协议又称为滑动窗口协议。当发送窗口和接收窗口的大小都等于1时,就是停止等待协议。1.1一位滑动窗口协议(a)初始时(b)第一个帧发出之后(c)第一个帧接收之后(d)第一个确认收到之后一位滑动窗口协议的两种情形(双方同时发送分组)(a)正常情况(b)不正常情况接收窗口>1滑动窗口示意图1.2
4、退后N帧协议抛弃一种技巧性的假设一个帧到达接收方的传输时间,加上确认帧来回的传输时间是可以忽略不计。解决策略允许发送过程在阻塞之前发送多达w个帧,而不是1帧。由于可以适当的选择w,发送过程就可以在等待往返传输的时间内连续传输帧,而不至于填满窗口。退后N帧的工作原理在发送完一个数据帧后,不是停下来等待确认帧,而是可以连续再发送若干个数据帧。如果这时收到了接收端发来的确认帧,那么还可以接着发送数据帧。由于减少了等待时间,整个通信的吞吐量就提高了。要求接收方的数据链路层必须按次序把分组交给网络层。当帧n的确
5、认到达时,帧n-1,n-2等也都被自动确认。退后N帧协议的思路接收方将出错的帧及其后续帧一起丢弃,对出错的帧不发送确认帧;发送方在出错帧的确认帧超时后,从出错的帧开始重传所有已发送但未被确认的帧。退后N帧协议窗口大小的约束条件退后N帧协议窗口大小的约束条件考虑最大发送窗口大小为8的情况:发送过程发送帧0~7帧;帧7的捎带确认最终返回到发送过程;发送过程发送另外8帧0~7,序号再次为0~7;现在帧7的另一个捎带确认到达。问题:第二次发送的8帧是成功了还是全部丢失了?发送和接收窗口尺寸小于2k,K(序列号
6、的位数)1.3选择重传协议如果线路很糟糕,使用退后n帧的协议会浪费大量的带宽重传帧。解决的策略:允许接收过程接收并缓存坏帧或丢失帧后面的帧。接收方只把出错的帧丢弃,其后续帧保存在缓存中,向发送方发送对出错帧的非确认帧(NAK)。如果落在窗口内并从未接收过,就接受此帧,并存储起来。直到比它序列号小的所有帧都按次序已经交给了网络层后,此帧才提交给网络层。选择重传协议的思路选择重传协议窗口大小的约束条件发送窗口和接收窗口尺寸大小相同—两个窗口的尺寸≤2k的一半,即2k-1发送窗口和接收窗口尺寸大小不同—两个
7、窗口尺寸之和≤2k。(a)窗口大小为7的初始化状态(b)7个帧都发送和接收,但无确认时(c)窗口大小为4的初始化状态(d)4个帧都发送和接收,但无确认时(a)(b)(c)(d)2高级数据链路协议HDLC由于每个数据帧都必须包括一定的控制信息(如帧的序号、地址、同步信息以及其他的一些控制信息),所以即使连续不停地发送数据帧,信道利用率(即扣除全部的控制信息后的数据率与信道容量之比)也不可能达到100%。当出现差错时(这是不可避免的),数据帧的不断重传将进一步使信道利用率降低最佳帧长若数据帧的帧长取得很短
8、,那么控制信息在每一帧中所占的比例就增大,因而额外开销增大,这就导致信道利用率的下降。若帧长取得太长,则数据帧在传输过程中出错的概率就增大,于是重传次数将增大,这也会使信道利用率下降。由此可见,存在一个最佳帧长,在此帧长下信道的利用率最高。1974年,IBM公司推出了面向比特的规程SDLC(SynchronousDataLinkControl)。后来ISO把SDLC修改后称为HDLC(High-levelDataLinkControl),译为高级数据链路
此文档下载收益归作者所有