《计算机网络》CH5课后习题答案

《计算机网络》课后答案

第5章运输层P220~223

5-13 一个UDP用户数据的数据字段为8192字节。在数据链路层要使用以太网来传送。试问应当划分为几个IP数据报片?说明每一个IP数据报字段长度和片偏移字段的值。

UDP用户数据报的数据字段为8192B,加上UDP首部8B,因此UDP用户数据报长度为8200B,作为IP数据报的数据字段。

而IP数据报的最大长度为1500B,除去IP数据报的固定长度首部20B,IP数据报中数据字段的最大长度为1480B。

8200/1480=5.54>5,8200-1480*5=800。因此该IP数据报应该分6片,前5片数据字段长度为1480B,第6片数据字段长度为800B。

片偏移是以8B为单位的,而1480/8=185,正好能够整除。因此片偏移字段的值分别为:0,185,370,555,740,925。

5-14 一UDP用户数据报的首部十六进制表示是:06 32 00 45 00 1C E2 17。试求源端口、目的端口、用户数据报的总长度、数据部分长度。这个用户数据报是从客户发送给服务器发送给客户?使用UDP的这个服务器程序是什么?

UDP用户数据报首部的十六进制表示是:06 32 00 45 00 1C E2 17,

因此源端口为0632H=6*162+3*16+2=1586,

目的端口为0045H=4*16+5=69,

用户数据报的总长度为001C=16+12=28,

数据部分长度为:28-首部长度=28-8=20。

由于目的端口号69<1023,是熟知端口,为服务器端使用的端口号。因此该UDP用户数据报是从客户发给服务器的。使用UDP的这个服务程序是TFTP。【P184】

5-18

5-21 假定使用连续ARQ协议中,发送窗口大小是3,而序列范围[0,15],而传输媒体保证在接收方能够按序收到分组。在某时刻,接收方,下一个期望收到序号是5。

试问:

(1)在发送方的发送窗口中可能有出现的序号组合有哪几种?

(2)接收方已经发送出去的、但在网络中(即还未到达发送方)的确认分组可能有哪些?说明这些确认分组是用来确认哪些序号的分组。

(1)

某时刻接收方期望收到的下一个序号是5,表明接收方已经把序号到4为止的分组都正确接收并发送相应的确认了。

发送窗口大小是3。

最好的情况是发送方也已经正确收到了到4为止的确认,此时发送方发送窗口出现的序号组合是[5,7]。

最差的情况是5以前的3个序号均还未收到确认,此时发送方发送窗口出现的序号组合是[2,4]。

因此,发送方的发送窗口中可能出现的序号组合为:[2,4],[3,5],[4,6],[5,7]。

(2)

接收方期望收到的下一个序号是5,最差的情况是5以前的3个序号均还未收到确认,即[2,4]序号还未收到确认,而[2,4]之前的序号即[0,1]都已经收到了确认。因此接收方发送出去但有可能还未到达发送方的确认分组可能有2,3,4,分别是用来确认序号为2,3,4的分组的。

5-22 主机A 向主机B 发送一个很长的文件,其长度为L 字节。假定TCP 使用的MSS

有1460字节。

(1)在TCP 的序号不重复使用的条件下,L 的最大值是多少?

(2)假定使用上面计算出文件长度,而运输层、网络层和数据链路层所使用的首部开销共66字节,链路的数据率为10Mb/s ,试求这个文件所需的最短发送时间。 (1)

TCP 报文段首部中的序号字段占4字节,共232个序号。TCP 是面向字节流的,因此在序号不重复使用的条件下,一次性能发送232字节,因此L 的最大值为232字节,即4GB 。 (2)

L 取其最大值为232字节,而TCP 使用的MSS 为1460B 。运输层、网络层和数据链路层所用的首部开销共66B 。

因此该文件在链路层中的总开销为

)

