《计算机网络》第五版课后习题解答 下载本文

后续测量中,RTTd(i)=(1-Beta)* RTTd(i-1)+Beta*{ RTTs- RTT(i)}; Beta=1/4

依题意,RTT(1)样本值为1.5 秒,则

RTTs(1)=RTT(1)=1.5s RTTd(1)=RTT(1)/2=0.75s RTO(1)=RTTs(1)+4RTTd(1)=1.5+4*0.75=4.5(s)

(2)RTT(2)=2.5 RTTs(1)=1.5s RTTd(1)=0.75s

RTTd(2)=(1-Beta)* RTTd(1)+Beta*{ RTTs(1)- RT (2)}=0.75*3/4+{1.5-2.5}/4=13/16

RTO(2)=RTTs(1)+4RTTd(2)=1.5+4*13/16=4.75s

5—34 已知第一次测得TCP的往返时延的当前值是30 ms。现在收到了三个接连的确认报 文段,它们比相应的数据报文段的发送时间分别滞后的时间是:26ms,32ms和 24ms。设α=0.9。试计算每一次的新的加权平均往返时间值RTTs。讨论所得出的 结果。

答:a=0.1, RTTO=30

RTT1=RTTO*(1-a) +26*a=29.6

《计算机网络》第五版课后习题解答 整理编辑:我不是地豆子45 RTT2=RTT1*a+32(1-a)=29.84 RTT3=RTT2*a+24(1-a)=29.256

三次算出加权平均往返时间分别为29.6,29.84 和29.256ms。 可以看出,RTT 的样本值变化多达20%时,加权平均往返

5—35 试计算一个包括5段链路的运输连接的单程端到端时延。5段链路程中有2段是卫 星链路,有3 段是广域网链路。每条卫星链路又由上行链路和下行链路两部分组成。 可以取这两部分的传播时延之和为250ms。每一个广域网的范围为1500km,其传 播时延可按150000km/s来计算。各数据链路速率为48kb/s,帧长为960位。 答:5 段链路的传播时延=250*2+(1500/150000)*3*1000=530ms 5 段链路的发送时延=960/(48*1000)*5*1000=100ms 所以5 段链路单程端到端时延=530+100=630ms

5—36 重复5-35题,但假定其中的一个陆地上的广域网的传输时延为150ms。 答:760ms

5—37 在TCP的拥塞控制中,什么是慢开始、拥塞避免、快重传和快恢复算法?这里每一 种算法各起什么作用? “乘法减小”和“加法增大”各用在什么情况下? 答:慢开始:

在主机刚刚开始发送报文段时可先将拥塞窗口cwnd设置为一个最大报文段MSS 的数值。在每收到一个对新的报文段的确认后,将拥塞窗口增加至多一个MSS 的数 值。用这样的方法逐步增大发送端的拥塞窗口cwnd,可以分组注入到网络的速率更 加合理。 拥塞避免:

当拥塞窗口值大于慢开始门限时,停止使用慢开始算法而改用拥塞避免算法。拥塞 避免算法使发送的拥塞窗口每经过一个往返时延RTT 就增加一个MSS 的大小。 快重传算法规定:

发送端只要一连收到三个重复的ACK 即可断定有分组丢失了,就应该立即重传丢 手的报文段而不必继续等待为该报文段设置的重传计时器的超时。 快恢复算法:

当发送端收到连续三个重复的ACK 时,就重新设置慢开始门限ssthresh 与慢开始不同之处是拥塞窗口cwnd 不是设置为1,而是设置为ssthresh 若收到的重复的AVK 为n 个(n>3),则将cwnd 设置为ssthresh

若发送窗口值还容许发送报文段,就按拥塞避免算法继续发送报文段。 若收到了确认新的报文段的ACK,就将cwnd 缩小到ssthresh 乘法减小:

是指不论在慢开始阶段还是拥塞避免阶段,只要出现一次超时(即出现一次网络拥 塞),就把慢开始门限值ssthresh 设置为当前的拥塞窗口值乘以0.5。

当网络频繁出现拥塞时,ssthresh 值就下降得很快,以大大减少注入到网络中的分 组数。 加法增大:

是指执行拥塞避免算法后,在收到对所有报文段的确认后(即经过一个往返时间), 就把拥塞窗口cwnd 增加一个MSS 大小,使拥塞窗口缓慢增大,以防止网络过早 出现拥塞。

《计算机网络》第五版课后习题解答 整理编辑:我不是地豆子46

5—38 设TCP的ssthresh的初始值为8(单位为报文段)。当拥塞窗口上升到12时网络发 生了超时,TCP使用慢开始和拥塞避免。试分别求出第1次到第15次传输的各拥 塞窗口大小。你能说明拥塞控制窗口每一次变化的原因吗?

