第5 章 传输层 第一部分 同步练习 5.1 传输层与传输层协议 5-1-1 以下关于传输层概念的描述中,错误的是。 A.网络层为“点-点”链路组成的传输路径执行路由选择与分组交付 B.传输层在源主机与目的主机的应用进程之间建立“端-端”连接 C.设计传输层的目的就是为了改善传输网的性能 D.TPDU 头用于传达传输层协议的命令和响应 5-1-2 以下关于传输层与应用层关系的描述中,错误的是。 A.应用进程是在应用程序的控制下,并不依赖于主机操作系统 B.一个IP地址与一个进程标识称为一个“套接字”或“套接字地址” C.TCP或UDP是在主机操作系统的控制下工作 D.套接字又称为应用程序编程接口(API) 5-1-3 以下关于网络应用进程标识的描述中,错误的是。 A.端口号可分为:熟知端口号、注册端口号和临时端口号 B.客户程序使用的临时端口号范围为49152~65535 C.服务器程序使用的熟知端口号范围为0~1023 D.传输层协议使用统一的熟知端口号与临时端口号 5-1-4 以下关于TCP熟知端口号的描述中,错误的是。 A.TELNET的熟知端口号为23 B.SMTP的熟知端口号为25 C.BGP的熟知端口号为161 D.HTTP的熟知端口号为80 5-1-5 以下关于UDP熟知端口号的描述中,错误的是。 A.DNS的熟知端口号为53 B.TFTP的熟知端口号为67 C.NTP的熟知端口号为123 D.RPC的熟知端口号为111 5-1-6 判断五元组标识是否正确。 已知:客户程序与服务器程序之间的TCP连接的五元组为“TCP,212.10.25.56: 1002,121.5.21.2:53”。 计算机网络习题解析与同步练习(第3版) 5. 2 UDP 661 5-2- 1 以下关于UDP 特点的描述中,错误的是。 A.UDP 报文的报头长度可变 B.UDP 是一种无连接的传输层协议 C.UDP 是一种追求效率的传输层协议 D.UDP 报头包括端口号、长度、检验和等字段 5-2- 2 以下关于UDP 报文传输的描述中,错误的是。 A.UDP 保留应用程序提交报文的长度与格式 B.UDP 为应用层报文添加UDP 报头后交给网络层 C. 接收方将接收的UDP 报文原封不动交给应用程序 D. 应用程序可生成任意长度的报文交给UDP 软件 5-2- 3 以下关于UDP 适用范围的描述中,错误的是。 A. 适用于对数据交付实时性要求较高的应用 B. 适用于对数据交付可靠性要求较高的应用 C. 适用于一对一、一对多与多对多的交互式通信 D. 适用于频繁、简单的请求与应答报文的交互式通信 5-2- 4 以下关于UDP 校验和特点的描述中,错误的是。 A. 检验和计算范围包括:伪报头、UDP 报头及应用层数据 B. 计算检验和时要在UDP 报文之前增加12B 的伪报头 C. 伪报头仅在计算校验和时起作用,不向低层或高层传送 D.UDP 长度字段指出UDP 报文长度,包括伪报头长度 5-2- 5 回答以下几个问题。 已知:UDP 报头的十六进制数为06320045001CE217 。 (1)计算源端口号与目的端口号。 (2)计算应用层数据长度。 (3)判断使用该报文的应用层协议。 (4)判断发送该报文的是客户端还是服务器。 5. 3 TCP 5-3- 1 以下关于TCP 特点的描述中,错误的是。 A. 客户机可以与多个服务器建立多个并发连接 B. 确认机制用于检查数据是否安全、完整地到达 C. 通信双方的应用程序可以在任何时候发送数据 D. 接收方自动确定接收数据流中的字节起止位置 5-3- 2 以下关于TCP 与UDP 比较的描述中,错误的是。 A.TCP 的传输服务比UDP 可靠 B.TCP 的协议效率比UDP 高 C.TCP 面向连接,UDP 无连接 5-3- 3 5-3- 4 5-3- 5 5-3- 6 5-3- 7 5-3- 8 5-3- 9 传输层 第 D.TCP 基于字节流,UDP 基于报文 5 以下关于TCP 报头格式的描述中,错误的是。 章 A. 报头长度为20~60B,固定部分为20B B. 端口号字段分为报文段的源端口号与目的端口号 761 C. 在TCP 检验和计算中,伪报头的协议字段值为6 D. 控制字段定义了8种用于TCP 连接与终止的控制位 以下关于TCP 最大段长度的描述中,错误的是。 A. 最大段长度(MSS)是TCP 规定的报文数据部分最大长度 B.MSS 不包括TCP 报头长度 C. 窗口最大长度是选择MSS 的决定性因素 D. 选择MSS 值过小将会增加协议开销 以下关于TCP 可靠传输的描述中,错误的是。 A. 通信双方建立连接是保证TCP 可靠传输的机制之一 B. 双方协商的通信参数主要是传输速率与网络带宽 C.TCP 连接需要为传输实体分配可使用的缓存资源 D. 客户机与服务器进程之间建立连接要经过“三次握手” 以下关于TCP 报头中“序号”的描述中,错误的是。 A. 序号字段长度为32 位 B. 序号的取值范围为0~4284967295 C.TCP 软件对发送字节流中的每个字节按顺序编号 D. 在TCP 连接建立时,通信双方要协商一个初始序号 以下关于TCP 计时器的描述中,错误的是。 A. 重传计时器用于控制报文确认与等待重传的时间 B. 坚持计时器用于防止接收方因接收一个长报文的多个分片而造成死锁 C. 时间等待计时器用于保证TCP 连接释放过程的正常运行 D. 保持计时器用于防止TCP 连接长期处于空闲状态 发送方发送一个TCP 报文段(SYN=1、ACK=0、seq=11180), 如果接收方返回一 个表示同意的响应报文段。在以下4个响应报文段中,正确的是。 A.SYN=0、ACK=0、seq=11181 、ack=56421 B.SYN=0、ACK=1、seq=56421 、ack=11181 C.SYN=1、ACK=0、seq=11181 、ack=56421 D.SYN=1、ACK=1、seq=56421 、ack=11181 发送方连续发送4个长度为1500B 的TCP 报文段,第1个报文段的首字节序号为 5001,那么第3个报文段的序号范围为。 A.1500~6499 B.6500~7999 C.8001~9500 D.9500~1049 5-3-10 计算每个报文段的序号范围。 已知:发送方需要发送5200B 的数据,分为6个TCP 报文段来发送,前5个报文段 的长度都是1000B,第1个报文段的序号为10010 。 5-3-11 计算响应报文段的序号。 计算机网络习题解析与同步练习(第3版) 861 已知:发送方连续发送3个TCP 报文段,报文长度依次为100B 、200B 与300B,第 1个报文段的序号为201 。接收方在正确接收第3个报文段之后,它向发送方返回 一个响应报文段。 5-3-12 计算响应报文段的序号。 已知:发送方连续发送3个TCP 报文段,报文长度依次为200B 、300B 与400B,第 3个报文段的序号为900 。接收方正确接收第1个与第3个报文段之后,它向发送 方返回一个响应报文段。 5-3-13 估算TCP 连接的RTT 数值。 已知:发送方获得接收方返回的3个确认报文段,它们比对应数据报文段的发送时 间分别滞后26ms 、32ms 与24ms 。另外,d_α=9。 5-3-14 计算TCP 连接的最大吞吐率。 olRTT=35ms,0. 已知:TCP 连接的最大窗口为64KB,往返延时为20ms 。假设信道带宽无限制。 5-3-15 计算TCP 连接的最大吞吐率及信道利用率。 已知:TCP 连接的最大窗口为65535B,端-端延时为10ms,信道带宽为1Gb/s。 5-3-16 计算第1~15 次往返的拥塞窗口。 已知:TCP 拥塞控制采用AIMD 算法,慢开始的初始阈值设置为8,当拥塞窗口增 大到12 时,发送方检测出超时,TCP 使用慢开始与拥塞避免。 5-3-17 回答以下问题。 已知:TCP 报头的十六进制数为0D280015000000060000000070024000C0290000 。 (1)计算源端口号与目的端口号。 (2)计算序号与确认号。 (3)计算TCP 报头长度。 (4)判断TCP 连接的状态。 (5)判断使用该报文的应用层协议。 *5-3-18 计算TCP 连接能达到的最大速率。 已知:TCP 连接的最大段长度为128B,报文段在网络中的生存时间为30s。假设 报文段的序号长度为8位。 *5-3-19 计算TCP 连接上不出现重复序号的最长时间。 已知:TCP 连接使用的是光纤,链路带宽为75Tb/s。假设报文段的序号长度为64 位。 *5-3-20 计算TCP 连接的发送窗口。 已知:TCP 连接使用的是同轴电缆,链路带宽为256kb/s,端-端延时为128ms,最 大吞吐率为120kb/s。 *5-3-21 填写图5-1中的位置①~⑧ 。 已知:图5-1给出了TCP 连接建立与释放的过程。 *5-3-22 回答以下问题。 已知:主机通过Etent接入ItreIP 地址为192.0.服务器的IP 地址 hrenent,168.8; 为211.80 。主机与服务器之间建立TCP 连接。图52给出了捕获主机的5 68. 71. 个IP 分组的前40B 内容 。 传输层 第 章 图5-1 TCP 连接建立与释放的过程 961 图5-2 捕获主机的5个IP 分组的前40B 内容 (1)在这5个分组中,哪些分组是由主机发出? 哪些分组用于完成TCP 连接? 哪 些分组通过Ethernet时做过填充? (2)服务器已接收的应用层数据是多少字节? (3)图5-3给出了捕获服务器的1个IP 分组的前40B 内容。该分组从服务器到主 机经过多少个路由器? 计算机网络习题解析与同步练习(第3版) 071 图5-3 捕获服务器的1个IP 分组的前40B 内容 第二部分同步练习答案与解析 5.传输层与传输层协议 1 5-1- 1 分析:设计该例题的目的是加深读者对传输层概念的理解。在讨论传输层的基 本概念时,需要注意以下几个问题。 (1)网络层的IP 地址标识了主机、路由器的信息。路由算法在互联网络中选择一条由 源主机-路由器、路由器-路由器、路由器-目的主机的多段“点-点”链路构成的传输路径,IP 协议通过这条路径完成分组传输。 (2)网络层是传输网(或承载网)的一部分,而传输网是由电信公司提供服务。如果网 络层提供的服务不可靠(例如丢失分组), 用户无法对传输网络加以控制,则需要在网络层之 上增加一个传输层来改善服务质量。 (3)传输层协议要利用网络层提供的服务,在源主机与目的主机的应用进程之间建立端(“) -端”连接,屏蔽网络层及以下各层实现技术的差异性,弥补网络层所能提供服务的不足, 实现可靠的分布式进程通信。 (4)传输层协议硬件与软件称为传输实体。传输实体可能在操作系统内核中,或者在 一个单独的用户进程中。 (5)传输层之间传输的报文称为传输协议数据单元(TPDU )。TPDU 的有效载荷是应 用层数据,有效载荷之前加上TPDU 头形成TPDU 。 (6)当TPDU 传送到网络层时,加上分组头形成IP 分组;当IP 分组传送到数据链路层 时,加上帧头、帧尾形成Ethernet帧。 因此,C选项对传输层用途的描述是错误的。 答案:C。 5-1- 2 分析:设计该例题的目的是加深读者对传输层与应用层关系的理解。在讨论传 输层与应用层的关系时,需要注意以下几个问题。 (1)应用程序与TCP 、UDP 在主机操作系统的控制下工作。程序开发者只能根据需要 选择TCP 或UDP,设定缓存大小、最大报文长度等参数。在传输层协议类型与参数选定之 后,传输层协议软件在操作系统的控制下,为应用程序提供进程通信服务。 (2)传输层需要解决的一个重要问题是进程标识。在一台计算机中,不同进程可以用 进程号来标识。进程号又称为端口号。在网络环境中,标识一个进程必须同时用IP 地址与 端口号。 (3)在网络软件编程中,网络应用程序的编程接口(API)又称为套接字(Socket)。这 里,服务器套接字唯一地定义了一个服务器程序,而客户机套接字唯一地定义了一个客户机 程序。 传输层 第 因此,A选项对应用进程控制的描述是错误的。 5 答案:A。 章 5-1- 3 分析:设计该例题的目的是加深读者对网络应用进程标识的理解。在讨论网络 环境中的应用进程标识时,需要注意以下几个问题。 171 (1)互联网应用程序的类型很多,例如,基于C/S模式的Web、E-mail、FTP等。这 些 应用程序在传输层分别选择TCP或UDP 。为了区别不同的网络应用程序,TCP与UDP 用不同端口号来表示不同的应用程序 。 (2)在TCP/IP中,端口号的数值为0~65535的整数。 (3)互联网赋号管理局(定义的端口号有3种类型:熟知端口号、 临时端口号。 IANA) 注册端口号和 (4)TCP/UDP为每种标准的互联网服务器进程分配一个确定的全局端口号,称为熟 知端口号或公认端口号。每个客户进程都知道服务器进程的熟知端口号。熟知端口号数值 范围为0~1023,它是由IANA统一分配的。 (5)注册端口号数值范围为1024~49151 。当用户开发一种新的网络应用时,为了防止 这种应用在互联网中出现冲突,为该服务器程序向IANA登记一个注册端口号。 (6)临时端口号数值范围为49152~65535 。客户进程使用临时端口号,它可由TCP/ UDP软件随机选取。临时端口号仅对一次进程通信有效。 因此,D选项对端口号使用的描述是错误的。 答案:D。 5-1- 4 分析:设计该例题的目的是加深读者对TCP熟知端口号的理解。在讨论TCP 的熟知端口号时,需要注意以下几个问题。 (1)TCP为每种标准的互联网服务器进程分配一个熟知端口号。在hiaa.rg网站可以查询熟知端口号列表。 tp://www. no (2)表5-1给出了TCP常用的熟知端口号。 表5- 1 TCP常用的熟知端口号 端口号服务进程说明端口号服务进程说明 20/21 FTP 文件传输协议80 HTTP 超文本传输协议 23 TELNET 远程登录协议110 POP 邮局协议 25 SMTP 简单邮件传输协议179 BGP 边界路由协议 因此,C选项对BGP熟知端口号的描述是错误的。 答案:C。 5-1- 5 分析:设计该例题的目的是加深读者对UDP熟知端口号的理解。在讨论UDP 的熟知端口号时,需要注意以下几个问题。 (1)UDP服务与端口号的映射表定期在RFC768等文档中公布,并可以在多数UNIX 主机的/etc/services文件中找到。 (2)表5-2给出了UDP常用的熟知端口号。 计算机网络习题解析与同步练习(第3版) 表5- 2 UDP 常用的熟知端口号 271 端口号服务进程说明端口号服务进程说明 53 DNS 域名系统161/162 SNMP 简单网络管理协议 67/68 DHCP 动态主机配置协议520 RIP 路由信息协议 69 TFTP 简单文件传输协议 (3)DHCP 、SNMP 的客户端与服务器端在通信时都使用熟知端口号。 因此,B选项对TFTP 熟知端口号的描述是错误的。 答案:B。 5-1- 6 分析:设计该例题的目的是加深读者对网络应用进程标识的理解。在讨论网络 环境中的应用进程标识时,需要注意以下几个问题。 (1)IANA 定义的端口号可分为:熟知端口号、注册端口号和临时端口号。 (2)为服务器程序分配的熟知端口号数值范围为0~1023 。 (3)供客户程序使用的临时端口号数值范围为49152~65535 。 判断 : (1)根据五元组“TCP,212.25.1002,5.2:”可知服务器程序使用的端口 10.56:121.21.53 号为53,这是为DNS 服务器进程分配的熟知端口号。由于DNS 在传输层主要使用UDP, 因此该五元组的第一元是错误的。 (2)根据五元组“TCP,10.56:121.21.53” 212.25.1002,5.2:可知客户程序使用的端口号 为1002 。由于客户程序使用的临时端口号数值范围为49152~65535,因此该五元组的第 三元是错误的。 答案:五元组标识是错误的。 5. 2 UDP 5-2- 1 分析:设计该例题的目的是加深读者对UDP 特点的理解。在讨论UDP 的主 要特点时,需要注意以下几个问题。 (1)UDP 是一种无连接的传输层协议。UDP 传输报文之前无须在通信双方之间建立 连接,这样做有效减少了协议开销与传输延时。 (2)UDP 是一种追求效率但不可靠的传输层协议。除了为报文提供校验和之外,UDP 几乎没提供保证数据传输可靠性的措施。如果UDP 软件发现接收的报文出错,它就会丢 弃这个报文,既不确认也不通知发送方。 (3)UDP 是一种面向报文的传输层协议。UDP 报文长度是固定的8B 。UDP 报头主 要包括端口号、长度、检验和等字段。 (4)校验和用来检验UDP 报文在传输中是否出现差错。但是,UDP 规定校验和是可 选择是否计算的。 因此,A选项对UDP 报头长度的描述是错误的。 答案:A。 5-2- 2 分析:设计该例题的目的是加深读者对UDP 报文传输特点的理解。在讨论 传输层 第 UDP 报文的传输特点时,需要注意以下几个问题。 5 (1)对于应用程序提交的报文,在添加UDP 报头形成TPDU 之后,就要向下提交给网 章 络层的IP 协议来处理。 (2)对于应用程序提交的报文,UDP 既不合并也不拆分,而是保留应用层报文的长度 与格式。接收方将接收的报文原封不动地提交给应用程序。因此,应用程序必须预先生成 好长度合适的报文。 371 (3)如果应用程序提交的报文过短,则处理开销相对较大。如果应用程序提交的报文 过长,则IP 协议可能要对TPDU 分片,这样也会降低处理效率。 因此,D选项对报文长度无限制的描述是错误的。 答案:D。 5-2- 3 分析:设计该例题的目的是加深读者对UDP 适用范围的理解。在讨论UDP 的适用范围时,需要注意以下几个问题。 (1)用户在互联网环境中播放视频时,关注的是视频流尽快、不间断播放,丢失个别报 文对视频的播放效果不会产生很大影响。如果采用TCP,可能因重传丢失的报文而增大传 输延迟,反而对视频播放造成不利影响。因此,视频播放应用对数据交付实时性要求较高, 而对数据交付可靠性要求较低,UDP 更适用。 (2)有一类应用仅需进行频繁、简短的请求与应答报文交互,客户端发送一个简短的请 求报文,服务器回复一个简短的应答报文,这时应用程序应该选择UDP 。应用程序可通过 “定时器/重传”机制来处理IP 分组丢失问题,而无须选择有确认/重传机制的TCP,以提高 这类网络应用的工作效率。 (3)UDP 支持一对多与多对多的交互式通信,这一点是TCP 不支持的。UDP 报头长 度仅有8B,比TCP 报头长度短。同时,UDP 没有拥塞控制机制,在拥塞时不会要求源主机 降低发送速率,而是丢弃个别报文。这个特点适用于IP 电话、视频会议应用。 (4)UDP 的优点是简洁、快速、高效,但是没提供必要的差错控制机制,在拥塞严重时 缺乏控制与调节手段。对于使用UDP 的应用程序,设计者需要在应用层设置必要的机制 加以解决。 因此,B选项对交付可靠性的描述是错误的。 答案:B。 5-2- 4 分析:设计该例题的目的是加深读者对UDP 校验和特点的理解。在讨论UDP 校验和的主要特点时,需要注意以下几个问题。 (1)校验和字段用于检测整个UDP 报文(包括伪报头)在传输中是否出错。 (2)校验和字段在UDP 中是可选的字段,这反映出效率优先的思想。如果应用进程对 通信效率的要求高于可靠性,应用进程可选择不使用校验和。 (3)UDP 检验和的检验范围包括:伪报头、UDP 报头及应用层数据。 (4)伪报头不是UDP 报文的真正头部,只是在计算校验和时临时增加,它既不向低层 也不向高层传输。 (5)伪报头的长度为12B 。伪报头包括IP 分组头的源IP 地址(32 位)、目的IP 地址 (32 位)、协议字段(8位)与UDP 长度(16 位), 以及全0的填充字段(8位)。 (6)UDP 长度字段表示UDP 报文长度,不包括伪报头长度。 471 计算机网络习题解析与同步练习(第3版) 因此,D选项对UDP 长度字段的描述是错误的。 答案:D。 5-2- 5 分析:设计该例题的目的是加深读者对UDP 报文格式的理解。在讨论UDP 报文的基本格式时,需要注意以下几个问题。 (1)图5-4给出了UDP 报文的格式。UDP 报文有长度固定为8B 的报头。 图5-4 UDP 报文的格式 (2)源端口号字段长度为16 位,表示发送方进程使用的端口号。目的端口号字段长度 为16 位,表示接收方进程使用的端口号。 (3)如果发送方进程是客户机,源端口号是UDP 软件分配的临时端口号,目的端口号 是服务器的熟知端口号。 (4)长度字段长度为16 位,表示UDP 报文的总长度。因此,UDP 报文长度最小为8B, 最大为65535B 。 计算: (1)已知UDP 报头的十六进制数为“06320045001CE217”,从头开始依次是源端口号、 目的端口号、UDP 总长度、校验和等字段。 (2)源端口号为十六进制数“0632”,转换成十进制数为1586 。 (3)目的端口号为十六进制数“0045转换成十进制数为69 。根据表5-2判断,该端口 号被分配给简单文件传输协议(TFTP )。 (4)UDP 总长度为十六进制数“001C”,转换成十进制数为28 。由于UDP 报头长度为,(”) 8B,因此应用层数据长度为28-8=20(B)。 答案: (1)源端口号为1586,目的端口号为69 。 (2)应用层数据长度为20B 。 (3)使用该报文的应用层协议是简单文件传输协议(TFTP )。 (4)发送该报文的是TFTP 客户机。 5. 3 TCP 5-3- 1 分析:设计该例题的目的是加深读者对TCP 特点的理解。在讨论TCP 的主要 特点时,需要注意以下几个问题。 (1)TCP 支持面向连接的传输服务。应用程序在使用TCP 传送数据之前,必须在源进 程与目的进程之间建立一条TCP 连接。每个连接用通信双方的端口号来标识,并为双方的 一次进程通信提供服务。