考点三:流量控制

考点三:流量控制

由于收发双方各自的工作速率和缓存空间的差异,可能出现发送方发送能力大于接收方接收能力的现象,如果此时不对发送方的发送速率(链路上的信息流量)做适当的限制,前面来不及接收的帧将会被后面不断发送来的帧“淹没”,造成帧的丢失而出错。因此,流量控制就是使接收方直接限制发送方的数据流量,使其发送速率不致超过接收方的接收能力,是一种点(接收方)对点(发送方)的控制方式。

1.流量控制与滑动窗口机制

流量控制是让接收方来控制发送方发送数据的速度,便于接收方能够及时接收和处理数据,以免造成数据溢出和丢失。常见的方式有两种:停止-等待协议和滑动窗口协议。

(1)停止-等待机制。

所谓停止-等待,是指接收方能够简单地通过停止发送确认的方式来阻止数据流的发送。发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧,如果接收方不反馈应答信号,那么发送方必须一直等待。

(2)滑动窗口流量控制。

在任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口;同时接收方维持一组连续的允许接收帧的序号,称为接收窗口。发送窗口用来对发送方进行流量控制,发送窗口的大小为WT,代表在还没有收到对方确认信息的情况下发送方最多还可以发送多少个数据帧。接收窗口的大小为Wr,用来表示在接收方可以接收哪些数据帧。对接收方来说,只有当收到的数据帧的序号落入接收窗口内才允许将该数据帧收下,若接收到的数据帧落在接收窗口之外,则一律丢弃。滑动窗口有以下特性:

①只有接收窗口向前滑动时(同时接收方发送了确认帧),发送窗口才有可能(只有发送方收到确认帧才一定)向前滑动。

②从实现上看,停止-等待协议、后退N帧协议和选择性重传协议只在发送窗口大小和接收窗口大小上有所差别,假设系统使用n个比特来对窗口内的帧进行编号,具体来说:

停止-等待协议:发送窗口大小=1,接收窗口大小=1。

后退N帧协议:发送窗口大小>1,一般情况下,发送窗口的最大值为2n-1,接收窗口的大小=1。

选择性重传协议:发送窗口大小>1,接收窗口大小>1,一般情况下,取发送窗口和接收窗口大小相等,都取2n-1

发送窗口的大小一般大于等于接收窗口的大小,发送窗口和接收窗口共用一套编号。

发送窗口本质上是循环队列。例如,发送窗口的大小为7,那么帧在窗口的示意图如图3-7所示。

图3-7 帧在窗口的示意图

因此帧编号的位数所能表示的编号需要大于窗口大小。

③当接收窗口的大小为1时,可保证帧的有序接收。

④数据链路层的滑动窗口协议中,窗口的大小在传输过程中是固定的。

(3)重传机制。

超时重传是指发送方在发送某个数据帧以后就开启一个计时器,在一定时间内如果没有得到发送的数据帧的确认帧,就重新发送该数据帧,直到发送成功为止。自动重传请求(Auto Repeat reQuest,ARQ),是指接收方请求发送方重传出错的数据帧来恢复出错的帧,是通信中用于处理信号传输差错的方法之一。传统的自动重传请求分为3种,即停止-等待(Stop and Wait)、 后退N帧(Go Back N)及选择性重传(Selective Repeat)。

2.滑动窗口的具体实现

(1)停止-等待滑动窗口协议。

在停止-等待协议中,源站发送单个帧后必须等待确认,在目的站的回答到达源站之前,源站不能发送其他的数据帧。从窗口机制看,停止-等待协议相当于发送窗口和接收窗口大小均为1的滑动窗口协议。在停止-等待协议中,除了数据帧丢失,还可能出现以下两种差错。第一种是接收方接收到的数据帧出现错误,当接收方通过数据校验方法检测到数据帧有错误,就不会发送确认帧。为了应对这种情况,源站配备了计时器。在一个帧发送之后,源站等待确认,如果计时器到时仍未收到确认,那么再次发送相同的帧,如此重复,直到该数据帧准确到达为止。

