计算机网络-第三章-运输层(练习题)
本作品内容为计算机网络-第三章-运输层(练习题),格式为 docx ,大小 28100 KB ,页数为 39页
('第3章运输层练习题一、选择题1.当一个TCP报文段到达目的主机时,通过什么来定向套接字?A.封装报文段的数据报中的源IP地址B.目的端口号C.源端口号D.以上所有答案:D提示:TCP套接字是通过一个四元组:(IP地址,源端口号,目的IP地址,目的端口号)来标识的。当一个TCP报文段从网络到达一台主机时,主机使用全部四个值来将报文段定向(多路分解)到相应的套接字。2.UDP具有以下哪些特征?A.在服务器上维护连接状态信息B.通过三次握手建立连接C.调节发送速率D.以上都不是答案:D3.当一个UDP报文段到达某个主机时,为了将报文段提交给合适的套接字,操作系统使用:A.源IP地址B.源端口号C.目的端口号D.以上全部答案:C提示:UDP套接字是由一个包含目的IP地址和目的端口号组成的二元组来全面标识的。在多路分解时,目标主机通过检查报文段中的目的端口号,将报文段定向到相应套接字。4.在什么样的情况下,停止等待协议的效率会变得很低:疑难:▇重点:★一般:▲了解:◆自学:※第3章运输层A.当源主机和目的主机之间的距离很近而且传输速率很高时B.当源主机和目的主机之间的距离很远而且传输速率很高时C.当源主机和目的主机之间的距离很近而且传输速率很低时D.当源主机和目的主机之间的距离很远而且传输速率很低时答案:B提示:使用停止等待协议,发送方在确认接收方已经正确地接收了当前传送的分组之前不会发送新的数据。所以在传输效率很高的前提下,主机之间距离越远,不必要的等待时间就越长。5.流水线操作具有以下哪些特点:A.发送方必须能缓存它已发送了但还没有收到确认的分组B.每一个正在传输的分组具有独一无二的顺序号C.发送方在收到确认信号之前可传输多个分组D.以上都是答案:D6.TCP什么时候对报文段采用快速重传?A.报文段的定时器过期B.估计往返时延过长C.收到之前发出的一个报文段的三个重复ACKD.以上都不是答案:C提示:当接收方检测到数据流中出现了缺失,它会简单的对收到的最后一个有序字节给出重复确认,即产生一个该数据的重复的ACK。如果TCP发送方收到了同一数据的三个重复确认,就表示该被确认了三次的数据段后面的数据已经丢失了。此时TCP执行快速重传[RFC2581]。7.在TCP连接中,假设一旦窗口大小到达W时就会出现分组丢失,并假设RTT是不变的。那么近似平均传输速度是:A.WMSS/RTTB.MSS/RTTC.0.75WMSS/RTTD.WMSS/2RTT疑难:▇重点:★一般:▲了解:◆自学:※第3章运输层答案:C8.(不要求掌握)考虑静态拥塞窗口延时模型。如果服务器在完成第一个窗口中分组传送前接收到了第一个窗口中的第一个分组的确认信号,那么一个大小为O的对象的延时为:A.Latency=2RTT+O/R+(K-1)[S/R+RTT-WS/R]B.Latency=2RTT+O/R-S/R-RTT+WS/RC.Latency=2RTT+O/RD.Latency=2RTT答案:C9.(不要求掌握)考虑动态拥塞窗口延时模型。下面那些组成部分会导致延时:A.对象传输时间O/RB.往返时间RTTC.所有停滞时间之和D.以上所有的答案:D10.(不要求掌握)考虑动态拥塞窗口延时模型。P的值等于:A.RTT/OB.服务器处于停滞的次数C.涵盖该对象的窗口的数量D.以上都不是答案:B二、判断题1.考虑一个使用持久连接的HTTP服务器。假设服务器为每个用户产生一个独立的进程。那么每一个进程将有不同的服务器端口号。答案:错疑难:▇重点:★一般:▲了解:◆自学:※第3章运输层提示:HTTP的默认端口是80。一个Web服务器可以为它所处理的每个请求产生一个新的HTTP进程,每个进程都使用80端口。2.主机A经过TCP连接向主机B发送一个大文件。假定主机B没有数据发往主机A。那么由于主机B不能随数据捎带确认信息,所以主机B将不向主机A发送确认。答案:错提示:确认并不是捎带在数据上的。3.在整个连接过程持续期间,RcvWindow的大小是不会改变。答案:错提示:在全双工连接中,连接双方的发送方各自保留一个接收窗口以提供流量控制。接收窗口是动态的,在连接的整个生命周期中是不断变化的。4.假定主机A通过TCP连接向主机B发送一个大文件。如果对于当前连接的一个报文段的顺序号为m,则对于后续报文段的顺序号将必然是m+1。答案:错提示:顺序号的设定是以传送的字节流为单位,而不是以报文段为单位。一个报文段的顺序号是该报文段中数据段的第一个字节在字节流中的编号。5.TCP报文段在它的首部中有一个RcvWindow字段。答案:对6.假定在一个TCP连接中最后的SampleRTT等于1s,那么对于这一连接的TimeoutInterval的当前值必定≥1s。答案:错提示:超时时间是EstimatedRTT和SampleRTT的函数,不能由一个SampleRTT值决定。7.假定主机A通过TCP连接向主机B发送一个顺序号为38的4字节报文段。该报文段的确认号必定是42。疑难:▇重点:★一般:▲了解:◆自学:※第3章运输层答案:错提示:某些情况下(比如该报文段发送超时)接收方会发送一个重复的ACK,即确认号仍然是38。8.假设主机A希望通过TCP向主机B发送数据,同时主机B也希望通过TCP向主机A发送数据。那么就需要建立两个TCP连接。答案:错提示:TCP连接提供了全双工数据传输。9.MSS是指包括头部的TCP报文段的最大值。答案:错提示:NSS(最大数据段尺寸)对每次从缓冲区中攫取并放入数据段中的最大数据量进行了限制。它是数据段中应用程序级数据的最大量,而不是包括TCP头部的报文段最大尺寸。10.在TCP中,主机放入报文段中的确认信号是主机期望从发送者收到的下一个字节的顺序号。答案:对三、复习题3.1~3.3节1▲考虑在主机A和主机B之间有一条TCP连接。假定从主机A传送到主机B的TCP报文段使用的源端口号是x,而目的端口号是y。那么对于从主机B传送到主机A的TCP报文段而言,源端口号和目的端口号分别是多少。答案:源端口号y,目的端口号x。2▲请阐述应用程序开发者为什么更倾向于选择在UDP上运行应用程序而不是在TCP上运行的原因。答案:应用程序的开发者也许不希望应用程序使用TCP拥塞控制机制。使用拥塞控制时会扼杀疑难:▇重点:★一般:▲了解:◆自学:※第3章运输层应用程序的发送速率。一般来说,IP电话和IP视频会议应用程序的设计者会选择UDP作为低层协议,是因为希望避开TCP的拥塞控制。而且,其中一些应用程序本来就不需要TCP提供的可靠数据传输。3▲当应用程序运行在UDP上时,某应用程序是否能够得到可靠的数据传输?如果能,如何实现?答案:可以。应用程序的开发者可以在应用层协议上提供可靠的数据传输,但这需要大量的工作和调试。3.5节4★是非判断题a)主机A经过TCP连接向主机B发送一个大文件。假设主机B没有数据发往主机A。因为主机B不能随数据捎带确认信息,所以主机B将不向主机A发送确认。b)在该连接的整个过程中,TCP的RcvWindow的大小不会变化。c)假定主机A通过一个TCP连接向主机B发送一个大文件。主机A发送的未被确认的字节数不会超过接受缓存的大小。d)假定主机A通过TCP连接向主机B发送一个大文件。如果对于当前连接的一个报文段顺序号为m,则对于后续报文段的顺序号将必然是m+1。e)TCP报文段在它的首部中有一个RcvWindow字段。f)假定在一个TCP连接中最后的SampleRTT等于1s,那么对于这一连接的TimeoutInterval的当前值必定≥1s。g)假定主机A通过TCP连接向主机B发送一个顺序号为38的4字节报文段。这一报文段的确认号必定是42。答案:a)错b)错c)对d)错e)对f)错g)错5★假定主机A通过TCP连接向主机B连续发送两个TCP报文段。第一个报文段的顺序号为90,第二个报文段顺序号是110。a)第一报文段中有多少数据?b)假定第一个报文段丢失而第二个报文段到达主机B。那么在主机B发往主机A的确认报文中,确认号应该是多少?答案:a)20bytesb)确认号=90疑难:▇重点:★一般:▲了解:◆自学:※第3章运输层6★考虑在3.5节讨论中的Telnet的例子。在用户键入字符‘C’数秒之后,用户又键入字符‘R’。那么在用户键入字符‘R’之后,总共发送了多少个报文段,这些报文段的顺序号和确认号字段应该是填入什么?答案:3个报文段。第一个报文段::顺序号=43,确认号=80第二个报文段:顺序号=80,确认号=44第三个报文段;顺序号=44,确认号=813.7节7★假定两个TCP连接存在于一个带宽为Rb/s的瓶颈链路上。它们都要发送一个很大的文件(在瓶颈链路以相同的方向上传输),并且两者是同时开始传输文件。那么TCP将为每个连接分配多大的传输速率?答案:R/28★是非判断题。考虑TCP的拥塞控制,发送方在定时器超时时,其阈值将被设置为原来值的一半。答案:错误。其阀值被设置为当前拥塞窗口值的一半。四、求解题1▲假设客户机A面向服务器S发起一个Telnet会话。与此同时,客户机也向服务器S发起一个Telnet会话。请给出下面报文段的源端口号和目的端口号。a)从A发往S的报文段。b)从B发往S的报文段。c)从S发往A的报文段。d)从S发往B的报文段。e)如果A和B是不同的主机,那么从A发往S报文段的源端口号是否可能与从B发往S的报文段的源端口号相同?f)如果他们是同一台主机情况会怎么样?答案:源端口号目的端口号疑难:▇重点:★一般:▲了解:◆自学:※第3章运输层a)A→S46723b)B→S51323c)S→A23467d)S→B23513e)可能相同f)不可能相同2▲参见图3-5。从服务器发回客户机进程的报文段中的源端口号和目的端口号是多少?传送运输层报文段的网络层数据报中的IP地址是多少?答案:假设主机A,B,C的IP地址分别为a,b,c。(注意a,b,c各自独立)对主机A:源端口80,源IP为b,目的端口为26145,目的IP为a对主机C左边的进程:源端口80,源IP为b,目的端口为7532,目的IP为c对主机C右边的进程:源端口80,源IP为b,目的端口26145,目的IP为c3▲UDP和TCP使用1的补码来计算校验和.假设你有下面3个8比特字节:01010101,01110000,01001100,请问这些8比特字节和的1的补码是多少?(注意到尽管UDP和TCP使用16比特的字来计算校验和,但对于这个问题,你应该考虑8比特被加数。)写出所有工作过程。UDP为什么要用该和的1的补码,即为什么不直接使用该和呢?使用该1的补码方案,接收方如何检测出差错?1比特的差错将可能未被检测出来吗?2比特的差错呢?答案:01010101+011100001100010111000101+01001100__00010010结果求补为11101101进行差错校验时,接收方将四个字一起相加(三个原有的字和一个校验和)。如果校验和包含一个0,接收方将得知分组出现了差错。所有的一位错误都将被检验出来,但不能检查出两位出错的情况(比如,如果第一个字的最后一个位转换成0,第二个字的最后一位被转疑难:▇重点:★一般:▲了解:◆自学:※第3章运输层换成1)。4◆考虑我们改正rdt2.1协议的动机。考虑下图所示的接收方与如果3-11所示的发送方的运行时,该接收方可能会引起发送方和接收方进入死锁状态,即双方都在等待不可能发生的事件。请说明这种情况。答案:假定发送方处于“等待来自上层的调用1”状态,接收方处于“等待来自下层的1”状态。发送方发送一个序号为1的数据报文后,状态转换为“等待ACK/NAK1”,即等待一个ACK或者NAK报文。假如现在接收方正确的接收到序号为1的数据报文,它发送一个ACK,状态转为“等待来自下层的0”,即等待序号为0的数据报文。但现在该ACK报文受损。当发送者接收到受损的ACK,它重新发送序号为1的数据包。而这时的接收者因为一直在等待序号为0的数据报文,将始终以NAK报文来响应接收到的序号为非0的数据报文。在这种情况下,发送方始终发送序号为1的数据报文,而接收方始终以NAK作为回应。双方将进入死锁状态。5▲在rdt3.0协议中,从接收方向发送方发送的ACK分组没有序号(尽管他们具有ACK字段,该域包括了他们正在确认的分组的序号)。为什么这些ACK分组不需要序号呢?答案:解决这个问题,最好首先要考虑我们为什么需要序号。发送方使用序号,从而使接收方确认是否接收到冗余的分组。对于ACK分组,发送者并不需要这样的信息(ACK分组上的序号)来疑难:▇重点:★一般:▲了解:◆自学:※第3章运输层确定是否是冗余的ACK。在rdt3.0协议中,一个冗余的ACK是显而易见的,因为接收到一个原先的ACK分组它就将转换到下一个状态。冗余的ACK并非发送者所需从而将发送者被忽略。6◆画出rtd3.0协议中接收方的有限状态机(FSM)的图。答案:rdt3.0协议和rdt2.2协议的发送方的不同在于前者有超时控制机制。超时控制的引入增加了发送方到接收方数据流中存在冗余分组的可能性。Rdt2.2协议中的接收方已经能够处理冗余分组。(在rdt2.2中,如果接收方发送的ACK丢失发送方将重新发送原数据)从而,rdt3.0中的接收方也像rdt2.2中的接收方那样工作。7◆画出在数据分组和确认分组发生混淆情况下,rdt3.0协议的操作的轨迹。你画的轨迹应当类似于图3-16中使用的那个图。答案:假定协议已经执行一段时间。发送者处于“等待来自上层的调用”状态,接收者处于“等待来自下层的0”。数据分组和ACK分组发生损坏的场景如图所示。疑难:▇重点:★一般:▲了解:◆自学:※第3章运输层SendersendsM0SenderignoresA1Timeout:senderresendsM0sendersendsM0sendersendsM1IgnoreACKTimeout:senderresendsM1M0corruptedA1M0A0M1A1M0A0M1A1corruptedM1A1M0Packetgarbled,receiverresendslastACK(A1)CorrupteddataCorruptedACK图1:rdt3.0scenarios:corrupteddata,corruptedACK8◆考虑一个能够丢失分组,但是其最大时延已知的信道。修改rdt2.1协议,以包括发送方超时和重传机制。简要论证为什么你的协议能够通过该信道正确通信?答案:我们增加一个计时器,它的值大于已知的往返时延。我们还将一个超时事件增加到“等待ACK/NAK0”和“等待ACK/NAK1”状态的变化事件中。如果超时事件发生,将重新传输最近发送的数据包。让我们来看一下为什么这个协议能够使该信道正确通信.假定超时是由于在发送者到接受者的数据通道上发生数据包的丢失而产生。在这种情况下,接收者永远不会接收到原先的数据。以接收者的角度来看,当超时重传发生时,接收者并不知道这是重传的分组,而把它当作原先的数据一样看待。.假定ACK分组丢失。在超时之后,接收方将重传该分组。如果ACK的序号发生混淆,也会重传。但是如果让一个ACK标志产生混淆,便会发生完全一样的重传动作。因此发送者在疑难:▇重点:★一般:▲了解:◆自学:※第3章运输层ACK序号发生混淆和ACK丢失的两种情况下,将产生相同的动作。Rdt2.1协议已经能够处理ACK发生混淆的情况。9■rdt3.0协议的发送方直接忽略(即不采取任何措施)所有出现差错和确认差错的确认分组。假设在这种情况下,rdt3.0只是重传当前的数据分组,该协议是否还能正常运行?(提示:考虑在仅有一个比特差错时会发生什么情况,在分组没有丢失但是定时器超时过早发生的情况下会产生什么情况。考虑到当n趋于无穷时,第n个分组将被发送几次。)答案:因为重传是在分组已经丢失的情况下发生(从接收者的角度来看,它不知道将发生什么事情),所以协议还是能够正常工作。这个问题的背后更敏锐的问题是,重传分组也可能是超时过早所引起的。在这种情况下,每个分组都将被确定,发送方每收到一个ACK都会发送分组,当分组的个数n趋于无穷时,将有无穷多个冗余的分组发向接收方。10◆考虑比特交换(又称停等协议)协议。如果连接发送方和接收方的网络能够对报文重新排序(即在发送方和接收方之间的媒体上传播的两个报文能够重新排序),那么比特交换信息将不能正确运行(确信你清楚地明确了解了这时它不能正确工作的原因)。请画图说明。画图时请把发送方放在左边,接收方放在右边,使时间轴朝下,标出交换的数据报(D)和确认报文(A)。你要标明与数据报文和确认报文相关的序号。答案:M0M0M0M1A0A0A1oldversionofM0accepted!M1A1疑难:▇重点:★一般:▲了解:◆自学:※',)
提供计算机网络-第三章-运输层(练习题)会员下载,编号:1700739885,格式为 docx,文件大小为39页,请使用软件:wps,office word 进行编辑,PPT模板中文字,图片,动画效果均可修改,PPT模板下载后图片无水印,更多精品PPT素材下载尽在某某PPT网。所有作品均是用户自行上传分享并拥有版权或使用权,仅供网友学习交流,未经上传用户书面授权,请勿作他用。若您的权利被侵害,请联系963098962@qq.com进行删除处理。