1、计算机网络(运输层)模拟试卷 7 及答案与解析一、单项选择题1 下列关于传输服务的面向连接服务和无连接服务说法中,正确的是( )。(A)面向连接的服务是可靠的服务,无连接的服务也可以提供可靠服务(B)面向连接的服务是可靠的服务,而无连接的服务只能提供不可靠的服务(C)面向连接的服务和无连接的服务都是提供不可靠的服务(D)以上说法都不正确2 TCP 协议采用滑动窗口协议解决了端到端的流量控制,滑动窗口协议规定重传未被确认的分组,这种分组的数量最多可以( )。(A)是任意的(B)大于滑动窗口的大小(C) 1 个(D)等于滑动窗口的大小3 关于 TCP 和 UDP,下列说法错误的是( )。(A)TC
2、P 和 UDP 的端口号是相互独立的(B) TCP 和 UDP 的端口号是完全相同的,没有本质区别(C)在利用 TCP 发送数据前,需要与对方建立一条 TCP 连接(D)在利用 UDP 发送数据前,不需要与对方建立连接4 下面信息中( ) 包含在 TCP 头中而不包含在 UDP 头中。(A)目标端口号(B)顺序号(C)发送端口号(D)校验号二、填空题5 网络上发送的所有 TCPIP 协议帧都是下述三种类型之一: ( )、( )和( )播送。三、简答题6 传输层的任务是什么? 传输层在 0SI 中的地位及目的是什么?7 端口的作用是什么? 为什么端口要划分为 3 种?8 为什么 TCP 协议要求
3、对每一个 TCP 数据字节进行编码?9 网络层提供数据报或虚电路服务对上面的运输层有何影响?10 接收方收到有差错的 UDP 用户数据报时应如何处理 ?11 试说明运输层中伪首部的作用。12 某个应用进程使用运输层的用户数据报 UDP,然而继续向下交给 IP 层后,又封装成 IP 数据报。既然都是数据报,可否跳过 UDP 而直接交给 IP 层?哪些功能UDP 提供了但 IP 没提供?13 一个应用程序用 UDP,到 IP 层把数据报再划分为 4 个数据报片发送出去,结果前两个数据报片丢失,后两个到达目的站。过了一段时间应用程序重传 UDP,而 IP 层仍然划分为 4 个数据报片来传送。结果这次
4、前两个到达目的站而后两个丢失。试问:在目的站能否将这两次传输的 4 个数据报片组装成完整的数据报?假定目的站第一次收到的后两个数据报片仍然保存在目的站的缓存中。14 一个 UDP 用户数据的数据字段为 8192 字节。在数据链路层要使用以太网来传送。试问应当划分为几个 IP 数据报片?说明每一个 IP 数据报字段长度和片偏移字段的值。15 一 UDP 用户数据报的首部用十六进制表示是 06 32 00 45 00 1C E2 17。试求源端口、目的端口、用户数据报的总长度、数据部分长度。这个用户数据报是从客户发送给服务器还是发送给客户?使用 UDP 的这个服务器程序是什么?16 使用 TCP
5、对实时话音教据的传输有什么问题?使用 UDP 在传送数据文件时会有什么问题?17 设 TCP 使用的最大窗口为 65535 字节,而传输信道不产生差错,带宽也不受限制。若报文段的平均往返时延为 20ms,问所能得到的最大吞吐量是多少?18 什么是 Karn 算法? 在 TCP 的重传机制中,若不采用 Karn 算法,而是在收到确认时都认为是对重传报文段的确认,那么由此得出的往返时延样本和重传时间都会偏小。试问:重传时间最后会减小到什么程度?19 TCP 在进行流量控制时是以分组的丢失作为产生拥塞的标志。有没有不是因拥塞而引起的分组丢失的情况?如有请举出 3 种情况。20 用 TCP 传送 51
6、2 字节的数据。设窗口为 100 字节,而 TCP 报文段每次也是传送 100 字节的数据。再设发送端和接收端的起始序号分别选为 100 和 200,试画出类似于教材图 531 的工作示意图。从连接建立阶段到连接释放都要画上。21 试以具体例子说明为什么一个运输连接可以有多种方式释放。可以设两个互相通信的用户分别连接在网络的两节点上。22 解释为什么突然释放运输连接就可能会丢失用户数据,而使用 TCP 的连接释放方法就可保证不丢失数据。23 试用具体例子说明为什么在运输连接建立时要使用 3 次握手。说明如不这样做可能会出现什么情况。24 一个客户向服务器请求建立 TCP 连接。客户在 TCP
7、连接建立的 3 次握手中的最后一个报文段中捎带上一些数据,请求服务器发送一个长度为 L 字节的文件。假定:(1)客户和服务器之间的数据传输速率是 R 字节秒,客户与服务器之间的往返时间是 RTT(固定值) 。(2)服务器发送的 TCP 报文段的长度都是 M 字节,而发送窗口大小是 nM 字节。(3)所有传送的报文段都不会出错(无重传) ,客户收到服务器发来的报文段后就及时发送确认。(4)所有的协议首部开销都可忽略,所有确认报文段和连接建立阶段的报文段的长度都可忽略(即忽略这些报四、论述题24 主机 A 向主机 B 发送一个很长的文件,其长度为 L 字节。假定 TCP 使用的MSS 有 1460
8、 字节。25 在 TCP 的序号不重复使用的条件下,L 的最大值是多少?26 假定使用上面计算出文件长度。而运输层、网络层和数据链路层所使用的首部开销共 66 字节,链路的数据速率为 10Mbs,试求这个文件所需的最短发送时间。计算机网络(运输层)模拟试卷 7 答案与解析一、单项选择题1 【正确答案】 B【试题解析】 而向连接的服务是按顺序并保证传输质量的,可恢复错误和流量控制的可靠的连接。基于 TCPIP 协议。无连接服务是不按顺序且不保证传输质量的,不可恢复错误不进行流量控制的不可靠连接,是基于 UDPIP 的连接。【知识模块】 运输层2 【正确答案】 D【知识模块】 运输层3 【正确答案
9、】 B【试题解析】 TCP 和 UDP 是两种不同的协议:UDP 相对于 TCP 实现起来更加的简单;TCP 是面向连接的,所以握手过程会消耗资源,其为可靠连接不会丢失数据适合大数据量交换;UDP 面向非连接的,容易丢包,没有校验过程且无须握手。【知识模块】 运输层4 【正确答案】 B【试题解析】 TCP:如果 IP 数据包中有已经封好的 TCP 数据包,那么 IP 将把它们向“上”传送到 TCP 层。TCP 将包排序并进行错误检查,同时实现虚电路间的连接。TCP 数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。TCP将它的信息送到更高层的应用程序,如 Teln
10、et 的服务程序和客户程序。应用程序轮流将信息送同 TCP 层,TCP 层便将它们向 F 传送到 IP 层,设备驱动程序和物理介质。最后到接收方。面向连接的服务(如Telnet、FTP、Rlogin、X Windows 和 SMTP)需要高度的可靠【知识模块】 运输层二、填空题5 【正确答案】 广播,多播,单点【知识模块】 运输层三、简答题6 【正确答案】 传输层的任务是处理一些由网络层引进的错误,如包丢失和重复包以及对包进行重新排序、分段和重装,这样可以避免网络层进行低效的分段和重装。另外,这也有助于传输层在网络发生拥塞时可以相应降低发送数据的速率。传输层负责端到端的通信,既是 7 层体系结
11、构中负责数据通信的最高层,又是面向网络通信的低 3 层和面向信息处理的最高 3 层之间的中间层。传输层要达到以下两个主要目的:提供可靠的端到端的通信; 向会话层提供独立于网络的传输服务。【知识模块】 运输层7 【正确答案】 端口的作用是对 TCPIP 体系的应用进程进行统一的标识,使运行不同操作系统的计算机的虚用进程能够互相通信。把端口划分为 3 类是因为:避免端口号重复,无法区分应用进程;因特网上的计算机通信都是采用 CS 方式,在客户发起通信请求时,必须知道服务器的端口,对于一些卡要的应用程序,必须让所有用户知道。【知识模块】 运输层8 【正确答案】 TCP 协议是一种可靠的面向连接的协议
12、,它允许将一台主机的字节流(Byte Stream) 无差错地传送到目的主机。发送方主机中的 TCP 将来自进程的数据放到该连接的发送缓存里,然后 TCP 就会不时从发送缓存里取出一块数据准备发送。TCP 给所有发送的字节都进行编号,并且发送数据的一方希望得到接收数据一方的肯定应答 ACK(即接收方告知发送方数据收到)。如果接收方在一定时间内没有收到 ACK,则表明数据丢失或延迟,允许重新发送数据。由于数据在运输层是分段传输的,所以只有每个数据段的第一个字节编号被发往目的主机。【知识模块】 运输层9 【正确答案】 网络层提供数据报或虚电路服务不影响上面的运输层的运行机制。但提供不同的服务质量。
13、【知识模块】 运输层10 【正确答案】 丢弃或是附加差错警告报告传给上层。【知识模块】 运输层11 【正确答案】 运输层中伪首部用于计算运输层数据报校验和。【知识模块】 运输层12 【正确答案】 不可跳过 UDP 而直接交给 IP 层。IP 数据报承担主机寻址,提供报头检错;只能找到目的主机而无法找到目的进程,UDP 提供对应用进程的复用和分用功能,以及提供对数据差分的差错检验。【知识模块】 运输层13 【正确答案】 不行。重传时,IP 数据报的标识宁段会有另一个标识符。仅当标识符相同的 IP 数据报片才能组装成一个 IP 数据报,前两个 IP 数据报片的标识符与后两个 IP 数据报片的标识符
14、不同,因此不能组装成一个 IP 数据报。【知识模块】 运输层14 【正确答案】 6 个。数据字段的长度:前 5 个是 1480 字节,最后一个是 800 字节。片偏移字段的值分别是:0,1480,2960,44405920 和 7400。【知识模块】 运输层15 【正确答案】 源端口 1586,目的端口 69,UDP 用户数据报总长度为 28 字节,数据部分长度为 20 字节。此 UDP 用户数据报是从客户发给服务器 (因为几的端口号小于 1023,是熟知端口),服务器程序是 TFFTP。【知识模块】 运输层16 【正确答案】 如果语音数据不是实时播放(边接收边播放)就可以使用 TCP,因为
15、TCP 传输可靠。接收端用 TCP 将话音数据接收完毕后,可以在以后的任何时间进行播放。但假定是实时传输,则必须使用 UDP。UDP 不保证可靠交付,但 UCP 比 TCP 的开销要小很多。因此只要应用程序接受这样的服务质量就可以使用 UDP。【知识模块】 运输层17 【正确答案】 在发送时延可忽略的情况下,最大数据率=最大窗口*8平均往返时间=26 2Mbs。【知识模块】 运输层18 【正确答案】 Karn 算法:在计算平均往返时延 RTT 时,只要报文段重传了,就不采用其往返时延样本。 设新往返时延样本为 Ti RTT(i)=*RTT(i-1)+(1-)*T(i) RTT(i)=*RTT(
16、i-1)+(1-)*T(i)2 RTT(1)=*0+(1-)*T(1)=(1-a)*T(1) RTT(1)=*0+(1-)*T(1)2=RTT(1)2 RTT(2)=*RRT(1)+(1-)*T(2) RTT(2)=*RTT(1)+(1-)*T(2) 2=*RTT(1)2+(1-)*T(2) 2=RTT(2)2 RTO=8*RTT,在统计意义上,重传时间最后会减小到使用 Karn 算法的 12。【知识模块】 运输层19 【正确答案】 当 IP 数据报在传输过程中需要分片,但其中的一个数据报未能及时到达终点,而终点组装 IP 数据报已超时,因而只能丢失该数据报; IP 数据报已经到达终点,但终点
17、的缓存没有足够的空间存放此数据报;数据报在转发过程中经过一个局域网的网桥,但网桥在转发该数据报的帧没有足够的差错空间而只好丢弃。【知识模块】 运输层20 【正确答案】 【知识模块】 运输层21 【正确答案】 设 A,B 建立了运输连接。协议应考虑一下实际可能性:A 或 B 故障,应设计超时机制,使对方退出,不至于死锁。A 主动退出,B 被动退出。B 主动退出,A 被动退出。【知识模块】 运输层22 【正确答案】 当主机 1 和主机 2 之间连接建立后,主机 1 发送了一个 TCP 数据段并正确抵达主机 2,接着主机 1 发送另一个 TCP 数据段,这次很不幸,主机2 在收到第二个 TCP 数据
18、段之前发出了释放连接请求,如果就这样突然释放连接,显然主机 1 发送的第二个 TCP 报文段会丢失。而使用 TCP 的连接释放方法,主机 2 发出了释放连接的请求,那么即使收到主机1 的确认后,只会释放主机 2 到主机 1 方向的连接,即主机 2 不再向主机 1 发送数据,而仍然可接受主机 1 发来的数据,所以可保证不丢失数据。【知识模块】 运输层23 【正确答案】 3 次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。假定 B 给 A 发送一个连接请求分组,A 收到了这个分组,并发送了确认
19、应答分组。按照两次握手的协定,A 认为连接已经成功建立了,可以开始发送数据分组。可是,B 在 A 的应答分组在传输中被丢失的情况下,将不知道 A 是否已准备好,不知道A 建议什么样的序列号,B 甚至怀疑 A 是否收到自己的连接请求分组,在这种情况下,B 认为连接还未建立成功,将忽略 A 发来的任何数据分组,只等待连接确认应答分组。而 A 发出的分组超时后,重复发送同样的分组。这样就形成了死锁。【知识模块】 运输层24 【正确答案】 发送窗口较小的情况,发送一组 nM 个字节后必须停顿下来,等收到确认后继续发送。共需 K=L nM个周期:其中前 K-1 个周期每周期耗时 MR+RTT,共耗时(K
20、-1)(MR+RTT)第 K 周期剩余字节数 Q=L-(K-1)*nM,需耗时 Q R总耗时=2*RTT(K-1)M(R+RTT+QR=2RTTR+(K-1)(M R+RTT)-nM R。【知识模块】 运输层四、论述题【知识模块】 运输层25 【正确答案】 L max=232=4GB,G=2 30。【知识模块】 运输层26 【正确答案】 满载分片数 Q=LmaxMSS)取整为 2941758,发送的总报文数: N=Q*(MSS+66)+(Lmax-Q*MSS)+66=4489122708+682=4489123390 总字节数是N=4489123390 字节,发送 4489123390 字节需时问为: N*8(10*10 6)=35913s,即 5985min,约 1h。【知识模块】 运输层