kl800.com省心范文网

谢希仁计算机网络第五版(第5章)课后习题答案


第五章
5—01

传输层

试说明运输层在协议栈中的地位和作用, 试说明运输层在协议栈中的地位和作用,运输层的通信和网络层的通信有什么重要 区别?为什么运输层是必不可少的? 区别?为什么运输层是必不可少的? 答:运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,向它上面 的应用层提供服务 运输层为应用进程之间提供端到端的逻辑通信,但网络层是为主机之间提供逻辑 通信(面向主机,承担路由功能,即主机寻址及有效的分组交换) 。 各种应用进程之间通信需要“可靠或尽力而为”的两类服务质量,必须由运输层以 复用和分用的形式加载到网络层。 网络层提供数据报或虚电路服务对上面的运输层有何影响? 网络层提供数据报或虚电路服务对上面的运输层有何影响? 虚电路服务对上面的运输层有何影响 答:网络层提供数据报或虚电路服务不影响上面的运输层的运行机制。 但提供不同的服务质量。 当应用程序使用面向连接的 TCP 和无连接的 IP 时,这种传输是面向连接的还是面 向无连接的? 向无连接的? 答:都是。这要在不同层次来看,在运输层是面向连接的,在网络层则是无连接的。 试用画图解释运输层的复用。画图说明许多个运输用户复用到一条运输连接上,而 试用画图解释运输层的复用。画图说明许多个运输用户复用到一条运输连接上, 数据报上。 这条运输连接有复用到 IP 数据报上。

5—02

5—03

5—04

5—05

试举例说明有些应用程序愿意采用不可靠的 UDP,而不用采用可靠的 TCP。 , 。 答:VOIP:由于语音信息具有一定的冗余度,人耳对 VOIP 数据报损失由一定的承 受度,但对传输时延的变化较敏感。 有差错的 UDP 数据报在接收端被直接抛弃,TCP 数据报出错则会引起重传,可能 带来较大的时延扰动。 因此 VOIP 宁可采用不可靠的 UDP,而不愿意采用可靠的 TCP。 用户数据报时应如何处理? 接收方收到有差错的 UDP 用户数据报时应如何处理? 答:丢弃

5—06

5—07

来完成可靠的传输,这可能吗? 如果应用程序愿意使用 UDP 来完成可靠的传输,这可能吗?请说明理由 答:可能,但应用程序中必须额外提供与 TCP 相同的功能。 是面向报文的, 是面向字节流的 为什么说 UDP 是面向报文的,而 TCP 是面向字节流的? 答:发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。 接收方 UDP 对 IP 层交上来的 UDP 用户数据报, 在去除首部后就原封不动地 交付上层的应用进程,一次交付一个完整的报文。 发送方 TCP 对应用程序交下来的报文数据块,视为无结构的字节流(无边界约 束,课分拆/合并) ,但维持各字节

5—08

5—09

端口的作用是什么?为什么端口要划分为三种? 端口的作用是什么?为什么端口要划分为三种? 答:端口的作用是对 TCP/IP 体系的应用进程进行统一的标志,使运行不同操作系统 的计算机的应用进程能够互相通信。 熟知端口,数值一般为 0~1023.标记常规的服务进程; 登记端口号,数值为 1024~49151,标记没有熟知端口号的非常规的服务进程;

5—10

