中电网移动|移动中电网|高清图滚动区

数据通信信息流量控制方案介绍

数据通信已是老生常谈的话题,虽然大家对数据通信有所了解,但在应用数据通信过程中,往往需要注意一些事项。例如,如何控制数据通信的信息流量。为帮助大家解决该问题,本文将对数据通信信息流量控制方案加以介绍。

一、何为数据通信信息流量控制

流量控制是网络技术中的一个重要课题,此处以ATM网络为例对流量控制的各个问题进行说明。ATM网络能够对不同业务提供服务质量的保证,在分析ATM网络所支持业务的特点及其相应参数的基础上,ATM网络除了可为信息提供高速率、高带宽的转移功能外,更为重要的是能灵活地支持现有的和将来可能出现的各种业务,并对各种业务提供服务质量保证,使网络达到很高的资源利用率,要达到这些目的需要对不同业务运用不同的流量控制和拥塞控制机制。概括地说流量控制就是为了避免网络拥塞的出现而采取的一系列操作( ATM层的拥塞是指网络不能达到连接建立时所签订的流量合同);拥塞控制是当网络发生拥塞时,为避免网络进一步恶化和缓解网络拥塞而采取的一系列操作。流量控制和拥塞控制都是为了提高网络性能,保证业务服务质量,通常统一称之为流量控制。

流量控制涉及链路上字符或帧的发送速率的控制, 以使接收方在接收前的足够的缓冲存储空间来接收每一个字符或帧。例如,在面向字符的终端——计算机链路中,若远程计算机为许多台终端服务,它就有可能因不能在高峰时按预定速率传输全部字符而暂时过载。同样,在面向帧的自动重发请求系统中,当待确认帧数量增加时,有可能超出缓冲器存储空间,也会造成过载。下面介绍两种常用的流量控制方案:XON/XOFF方案和窗口机制。

二、控制方案

(一)XON/XOFF方案

增加缓冲存储空间在某种程度上可以缓解收、发双方在传输速率上的差异,但这是一种被动、消极的方法。因为,一方面系统不允许开设过大的缓冲空间,另一方面对于速率显著失配并且又传送大量数据的场合,仍会出现缓冲空间不够的现象。XON/XOFF方案方案则是一种相比之下更主动、更积极的流量控制方法。

XON/XOFF方案中使用一对控制字符来实现流量控制,其中XON采用ASCII字符集中的控制字符DC1,XOFF采用ASCII字符集中的控制字符DC3。当通信路上的接收方发生过载时,便向发送方发送一个XOFF字符,发送方接收XOFF字符后便暂停发送数据;等接收方处理完缓冲器中的数据,过载恢复后,再向发送方发送一个XON字符,以通知发送方恢复数据发送。在一次数据传输过程中,XOFF、XON的周期可重复多次,但这些操作对用户来说是透明的。

许多异步数据通信软件包均支持XON/XOFF协议。这种方案也可用于计算机向打印机或其它终端设备发送字符,在这种情况下,打印机或终端设备中的控制部件用以控制字符流量。

(二)窗口机制

为了提高信道的有效利用率,如前所述采用了不等待确认帧返回就连续发送若干帧的方案。由于允许连续发送多个未被确认的帧 ,帧号就需采用多位二进制才能加以区分。因为凡被发出去尚未被确认的帧都可能出错或丢失而要求重发,因而这些帧都要保留下来。这就要求发送方有较大的发送缓冲区保留可能要求重发的未被确认的帧。

但是缓冲区容量总是有限的,如果接收方不能以发送方的发送速率处理接收到的帧,则还是可能用完缓冲容量而暂时过载。为此,可引入类似于空闲RQ控制方案的调整措施,其本质是在收到一确定帧之前,对发送方可发送的帧的数目加以限制。这是由发送方调整保留在重发表中的待确认帧的数目来实现的。如果接收方来不及时对心到的帧进行处理,则便停发确认信息,此时发送方的重发送方的重发表就会增长,当达到重发表限度时,发送方就不再发送新帧,直至再次收到确认信息为止。

