好文档 - 专业文书写作范文服务资料分享网站

计算机网络(谢希仁第五版)-第五章_习题答案

天下 分享 时间: 加入收藏 我要投稿 点赞

第五章 传输层

5—01 试说明运输层在协议栈中的地位和作用,运输层的通信和网络层的通信有

什么重要区别为什么运输层是必不可少的

答:运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,向它上

面的应用层提供服务

运输层为应用进程之间提供端到端的逻辑通信,但网络层是为主机之间提

供逻辑通信(面向主机,承担路由功能,即主机寻址及有效的分组交换)。 各种应用进程之间通信需要“可靠或尽力而为”的两类服务质量,必须由

运输层以复用和分用的形式加载到网络层。

5—02 网络层提供数据报或虚电路服务对上面的运输层有何影响

答:网络层提供数据报或虚电路服务不影响上面的运输层的运行机制。 但提供不同的服务质量。

5—03 当应用程序使用面向连接的TCP和无连接的IP时,这种传输是面向连接

的还是面向无连接的

答:都是。这要在不同层次来看,在运输层是面向连接的,在网络层则是无连接

的。 <

5—05 试举例说明有些应用程序愿意采用不可靠的UDP,而不用采用可靠的TCP。 答:VOIP:由于语音信息具有一定的冗余度,人耳对VOIP数据报损失由一定的

承受度,但对传输时延的变化较敏感。

有差错的UDP数据报在接收端被直接抛弃,TCP数据报出错则会引起

重传,可能带来较大的时延扰动。

因此VOIP宁可采用不可靠的UDP,而不愿意采用可靠的TCP。 5—06 接收方收到有差错的UDP用户数据报时应如何处理 答:丢弃

5—07 如果应用程序愿意使用UDP来完成可靠的传输,这可能吗请说明理由 答:可能,但应用程序中必须额外提供与TCP相同的功能。 5—08 为什么说UDP是面向报文的,而TCP是面向字节流的

答:发送方 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。

UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。接收方 UDP 对 IP 层交上来的 UDP 用户数据报,在去除首部后就原封不动地交付上层的应用进程,一次交付一个完整的报文。发送方TCP对应用程序交下来的报文数据块,视为无结构的字节流(无边界约束,课分拆/合并),但维持各字节 …

5—09 端口的作用是什么为什么端口要划分为三种

答:端口的作用是对TCP/IP体系的应用进程进行统一的标志,使运行不同操作

系统的计算机的应用进程能够互相通信。

熟知端口,数值一般为0~1023.标记常规的服务进程;

登记端口号,数值为1024~49151,标记没有熟知端口号的非常规的服务进程; 5—10 试说明运输层中伪首部的作用。

答:用于计算运输层数据报校验和。

5—11 某个应用进程使用运输层的用户数据报UDP,然而继续向下交给IP层后,

又封装成IP数据报。既然都是数据报,可否跳过UDP而直接交给IP层哪些功能UDP提供了但IP没提提供 答:不可跳过UDP而直接交给IP层

IP数据报IP报承担主机寻址,提供报头检错;只能找到目的主机而无

法找到目的进程。

UDP提供对应用进程的复用和分用功能,以及提供对数据差分的差错检

验。 —

5—12 一个应用程序用UDP,到IP层把数据报在划分为4个数据报片发送出去,

结果前两个数据报片丢失,后两个到达目的站。过了一段时间应用程序重传UDP,而IP层仍然划分为4个数据报片来传送。结果这次前两个到达目的站而后两个丢失。试问:在目的站能否将这两次传输的4个数据报片组装成完整的数据报假定目的站第一次收到的后两个数据报片仍然保存在目的站的缓存中。

答:不行

重传时,IP数据报的标识字段会有另一个标识符。

仅当标识符相同的IP数据报片才能组装成一个IP数据报。

前两个IP数据报片的标识符与后两个IP数据报片的标识符不同,因此

不能组装成一个IP数据报。

5—13 一个UDP用户数据的数据字段为8192季节。在数据链路层要使用以太网

来传送。试问应当划分为几个IP数据报片说明每一个IP数据报字段长度和片偏移字段的值。 答:6个

数据字段的长度:前5个是1480字节,最后一个是800字节。 片偏移字段的值分别是:0,1480,2960,4440,5920和7400. 5—14 一UDP用户数据报的首部十六进制表示是:06 32 00 45 00 1C E2 17.试求源

端口、目的端口、用户数据报的总长度、数据部分长度。这个用户数据报是从客户发送给服务器发送给客户使用UDP的这个服务器程序是什么 $

解:源端口1586,目的端口69,UDP用户数据报总长度28字节,数据部分长度

20字节。

此UDP用户数据报是从客户发给服务器(因为目的端口号<1023,是熟

知端口)、服务器程序是TFFTP。

5—15 使用TCP对实时话音数据的传输有没有什么问题使用UDP在传送数据文

件时会有什么问题

答:如果语音数据不是实时播放(边接受边播放)就可以使用TCP,因为TCP传

输可靠。接收端用TCP讲话音数据接受完毕后,可以在以后的任何时间进行播放。但假定是实时传输,则必须使用UDP。

UDP不保证可靠交付,但UCP比TCP的开销要小很多。因此只要应用程序

接受这样的服务质量就可以使用UDP。