答:拥塞窗口大小分别为:1,2,4,8,9,10,11,12,1,2,4,6,7,8,9. 5—39 TCP的拥塞窗口cwnd大小与传输轮次n的关系如下所示: (1)试画出如图5-25所示的拥塞窗口与传输轮次的关系曲线。 (2)指明TCP工作在慢开始阶段的时间间隔。 (3)指明TCP工作在拥塞避免阶段的时间间隔。

(4)在第16轮次和第22轮次之后发送方是通过收到三个重复的确认还是通过超市检 测到丢失了报文段?

(5)在第1轮次,第18轮次和第24轮次发送时,门限ssthresh分别被设置为多大? (6)在第几轮次发送出第70个报文段?

(7)假定在第26轮次之后收到了三个重复的确认,因而检测出了报文段的丢失,那么 拥塞窗口cwnd和门限ssthresh应设置为多大? 答:( 1)拥塞窗口与传输轮次的关系曲线如图所示(课本后答案): (2) 慢开始时间间隔:【1,6】和【23,26】 (3) 拥塞避免时间间隔:【6,16】和【17,22】

(4) 在第16 轮次之后发送方通过收到三个重复的确认检测到丢失的报文段。在第22 轮次之后发送方是通过超时检测到丢失的报文段。 (5) 在第1 轮次发送时,门限ssthresh 被设置为32

在第18 轮次发送时,门限ssthresh 被设置为发生拥塞时的一半,即21. 在第24 轮次发送时,门限ssthresh 是第18 轮次发送时设置的21 (6) 第70 报文段在第7 轮次发送出。

(7) 拥塞窗口cwnd 和门限ssthresh 应设置为8 的一半,即4.

5—40 TCP在进行流量控制时是以分组的丢失作为产生拥塞的标志。有没有不是因拥塞而 引起的分组丢失的情况?如有,请举出三种情况。 答:

当Ip 数据报在传输过程中需要分片,但其中的一个数据报未能及时到达终点,

而终点组装IP 数据报已超时,因而只能丢失该数据报;IP 数据报已经到达终点,但 终点的缓存没有足够的空间存放此数据报;数据报在转发过程中经过一个局域网的 网桥,但网桥在转发该数据报的帧没有足够的差错空间而只好丢弃。

5—41 用TCP传送512字节的数据。设窗口为100字节,而TCP报文段每次也是传送100 字节的数据。再设发送端和接收端的起始序号分别选为100和200,试画出类似于 图5-31的工作示意图。从连接建立阶段到连接释放都要画上。 cwn d n 1 1 2 2 4 3 8 4 16 5 32 6 33 7 34 8 35 9 36 10 37 11 38 12 39 13 cwn d n 40 14 41 15 42 16

21 17 22 18 23 19 24 20 25 21 26 22 1 23 2 24 4 25 8 26

《计算机网络》第五版课后习题解答 整理编辑:我不是地豆子47

5—42 在图5-32中所示的连接释放过程中,主机B能否先不发送ACK=x+1的确认? (因 为后面要发送的连接释放报文段中仍有ACK=x+1这一信息) 答:

如果B 不再发送数据了,是可以把两个报文段合并成为一个,即只发送

FIN+ACK 报文段。但如果B 还有数据报要发送,而且要发送一段时间,那就不行, 因为A 迟迟收不到确认,就会以为刚才发送的FIN 报文段丢失了,就超时重传这个 FIN 报文段,浪费网络资源。

5—43 在图(5-33)中,在什么情况下会发生从状态LISTEN到状态SYN_SENT,以及从状 态SYN_ENT到状态SYN_RCVD的变迁?

答:当A 和B 都作为客户,即同时主动打开TCP 连接。这时的每一方的状态变迁 都是:CLOSED----??SYN-SENT---??SYN-RCVD--??ESTABLISHED

5—44 试以具体例子说明为什么一个运输连接可以有多种方式释放。可以设两个互相通信 的用户分别连接在网络的两结点上。

答:设A,B 建立了运输连接。协议应考虑一下实际可能性: A 或B 故障,应设计超时机制,使对方退出,不至于死锁; A 主动退出,B 被动退出 B 主动退出,A 被动退出

5—45 解释为什么突然释放运输连接就可能会丢失用户数据,而使用TCP的连接释放方 法就可保证不丢失数据。 答:

当主机1 和主机2 之间连接建立后,主机1 发送了一个TCP 数据段并正确抵达

主机2,接着主机1 发送另一个TCP 数据段,这次很不幸,主机2 在收到第二个TCP