第二种可能是数据帧正确而确认帧被破坏,此时接收方已经收到了正确的数据帧,但发送方收不到确认帧,因此发送方会重传已经被接收的数据帧,接收方收到同样的数据帧时会丢弃该帧,并重传一个该帧对应的确认帧。发送的帧交替地用0和1来标识,其中用0表示初次的帧,用1表示重传的帧,相应地,肯定确认则分别用ACK0和ACK1来表示,当发送方收到ACK0和ACK1时,均表示数据被正确接收。

(2)后退N帧滑动窗口协议。

后退N帧协议基于滑动窗口流量控制技术,若采用n个比特对帧进行编号,其发送窗口尺寸Wr必须满足1<Wr<2n-1,接收窗口尺寸为1,由于接收窗口尺寸为1,因此接收方只能按序来接收数据帧。

后退N帧协议的基本原理是,发送方发送完一个数据帧后,不是停下来等待确认帧,而是可以连续再发送若干个数据帧。如果这时收到了接收方的确认帧,那么还可以接着发送数据帧。如果某个帧出错了,接收方只能简单地丢弃该帧及其所有的后续帧,发送方超时后需重发该出错帧及其后续的所有帧。

注意:后退N帧协议支持累计确认,且接收方一般采用累计确认的方式,即接收方对按序到达的最后一个分组发送确认。例如,发送方发送了0、1、2、3、4、5号帧,如果收到3的确认帧就表示编号为0、1、2、3的帧已接收。

(3)选择性重传滑动窗口协议。

选择性重传协议也是基于滑动窗口流量控制技术的,它的接收窗口尺寸和发送窗口尺寸都大于1,以便能一次性接收多个帧。若采用n个比特对帧进行编号,为避免接收端向前移动窗口时,新接收窗口与旧接收窗口产生重叠,发送窗口的最大尺寸应该不超过序列号范围,即2n-1≤WT≤2n-2。当发送窗口取最大值时,Wr=WT=2n-1,可达到最高效率。

选择性重传协议的基本思想是,若一帧出错,其后续帧先存入接收方的接收窗口中,同时要求发送方重传出错帧,一旦收到重传帧后,就和原先存在接收窗口的其余帧一起按正确的顺序送至主机。选择性重传协议避免了重复传输那些已经正确到达接收方的数据帧,进一步提高了信道利用率,但代价是增加了缓存空间。

3.发送缓存和接收缓存

按序到达的没有被交付给主机的帧被放在接收缓存而不是接收窗口里。那些不是按序到达的且没有错误的帧一定放在接收窗口里,因为这些帧不能直接给主机,而放在接收缓存的帧是要直接给主机的,缺少的帧收到后,再和接收窗口里的帧一起放到接收缓存。但是在考试中,往往把接收缓存默认为接收窗口。在考试中,接收缓存和接收窗口、发送缓存和发送窗口是同义词,大家注意就可以了。

4.最大信道利用率计算

为什么标题是最大信道利用率呢?因为最小信道利用率的计算没有意义,只要一直不能发送成功,最小信道利用率就是0。信道利用率是指信道发送数据的时间占总时间的比例,其计算公式为

信道利用率=(W×t1)/(t1+RTT+t2)

式中:W为发送窗口的大小;t1为发送数据的发送时延;t2为确认数据的发送时延;RTT为往返传播时延。

在考试中,信道利用率的计算主要有两种题型。

(1)确认帧大小忽略不计。

设发送数据的发送时延为t1,往返时延为RTT,发送窗口大小为W,此时t2=0。

信道利用率=(W×t1)/(t1+RTT)

注意:忽略确认帧或确认帧很小,仅表示确认帧的发送时延是0,但是确认帧的传播时延不能忽略,因为往往传播时延比传输时延大很多。

(2)等长确认帧。

信道利用率=(W×t1)/(2×t1+RTT)

式中:W为发送窗口的大小;t1为发送数据的发送时延;t2为确认数据的发送时延;RTT为往返传播时延,t2=t1

需要注意的是,发送数据和确认数据的帧长相等,称为等长确认帧。

5.最大带宽计算

