您所在的位置:读书频道 > 网络与维护 > 网络协议 > 7.5.6 选择性重传协议的窗口机制

7.5.6 选择性重传协议的窗口机制

2007-07-05 12:56 王达 电子工业出版社 字号:T | T
一键收藏,随时查看,分享好友!

本章主要介绍局域网、广域网,以及OSI各层主要功能及其工作原理这些基本的计算机网络通信技术,同时还将介绍计算机网络数据通信中常见的技术指标和参数。这些都是我们平常进行各种网络工程施工和系统设计的基础和前提。本节是选择性重传协议的窗口机制介绍。

AD:

7.5.6  选择性重传协议的窗口机制
同样,在前面我们已介绍了选择性重传协议,在此继续介绍这一协议中的窗口机制。
在该协议中,发送方的窗口大小从0开始增长到某个预定的最大值,而接收方的窗口总是保持固定大小的,并等于该最大值。接收窗口内的每个序号都有一个缓冲区,并有一位指示缓冲区是空还是满。当一个帧到达时,只要其序号落在接收窗口内,且此前并未收到过(相应缓冲区为空),就接收此帧,并存于相应的缓冲区中;仅当序号比它小的所有帧都已递交给了网络层,此帧才会被提交给网络层。使用选择重发协议,发送窗口也不能大于2n-1。
具体的选择重发过程可以描述如下:
(1)初始化:类似GO-BACK-N的初始化,但增加了与接收窗口相关的内容,如设定接收窗口的大小、清空缓冲区满标志等。
(2)等待事件发生(帧到达,收到坏帧,数据帧超时,网络层准备好,ACK超时)。
(3)如果发生的事件为网络层准备好,则从网络层接收一个分组,组帧发送,修改相关参数,与GO-BACK-N的处理方法相同,继续执行步骤(6)。
(4)如果事件为帧到达,则从物理层接收一个帧,若为数据帧,且不是期待接收、未发送过NAK(不应答)的帧,则发送一个NAK帧,要求重发指定序号的帧(Frame_expected);否则启动ACK计时器;若收到的帧落在接收窗口内,且此前未收到过,则放入相应缓冲区并设置缓冲区满标志;若接收窗口下沿帧已经到达,则从该帧开始将连续的若干个帧交给网络层,并修改相应参数(缓冲区满标志,接收窗口范围),启动ACK计时器。
若为NAK帧,且请求重发的帧落在当前的发送窗口内,则重发这个帧。若从发送窗口下沿开始连续的若干个帧已被确认,则终止这些帧的计时器,修改发送窗口大小及发送窗口下沿值将这些帧去掉;继续执行下一步。
(5)如果发生的事件为收到坏帧,则在尚未发送过NAK时,发送一个NAK,继续执行步骤(6);如果发生的事件为超时(数据帧超时),重发超时的帧,也继续执行步骤(6);如果事件为ACK超时,为指定的帧发送单独的确认帧,同样继续执行步骤(6)。
(6)若发送窗口大小小于所允许的最大值(NR_BUFS),则允许继续向网络层发送帧,否则暂停向网络层继续发送帧,返回到步骤(2),继续等待。
【责任编辑:雪花 TEL:(010)68476606-8007】

回书目   上一节   下一节

分享到:

栏目热门

更多>>

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点职位

更多>>

热点专题

更多>>

读书

计算机网络安全
本书从计算机网络安全的概念入手,分析了单机节点、单一网络、互联网络和开放互联网络的基本安全问题,并对计算机网络安全体系架

51CTO旗下网站

领先的IT技术网站 51CTO 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院 区块链第一聚合媒体 zhijiapro