人邮社谢钧 谢希仁计算机网络教程(第4版)习题答案 下载本文

CRC检验序列为1110。

添加检验序列后为11010110111110,数据(注意是数据,不包括检验序列)在传输过程中最后一个1变成了0,则接收方收到的数据为11010110101110。除P得到的余数不为零(0011),发现差错。

若数据在传输过程中最后两个1都变成了0,则接收方收到的数据为11010110001110。除P得到的余数也不为零(0101),发现差错。

采用CRC检验仅能发现数据在传输过程中出现差错但并不能纠正差错,因此并不能实现可靠传输。

3-6 要发送的数据为101110。采用CRC的生成多项式是P(X)?X3?1。试求应添加在数据后面的余数。

解答:根据CRC的生成多项式,除数为1001,被除数为101110000,余数为011。

3-7 停止等待协议需不需要为确认帧编号?试举例并画图说明理由。

解答:在往返时延很不确定的情况下,如果确认帧不编号,当超时重传时间大于实际的往返时延时,发送方会收到重复的确认帧,导致错误,如图所示的情况,会导致M2丢失。但在往返时延比较确定的情况下,由于超时时间总是大于往返时延,确认帧可无需编号。

AB发送M1?超时重传M1发送M2误认为是对M2的确认确认M1丢弃重复的M1重传确认M1tt 3-8 考虑0/1比特交替停止等待协议(序号只有一位的停止等待协议),假定发送方和接收方之间的链路会造成帧失序。请画图说明该协议将不能应对所有出错情况(协议错误地收下或丢弃数据)。 解答:如图所示,当链路造成帧失序时,0/1编号不足以区分迟到的失序帧,会导致错误。为解决该问题需要增大编号长度。(答案不唯一) word文档 可自由复制编辑

发送方接收方发发发发发发超时D0D0A0D1A1A0D0发发D0D0A0D1A1发发发发发D0D1发发发发发发发发错误接收错误丢弃发发发发D0发发发A0

3-9 信道带宽是4kbit/s,传播延迟是20ms,那么帧的大小在什么范围内时,停止等待协议才有至少50%的效率?

解答:帧大于160bit。

当发送一帧的时间等于信道传播延迟的2倍时,信道利用率是50%,也就是说,当发送一帧的时间等于来回路程的传播延迟时,效率是50%。由于20ms×2=40ms,现在发送速率是每秒4 000bit,即发送1bit需要0.25ms,40ms/(0.25ms/bit)=160bit。

3-10 判断正误:“由于Go-Back-N协议采用的是累积确认,当某个确认分组丢失时,不一定会导致发送方重传”,并画图举例说明。

解答:正确。

发发发D0D1D2A0发发发发发发发发发发A2发发D2发发发发发发发发A1A2D4D3发发发

3-11 考虑GBN协议,当收到序号不对的分组,如果接收方仅仅将它们丢弃而不对最近按序接收的分组进行确认,会出现什么错误情况。请画图举例说明。

解答:假设窗口大小为4,发送方连续发送1, 2, 3, 4号帧,接收方全部正确接收,但返回的确认帧却全部丢失。当发送方超时重传1, 2, 3, 4号帧时,接收方会全部丢弃(接收方正等待接收5号帧),如果不对4号帧进行再确认,发送方会一直重传1, 2, 3, 4号帧。(图略)

word文档 可自由复制编辑

3-12 考虑在Go-Back-N协议中帧序号的长度问题,假设帧序号用3 bit,而发送窗口为8。试找出一种情况,使得在此情况下协议不能正确工作(考虑序号重用时造成的混乱,但不考虑信道失序情况)。 解答:设想在发送方的发送窗口内的序号为0, 1, 2, 3, 4, 5, 6, 7,且全部发送出去了。而接收方的接收窗口内的序号为0。接收端若收到0号帧,则无法判断是新的0号帧还是重传的0号帧(当0到7号帧的确认帧全部丢失)。

3-13 考虑选择重传协议中的上述问题,设编号用3 bit。再设发送窗口WT = 6 而接收窗口WR = 3。试找出一种情况,使得在此情况下协议不能正确工作。

解答:设想在发送窗口内的序号为0, 1, 2, 3, 4, 5,而接收窗口等待后面的6, 7, 0。接收端若收到0号帧,则无法判断是新帧或重传的(当确认帧丢失)。

3-14 一条链路传输带宽为2 Mbps,长度为10000 km,信号传播速率为2.0 ? 105 km/s,分组大小为100B,忽略应答帧大小。如果采用停止等待协议,问最大吞吐率(实际可达的最高平均数据速率)是多少?信道利用率是多少?如果采用滑动窗口协议,要想达到最高吞吐率,发送窗口最小是多少?