最大带宽是在最大利用率下,发送的数据量除以发送时间,其计算公式为

最大带宽=(W×L)/(t1+RTT+t2)

式中:W为发送窗口的大小;t1为发送数据的发送时延;t2为确认数据的发送时延;RTT为往返传播时延;L为数据帧的帧长。

在考试中,最大带宽的计算主要有两种题型。

(1)确认帧大小忽略不计。

设发送数据的发送时延为t1,往返时延为RTT,发送窗口大小为W,此时t2=0;则

最大带宽=(W×L)/(t1+RTT)

注意:忽略确认帧或确认帧很小,仅表示确认帧的发送时延是0,但是确认帧的传播时延不能忽略,因为往往传播时延比传输时延大很多。

(2)等长确认帧。

最大带宽=(W×L)/(2×t+RTT)1

式中,W为发送窗口的大小;t1为发送数据的发送时延;t2为确认数据的发送时延;RTT为往返传播时延,t2=t1

需要注意的是,发送数据和确认数据的帧长相等,称为等长确认帧。

6.流量控制核心考点一览表

假设采用n个比特对窗口进行编号,且默认是发送窗口大小大于接收窗口大小(表3-5)。

表3-5 流量控制核心考点一览表

【政哥点拨】

1.数据链路层采用了后退N帧协议,发送方已经发送了编号为0~7的帧。当计时器超时时,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧数是( )。

A.2 B.3 C.4 D.5

解析 C 在后退N帧协议中,当接收方检测到某个帧出错后,则简单地丢弃该帧及其后所有的后续帧,发送方超时后需重传该数据帧及其后续的所有帧。注意,连续ARQ协议中,接收方一般采用累计确认的方式,即接收方对按序到达的最后一个分组发送确认,因此本题中收到3的确认帧就表示编号为0、1、2、3的帧已接收,而此时发送方未收到1号帧的确认只能代表确认帧在返回的过程中丢失了,而不代表1号帧未到达接收方。因此需要重传的帧的编号是4、5、6、7。

2.下列哪种滑动窗口协议收到的分组一定是按序到达的?( )

Ⅰ.停止-等待协议

Ⅱ.后退N帧协议(GBN)

Ⅲ.选择性重传协议(SR)

A.Ⅰ、Ⅲ B.Ⅰ、Ⅱ C.Ⅱ、Ⅲ D.都有可能

解析 B 若要滑动窗口协议收到的分组按序到达,要求接收方的窗口大小刚好为1,使得接收方收到N号帧之后,确认希望收到N+1号帧,接收到了N+1号帧之后,确认希望收到N+2号帧……我们再来回顾一下滑动窗口机制的3种协议的发送窗口和拥塞窗口的大小。

(1)停止-等待协议:发送窗口大小=接收窗口大小=1。

(2)后退N帧协议:发送窗口大小>1,接收窗口大小=1。

(3)选择性重传协议:发送窗口大小>1,接收窗口大小>1。

以上滑动窗口协议中,只有停止-等待协议和后退N帧协议的接收窗口大小为1,所以选择B项。

3.主机甲通过128kb/s卫星链路,采用滑动窗口协议向主机乙发送数据,链路单向传播延迟为250ms,帧长为1000字节。不考虑确认帧的开销,为使链路利用率不小于80%,帧序号的比特数至少是( )。

A.3 B.4 C.7 D.8

解析 B 不考虑确认帧的开销,一个帧发送完后经过一个单程传播时延到达接收方,再经过一个单程传播时延发送方收到应答,从而继续发送。要使得传输效率最大化,就是不用等确认也可以连续发送多个帧。设连续发送n个帧,采用后退N帧协议利用率=nt/(t+RTT),代入数据一个帧的传输时延为t=1000B/128kb=62.5,RTT=250×2,因此(n×62.5)/(62.5+ 500)≥80%,解出n≥7.2。后退N帧协议中帧编号2k≥(n+1),帧序号的比特数k至少是4。