不了实现此方案,发送方存放待确认帧的重发表中,应设置待确认帧数目的最大限度,这一限度被称为链路的发送窗口。显然,如果窗口设置为1,即发送方缓冲能力仅为一个帧,则传输控制方案就回到了空闲RQ方案,此时传输效率很低。故窗口限度应选为使接收方尽量能处理或接受收到的所有帧。当然选择时还必须考虑诸如帧的最大长度、可使用的缓冲存空间以及传输速率等因素。

重发表是一个连续序号的列表,对应发送方已发送但尚未确认的那些帧。这些帧的序号有一个最大值,这个最大值即发送窗口的限度。所谓发送窗口就是指示发送方已发送但尚未确认的帧序号队列的界,其上、下界分别称为发送窗口的上、下沿,上、下沿的部距称为窗口尺寸。接收方类似地也有接收窗口,它批示允许接收和帧的序号。

发送方每次发送一帧后,待确认帧的数目便增1,每收到一个确认信息后,待确认帧的数目便减1。当重发表长度计数值,即待确认帧的数目等于发送窗口尺寸时,便停止发送新的帧。

一般帧号只取有限位二进制数,到一定时间后就又反复循环。若帧号配3位二进制数,则帧号在0~7间循环。如果发送窗口尺寸取值为2。则发送如图3.15所示。图中发送方阴影部分表示打开的发送窗口,接收方阴影部分则表示打开的接收窗口。当传送过程进行时,打开的窗口位置一直在滑动,所以也称为滑动窗口(Slidding Window),或简称为滑窗。

上图中的滑动窗口变化过程可叙述如下(假设发送窗口尺寸为2,接收窗口尺寸为1):

①初始态,发送方没有帧发出,发送窗口前后沿相重合。接收方0号窗口打开,表示等待接收0号帧;

②发送方已发送0号帧,此时发送方打开0号窗口,表示已发出0帧但尚确认返回信息。此时接收窗口状态同前,仍等待接收0号帧;

③发送方在未收到0号帧的确认返器信息前,继续发送1号帧。此时,1号窗口打开,表示1号帧也属等待确认之列。至昆,发送方打开的窗口数已达规定限度,在未收到新的确认返回帧之前,发送方将暂停发送新的数据帧。接收窗口此时状态仍未变;

④接收方已收到0号帧,0号窗口关闭,1号窗口打开,表示准备接收1号帧。此时发送窗口状态不变;

⑤发送方收到接收方发来的0号帧确认返回信息,关闭0号窗口,表示从重发表中删除0号帧。此时接收窗口状态仍不变;

⑥发送方继续发送2号帧,2号窗口打开,表示2号帧也纳入待确认之列。至此,发送方打开的窗口又已达规定限度,在未收到新的确认返回帧之前,发送方将暂停发送新的数据帧,此时接收窗口状态仍不变;

⑦接收方已收到1号帧,1号窗口关闭,2号窗口打开,表示准备接收2号帧。此时发送窗口状态不变;

⑧发送方收到接收方发来的1号帧收毕的确认信息,关闭1号窗口,表示从重发表中删除1号帧。此时接收窗口状态仍不变。

一般来说,凡是在一定范围内到达的帧,即使它们不按顺序,接收方也要接收下来。若把这个范围看成是接收窗口的话,由接收窗口的大小也应该是大于1的。而Go-back-N正是接收窗口等于1的一个特例,选择重发也可以看做是一种滑动窗口协议,只不过其发送窗口和接收窗口都大于1。若从滑动窗口的观点来统一看待空闲RQ、Go-back-N及选择重发三种协议,它们的差别仅在于各自窗口尺寸的大小不同而已:

空闲RQ:  发送窗口=1,接收窗口=1;

Go-back-N: 发窗口>1,接收窗口>1;

选择重发: 发送窗口>1,接收窗口>1。

若帧序号采用3位二进制编码,由最大序号为Smax=2^3-1=7。对于有序接收方式,发送窗口最大尺寸选为Smax;对于无序接收方式,发送窗口最大尺寸至多是序号范围的一半。发送方管理超时控制的计时器数应等于缓冲器数,而不是序号空间的大小。

猜你喜欢
中电网移动|移动中电网|频道导航区