试说明运输层中伪首部的作用。 试说明运输层中伪首部的作用。 答:用于计算运输层数据报校验和。 5—11 某个应用进程使用运输层的用户数据报 UDP,然而继续向下交给 IP 层后,又封装 层后, , 数据报。既然都是数据报, 成 IP 数据报。既然都是数据报,可否跳过 UDP 而直接交给 IP 层?哪些功能 UDP 没提提供? 提供了但 IP 没提提供? 答:不可跳过 UDP 而直接交给 IP 层 IP 数据报 IP 报承担主机寻址,提供报头检错;只能找到目的主机而无法找到目的 进程。 UDP 提供对应用进程的复用和分用功能,以及提供对数据差分的差错检验。 个数据报片发送出去, 一个应用程序用 UDP,到 IP 层把数据报在划分为 4 个数据报片发送出去,结果前 , 两个数据报片丢失,后两个到达目的站。 两个数据报片丢失,后两个到达目的站。过了一段时间应用程序重传 UDP,而 IP , 个数据报片来传送。结果这次前两个到达目的站而后两个丢失。 层仍然划分为 4 个数据报片来传送。结果这次前两个到达目的站而后两个丢失。试 个数据报片组装成完整的数据报? 问:在目的站能否将这两次传输的 4 个数据报片组装成完整的数据报?假定目的站 第一次收到的后两个数据报片仍然保存在目的站的缓存中。 第一次收到的后两个数据报片仍然保存在目的站的缓存中。 答:不行 重传时,IP 数据报的标识字段会有另一个标识符。 仅当标识符相同的 IP 数据报片才能组装成一个 IP 数据报。 前两个 IP 数据报片的标识符与后两个 IP 数据报片的标识符不同, 因此不能组装成 一个 IP 数据报。 季节。在数据链路层要使用以太网来传送。 一个 UDP 用户数据的数据字段为 8192 季节。在数据链路层要使用以太网来传送。 数据报片? 试问应当划分为几个 IP 数据报片?说明每一个 IP 数据报字段长度和片偏移字段的 值。 答:6 个 数据字段的长度:前 5 个是 1480 字节,最后一个是 800 字节。 片偏移字段的值分别是:0,1480,2960,4440,5920 和 7400.

5—12

5—13

5—14

用户数据报的首部十六进制表示是: 06 试求源端口、 一 UDP 用户数据报的首部十六进制表示是: 32 00 45 00 1C E2 17.试求源端口、 试求源端口 目的端口、用户数据报的总长度、数据部分长度。 目的端口、用户数据报的总长度、数据部分长度。这个用户数据报是从客户发送给 服务器发送给客户? 的这个服务器程序是什么? 服务器发送给客户?使用 UDP 的这个服务器程序是什么? 解:源端口 1586,目的端口 69,UDP 用户数据报总长度 28 字节,数据部分长度 20 字节。 此 UDP 用户数据报是从客户发给服务器(因为目的端口号<1023,是熟知端口) 、 服务器程序是 TFFTP。 对实时话音数据的传输有没有什么问题 据的传输有没有什么问题? 使用 TCP 对实时话音数据的传输有没有什么问题?使用 UDP 在传送数据文件时会 有什么问题? 有什么问题? 答:如果语音数据不是实时播放(边接受边播放)就可以使用 TCP,因为 TCP 传输 可靠。接收端用 TCP 讲话音数据接受完毕后,可以在以后的任何时间进行播放。但 假定是实时传输,则必须使用 UDP。 UDP 不保证可靠交付,但 UCP 比 TCP 的开销要小很多。因此只要应用程序接受这 样的服务质量就可以使用 UDP。 在停止等待协议中如果不使用编号是否可行?为什么? 在停止等待协议中如果不使用编号是否可行?为什么? 答:分组和确认分组都必须进行编号,才能明确哪个分则得到了确认。 在停止等待协议中, 果收到重复的报文段时不予理睬( 在停止等待协议中,如果收到重复的报文段时不予理睬(即悄悄地丢弃它而其他什 么也没做)是否可行?试举出具体的例子说明理由。 么也没做)是否可行?试举出具体的例子说明理由。

5—15

5—16

5—17 答:

收到重复帧不确认相当于确认丢失 5—18 假定在运输层使用停止等待协议。 假定在运输层使用停止等待协议。发送发在发送报文段 M0 后再设定的时间内未收 到确认, 又迟迟不能到达接收方。不久, 到确认,于是重传 M0,但 M0 又迟迟不能到达接收方。不久,发送方收到了迟到 , 的确认, 的确认。 的对 M0 的确认,于是发送下一个报文段 M1,不久就收到了对 M1 的确认。接着 , 在传送过程中丢失了。正巧, 发送方发送新的报文段 M0,但这个新的 M0 在传送过程中丢失了。正巧,一开始 , 现在到达接收方。 是旧的。 就滞留在网络中的 M0 现在到达接收方。接收方无法分辨 M0 是旧的。于是收下 M0,并发送确认。显然,接收方后来收到的 M0 是重复的,协议失败了。 是重复的,协议失败了。 ,并发送确认 显然, 所示的双方交换报文段的过程。 试画出类似于图 5-9 所示的双方交换报文段的过程。 答:

旧的 M0 被当成新的 M0。 5—19 试证明: 比特进行分组的编号时, 试证明:当用 n 比特进行分组的编号时,若接收到窗口等于 1(即只能按序接收分 ( n ,当仅在发送窗口不超过 协议才能正确运行。 组) 当仅在发送窗口不超过 2 -1 时,连接 ARQ 协议才能正确运行。窗口单位是 , 分组。 分组。 解:见课后答案。 协议中, 个分组。 在连续 ARQ 协议中,若发送窗口等于 7,则发送端在开始时可连续发送 7 个分组。 , 因此, 在每一分组发送后, 都要置一个超时计时器。 现在计算机里只有一个硬时钟。 因此, 在每一分组发送后, 都要置一个超时计时器。 现在计算机里只有一个硬时钟。 个分组发出的时间分别为 都一样大。 设这 7 个分组发出的时间分别为 t0,t1…t6,且 tout 都一样大。试问如何实现这 7 个 … 且 超时计时器(这叫软件时钟法)? 超时计时器(这叫软件时钟法)? 解:见课后答案。 协议中, 假定使用连续 ARQ 协议中,发送窗口大小事 3,而序列范围 ,而序列范围[0,15],而传输媒体保证 而传输媒体保证 在接收方能够按序收到分组。在某时刻,接收方, 在接收方能够按序收到分组。在某时刻,接收方,下一个期望收到序号是 5. 试问: 试问: (1) 在发送方的发送窗口中可能有出现的序号组合有哪几种? ) 在发送方的发送窗口中可能有出现的序号组合有哪几种? (2) 接收方已经发送出去的、但在网络中(即还未到达发送方)的确认分组可 ) 接收方已经发送出去的、但在网络中(即还未到达发送方) 能有哪些?说明这些确认分组是用来确认哪些序号的分组。 能有哪些?说明这些确认分组是用来确认哪些序号的分组。 发送一个很长的文件, 字节。 使用的 主机 A 向主机 B 发送一个很长的文件,其长度为 L 字节。假定 TCP 使用的 MSS 字节。 有 1460 字节。 的序号不重复使用的条件下, 的最大值是多少? (1) 在 TCP 的序号不重复使用的条件下,L 的最大值是多少? ) (2) 假定使用上面计算出文件长度,而运输层、网络层和数据链路层所使用的 ) 假定使用上面计算出文件长度,而运输层、 字节, 首部开销共 66 字节, 链路的数据率为 10Mb/s, , 试求这个文件所需的最短发 送时间。 送时间。 解: (1)L_max 的最大值是 2^32=4GB,G=2^30. (2) 满载分片数 Q={L_max/MSS}取整=2941758 发送的总报文数 N=Q*(MSS+66)+{(L_max-Q*MSS)+66}=4489122708+682=4489123390 总字节数是 N=4489123390 字节,发送 4489123390 字节需时间为:N*8/ (10*10^6)=3591.3 秒,即 59.85 分,约 1 小时。 报文段, 主机 A 向主机 B 连续发送了两个 TCP 报文段,其序号分别为 70 和 100。试问: 。试问: (1) 第一个报文段携带了多少个字节的数据? ) 第一个报文段携带了多少个字节的数据? 收到第一个报文段后发回的确认中的确认号应当是多少? (2) 主机 B 收到第一个报文段后发回的确认中的确认号应当是多少? )