4.主机甲与主机乙之间使用后退N帧协议(GBN)传输数据,甲的发送窗口尺寸为1000,数据帧长为1000字节,信道带宽为100Mb/s,乙每收到一个数据帧立即利用一个短帧(忽略其传输延迟)进行确认,若甲、乙之间的单向传播延迟是50ms,则甲可以达到的最大平均数据传输率约为( )。

A.10Mb/s B.20Mb/s C.80Mb/s D.100Mb/s

解析 C 考虑制约甲的数据传输率的因素,首先,信道带宽能直接制约数据的传输率,数据传输率一定是小于等于信道带宽的;其次,主机甲、乙之间采用后退N帧协议,那么因为甲、乙主机之间采用后退N帧协议传输数据,要考虑发送一个数据到接收到它的确认之前,最多能发送多少数据,甲的最大传输速率受这两个条件的约束,所以甲的最大传输速率是这两个值中小的那一个。甲的发送窗口的尺寸为1000,即收到第一个数据的确认之前,最多能发送1000个数据帧,也就是发送1000×1000B=1MB的内容,而从发送第一个帧到接收到它的确认的时间是一个往返时延,也就是50+50=100ms=0.ls,即在100ms中,最多能传输1MB的数据,因此,此时的最大传输速率为1MB/0.ls=10MB/s=80Mb/s。信道带宽为100Mb/s,所以答案为min{80Mb/s,l00Mb/s}=80Mb/s。

政哥应试提醒:本部分主要考查流量控制的基本原理,发送窗口大小计算、不同算法的性质(累计确认、重传)、信道利用率计算和带宽计算,是本讲的重点和难点。

难度系数:★★★

牛刀小试

1.滑动窗口机制用于( )。

A.流量控制 B.拥塞控制 C.差错控制 D.路由选择

2.若数据链路的发送窗口尺寸WT=4,在发送3号帧并接到2号帧的确认帧后,发送方还可连续发送的帧数是( )。

A.2帧 B.3帧 C.4帧 D.1帧

3.在可靠传输机制中,发送窗口的位置由窗口前沿和后沿的位置共同决定,经过一段时间,发送窗口的后沿的变化情况可能是( )。

Ⅰ.原地不动  Ⅱ.向前移动 Ⅲ.向后移动

A.Ⅰ、Ⅲ B.Ⅰ、Ⅱ C.Ⅱ、Ⅲ D.都有可能

4.流量控制实际上是对( )的控制。

A.发送方、接收方数据流量 B.接收方数据流量

C.发送方数据流量 D.链路上任意两个节点之间的数据流量

5.在简单的停止-等待协议中,当帧出现丢失时,发送端会永远等待下去,解决这种死锁现象的办法是( )。

A.差错校验 B.帧序号 C.ACK机制 D.超时重传

6.根据图3-8所示的滑动窗口状态,指出通信双方处于何种状态。( )

图3-8 滑动窗口动态

A.发送方发送0号帧,接收方准备接收0号帧

B.发送方发送1号帧,接收方接收完0号帧

C.发送方发送0号帧,接收方准备接收1号帧

D.发送方发送1号帧,接收方接收完1号帧

7.若从滑动窗口的观点来看,停止-等待协议的发送窗口和接收窗口的大小具有下列关系,正确的是( )。

A.发送窗口=1,接收窗口>1 B.发送窗口>1,接收窗口>1

C.发送窗口>1,接收窗口=1 D.发送窗口=1,接收窗口=1

8.在数据链路层中,若发送方发送完全部10帧后,发现2号帧的确认返回超时,若根据检测差错的选择重发策略,则发送方要重发的帧数为( )。

A.5 B.1 C.9 D.10

牛刀小试解析

1.A 解析 滑动窗口是一种流量控制技术。早期的网络通信中,通信双方不会考虑网络的拥挤情况直接发送数据。由于大家不知道网络拥塞状况,一起发送数据,导致中间节点阻塞丢包,谁也发不了数据。因此就有了滑动窗口机制来解决此问题。