5—16 在停止等待协议中如果不使用编号是否可行为什么

答:分组和确认分组都必须进行编号,才能明确哪个分则得到了确认。

5—22 主机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}=08+682=90

总字节数是N=90字节,发送90字节需时间为:N*8/(10*10^6)=秒,即分,

约1小时。

5—23 主机A向主机B连续发送了两个TCP报文段,其序号分别为70和100。

试问:

(1)第一个报文段携带了多少个字节的数据

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

(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× X=8192

所以,窗口值为8192.

5—25 为什么在TCP首部中要把TCP端口号放入最开始的4个字节

答:在ICMP的差错报文中要包含IP首部后面的8个字节的内容,而这

里面有TCP首部中的源端口和目的端口。当TCP收到ICMP差错报文时需要用这两个端口来确定是哪条连接出了差错。

5—26 为什么在TCP首部中有一个首部长度字段,而UDP的首部中就没有这个

这个字段

.

答:TCP首部除固定长度部分外,还有选项,因此TCP首部长度是可变

的。UDP首部长度是固定的。

5—27 一个TCP报文段的数据部分最多为多少个字节为什么如果用户要传送的数

据的字节长度超过TCP报文字段中的序号字段可能编出的最大序号,问还能否用TCP来传送

答:65495字节,此数据部分加上TCP首部的20字节,再加上IP首部的20字

节,正好是IP数据报的最大长度65535.(当然,若IP首部包含了选择,则IP首部长度超过20字节,这时TCP报文段的数据部分的长度将小于65495字节。)

数据的字节长度超过TCP报文段中的序号字段可能编出的最大序号,通

过循环使用序号,仍能用TCP来传送。

5—28 主机A向主机B发送TCP报文段,首部中的源端口是m而目的端口是n。

当B向A发送回信时,其TCP报文段的首部中源端口和目的端口分别是什么

答:分别是n和m。

5—29 在使用TCP传送数据时,如果有一个确认报文段丢失了,也不一定会引起

与该确认报文段对应的数据的重传。试说明理由。 答:还未重传就收到了对更高序号的确认。

5—30 设TCP使用的最大窗口为65535字节,而传输信道不产生差错,带宽也不

受限制。若报文段的平均往返时延为20ms,问所能得到的最大吞吐量是多少

答:在发送时延可忽略的情况下,最大数据率=最大窗口*8/平均往返时间=s。 —

5—31 通信信道带宽为1Gb/s,端到端时延为10ms。TCP的发送窗口为65535

字节。试问:可能达到的最大吞吐量是多少信道的利用率是多少

答:

L=65536×8+40×8=524600 C=109b/s L/C= Td=10×10-3s

Throughput=L/(L/C+2×Td)=524600/=s Efficiency=(L/C) 5—33 。

答:

(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)样本值为秒,则

RTTs(1)=RTT(1)= RTTd(1)=RTT(1)/2=

RTO(1)=RTTs(1)+4RTTd(1)=+4*=(s)

(2)RTT(2)= RTTs(1)= RTTd(1)=

RTTd(2)=(1-Beta)* RTTd(1)+Beta*{ RTTs(1)- RT @

(2)}=*3/4+{1.5-2.5}/4=13/16

RTO(2)=RTTs(1)+4RTTd(2)=+4*13/16= 5—34

答:a=, RTTO=30

RTT1=RTTO*(1-a) +26*a= RTT2=RTT1*a+32(1-a)= RTT3=RTT2*a+24(1-a)=

三次算出加权平均往返时间分别为,和。

可以看出,RTT的样本值变化多达20%时,加权平均往返 5—35 \\

答:5段链路的传播时延=250*2+(1500/150000)*3*1000=530ms 5段链路的发送时延=960/(48*1000)*5*1000=100ms 所以5段链路单程端到端时延=530+100=630ms 5—37 答:慢开始:

在主机刚刚开始发送报文段时可先将拥塞窗口cwnd设置为一个最

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

当拥塞窗口值大于慢开始门限时,停止使用慢开始算法而改用拥塞避免

算法。拥塞避免算法使发送的拥塞窗口每经过一个往返时延RTT就增加一个MSS的大小。 快重传算法规定:

发送端只要一连收到三个重复的ACK即可断定有分组丢失了,就应该立即重传

丢手的报文段而不必继续等待为该报文段设置的重传计时器的超时。 …

快恢复算法:

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

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

是指不论在慢开始阶段还是拥塞避免阶段,只要出现一次超时(即出现一次网络

拥塞),就把慢开始门限值 ssthresh 设置为当前的拥塞窗口值乘以 。 当网络频繁出现拥塞时,ssthresh 值就下降得很快,以大大减少注入到网络中的

分组数。 加法增大: ~

计算机网络(谢希仁第五版)-第五章_习题答案

第五章传输层5—01试说明运输层在协议栈中的地位和作用,运输层的通信和网络层的通信有什么重要区别为什么运输层是必不可少的答:运输层处于面向通信部分的最高层,同时也是用户功能中的最低层,向它上面的应用层提供服务运输层为应用进程之间提供端到端的逻辑通信,但网络层是为主机之间提供逻
推荐度:
点击下载文档文档为doc格式
23yhy5nadm8wrp7230mk0mq5e7eb5x017x1
领取福利

微信扫码领取福利

微信扫码分享