5—20

5—21

5—22

5—23

(3) 如果主机 B 收到第二个报文段后发回的确认中的确认号是 180,试问 A 发 ) , 送的第二个报文段中的数据有多少字节? 送的第二个报文段中的数据有多少字节? 发送的第一个报文段丢失了, (4) 如果 A 发送的第一个报文段丢失了,但第二个报文段到达了 B。B 在第二 ) 。 发送确认。试问这个确认号应为多少 个确认号应为多少? 个报文段到达后向 A 发送确认。试问这个确认号应为多少? 解: (1)第一个报文段的数据序号是 70 到 99,共 30 字节的数据。 (2)确认号应为 100. (3)80 字节。 (4)70 5—24 一个 TCP 连接下面使用 256kb/s 的链路,其端到端时延为 128ms。经测试,发现吞 的链路, 。经测试, 是多少?(提示:可以有两种答案, ?(提示 吐量只有 120kb/s。试问发送窗口 W 是多少?(提示:可以有两种答案,取决于接 。 收等发出确认的时机) 收等发出确认的时机) 。 解: 来回路程的时延等于 256ms(=128ms×2).设窗口值为 X(注意:以字节为单位),假 定一次最大发送量等于窗口值,且发射时间等于 256ms,那么,每发送一次都得停下来 期待 再次得到下一窗口的确认,以得到新的发送许可.这样,发射时间等于停止等待应答的 时间, 结果,测到的平均吞吐率就等于发送速率的一半,即 8X÷(256×1000)=256×0.001 X=8192 所以,窗口值为 8192. 5—25 为什么在 TCP 首部中要把 TCP 端口号放入最开始的 4 个字节? 个字节? 答:在 ICMP 的差错报文中要包含 IP 首部后面的 8 个字节的内容,而这里面有 TCP 首部中的源端口和目的端口。 TCP 收到 ICMP 差错报文时需要用这两个端口来确 当 定是哪条连接出了差错。

5—26

首部中有一个首部长度字段, 为什么在 TCP 首部中有一个首部长度字段,而 UDP 的首部中就没有这个这个字 段? 答:TCP 首部除固定长度部分外,还有选项,因此 TCP 首部长度是可变的。UDP 首部长度是固定的。 报文段的数据部分最多为多少个字节?为什么? 一个 TCP 报文段的数据部分最多为多少个字节?为什么?如果用户要传送的数据 报文字段中的序号字段可能编出的最大序号, 的字节长度超过 TCP 报文字段中的序号字段可能编出的最大序号, 问还能否用 TCP 来传送? 来传送?

5—27

答:65495 字节,此数据部分加上 TCP 首部的 20 字节,再加上 IP 首部的 20 字节, 正好是 IP 数据报的最大长度 65535.(当然,若 IP 首部包含了选择,则 IP 首部长度 超过 20 字节,这时 TCP 报文段的数据部分的长度将小于 65495 字节。 ) 数据的字节长度超过 TCP 报文段中的序号字段可能编出的最大序号, 通过循环使用 序号,仍能用 TCP 来传送。 报文段, 主机 A 向主机 B 发送 TCP 报文段,首部中的源端口是 m 而目的端口是 n。当 B 向 。 A 发送回信时,其 TCP 报文段的首部中源端口和目的端口分别是什么? 发送回信时, 报文段的首部中源端口和目的端口分别是什么? 答:分别是 n 和 m。 5—29 在使用 TCP 传送数据时,如果有一个确认报文段丢失了,也不一定会引起与该确 传送数据时,如果有一个确认报文段丢失了, 认报文段对应的数据的重传。试说明理由。 认报文段对应的数据的重传。试说明理由。 答:还未重传就收到了对更高序号的确认。 5—30 设 TCP 使用的最大窗口为 65535 字节,而传输信道不产生差错,带宽也不受限制。 字节,而传输信道不产生差错,带宽也不受限制。 若报文段的平均往返时延为 20ms,问所能得到的最大吞吐量是多少 ,问所能得到的最大吞吐量是多少? 答: 在发送时延可忽略的情况下, 最大数据率=最大窗口*8/平均往返时间=26.2Mb/s。 5—28 5—31 字节。 通信信道带宽为 1Gb/s,端到端时延为 10ms。TCP 的发送窗口为 65535 字节。试 /, 。 可能达到的最大吞吐量是多少?信道的利用率是多少 问:可能达到的最大吞吐量是多少 信道的利用率是多少 可能达到的最大吞吐量是多少 信道的利用率是多少? 答: L=65536×8+40×8=524600 C=109b/s L/C=0.0005246s Td=10×10-3s 0.02104864 Throughput=L/(L/C+2×Td)=524600/0.0205246=25.5Mb/s Efficiency=(L/C)//(L/C+2×D)=0.0255 最大吞吐量为 25.5Mb/s。信道利用率为 25.5/1000=2.55% 算法?在 的重传机制中, 算法, 什么是 Karn 算法 在 TCP 的重传机制中,若不采用 Karn 算法,而是在收到确认 时都认为是对重传报文段的确认, 时都认为是对重传报文段的确认,那么由此得出的往返时延样本和重传时间都会偏 试问:重传时间最后会减小到什么程度 什么程度? 小。试问:重传时间最后会减小到什么程度 答:Karn 算法:在计算平均往返时延 RTT 时,只要报文段重传了,就不采用其往 返时延样本。 设新往返时延样本 Ti RTT(1)=a*RTT(i-1)+(1-a)*T(i) ; RTT^(i)=a* RTT(i-1)+(1-a)*T(i)/2; RTT(1)=a*0+(1-a)*T(1)= (1-a)*T(1); RTT^(1)=a*0+(1-a)*T(1)/2= RTT(1)/2 RTT(2)= a*RTT(1)+(1-a)*T(2); RTT^(2)= a*RTT(1)+(1-a)*T(2)/2; = a*RTT(1)/2+(1-a)*T(2)/2= RTT(2)/2 RTO=beta*RTT,在统计意义上,重传时间最后会减小到使用 karn 算法的 1/2. 在开始建立连接时, 假定 TCP 在开始建立连接时,发送方设定超时重传时间是 RTO=6s。 。

5—32

5—33

(1)当发送方接到对方的连接确认报文段时,测量出 RTT 样本值为 1.5s。试计算现 )当发送方接到对方的连接确认报文段时, 。 在的 RTO 值。 (2)当发送方发送数据报文段并接收到确认时,测量出 RTT 样本值为 2.5s。试计算 )当发送方发送数据报文段并接收到确认时, 。 现在的 RTO 值。 答: (1)据 RFC2988 建议,RTO=RTTs+4*RTTd。其中 RTTd 是 RTTs 的偏差加权均值。 初次测量时,RTTd(1)= RTT(1)/2; 后续测量中,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 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 段链路的运输连接的单程端到端时延。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-35 题,但假定其中的一个陆地上的广域网的传输时延为 150ms。 。 答:760ms 的拥塞控制中,什么是慢开始、拥塞避免、快重传和快恢复算法?这里每一 在 TCP 的拥塞控制中,什么是慢开始、拥塞避免、快重传和快恢复算法 这里每一 种算法各起什么作用? 乘法减小”和 加法增大”各用在什么情况下 种算法各起什么作用 “乘法减小 和“加法增大 各用在什么情况下? 乘法减小 加法增大 各用在什么情况下 答:慢开始: 在主机刚刚开始发送报文段时可先将拥塞窗口 cwnd 设置为一个最大报文段 MSS 的数值。 在每收到一个对新的报文段的确认后, 将拥塞窗口增加至多一个 MSS 的数