滑动窗口协议的基本原理:在任意时刻,发送方都维持了一些连续的允许发送的帧的序号,称为发送窗口。与此同时,接收方也维持了一些连续的允许接收的帧的序号,称为接收窗口。发送窗口和接收窗口序号上下界不一定要一样,甚至大小也可以不同。而且,不同的滑动窗口协议窗口大小一般也不同。发送方窗口内的序列号代表了那些已经被发送还没有被确认的帧,或者那些可以被发送的帧。

2.B 解析 发送窗口是4,表示最多可以发送4帧。当收到2号帧的确认并且发送了3号帧时,发送方还可以发出4、5、6三个帧未被确认。故而,选择B项。

3.B 解析 大家都知道,发送窗口里的帧只可能有3种情况,那就是已发送而且已经被确认的帧、已发送未被确认的帧和等待发送的帧。对于窗口的前沿和后沿的变化而言,也只有原地不动和向前移动两种情况,不会存在向后移动的情况。

发送窗口向后移动,简单的思维,就是已经发送了对方也收到了并确认了。可是发送方收到了确认之后又重新发了这些数据。这种情况不可能发生。故而,选择B项。

4.C 解析 这个题目其实有重复,我们在传输层的TCP协议考点里同样给出了这个题目。流量控制的本质在于控制发送方的数据流量,使得接收方来得及接收。

5.D 解析 在有噪声的信道中,帧可能损坏,也可能丢失。接收方只有接收到了正确的帧,才回复发送方一个ACK。若发送方发送给接收方的帧损坏了,接收方直接丢弃这样的帧。发送方在发送完一帧之后,启动计时器,在等待一段时间之后超时,则重传该帧。

6.B 解析 本题考查滑动窗口协议。发送方发送了0号帧,准备发送1号帧,接收方收到了0号帧并回复了确认。故而,本题选择B项。

7.D 解析 本题考查停止-等待协议的发送窗口与接收窗口的大小关系。前面我们提到了滑动窗口机制的3种协议的发送窗口和拥塞窗口的大小。

①停止-等待协议:发送窗口大小=接收窗口大小=1。

②后退N帧协议:发送窗口大小>1,接收窗口大小=1。

③选择性重传协议:发送窗口大小>1,接收窗口大小>1。

故而,本题选择D项。

8.B 解析 本题考查选择性重传协议。传统自动重传请求分为3种,即停止等待ARQ、后退N帧ARQ和选择性重传ARQ。这3种重传协议中,后两种协议是滑动窗口技术与请求重发技术的结合,由于窗口尺寸开到足够大时,帧在线路上可以连续地流动,因此又称其为连续ARQ协议。三者的区别在于对出错的数据报文的处理机制不同。

(1)停止-等待ARQ。

在停止-等待ARQ中,数据报文发送完成之后,发送方等待接收方的ACK,如果成功接收到ACK,那么发送后续的数据报文,否则重传该报文。

停止-等待ARQ的发送窗口和接收窗口大小均为1,发送方每发送一帧之后就必须停下来等待接收方的确认返回,仅当接收方确认正确接收后才能继续发送下一帧。该方法所需要的缓冲存储空间最小,缺点是信道效率很低。

(2)后退N帧ARQ。

在后退N帧的ARQ中,假设某一个帧在传输过程中发生错误,则重传该帧和以后的各帧。

后退N帧协议的发送窗口大于1,接收窗口等于1,允许发送方连续发送信息帧。但是,一旦某帧发生错误,必须重新发送该错误帧及其后的各帧。这种方式提高了信道的利用率,但允许已发送有待于确认的帧越多,可能要退回来重发的帧也越多。

(3)选择性重传ARQ。

在选择性重传ARQ中,假设某帧在传输过程中发生错误,则仅重传该帧。

选择重传协议的发送窗口和接收窗口都大于1。发送方重新传输发生错误的帧,并缓存错误帧之后成功发送的各帧。与后退N帧相比,选择重传协议减少了重传出错帧之后已经正确传送的各帧的开销。

选择性重传协议只重发因为丢失和出错而没有被确认的帧,2号帧的确认超时了,说明2号帧要重发,其他的帧都不需要重发。故而,选择B项。

大显身手