(4489123390

1941560944294967296662941759429496729666146022

6614603232

B L L =+=?+=???

?

???+=???????+ 链路数据率为10Mb/s ,因此发送这个文件所需的最短时间为:

h s s s

b B 1min 8545.592679.359110

3591298712

/10108

4489123390

7

6

≈≈≈=

??

5-23 主机A向主机B连续发送了两个TCP报文段,其序号分别为70和100。试问:(1)第一个报文段携带了多少个字节的数据?

(2)主机B收到第一个报文段后发回的确认中的确认号应当是多少?

(3)如果主机B收到第二个报文段后发回的确认中的确认号是180,试问A发送的第二个报文段中的数据有多少字节?

(4)如果A发送的第一个报文段丢失了,但第二个报文段到达了B。B在第二个报文段到达后向A发送确认。试问这个确认号应为多少?

(1)

第一个报文段发送的序号为70~99,共30个字节的数据。

(2)

主机B收到第一个报文段后发回的确认中的确认号为100,表明100以前的序号均已正确收到了。

(3)B收到第二个报文段后发回的确认中的确认号为180,则说明180之前的序号都正确收到了,表明A发送的第二个报文段序号为100~179,共80个字节的数据。

(4)

若A发送的第一个报文段丢失了,但第二个报文段到达了B,由于此时B未收到A发送的第一个报文段,所以此时发回的确认中的确认号应该是第一个报文段的起始序号70。

5-30 设TCP 使用的最大窗口为65535字节,而传输信道不产生差错,带宽也不受限制。若报文段的平均往返时延为20ms ,问所能得到的最大吞吐量是多少?

最大吞吐量为:s Mb ms

B

b B /214.2620/865535=?

5-31 通信信道带宽为1Gb /s ,端到端时延为10ms 。TCP 的发送窗口为65535字节。试问:可能达到的最大吞吐量是多少?信道的利用率是多少?

发送65535字节需要的总时间

ms ms s

b B

b B RTT C

L

52428.20210/101/865535RTT T T 9

D =?+??=+=

+= 最大吞吐量为:s Mb ms B

b B RTT C L L T L /544.2552428.20/865535/=?=+=

信道利用率为:【两种计算方法】

%5544.2025544.0/1/544.25/===

+s Gb s Mb C

RTT

C L L 或: %5544.252428

.2052428

.0//==

+=

+RTT C L C

L RTT

T T D D (P192图5-11)

5-33 假定TCP 在开始建立连接时,发送方设定超时重传时间是RTO=6s 。

(1)当发送方接到对方的连接确认报文段时,测量出RTT 样本值为1.5s 。试计算现在的RTO 值。

(2)当发送方发送数据报文段并接收到确认时,测量出RTT 样本值为2.5s 。试计算现在的RTO 值。

TCP 在开始建立连接时,发送方设定超时重传时间RTO=6s 。 (1)

发送方收到对方的连接确认报文段时,测量出的RTT 样本值为1.5s , 故此时的RTT S =RTT=1.5s ,RTT D = RTT/2=0.75s , 得到此时的RTO= RTT S +4 RTT D =1.5s+3s=4.5s 。 (2)

发送方发送数据报文段并收到确认时,测量出的RTT 样本值为2.5s , 故此时,

s 625.1s 5.28

1.5s 8

7RTT (8

RTT (8

7RTT

S S

=?+

?=

?+

?=

11样本)新的)旧的

s

78125.0.52-1.6254

s 75.04

3RTT -RTT

4

RTT (4

3RTT

S

D D

=?+

+?=

?+

?=

11样本新的)旧的(s)75.478125.04625.1RTT 4RTT

RTO D

S

=?+=?+=

5-34 已知第一次测得TCP 的往返时延的当前值是30 ms 。现在收到了三个接连的确认报

文段,它们比相应的数据报文段的发送时间分别滞后的时间是:26ms ,32ms 和24ms 。设α=0.1。试计算每一次的新的加权平均往返时间值RTTs 。讨论所得出的结果。 α=0.1。

第一次测得TCP 的往返时间RTT 为30ms ,故此时的RTT S =RTT=30ms ; 接着收到3次确认报文段,测量出的样本RTT 分别为26ms ,32ms ,24ms 。 所以第1次收到确认报文段时:

s 6.29s 261.0s 309.0RTT (1.0RTT (9.0RTT

S S

m m m =?+?=?+?=样本)新的)旧的

第2次收到确认报文段时:

s 84.29s 321.0s 6.929.0RTT (1.0RTT (9.0RTT

S S

m m m =?+?=?+?=样本)新的)旧的

第3次收到确认报文段时:

s 256.29s 241.0s 84.299.0RTT (1.0RTT (9.0RTT

S S

m m m =?+?=?+?=样本)新的)旧的

由以上结果可以看出,由于α的取值比较小,RTT S 受测量的RTT 样本值的影响较小。

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

(1)试画出如图5-25所示的拥塞窗口与传输轮次的关系曲线。 (2)指明TCP 工作在慢开始阶段的时间间隔。[1,6],[23,26] (3)指明TCP 工作在拥塞避免阶段的时间间隔。[6,16],[17,22]

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

(5)在第1轮次,第18轮次和第24轮次发送时,门限ssthresh 分别被设置为多大? 1:32 18:21 24:13

(6)在第几轮次发送出第70个报文段? 1:1 2:2~3 3:4~7 4:8~15 5:16~31 6:32~63 7:64~96

96,637

1

6

1

==∑∑==n n

n n

cwnd

cwnd

(7)假定在第26轮次之后收到了三个重复的确认,因而检测出了报文段的丢失,那么拥塞窗口cwnd 和门限ssthresh 应设置为多大?4 4 见P222及参考答案P385。

5-41 用TCP传送512字节的数据。设窗口为100字节,而TCP报文段每次也是传送100字节的数据。再设发送端和接收端的起始序号分别选为100和200,试画出类似于图5-31的工作示意图。从连接建立阶段到连接释放都要画上。

相关文档
最新文档