5—35

5—36

5—37

值。用这样的方法逐步增大发送端的拥塞窗口 cwnd,可以分组注入到网络的速率更 加合理。 拥塞避免: 当拥塞窗口值大于慢开始门限时,停止使用慢开始算法而改用拥塞避免算法。拥塞 避免算法使发送的拥塞窗口每经过一个往返时延 RTT 就增加一个 MSS 的大小。 快重传算法规定: 发送端只要一连收到三个重复的 ACK 即可断定有分组丢失了,就应该立即重传丢 手的报文段而不必继续等待为该报文段设置的重传计时器的超时。 快恢复算法: 当发送端收到连续三个重复的 ACK 时,就重新设置慢开始门限 ssthresh 与慢开始不同之处是拥塞窗口 cwnd 不是设置为 1,而是设置为 ssthresh 若收到的重复的 AVK 为 n 个(n>3) ,则将 cwnd 设置为 ssthresh 若发送窗口值还容许发送报文段,就按拥塞避免算法继续发送报文段。 若收到了确认新的报文段的 ACK,就将 cwnd 缩小到 ssthresh 乘法减小: 是指不论在慢开始阶段还是拥塞避免阶段,只要出现一次超时(即出现一次网络拥 塞) ,就把慢开始门限值 ssthresh 设置为当前的拥塞窗口值乘以 0.5。 当网络频繁出现拥塞时,ssthresh 值就下降得很快,以大大减少注入到网络中的分 组数。 加法增大: 是指执行拥塞避免算法后,在收到对所有报文段的确认后(即经过一个往返时间) , 就把拥塞窗口 cwnd 增加一个 MSS 大小,使拥塞窗口缓慢增大,以防止网络过早 出现拥塞。 5—38 单位为报文段)。 设 TCP 的 ssthresh 的初始值为 8(单位为报文段 。当拥塞窗口上升到 12 时网络发 单位为报文段 生了超时, 使用慢开始和拥塞避免。 生了超时,TCP 使用慢开始和拥塞避免。试分别求出第 1 次到第 15 次传输的各拥 塞窗口大小。你能说明拥塞控制窗口每一次变化的原因吗? 塞窗口大小。你能说明拥塞控制窗口每一次变化的原因吗? 答:拥塞窗口大小分别为:1,2,4,8,9,10,11,12,1,2,4,6,7,8,9. TCP 的拥塞窗口 cwnd 大小与传输轮次 n 的关系如下所示: 的关系如下所示:
1 1 40 14 2 2 41 15 4 3 42 16 8 4 21 17 16 5 22 18 32 6 23 19 33 7 24 20 34 8 25 21 35 9 26 22 36 10 1 23 37 11 2 24 38 12 4 25 39 13 8 26

5—39

cwnd n 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 数据报已经到达终点,但 终点的缓存没有足够的空间存放此数据报;数据报在转发过程中经过一个局域网的 网桥,但网桥在转发该数据报的帧没有足够的差错空间而只好丢弃。 字节的数据。 字节, 用 TCP 传送 512 字节的数据。 设窗口为 100 字节, TCP 报文段每次也是传送 100 而 字节的数据。 字节的数据。再设发送端和接收端的起始序号分别选为 100 和 200,试画出类似于 , 的工作示意图 从连接建立阶段到连接释放都要画上。 意图。 图 5-31 的工作示意图。从连接建立阶段到连接释放都要画上。 中所示的连接释放过程中, 的确认? 因 在图 5-32 中所示的连接释放过程中,主机 B 能否先不发送 ACK=x+1 的确认 (因 这一信息) 为后面要发送的连接释放报文段中仍有 ACK=x+1 这一信息 答: 如果 B 不再发送数据了,是可以把两个报文段合并成为一个,即只发送 FIN+ACK 报文段。但如果 B 还有数据报要发送,而且要发送一段时间,那就不行, 因为 A 迟迟收不到确认,就会以为刚才发送的 FIN 报文段丢失了,就超时重传这个 FIN 报文段,浪费网络资源。 在图(5-33)中,在什么情况下会发生从状态 LISTEN 到状态 SYN_SENT,以及从状 在图 中 , 态 SYN_ENT 到状态 SYN_RCVD 的变迁? 的变迁 答:当 A 和 B 都作为客户,即同时主动打开 TCP 连接。这时的每一方的状态变迁 都是:CLOSED---- SYN-SENT--- SYN-RCVD-- ESTABLISHED 试以具体例子说明为什么一个运输连接可以有多种方式释放。 试以具体例子说明为什么一个运输连接可以有多种方式释放。可以设两个互相通信 的用户分别连接在网络的两结点上。 的用户分别连接在网络的两结点上。 答:设 A,B 建立了运输连接。协议应考虑一下实际可能性: A 或 B 故障,应设计超时机制,使对方退出,不至于死锁; A 主动退出,B 被动退出 B 主动退出,A 被动退出 解释为什么突然释放运输连接就可能会丢失用户数据, 解释为什么突然释放运输连接就可能会丢失用户数据,而使用 TCP 的连接释放方 法就可保证不丢失数据。 法就可保证不丢失数据。 答:

5—41

5—42

5—43

5—44

5—45

当主机 1 和主机 2 之间连接建立后, 主机 1 发送了一个 TCP 数据段并正确抵达 主机 2, 接着主机 1 发送另一个 TCP 数据段, 这次很不幸, 主机 2 在收到第二个 TCP 数据段之前发出了释放连接请求,如果就这样突然释放连接,显然主机 1 发送的第 二个 TCP 报文段会丢失。 而使用 TCP 的连接释放方法,主机 2 发出了释放连接的请求,那么即使收到主机 1 的确认后, 只会释放主机 2 到主机 1 方向的连接, 即主机 2 不再向主机 1 发送数据, 而仍然可接受主机 1 发来的数据,所以可保证不丢失数据。 5—46 试用具体例子说明为什么在运输连接建立时要使用三次握手。 试用具体例子说明为什么在运输连接建立时要使用三次握手。说明如不这样做可能 会出现什么情况。 会出现什么情况。 答: 3 次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知 道彼此已准备好) 也要允许双方就初始序列号进行协商, , 这个序列号在握手过程中 被发送和确认。 假定 B 给 A 发送一个连接请求分组,A 收到了这个分组,并发送了确认应答分 组。按照两次握手的协定,A 认为连接已经成功地建立了,可以开始发送数据分组。 可是,B 在 A 的应答分组在传输中被丢失的情况下,将不知道 A 是否已准备好,不 知道 A 建议什么样的序列号,B 甚至怀疑 A 是否收到自己的连接请求分组,在这种 情况下,B 认为连接还未建立成功,将忽略 A 发来的任何数据分组,只等待连接确 认应答分组。 而 A 发出的分组超时后,重复发送同样的分组。这样就形成了死锁。 连接。 一个客户向服务器请求建立 TCP 连接。客户在 TCP 连接建立的三次握手中的最后 一个报文段中捎带上一些数据, 字节的文件。假定: 一个报文段中捎带上一些数据,请求服务器发送一个长度为 L 字节的文件。假定: 字节/秒 客户与服务器之间的往返时 (1)客户和服务器之间的数据传输速率是 R 字节 秒,客户与服务器之间的往返时 ) 间是 RTT(固定值) (固定值) 。 字节, 字节。 (2)服务器发送的 TCP 报文段的长度都是 M 字节,而发送窗口大小是 nM 字节。 ) ,客户收到服务器发来的报文段后就 (3)所有传送的报文段都不会出错(无重传) 客户收到服务器发来的报文段后就 )所有传送的报文段都不会出错(无重传) , 及时发送确认。 及时发送确认。 (4)所有的协议首部开销都可忽略,所有确认报文段和连接建立阶段的报文段的 )所有的协议首部开销都可忽略, 长度都可忽略(即忽略这些报文段的发送时间) 长度都可忽略(即忽略这些报文段的发送时间) 。 试证明, 试证明, 从客户开始发起连接建立到接收服务器发送的整个文件多需的时间 T 是: T=2RTT+L/R 当 nM>R(RTT)+M 或 T=2RTT+L/R+(K-1)[M/R+RTT-nM/R] 当 nM<R(RTT)+M 其中, 其中,K=[L/nM],符号 表示若 x 不是整数,则把 x 的整数部分加 1。 ,符号[x]表示若 不是整数, 。 解: 发送窗口较小的情况,发送一组 nM 个字节后必须停顿下来,等收到确认后继 续发送。 共需 K=[L/nM]个周期:其中 前 K-1 个周期每周期耗时 M/R+RTT,共耗时(K-1) (M/R+RTT) 第 K 周期剩余字节数 Q=L-(K-1)*nM,需耗时 Q/R 总耗时=2*RTT+(K-1)M/(R+RTT)+Q/R=2*RTT+L/R+(K-1)[( M/R+RTT)-nM/R

5—47


赞助商链接

谢希仁计算机网络原理第五版课后答案

谢希仁计算机网络原理第五版课后习题答案.txt 生活是过出来的,不是想出来的。放...计算机网络(第五 版)课后答案 第一章 概述 1-01 计算机网络向用户可以提供...

谢希仁计算机网络第五版(第4章)课后习题答案

谢希仁计算机网络第五版(第4章)课后习题答案_工学_高等教育_教育专区。计算机网路第五版(第四章),关于网络层的答案 现代通信网概论(涉及到部分)的答案 ...

《计算机网络》第六版谢希仁课后习题答案_图文

计算机网络》第六版谢希仁课后习题答案 - 《计算机网络第五版课后习题解答 《计算机网络课后习题答案 第一章 概述 1-1 计算机网络向用户可以提供哪些服务? ...

《计算机网络》谢希仁第六版课后习题答案_图文

计算机网络第五版课后习题解答 《计算机网络课后习题答案第一章 概述 1-1 计算机网络向用户可以提供哪些服务? 答:计算机网络向用户提供的最重要的功能有两个...

计算机网络(谢希仁第五版,电子工业出版社)课后习题答案

计算机网络(谢希仁第五版,电子工业出版社)课后习题答案 隐藏>> 第一章 概述 计算机网络向用户可以提供那些服务? 1-01 计算机网络向用户可以提供那些服务? 答: 连...

计算机网络(第六版)谢希仁著课后习题答案

计算机网络(第版)谢希仁课后习题答案_理学_高等教育_教育专区。第一章 概述 1-01 计算机网络向用户可以提供那些服务? 答: 连通性和共享 1-02 简述分组交换...

谢希仁计算机网络第五版课后习题答案(1-7)

谢希仁计算机网络第五版课后习题答案(1-7)_理学_高等教育_教育专区。计算机网络课后习题答案 第一章 概述 1-01 计算机网络向用户可以提供那些服务? 答: 连通性和...

计算机网络谢希仁第六版课后答案完整版

计算机网络谢希仁第版课后答案完整版_理学_高等教育_教育专区。计算机网络第版答案 第一章 概述 1-01 计算机网络向用户可以提供那些服务?答: 连通性和共享 1...

计算机网络(谢希仁)答案完整版

计算机网络(谢希仁)答案完整版 - 《计算机网络课后习题答案 第一章概述 1-1 计算机网络向用户可以提供哪些服务? 答:计算机网络向用户提供的最重要的功能有两个,...

计算机网络 第六版 谢希仁 课后习题答案

计算机网络 第六版 谢希仁 课后习题答案_理学_高等教育_教育专区。第一章 概述 1-01 计算机网络向用户可以提供那些服务? 答: 连通性和共享 1-02 简述分组交换...