1.长度为1km,数据传输率为10Mb/s的以太网,电信号在网上的传播速度是200m/µs。假设以太网数据帧的长度为256bit,其中包括64bit帧头、校验和及其他开销。数据帧发送成功后的第一个时间片保留给接收方,用于发送一个64bit的确认帧。假设网络负载非常轻(不考虑冲突的任何情形),那么该以太网的有效数据传输率是多少?

2.50kb/s卫星信道上,采用停止-等待协议,帧长度为1000bit,卫星的上行和下行链路的延迟都为125ms,不考虑误码率而且假设确认帧的处理时间可以忽略,计算该卫星信道的利用率。

3.一个1Mb/s的卫星信道上发送1000bit长的帧。信号在信道中端到端传输延迟是270ms,假定ACK帧很短,占用信道的时间忽略不计,并且使用3位的帧序号。对以下协议而言,计算卫星信道可能达到的最大信道利用率。

(a)停止-等待协议;(b)后退N帧协议;(c)选择性重传协议

4.对于窗口大小为1000bit,速率为1Mb/s,延迟为270ms的卫星信道,下列情况下的最大链路利用率是多少?

①采用停止-等待协议的流量控制。②连续流量控制,窗口大小为7。③连续流量控制,窗口大小为127。④连续流量控制,窗口大小为255。

5.两个相邻的节点A、B采用滑动窗口协议,其序号占用3bit,在后退N帧ARQ的方式中,发送方的窗口尺寸为4。假定A给B发送数据,对于下列事件指出窗口的位置。

(1)在A发送数据帧之前。

(2)在A发送数据帧0、1、2之后,B应答了0、1帧,并且A收到了这些回应帧。

(3)在A发送数据帧3、4、5之后,B应答了第4帧,并且A收到了这些回应帧。

(4)如果采用选择重发ARQ方式,且发送方和接收方的窗口尺寸都是4。题中的前3个问题的结果又如何?

6.信道速率为4kb/s,采用停止-等待协议。传播时间tp=20ms。确认帧长度和处理时间均可忽略。帧首部的开销也可忽略。问:帧长为多少才能使信道利用率达到50%?

大显身手解析

1.解析 依题意,一个长度为256bit的以太网数据帧从发送到接收,再到确认帧成功被发送方接收,总共需要经过4个阶段的时间,即该数据帧的发送时间和传输时间,以及确认帧的发送时间和传输时间。

发送256bit数据帧所用的发送时间=256bit÷10Mb/s=25.6µs;数据帧在电缆上的传播时间=1000m÷200m/µs=5µs;发送64bit的确认帧所用的发送时间=64bit÷10Mb/s=6.4µs;确认帧在电缆上的传播时间=1000m÷200m/µs=5µs。

有效数据传输率=发送的有效数据/发送有效数据所用的总的时间。本题中,一个以太网帧数据中的有效数据为256-64=192bit。发送192bit的有效数据所占用的总的时间= 25.6µs+5µs+6.4µs+5µs=42µs,则该以太网的有效数据传输率为192bit/42µs=4.57Mb/s。

2.解析50kb/s卫星信道上发送长度为1000bit的数据帧所需时间为1000bit÷50kb/s= 20ms。卫星的上行和下行链路的延迟都为125ms,因此数据帧到达接收方及确认帧返回所需时间为125ms+125ms=250ms,不考虑误码率而且假设确认帧的处理时间可以忽略的情况下,该卫星信道的利用率为20ms÷(20+250)ms=7.4%。

3.解析 停止-等待协议的发送窗口和接收窗口的大小都是1,后退N帧协议的发送窗口的大小为1<W≤2n-1,而选择重传协议的发送窗口的大小为2n-1。易得3种协议的窗口大小值分别是1、7和4。

以1Mb/s的速度发送,1000bit长的帧的发送时间是1ms。用t=0表示传输开始时间,那么在t=1ms时,第一帧发送完毕,在t=271ms时第一帧完全到达接收方,t=54ms时确认帧到达发送方。因此,周期是54ms。如果在54ms内可以发送k个帧(每个帧发送用lms时间),那么信道的利用率是k/54。因此