解答:最大吞吐率7968bps,信道利用率0.3984%。如果采用滑动窗口协议,要想达到最高吞吐率,发送窗口最小为251。

发送延迟= ,传播延迟=(1000km)/(200km/ms)=50ms 1帧发送完后等待1个RTT,然后发另一帧。

周期长度=0.4ms+50ms×2=100.4ms,1个周期内发送1帧。 实际数据速率=(8×100b/帧×1帧)/100.4ms=7968bps。 信道利用率=7968bps/(2×106)bps=0.3984%。

如果采用滑动窗口协议,可连续发送的帧的个数为: (周期长度)/(分组发送时间)=100.4ms/0.4ms=251。 所以,发送窗口最小为251。

3-15 假定卫星信道的数据率为100kbps,卫星信道的单程(即从发送方通过卫星到达接收方)传输时延为250ms,每个数据帧长均为2000b,忽略误码、确认字长、首部和处理时间等开销,为达到传输的最大效率,帧的序号至少多少位?此时信道最高利用率是多少? 解答:RTT=250×2ms=0.5s

1个帧的发送时间=2000b/100kbps= 。

1个帧发送完后经过1个单程延迟到达接收方,再经过1个单程延迟发送方收到应答,从而可以继续发送,理想的情况是此时窗口信息刚发送完或还没有发送完。

假设窗口值等于x,令(2000bit×x)/(100kb/s)= +RTT= +0.5s=0.52s。 得x=26。

若要取得最大信道利用率,窗口值是26即可,在此条件下,可以不间断地发送帧,所以发送率保持在100kbps。

由于16<26<32,帧的顺序号应为5位。在使用后退N帧协议的情况下,最大窗口值是31,大于26,可以不间断地发送帧,此时信道利用率是100%。

word文档 可自由复制编辑

3-16 使用1个64 kbps的卫星通道(端到端的传输延迟是270ms)发送512字节的数据帧(在一个方向上),而在另一方向上返回很短的确认帧。若滑动窗口协议的窗口大小分别为1、7、15和127时的最大吞吐率是多少?

解答:使用卫星信道,端到端的传输延迟是270ms,以64kbps发送,512字节长的数据帧占据通道的时间是 ,即64ms。

用t=0表示传输开始时间,那么在t=64ms时,第1帧发送完毕,t=64+270=334ms时,第1帧完全到达接收方,并开始返回很短的确认帧(发射时间忽略),t=334+270=604ms时,确认帧完全到达发送方。因此,周期等于604ms,需要窗口大小为604/64≈9个帧才能保持通道不空。

对于窗口值1,每604ms可发送4096位,吞吐率=4096/0.604≈6781bps,约为6.8kbps。 对于窗口值7,吞吐率=6781×7=47467bps,约为47.5kbps。 对于窗口值超过9帧(包括15帧和127帧的情况),吞吐率达到完全速率64kbps。

3-17 PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不能使数据链路层实现可靠传输?

解答:PPP协议的主要特点如下:

(1)简单,数据链路层的PPP协议非常简单,具有封装成帧、透明传输和差错检测功能,但向上不提供可靠传输服务。

(2)支持多种网络层协议,PPP协议能够在在同一条物理链路上同时支持多种网络层协议,如IP和IPX等。

(3)支持多种类型链路,PPP协议能够在多种类型的链路上运行。例如,串行的或并行的,同步的或异步的,低速的或高速的,电的或光的点对点链路。

(4)检测连接状态,PPP协议具有一种机制能够及时(不超过几分钟)自动检测出链路是否处于正常工作状态。

(5)网络层地址协商,PPP协议提供了一种机制使通信的两个网络层(例如,两个IP层)的实体能够通过协商知道或能够配置彼此的网络层地址。

帧的编号是可靠数据传输的基本机制,PPP不使用帧的编号是因为PPP不实现可靠数据传输。由于PPP没有编号和确认机制因此不能实现可靠数据传输,适用于线路质量较好的情况。

3-18 一个PPP帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。试问真正的数据是什么(用十六进制写出)?

解答:转义符为7D,7D 5E还原为7E,7D 5D还原为7D,真正的数据为:7E FE 27 7D 7D 65 7E。

3-19 PPP协议使用同步传输技术传送比特串0110111111111100。试问经过零比特填充后变成怎样的比特串?若接收端收到的PPP帧的数据部分是0001110111110111110110,问删除发送端加入的零比特后变成怎样的比特串?

解答:填充比特后为011011111[0]11111[0]00([]中是填充的比特)。删除比特后为

word文档 可自由复制编辑