您好,欢迎访问三七文档
计算机网络(第五章)习题1P2205-11某个应用进程使用运输层的用户数据报UDP,然后继续向下交给IP层后,又封装成IP数据报。既然都是数据报,可否跳过UDP而直接交给IP层?哪些功能UDP提供了但IP没提提供?解题思路:不可跳过UDP而直接交给IP层,IP数据报IP报承担主机寻址,提供报头检错;只能找到目的主机而无法找到目的进程。UDP提供对应用进程的复用和分用功能,以及提供对数据差分的差错检验。习题2P2205-12一个应用程序用UDP,到了IP层把数据报再划分为4个数据报片发送出去,结果前两个数据报片丢失,后两个到达目的站。过了一段时间应用程序重UDP,而IP层仍然划分为4个数据报片来传送。结果这次前两个到达目的而后两个丢失。试问:在目的站能否将这两次传输的4个数据报片组装成为完整的数据报?假定目的站第一次收到的后两个数据报片仍然保存在目的站的缓存中。解题思路:不行。重传时,IP数据报的标识字段会有另一个标识符。仅当标识符相同的IP数据报片才能组装成一个IP数据报。前两个IP数据报片的标识符与后两个IP数据报片的标识符不同,因此不能组装成一个IP数据报。习题3P2205-14一UDP用户数据报的首部十六进制表示是:06320045001CE217.试求源端口、目的端口、用户数据报的总长度、数据部分长度。这个用户数据报是从客户发送给服务器发送给客户?使用UDP的这个服务器程序是什么?解题思路:源端口0632(16进制)=1586,目的端口0045(16进制)=69,UDP用户数据报总长度001c(16进制)=28字节,数据部分长度20字节。此UDP用户数据报是从客户发给服务器(因为目的端口号1023,是熟知端口)、服务器程序是TFTP。习题4P2205-15使用TCP对实时话音数据的传输有没有什么问题?使用UDP在传送数据文件时会有什么问题?解题思路:如果语音数据不是实时播放(边接受边播放)就可以使用TCP,因为TCP传输可靠。接收端用TCP讲话音数据接受完毕后,可以在以后的任何时间进行播放。但假定是实时传输,则必须使用UDP。UDP不保证可靠交付,但UCP比TCP的开销要小很多。因此只要应用程序接受这样的服务质量就可以使用UDP。习题5P2205-16在停止等待协议中如果不使用编号是否可行?为什么?解题思路:分组和确认分组都必须进行编号,才能明确哪个分则得到了确认。习题6P2205-17在停止等待协议中,如果收到重复的报文段时不予理睬(即悄悄地丢弃它而其他什么也没做)是否可行?试举出具体的例子说明理由。收到重复帧不确认相当于确认丢失。习题7P2205-18假定在运输层使用停止等待协议。发送方在发送报文段M0后在设定的时间内未收到确认,于是重传M0,但M0又迟迟不能到达接收方。不久,发送方收到了迟到的对M0的确认,于是发送下一个报文段M1,不久就收到了对M1的确认。接着发送方发送新的报文段M0,但这个新的M0在传送过程中丢失了。正巧,一开始就滞留在网络中的M0现在到达接收方。接收方无法分辨M0是旧的。于是收下M0,并发送确认。显然,接收方后来收到的M0是重复的,协议失败了。试画出类似于图5-9所示的双方交换报文段的过程。解题思路:习题8P2205-22主机A向主机B发送一个很长的文件,其长度为L字节。假定TCP使用的MSS有1460字节。①在TCP的序号不重复使用的条件下,L的最大值是多少?②假定使用上面计算出文件长度,而运输层、网络层和数据链路层所使用的首部开销共66字节,链路的数据率为10Mb/s,试求这个文件所需的最短发送时间。解题思路:①序号是32位,而且不重复使用,L_max的最大值是2^32=4GB。②满载分片数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小时。习题9P2205-23主机A向主机B连续发送了两个TCP报文段,其序号分别为70和100。试问:第一个报文段携带了多少个字节的数据?主机B收到第一个报文段后发回的确认中的确认号应当是多少?如果主机B收到第二个报文段后发回的确认中的确认号是180,试问A发送的第二个报文段中的数据有多少字节?如果A发送的第一个报文段丢失了,但第二个报文段到达了B。B在第二个报文段到达后向A发送确认。试问这个确认号应为多少?解题思路:(1)第一个报文段的数据序号是70到99,共30字节的数据。(2)确认号应为100。(3)80字节。(4)70习题10P2215-24一个TCP连接下面使用256kb/s的链路,其端到端时延为128ms。经测试,发现吞吐量只有120kb/s。试问发送窗口W是多少?(提示:可以有两种答案,取决于接收等发出确认的时机)。解题思路:第一种情况:接收端收到一个很小的报文段后就发回确认,因此发送端经过略比256ms(往返时延)多一点的时间就可以再次发送数据,就是发送一个报文需要停止等待确认后,就可以再次发送新数据,所以发送窗口BbitW3840307201012021012833习题10P2215-24一个TCP连接下面使用256kb/s的链路,其端到端时延为128ms。经测试,发现吞吐量只有120kb/s。试问发送窗口W是多少?(提示:可以有两种答案,取决于接收等发出确认的时机)。解题思路:第二种情况:设发送窗口为x字节,假定一次最大发送量等于窗口值,那么每发送一次都需要停下来的等待得到本窗口的确认,以得到新的发送许可,因此有:解得:x=7228字节。33310120102561025688xx习题11P2205-25为什么在TCP首部中要把TCP端口号放入最开始的4个字节?解题思路:在ICMP的差错报文中要包含IP首部后面的8个字节的内容,而这里面有TCP首部中的源端口和目的端口。当TCP收到ICMP差错报文时需要用这两个端口来确定是哪条连接出了差错。习题12P2205-26为什么在TCP首部中有一个首部长度字段,而UDP的首部中就没有这个字段?解题思路:TCP首部除固定长度部分外,还有选项,因此TCP首部长度是可变的。UDP首部长度是固定的。习题13P2205-27一个TCP报文段的数据部分最多为多少个字节?为什么?如果用户要传送的数据的字节长度超过TCP报文字段中的序号字段可能编出的最大序号,问还能否用TCP来传送?解题思路:65495字节,此数据部分加上TCP首部的20字节,再加上IP首部的20字节,正好是IP数据报的最大长度65535.(当然,若IP首部包含了选择,如果IP首部长度超过20字节,这时TCP报文段的数据部分的长度将小于65495字节。)数据的字节长度超过TCP报文段中的序号字段可能编出的最大序号,通过循环使用序号,仍能用TCP来传送。习题14P2205-28主机A向主机B发送TCP报文段,首部中的源端口是m而目的端口是n。当B向A发送回信时,其TCP报文段的首部中源端口和目的端口分别是什么?解题思路:分别是n和m。习题15P2205-29在使用TCP传送数据时,如果有一个确认报文段丢失了,也不一定会引起与该确认报文段对应的数据的重传。试说明理由。解题思路:还未重传就收到了对更高序号的确认。习题16P220-30设TCP使用的最大窗口为65535字节,而传输信道不产生差错,带宽也不受限制。若报文段的平均往返时延为20ms,问所能得到的最大吞吐量是多少?解题思路:在发送时延可忽略的情况下,最大吞吐量=最大窗口*8/平均往返时间=26.2Mb/s。或每秒钟可发送1000ms/20ms=50个窗口则最大吞吐量=50*65535*8=26.214Mb/s习题17P220-31通信信道带宽为1Gb/s,端到端时延为10ms。TCP的发送窗口为65535字节。试问:可能达到的最大吞吐量是多少?信道的利用率是多少?解题思路:L=65535×8=524280L1=65536×8+40×8=524600C=1Gb/s需要传输时间L1/C=0.0005246s端到端时延Td=10×10-3s最大吞吐量=L/(L1/C+2×Td)=524280/0.0205246=25.5Mb/s信道利用率=最大吞吐量/信道带宽=25.5/1000=2.55%前后两题区别在于信道带宽限制与否习题18P2205-33假定TCP在开始建立连接时,发送方设定超时重传时间是RTO=6s。(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.5sRTTd(1)=RTT(1)/2=0.75sRTO(1)=RTTs(1)+4RTTd(1)=1.5+4*0.75=4.5(s)(2)RTT(2)=2.5RTTs(1)=1.5sRTTd(1)=0.75sRTTd(2)=(1-Beta)*RTTd(1)+Beta*{RTTs(1)-RTT(2)}=0.75*3/4+{1.5-2.5}/4=13/16RTO(2)=RTTs(1)+4RTTd(2)=1.5+4*13/16=4.75s习题19P2205-34已知第一次测得TCP的往返时延的当前值是30ms。现在收到了三个接连的确认报文段,它们比相应的数据报文段的发送时间分别滞后的时间是:26ms,32ms和24ms。设α=0.9。试计算每一次的新的加权平均往返时间值RTTs。讨论所得出的结果。解题思路:a=0.1,RTT0=30RTT1=RTT0*a+26*(1-a)=29.6RTT2=RTT1*a+32*(1-a)=29.84RTT3=RTT2*a+24*(1-a)=29.256三次算出加权平均往返时间分别为29.6,29.84和29.256ms。可以看出,RTT的样本值变化多达20%时,加权平均往返时间RTTs的变化时间却很小。习题20P2205-35试计算一个包括5段链路的运输连接的单程端到端时延。5段链路程中有2段是卫星链路,有3段是广域网链路。每条卫星链路又由上行链路和下行链路两部分组成。可以取这两部分的传播时延之和为250ms。每一个广域网的范围为1500km,其传播时延可按150000km/s来计算。各数据链路速率为48kb/s,帧长为960位。解题思路:5段链路的传播时延=250*2+(1500/150000)*3*1000=530ms5段链路的发送时延=960/(48*1000)*5*1000=100ms所以5段链路单程端到端时延=530+100=630ms习题21P2205-38设TCP的ssthresh的初始值为8(单位为报文段)。当拥塞窗口上升到12时网络发生了超时,TCP使用慢开始和拥塞避免。试分别求出第1次到第15次传输的各拥塞窗口大小。你能说明拥塞控制窗口每一次变化的原因吗?解题思路:拥塞窗口大小分别为:1,2,4,8,9,10,11,12,1,2,4,6,7,8,9.习题22P2205-39TCP的拥塞窗口cwnd大小与传输轮次n的关系如下所示:(1)试画出如图5-25所示的拥塞窗口与传输轮次的关系曲线。(2)指明TCP工作在慢开始阶段的时间间隔。(3)指明TCP工作在拥塞避免阶段的时间间隔。(4)在第16轮次和第22轮次之后发送方是通过收到三个重复的确认还是通过超时检测到丢失了报文段?(
本文标题:计算机网络(5)
链接地址:https://www.777doc.com/doc-3970846 .html