①停止-等待协议中,窗口的大小为k=1,最大信道利用率=1/54=0.18%。

②后退N帧协议中,窗口的大小为k=7,最大信道利用率=7/54=1.29%。

③选择重传协议中,窗口的大小为k=4,最大信道利用率=4/54=0.74%。

4.解析 信道利用率=数据发送时间/(数据发送时间+传播时延)。已知卫星信道传输延迟为270ms,以1Mb/s的速度发送1000bit长的帧需要1ms。

假设t=0表示传输时间,则第一个帧的前沿:在t=α时到达接收方,在t=α+1时第一个帧完全到达接收方;在t=2α+l时,第一个帧的确认帧到达发送方。一帧的周期为t=2α+1=2×270+1=541ms。

下面分情况讨论。因为发送1帧的时间为1ms,当窗口为W时,其发送时间为W。

①当W≥2α+1,在发送方的窗口还没有用尽之前,帧1的确认帧已到达发送方,因此发送方能够连续不断地传送,且利用率为1.0。

②当W<2α+1,在t=W时发送方的窗口尽数用完,且无法发送其他的帧,直到t=2α+1时才能发送后续的帧。因此线路利用率可以表示为U=W÷(2α+1)。故而采用停止-等待协议,其链路的最大利用率为U=1÷(1+2α)=0.18%。

窗口大小为W=7,连续流量控制下的链路利用率为U=W÷(1+2α)=7÷(1+540)=1.29%。

窗口大小为W=127,连续流量控制下的链路利用率为U=W÷(1+2α)=127÷(1+540)= 23.48%。

窗口大小为W=255,连续流量控制下的链路利用率为U=W÷(1+2α)=255÷(1+540)= 47.13%。

5.解析 根据滑动窗口的原理和后退N帧ARQ的基本思想,后退N帧的接收方窗口大小始终为1。在本题中,发送方的窗口尺寸为4。

(1)在A发送数据帧之前,发送方的发送窗口和接收方的接收窗口如图3-9所示。

图3-9 发送窗口和接收窗口(1)

(2)A连续发送帧0、1、2之后,B应答了0、1帧,并且A收到了这些回应帧,所以发送方的窗口前沿是5,后沿是2(因为2号帧还没有收到应答);接收方还在等待2号帧的到来,故而接收窗口停在2位置,如图3-10所示。

图3-10 发送窗口和接收窗口(2)

(3)当A发送帧3、4、5之后,B应答了4帧,并且A收到了回应帧,但是还没有收到接收方对5号帧的确认,所以发送方窗口后沿为5,前沿为0;而接收方B在接收到发送方发来的4号帧之后窗口后移到5,如图3-11所示。

图3-11 发送窗口和接收窗口(3)

(4)当使用选择重传方式时,假设发送方和接收方的窗口尺寸都是4,当A在发送数据帧之前,节点A和节点B的窗口位置如图3-12所示。

图3-12 发送窗口和接收窗口(4)

当A发送数据帧0、1、2之后,B应答了0、1帧,且A收到了这些回应帧,则A和B的滑动窗口由图3-12到图3-13再到图3-14。

图3-13 发送窗口和接收窗口(5)

图3-14 发送窗口和接收窗口(6)

当A发送了帧3、4、5之后,B应答了4号帧,且A收到了该应答,发送方A的窗口后沿为5,前沿为0。接收方B收到5号帧,但是尚未应答。此时,A与B的窗口位置如图3-15所示。

图3-15 发送窗口和接收窗口(7)

6.解析 采用停止-等待协议,在帧长度和处理时间均可忽略不计的情况下,信道的利用率与发送时间和传播时间有关,则信道利用率=发送时间/(T发送时间+2T传播时间)。其中,发送时间=帧长度/信道速率。

当发送时间等于传播时间的2倍时,信道的利用率是50%,即发送一帧的时间T=20ms× 2=40ms。信道速率是每秒V=4kbit/s,设帧长为L,则L至少为

L=T×V=0.04s×4000bit/s=160bit。

故而,要使信道利用率达到50%,最短帧长应该达到160bit。