计算机网络题库——第5章 传输层

第 5 章 传输层

一、选择题
1.假设一个应用每秒产生 60bytes 的数据块,每个数据块被封装在一个TCP 报文中,然后再封装到一个 IP
数据报中。那么最后每个数据报所含有的应用数据所占的百分比是( )。
A.20% B.40% C.60% D.80%
【答案】C
【解析】数据块首先被封装到一个 TCP 报文中(加入 TCP 头部),然后该 TCP 报文被封装到一个 IP 数据报中(加入 IP 头部),一个 TCP 的头部长度是 20 字节,一个 IP 头部的长度是 20 字节,数据部分为 60 字节,数据报的总长度为 20+20+60=100 个字节,其中数据占 60%。

2.在一个 TCP 连接中,MSS 为 1KB,当拥塞窗口为 34KB 时发生了超时事件。如果在接下来的 4 个 RTT
内报文段传输都是成功的,那么当这些报文段均得到确认后,拥塞窗口的大小是( )。
A.8KB B.9KB C.16KB D.17KB
【答案】C
【解析】在拥塞窗口为 34KB 时发生了超时,那么慢开始门限值(ssthresh)就被设定为 17KB,并且在接下来的一个RTT 中拥塞窗口(cwnd)置为 1KB。按照慢开始算法,第二个 RTT 中cwnd=2KB,第三个 RTT 中 cwnd
=4KB,第四个 RTT 中 cwnd=8KB。当第四个 RTT 中发出去的 8 个报文段的确认报文收到之后,cwnd=16KB
(此时还未超过慢开始门限值)。

3.有一条 TCP 连接,它的最大报文段长度是 2kB,TCP 拥塞窗口为 24KB,这时候发生了超时事件,那么该拥塞窗口变成了( )。
A.1KB B.2KB C.5KB D.7KB
【答案】B
【解析】在 TCP 中,当发生超时事件,阀值被设置成当前拥塞窗口的一半,而拥塞窗口被设为一个最大报文段。

4.假设一个连接的最大数据段长度为 2KB,一个 TCP 的阀值为 64KB,如果这时候传输发生了超时,那么新的阀值为( )。
A.32KB B.63KB C.128KB D.2KB
【答案】A
【解析】当发生了超时的情况下,TCP 的阀值将会减半。

5.下列的网络协议中,( )的运输层协议是使用 TCP 的。
A.TFTP B.DNS C.RIP D.TELNET

【答案】D
【解析】TFTP、DNS、RIP 都是使用 UDP 来传输的,只有 TELNET 使用 TCP 来传输。

6.如果在 TCP 连接中有一方发送了 FIN 分组,并且收到了回复,那么它将( )。
A.不可以发送数据,也不可以接收数据
B.可以发送数据,不可以接收数据
C.不可以发送数据,可以接收数据
D.连接马上断开
【答案】C
【解析】TCP 提供了一个全双工的连接,当一方希望断开连接时需要发送 FIN 的分组,而另一方仍然可以发送数据。

7.考虑一条具有 10ms 往返时延的线路上采用慢开始拥塞控制而不发生网络拥塞的情况。接收窗口 24KB, 且报文段的最大长为 2KB。那么需要( )发送第一个完全窗口。
A.20ms B.30ms C.40ms D.50ms
【答案】C
【解析】已知最大报文段式 2KB,开始的突发量分别是 2KB、4KB、8KB、16KB,接下来即为 24KB,因为不能超过接收窗口,共经过了四次成功传输,因此,需要 10ms*4=40ms 才能发送第一个完全窗口。

8.一个 TCP 报文段的数据部分最多为( )字节。
A.65535 B.65495 C.65395 D.65515
【答案】B
【解析】因为 IP 数据包最大为 65535 字节。而 IP 头部最少 20 个字节,TCP 头部最少也是 20 个字节。所以
TCP 报文所能传送的最长数据为 65535-20-20=65495 字节。

9.在 TELNET 协议中,用户发送的命令采用 TCP 传输到服务器,在 TCP 的数据包中,需要把( )符号位置移位,从而使服务器尽快响应命令。
A.SYN B.URG C.PSH D.RST
【答案】C
【解析】PSH 位表示带有 PUSH 标志的数据,接收方在收到数据后应该立即请求将数据递交给应用程序, 而不是将它缓存起来。

10.在 TCP 连接中,如果已经接收了 1000 字节的数据,那么在发送回的数据包头中,确认号为( )。
A.1000 B.1001 C.999 D.998
【答案】B
【解析】确认号表示接下来希望接收数据的序列号,成功接收 1000 字节之后,TCP 连接希望接收 1001 号字节,所以确认号应该是 1001。

11.TCP 是采用( )来控制流量的。
A.设定拥塞窗口
B.TCP 首部中的接收窗口
C.设定拥塞阀值
D.通过标志位来通知
【答案】B
【解析】TCP 首部中有一项表示接收窗口大小,用来标识接收方的缓冲能力,避免快速的发送方淹没慢速的接收方,以此来实现流量控制。

12.在 TCP/IP 模型中,主机采用( )标识,运行在主机上的进程采用( )标识。
A.端口号,主机地址
B.主机地址,IP 地址
C.IP 地址,主机地址
D.IP 地址,端口号
【答案】D
【解析】在 TCP/IP 模型中,IP 地址用来标识主机,使用 IP 地址来完成数据包的路由。而端口号则存在于传输层的头部中,用来不同进程。因此TCP/IP 模型使用 IP 地址和端口号来标识主机上的进程。

13.下列关于TCP 和 UDP 的描述正确的是( )。
A.TCP 和 UDP 都是无连接的
B.TCP 是无连接的,UDP 面向连接
C.TCP 适用于可靠性较差的广域网,UDP 适用于可靠性较高的局域网
D.TCP 盖用于可靠性较高的局域网,UDP 适用于可靠性较差的广域网
【答案】C
【解析】TCP 和 UDP 是传输层的两种协议,TCP 是面向连接的,UDP 是无连接的,由于 TCP 保证可靠传输,而 UDP 是不可靠的,所以TCP 适用于可靠性较差的广域网,UDP 适用于可靠性较高的局域网。

14.下列说法中,错误的是( )。
A.TCP 协议可以提供可靠的数据流传输服务
B.TCP 协议可以提供全双工的数据流传输服务
C.TCP 协议可以提供面向连接的数据流传输服务
D.TCP 协议可以提供面向非连接的数据流服务
【答案】D
【解析】TCP 只提供面向连接的服务。

15.TCP 是一个面向连接的协议,它提供连接的功能是( )的。
A.全双工
B.半双工
C.单工
D.单方向
【答案】A
【解析】TCP 所提供服务的主要特点:
(1)面向连接的传输;
(2)端到端的通信;
(3)高可靠性,确保传输数据的正确性,不出现丢失或乱序;
(4)全双工方式传输;
(5)采用字节流方式,即以字节为单位传输字节序列;
(6)紧急数据传送功能。

16.端到端通信作用于( )之间。
A.机器
B.网络
C.进程
D.设备
【答案】C
【解析】由物理层、数据链路层和网络层组成的通信子网为网络环境中的主机提供点到点的服务,而传输层为网络中的主机提供端到端的通信。端到端通信建立在点到点通信的基础之上,它是由一段段的点到点通信信道构成的,是比点到点通信更高一级的通信方式,完成应用程序(进程)之间的通信。传输层为应用层提供服务, 而应用层通过进程进行通信,则端到端通信作用于应用层。

17.下面关于TCP 的流量控制与拥塞控制的说法错误的是( )。
A.TCP 采用大小可变的滑动窗口进行流量控制
B.TCP 报文段首部的窗口字段值是当前给对方设置的发送窗口数值的上限
C.发送窗口在连接建立时由发送方确定
D.在通信的过程中,接收端可调整对方的发送窗口上限值
【答案】C
【解析】TCP 发送窗口由接收窗口和拥塞窗口共同决定,通常取二者中的最小数。

18.下面有关面向连接和无连接的数据传输速度正确的说法是( )。
A.面向连接的网络数据传输快
B.面向无连接的网络数据传输快
C.二者速度一样快
D.不可判定
【答案】D
【解析】面向连接和无连接的数据传输过程的区别在于是否需要连接的建立与释放,数据传输的顺序和可靠性,流量控制等功能的提供。

19.TCP 协议采用滑动窗口协议解决了( )。
A.端到端的流量控制
B.整个网络的拥塞控制
C.端到端的流量控制和网络的拥塞控制
D.整个网络的差错控制
【答案】A
【解析】只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动。收发两端的窗口按照以上规律不断地向前滑动,因此这种协议又称为滑动窗口协议。当发送窗口和接收窗口的大小都等于 1 时,就是停止等待协议。 当发送窗口大于 1,接收窗口等于 1 时,就是连续重发协议。协议中规定,对于窗口内未经确认的分组需要重传。这种分组的数量最多可以等于滑动窗口的大小。TCP 协议采用滑动窗口协议来解决了端到端的流量控制。

20.TCP 是一个面向连接的协议,采用( )技术来实现可靠数据流的传送。
A.超时重传和确认机制
B.确认机制
C.超时重传
D.丢失重传和重复确认
【答案】A
【解析】TCP 提供了可靠的传输,通过三次握手实现超时重传和确认机制。TCP 是一种面向连接的、可靠的、基于字节流的运输层通信协议。TCP 为了保证传输的可靠性,发送的报文采用递增的序列号。序号和确认号用来确保传输的可靠性。此外,对每个报文都设立一个定时器,设定一个最大时延。超过最大时延仍没有收到确认信息的报文被认为已经丢失,需要重传。

21.UDP 报文头标不包括( )。
A.目的地址
B.报文长度
C.目的 UDP 端口
D.源 UDP 端口
【答案】A
【解析】UDP 报头由 4 个域组成,其中每个域各占用 2 个字节,具体为:源端口号、目标端口号、数据报长度、校验值。

22.两台对等主机正在通过 UDP 协议进行通信,在传输过程中,一个数据报没有到达目的地。则下面关于数据报重传的描述是正确的是( )。
A.源端的重传计时器到期之后就开始重新传输
B.目的端的重传计时器到期之后就开始重新传输
C.是否重传数据由应用层协议控制
D.只有当目前数据序列号等于或高于确认序号时才重新传输
【答案】C
【解析】UDP 并不是可靠传输,并不保证所有数据报都能到达目的地,是否重发以及如何重发都要由它的上层(应用层)来考虑。

23.采用有序接收的滑动窗口协议,设序号位数为n,则发送窗口最大尺寸为( )。
A.2n-1 B.2n+l C.2n D.2n
【答案】A
【解析】采用有序接收的滑动窗口协议时,为了保证接收端能正确有效地区别接受到的报文的序号,必须保证发送窗口大小和接收窗口大小之和不大于整个序列号空间 2n,而接收窗口最小为 1,所以发送窗口最大为 2n
-1。

24.TCP 协议规定HTTP 端口号为 80 的进程是( )。
A.客户
B.分布
C.服务器
D.主机
【答案】C
【解析】HTTP 应用中,服务器程序不知道也不需要知道客户程序的主机地址和端口号,服务器会被动的等待客户的HTTP 请求来建立连接。因此客户必须知道服务器的 IP 地址和端口号,IP 地址可以通过域名解析得到, 而服务器的端口号则采用熟知端口 80,服务器启动后,会在 80 端口侦听客户的连接请求,因此 80 为 HTTP 协议中服务器进程使用的端口。

25.在 TCP 协议中,建立连接时被置为 1 的标志位和所处的字段是( )。
A.保留,ACK
B.保留,SYN
C.偏移,ACK
D.控制,SYN
【答案】D
【解析】TCP 连接在建立的时候,必须把控制字段中的 SYN 位设置为 1,因为 SYN 置为 l 就表示该 TCP 报文这是一个连接请求或连接接受报文。

26.传输层用于标识不同的应用的是( )。
A.物理地址
B.端口号
C.IP 地址
D.逻辑地址
【答案】B
【解析】端口号是传输层的服务访问点,让应用层的应用进程通过端口来交付数据给传输层,是标志应用层的进程。

27.下列关于TCP 和 UDP 的说法正确的是( )。
A.两者都是面向无连接的
B.两者都是面向连接的
C.TCP 是面向连接而UDP 是面向无连接的
D.TCP 无连接而 UDP 是面向连接的
【答案】C
【解析】TCP 协议和 UDP 协议的特性可简单的描述为:TCP,可靠的面向连接的;UDP,不可靠的无连接的。

28.在 TCP 协议中,当主动方发出 SYN 连接请求后,等待对方回答的是( )。
A.SYN,ACK B.FIN,ACK C.PSH,ACK D.RST,ACK
【答案】A
【解析】ACK 确认比特,SYN 同步比特,用于建立连接同步序号,FIN 终止比特,用来释放一个连接,PSH 推送比特,用于推送操作,RST 复位比特,用于连接出现严重差错来释放连接,重新建立传输。当主动方发出连接建立请求时,接收端收到后应发送 ACK 来确认发送端的连接请求,并发送SYN 请求建立接收端的连接。

29.在 TCP 报文段的报头中,窗口字段的作用是( )。
A.报头中 32bit 字节的数量
B.说明对方端口的数量
C.控制对方的发送流量
D.说明网络的负荷能力
【答案】C
【解析】TCP 报文段中,窗口字段占 2 个字节,用来控制对方发送的数据量。

30.TCP 使用的流量控制协议是( )。
A.固定大小的滑动窗口协议
B.可变大小的滑动窗口协议
C.后退N 帧ARQ 协议
D.选择重发ARQ 协议
【答案】B
【解析】TCP 采用滑动窗口机制来实现流量控制,并通过接收端来控制发送端的窗口大小,因此这是一种大小可变的滑动窗口协议。

31.关于因特网中的主机和路由器,以下说法正确的是( )。
Ⅰ.主机通常需要实现TCP 协议 Ⅱ.路由器必须实现 TCP 协议
Ⅲ.主机必须实现 IP 协议 Ⅳ.路由器必须实现 IP 协议
A.Ⅰ、Ⅱ和Ⅲ
B.Ⅰ、Ⅱ和Ⅳ
C.Ⅰ、Ⅲ和Ⅳ
D.Ⅱ、Ⅲ和Ⅳ
【答案】C
【解析】主机作为终端设备,需要实现 TCP/IP 协议族中的整个五层协议,而路由器作为网络层设备,仅实现物理层,链路层和网络层三个层次的协议,TCP 是传输层协议,因此路由器不需要。

32.关于TCP 和 UDP 端口,下列哪种说法是正确的( )。
A.TCP 和 UDP 分别拥有自己的端口号,它们互不干扰,可以共存于同一台主机
B.TCP 和 UDP 分别拥有自己的端口号,但它们不能共存于同一台主机
C.TCP 和 UDP 的端口没有本质区别,但它们不能共存于同一台主机
D.当一个 TCP 连接建立时,它们互不干扰,不能共存于同一台主机
【答案】A
【解析】端口号只具有本地意义,即端口号只是为了标识本计算机应用层中的各进程,且同一台计算机中
TCP 和 UDP 分别拥有自己的端口号,它们互不干扰。

33.UDP 端口号分为三类,熟知端口号和注册端口号,第三类是( )。
A.永久端口号
B.确认端口号
C.客户端口号
D.临时端口号
【答案】D
【解析】传输层端口号被分为三类,分别是熟知端口号、注册端口号和临时端口号。

34.Socket 套接字中包含( )。
A.主机名
B.IP 地址及 MAC 地址
C.MAC 地址及端口号
D.IP 地址及端口号
【答案】D
【解析】TCP 协议和 UDP 协议使用套接字来标识唯一的地址,TCP 的套接字由四元组(目的 IP 地址,源
IP 地址,目的端口号,源端口号)组成,UDP 的套接字由元组(目的 IP 地址,目的端口号)组成。

35.一个 TCP 连接使用 256kbit/s 的链路,其端到端延时为 128ms,经测试发现吞吐量只有 128kbit/s,忽略数据封装的开销以及接收方应答分组的发射时间,可以计算出窗口大小为( )。
A.1024B B.8192B C.10KB D.128KB
【答案】B
【解析】来回路程的时延等于 128ms*2=256ms,吞吐量为 128KBit/s,为发送速率的一半,说明链路中, 发送端只有一半的时间在发送数据,另一半的时间被时延占据,则数据发送时间=来回路程的时延=256ms,设窗口值为 x 字节,发送量等于窗口值时系统吞吐量等于 128kbit/s,其发送时间为 256ms,则
8x/(256*103)=256*10-3
解得 x=256*1000*256*0.001/8=256*32=8192
所以,窗口值为 8192。

36.考虑在一条具有 10ms 来回路程时间的线路上采用慢启动拥塞控制而不发生网络拥塞情况下的效应。接收窗口为 24KB,且最大段长 2KB。那么,能够发送第 1 个完全窗口需要的时间是( )。
A.10ms
B.40ms
C.50ms
D.120ms
【答案】B
【解析】拥塞窗口的初始值为最大报文段长度,即 2KB,发送方每次发送的报文成功发送并得到确认后, 拥塞窗口的大小将增加一倍,直到超时发生,或者到了接收方窗口的边界。现在,发送方每 10ms 成功发送一次, 窗口大小将依次为 2KB、4KB、8KB、16KB,下面是 24KB,发送四次后窗口大小达到第 1 个完全窗口。10ms
*4=40ms,因此,需要 40ms 才能发送第 1 个完全窗口。

37.以下关于传输层服务的说法正确的有( )。
A.传输层加强并弥补了通信子网的服务
B.传输层只提供一台主机到另一台主机的通信
C.传输层提供应用程序进程之间的通信手段
D.传输层起着承上启下的作用
【答案】C
【解析】传输层的最终目标是向其用户(一般是指应用层的应用进程,或应用层实体)提供有效、可靠且保证质量的服务。为了达到这一目标,传输层利用了网络层所提供的服务。

38.传输层为( )之间提供逻辑通信。
A.主机
B.进程
C.路由器
D.操作系统
【答案】B
【解析】传输层提供是端到端服务,为进程之间提供逻辑通信。

39.UDP 报文中,伪首部的作用是( )。
A.数据对齐
B.计算校验和
C.数据加密
D.数据填充
【答案】B
【解析】UDP 伪首部的功能是计算校验和。UDP 是一种无连接的协议,不需要在数据传输之前建立连接, 也不需要在数据传输之后释放连接。在使用 UDP 协议进行通信时,在数据发送方,UDP 传输实体将用户数据加上 UDP 数据报头部(包括构造伪首部与计算校验和的过程),形成 UDP 用户数据报。

40.下列关于 UDP 校验的描述中,( )是错误的。
A.UDP 校验和段的使用是可选的,如果源主机不想计算校验和,该校验和段应为全 0
B.在计算校验和的过程中,需要生成一个伪首部,源主机需要把该伪首部发送给目的主机
C.如果数据报在传输过程中被破坏,那么就把它丢弃
D.UDP 数据报的伪首部包含了 IP 地址信息
【答案】B
【解析】UDP 数据报的伪首部包含了 IP 地址信息,目的是通过数据校验保证 UDP 数据报正确地到达目的主机。该伪首部由源和目的主机仅在校验和计算期间建立,并不发送。

41.TCP 协议和 IP 协议所提供的网络服务层次分别为( )。
A.应用层和传输层
B.传输层和网络层
C.网络层和链路层
D.链路层和物理层
【答案】B
【解析】传输层提供端到端的数据传送服务,传输控制协议(TCP)和用户数据报协议(UDP)属于传输层协议。互联网络层负责提供基本的数据封包传送功能,让每一块数据报都能够到达目的主机,如网际协议(IP)属于网络层协议。

42.在 TCP 数据段的布局格式中,头开始的固定格式长度是( )。
A.20 字节
B.24 字节
C.32 字节
D.36 字节
【答案】A
【解析】TCP 报文段首部的前 20 个字节是固定的,后面有 4N 个字节是根据需要而增加的选项(N 是整数)。

43.下列选项中,( )控制端到端传送的信息量并保证 TCP 的可靠性。
A.广播
B.窗口
C.错误恢复
D.流量控制
【答案】B
【解析】TCP 协议使用窗口机制来保证传输可靠性,窗口机制通过超时重传、报文确认、报文段排序和流量控制等操作来实现可靠传输。

44.可靠传输协议中的“可靠”指的是( )。
A.使用面向连接的会话
B.使用“尽力而为”的传输
C.使用滑动窗口协议来维持可靠性
D.使用确认机制来保证传输的数据不丢失
【答案】D
【解析】如果一个协议使用确认机制对传输的数据进行确认,那么可以认为是一个可靠的协议。如果一个协议采用“尽力而为”的传输方式,那么是不可靠的。例如,TCP 对传输报文段进行确认。是一种可靠的传输协议, 而 UDP 对传输的报文段不提供确认,是一个不可靠的传输协议。

45.TCP 协议中发送窗口的大小应该是( )。
A.通知窗口的大小
B.拥塞窗口的大小
C.通知窗口和拥塞窗口中较小的一个
D.通知窗口和拥塞窗口中较大的一个
【答案】C
【解析】TCP 协议中发送窗口的大小应该是通知窗口和拥塞窗口中较小的一个。TCP 发送窗口=min{发送方拥塞窗口,接收方窗口}。

46.TCP 协议中用了 4 种计时器:重传计时器、坚持计时器、保持计时器和( )。
A.延迟计时器
B.时间等待计时器
C.端口计时器
D.服务时间计时器
【答案】B
【解析】为了实现TCP 协议的功能,使用了如下 4 种计时器:
(1)重传计时器,当 TCP 发送报文段时,就创建该特定报文段的重传计时器。
(2)坚持计时器,为了应对零窗口大小通知。
(3)保持计时器,用来防止在两个TCP 之间的连接出现长时期的空闲。
(4)时间等待计时器,在连接终止期间使用,其值通常设置为一个报文段的寿命期待值的两倍。

47.TCP 使用三次握手协议来建立连接,设 A、B 双方发送报文的初始序列号分别为X 和Y,A 发送( 1 )的报文给B,B 接收到报文后发送( 2 )的报文给 A,然后 A 发送一个确认报文给B 便建立了连接。(注:ACK的下标为捎带的序号)
(1)
A.SYN=1,序号=X
B.SYN=1,序号=X+1,ACKX=1
C.SYN=1,序号=Y
D.SYN=1,序号=Y,ACKY+1=1
(2)
A.SYN=1,序号=X+1
B.SYN=1,序号=X+1,ACKX=1
C.SYN=1,序号=Y,ACKX+1=1
D.SYN=1,序号=Y,ACKY+1=1
【答案】A;C
TCP 使用三次握手来建立连接,第一次握手 A 发给 B 的 TCP 报文中应置其首部 SYN 位为 1,并选择序号
seq=X,表明传送数据时的第一个数据字节的序号是 X;在第二次握手中,也就是 B 接收到报文后,发给 A 的确认报文段中应使 SYN=1,使 ACK=1,且确认号ACK=X+1,即 ACKX+1=1(注:ACK 的下标为捎带的序号)。同时告诉自己选择的序号 seq=Y。

48.UDP 数据报比 IP 数据报多提供了( )服务。
A.流量控制
B.拥塞控制
C.端口功能
D.路由转发
【答案】C
【解析】虽然 UDP 协议和 IP 协议都是数据报协议,但是它们之间还是存在差别。其中,最大的差别是 IP 数据报只能找到目的主机而无法找到目的进程,UDP 提供端口功能以及复用和分用功能,可以将数据报投递给对应的进程。

49.流量控制是用来防止( )。
A.比特差错
B.发送缓冲区溢出
C.接收缓冲区溢出
D.发送器和接收器的冲突
【答案】C
【解析】实施流量控制的目的除了为了使接收端来得及接收发送端发出的数据之外,更重要的是防止发送端发送的数据报文太多,以免使网络通信负载过重。

50.下列选项中。正确描述了流量控制的是( )。
A.一种管理有限带宽的方法
B.一种同步连接两台主机的方法
C.一种确保数据完整的方法
D.一种检查病毒的方法
【答案】C
【解析】流量控制用于防止在端口阻塞的情况下丢帧,这种方法是当发送或接收缓冲区开始溢出时通过将阻塞信号发送回源地址实现的。

51.如果用户应用程序使用 UDP 协议进行数据传输,那么( )的协议必须承担保证可靠性方面的全部工作。
A.数据链路层
B.互联网络层
C.传输层
D.应用层
【答案】D
【解析】如果用户使用 UDP 协议进行数据传输,则传输层的上层即应用层提供可靠性方面的全部工作。

52.在 Internet 上,计算机通信的基础构筑块是( )。
A.端口
B.服务器
C.套接口
D.分组
【答案】C
【解析】通讯的基石是套接字,一个套接字是通讯的一端。一个正在被使用的套接字都有它的类型和与其相关的进程。

53.设计传输层的目的是弥补通信子网的不足,提高传输服务的可靠性与保证( )。
A.安全性
B.进程通信
C.保密性
D.服务质量
【答案】D
【解析】传输层在网络层的基础上提供了端到端的数据传输服务,屏蔽了低层提供的服务差异并弥补了不足, 使得对于两端的网络用户来说,低层都变成透明的。传输层使高层用户看到在两个传输层实体之间好像有一条端到端的、可靠的、全双工的通信通路。

54.计算机网络最本质的活动是分布在不同地理位置的主机之问的( )。
A.数据交换
B.网络连接
C.进程通信
D.网络服务
【答案】C
【解析】计算机网络的本质活动是实现分布在不同地理位置的计算机之间的进程通信,进而实现应用层各种网络服务功能。

55.适用于B 型网络服务的传输层的协议级别是( )。
A.级别 0
B.级别 1
C.级别 2
D.级别 4
【答案】B
【解析】基于 3 种类型的网络服务,ISO 定义了 5 个级别的传输协议:级别 0(简单级)、级别 1(基本差错恢复级)、级别 2(多路复用级)、级别 3(差错恢复和多路复用级)、级别 4(差错检测和恢复级)。级别 1 和级别 3 适用于 B 型网络服务。

56.下列几种类型的网络服务中,服务质量最差的是( )。
A.A 型网络服务
B.B 型网络服务
C.C 型网络服务
D.D 型网络服务
【答案】C
【解析】ISO 将网络服务分成 3 种类型:A 型网络服务,B 型网络服务,C 型网络服务。A 型网络服务具有可接受的残余误码率和故障通知率;B 型网络服务具有可接受的残余误码率和不可接受的故障通知率;C 型网络服务具有不可接受的残余误码率和不可接受的故障通知率。比较得知,C 型网络服务服务质量最差。

57.TCP/IP 的传输层协议使用( )形式将数据传送给上层应用程序。
A.IP 地址
B.MAC 地址
C.端口号
D.套接字地址
【答案】C
【解析】TCP/IP 协议族中的传输层协议即 TCP 和 UDP 协议都通过端口号来标识不同的应用进程。因此
TCP 和 UDP 都根据端口号将数据传送给上层的应用程序。

58.下列有关TCP 和 UDP 的说法错误的是( )。
A.数据从应用程序中以字节流的形式传给TCP,而在 UDP 中,应用程序发送的是数据块
B.在 TCP 传输控制中,序号和确认号用来确保传输的可靠性。
C.UDP 并不提供对 IP 协议的可靠机制、流控制以及错误恢复功能等
D.网络文件系统(NFS)、简单网络管理协议(SNMP)、域名系统(DNS)以及简单父件传输系统(TFTP)的传输层都是用 TCP 实现的。
【答案】D
【解析】网络文件系统(NFS)、简单网络管理协议(SNMP)、域名系统(DNS)以及简单父件传输系统(TFTP)的传输层都是用 UDP 实现的。

59.下列有关TCP 和 IP 的说法错误的是( )。
A.IP 协议可以进行 IP 数据报的分割和组装。
B.TCP 不用担心 IP 数据报以错误的次序。
C.IP 对TCP 协议而言是透明的。
D.IP 协议提供的是无连接、不可靠的网络服务。
【答案】B
【解析】IP 数据报到达的顺序可能会不同,TCP 协议必须提供差错控制功能来处理乱序的情况。

60.OSI 七层模型中,提供端到端的透明数据传输服务、差错控制和流量控制的层是( )。
A.物理层
B.网络层
C.传输层
D.会话层
【答案】C
【解析】传输层的主要作用之一是为更高层协议屏蔽下层操作的细节,它使得高层协议不用去操心如何去获得所需级别的网络服务。传输层的目标是在源端机和目的机之间提供性能可靠、价格合理的数据传输,而与当前实际使用的网络无关,任何用户进程或应用进程可以直接访问传输服务,而不必经过会话层和表示层。同时 TCP 以供差错控制和流量控制的功能。

61.下列关于TCP 协议的叙述中,正确的是( )。
A.TCP 是一个点到点的通信协议
B.TCP 提供了无连接的可靠数据传输
C.TCP 将来自上层的字节流组织成数据报,然后交给 IP 协议
D.TCP 将收到的报文段组成字节流交给上层
【答案】D
【解析】A 项,IP 协议才是点到点的通信协议,TCP 是进程到进程的通信协议。B 项,TCP 提供有连接的可靠的数据传输。C 项,数据报是 IP 协议的数据传输单元。D 项,TCP 协议在网络层 IP 协议的基础上,向应用层提供可靠、全双工的端到端的数据流传输。TCP 协议通过可靠的传输连接将收到的报文段组织成字节流,然后交给上层的应用进程,这就为应用进程提供了有序、无差错、不重复和无报文丢失的流传输服务。

62.一个 TCP 连接的数据传输阶段,如果发送端的发送窗口值由 2000 变为 3000,意味着发送端可以( )。
A.在收到一个确认之前可以发送 3000 个 TCP 报文段
B.在收到一个确认之前可以发送 1000 个字节
C.在收到一个确认之前可以发送 3000 个字节
D.在收到一个确认之前可以发送 2000 个 TCP 报文段
【答案】C
【解析】TCP 协议提供的是可靠的字节流传输服务,并使用滑动窗口机制进行流量控制与拥塞控制。应当注意的是,TCP 通过滑动窗口实现的是以字节为单位的确认,因此窗口大小的单位为字节。假设发送窗口的大小为
N,这意味着发送端可以在没有收到确认的情况下连续发送N 个字节。

63.设 TCP 的拥塞窗口的慢开始门限值初始为 8(单位为报文段),当拥塞窗口上升到 12 时发生超时,TCP开始慢启动和拥塞避免,那么第 13 次传输时拥塞窗口的大小为( )。
A.4 B.6 C.7 D.8
【答案】C
【解析】在慢开始和拥塞避免算法中,拥塞窗口初始为 1,窗口大小开始按指数增长。当拥塞窗口大于慢开始门限后停止使用慢开始算法,改用拥塞避免算法。此处慢开始的门限值初始为 8,当拥塞窗口增大到 8 时改用拥塞避免算法,窗口大小按线性增长,每次增加 1 个报文段,当增加到 12 时,出现超时,重新设门限值为 6(12 的一半),拥塞窗口再重新设为 1,执行慢开始算法,到门限值 6 时执行拥塞避免算法。这样,拥塞窗口的变化为:1,2,4,8,9,10,11,12,1,2,4,6,7,8,9,„。其中,第 13 次传输时拥塞窗口的大小为 7。

64.在一个 TCP 连接中,MSS 为 1KB,当拥塞窗口为 34KB 时收到了 3 个冗余 ACK 报文。如果在接下来的 4 个 RTT 内报文段传输都是成功的,那么当这些报文段均得到确认后,拥塞窗口的大小是( )。
A.8KB B.16KB C.20KB D.21KB
【答案】D
【解析】注意条件“收到了 3 个冗余ACK 报文”说明此时应执行快恢复算法,那么慢开始门限值设为 17KB, 并且在接下来的第一个 RTT 中 cwnd 也被设为 17KB,第二个 RTT 中 cwnd=18,第三个 RTT 中 cwnd=19KB, 第四个 RTT 中 cwnd=20KB,第四个 RTT 中发出的报文全部得到确认后,cwnd 再增加 1KB,变为 21KB。注意
cwnd 的增加都发生在收到确认报文后。

65.一条TCP 连接的建立过程和释放过程,分别包括( )个步骤。
A.2,3 B.3,3 C.3,4 D.4,3
【答案】C
【解析】TCP 传输连接的建立采用“3 次握手”的方式,包括 3 个基本的步骤:A 发送一个请求连接报文给
B(SYN 标志置为 1),B 发回确认(SYN+ACK 标志置为 1),A 再加以确认(ACK 标志置为1)。
TCP 传输连接的释放采用“4 次握手”的方式,包括 4 个基本的步骤:A 向B 释放连接(FIN 标志置为 1),
B 发出确认(ACK 标志置为 1),B 释放连接(FIN 标志置为 1),A 发出确认(ACK 标志置为 1)。
二、综合应用题

1.简述 TCP 和 UDP 协议的主要特点和应用场合。答:UDP 的主要特点是:
(1)传送数据前无需建立连接,没有流量控制机制,数据到达后也无需确认。
(2)不可靠交付,只有有限的差错控制机制。
(3)报文头部短,传输开销小,时延较短。
因此,UDP 协议简单,在一些特定的应用中运行效率高。通常用于可靠性较高的网络环境(如局域网)或不要求可靠传输的场合,另外也常用于客户机/服务器模式中。
TCP 的主要特点是:
(1)面向连接,提供了可靠的建立连接和拆除连接的方法,还提供了流量控制和拥塞控制的机制。
(2)可靠交付,提供了对报文段的检错、确认、重传和排序等功能。
(3)报文段头部长,传输开销大。
因此,TCP 常用于不可靠的互联网中为应用程序提供面向连接的、可靠的、端到端的字节流服务。

2.在一个 1Gb/s 的 TCP 连接上,发送窗口的大小为 65535B,单程延迟时间等于 10ms。问可以取得的最大吞吐率是多少?线路效率是多少?
答:根据题意,往返时延 RTT=10ms*2=20ms。每 20ms 可以发送一个窗口大小的数据,每秒 50 个窗口
(1000ms/20ms=50)。每秒能发送数据即吞吐量:65535*8*50=26.214Mb/s;线路效率:26.214Mb/s/
1000Mb/s≈2.6%;所以,最大吞吐率是 26.214Mb/s,线路效率约为 2.6%。

3.有一个 TCP 连接,当它的拥塞窗口大小为 64 个分组大小时超时,假设该线路往返时间RTT 是固定的, 为 3s,不考虑其他开销,即分组不丢失,该TCP 连接在超时后处于慢开始阶段的时间是多少秒?
答:根据题意,当超时时,慢开始门限值 ssthresh 变为拥塞窗口大小的一半即 ssthresh=64/2=32 个分组。此后,拥塞窗口重置为 1,重新启用慢开始算法。根据慢开始算法的指数增长规律,经过 5 个 RTT,拥塞窗口大小变为 25=32,达到 ssthresh。此后便改用拥塞避免算法。因此,该TCP 连接在超时后重新处于慢开始阶段的时间是 5RTT=15s。

4.假定 TCP 的拥塞窗口值被设定 18KB,然后发生了超时事件。如果紧接着的 4 次突发传输都是成功的, 那么拥塞窗口将是多大?假定最大报文段长度 MSS 为 1KB。
答:由于在拥塞窗口值被设定为 18KB 时发生了超时事件,慢开始门限值被设定为 9K 字节,而拥塞窗口则重置为一个最大报文段长,然后重新进入慢开始阶段。在慢开始阶段,拥塞窗口值在一次成功传输后将加倍,直至到达慢开始门限值。因此,超时后的第 1 次传输将是 1 个最大报文段长度,然后是 2 个、4 个、8 个最大报文段长度,即在 4 次突发传输后,拥塞窗口的大小将是 8KB。

5.如果 TCP 往返时延 RTT 的当前值是 30ms,随后收到的三组确认按到达顺序分别是在数据发送后 26ms、
32ms 和 24ms 到达发送方,那么新的 RTT 估计值分别是多少?假定加权因子α=0.9。
答:往返时延是指数据从发出到收到对方相应的确认所经历的时间,它是用来设置计时器重传时间的一个主要参考数据。对于传输层来说,报文段的往返时延的方差较大,因此 TCP 采用了一种自适应的算法,它将各个报文段的往返时延样本加权平均,得到报文段的平均往返时延 RTT,计算公式如下:
平均往返时延RTT=α*(旧的RTT)+(1-α)*(新的往返时延样本)
(1)第 1 个确认到达后,旧的RTT=30ms,新的往返时延样本:26ms, 新的平均往返时延RTT=0.9*30+(1-0.9)*26=29.6ms
(2)第 2 个确认到达后,此时,旧的 RTT=29.6ms,新的往返时延样本=32ms, 新的平均往返时延RTT=0.9*29.6+(1-0.9)*32=29.84ms
(3)第 3 个确认到达后,此时,旧的 RTT=29.84ms,新的往返时延样本=24ms, 新的平均往返时延RTT=0.9*29.84+(1-O.9)*24=29.256ms
所以,新的估计值分别为 29.6ms,29.84ms,29.256ms。

6.假定 TCP 采用 2 次握手代替 3 次握手来建立连接,也就是说省去第三个报文,是否可能会发生死锁?
答:3 次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。
现在把三次握手改成仅需要两次握手,死锁是可能发生的。
作为例子,考虑计算机A 和 B 之间的通信,假定A 给 B 发送一个连接请求分组,B 收到了这个分组,并发送了确认应答分组。按照两次握手的协定,B 认为连接已经成功地建立了,可以开始发送数据分组。可是,A 在B 的应答分组在传输中被丢失的情况下,将不知道 B 是否已准备好,也不知道 B 发送数据使用的初始序列号,A 甚至怀疑 B 是否收到自己的连接请求分组。在这种情况下,A 认为连接还未建立成功,将忽略 B 发来的任何数据分组,只等待连接确认应答分组。而 B 在发出的分组超时后,重复发送同样的分组,这样就形成了死锁(如图 5-1 所示)。
在这里插入图片描述
7.IP 数据报的分片和重组是由 IP 协议控制的,而对TCP 协议而言是透明的。这是否意味着TCP 不用担心
IP 数据报以错误的次序到达?为什么?
答:尽管 IP 数据报的分片和重组是由 IP 协议控制的,但由于 IP 协议提供的是无连接、不可靠的网络服务,
IP 数据报到达的顺序可能会不同,TCP 协议必须提供差错控制功能来处理乱序的情况。
IP 协议可以进行 IP 数据报的分割和组装。但是通过 IP 协议并不能清楚地了解到数据报是否顺利地发送给目标计算机。而使用 TCP 协议时,在该协议传输模式中数据报成功发送给目标计算机后。TCP 会要求发送一个确认;如果在某个时限内没有收到确认,那么TCP 将重新发送数据报。另外,在传输的过程中,如果接收到无序、丢失以及被破坏的数据报,TCP 还可以将其恢复。传输控制协议(Transmission Contro1Protocol。TCP)是一种面向连接的、可靠的、基于字节流的运输层通信协议,通常由 IETF 的 RFC793 说明。在简化的计算机网络 OSI 模型中,它完成传输层所指定的功能。

8.如果 TCP 来回路程时间RTT 的当前值是 30 毫秒,随后应答分别在 26、32 和 24 毫秒到达,那么新的 RTT
估算值是多少?假定 a=0.9。
答:对于每一条连接。TCP 都维持一个变量 RTT,它是到达目的地的最佳估计值。当发送一个报文段的时候.启动计时器。查看应答要花费多少时问,如果时间太长,就要重发报文段。如果应答存超时前返回,TCP 就测量应答花了多长时间,比如说是 M,然后用下列公式更新 RTT 值:
RTT=aRTT+(1-a)M
现在 a=0.9,RTT=30 毫秒,M1=26,M2=32,M3=24 所 以 ,RTT1=0.9*30+(1-0.9)*26=29.6 RTT2=0.9*29.6+(1-0.9)*32=29.84
RTT3=0.9*29.84 十(1-0.9)*24=29.256
因此,新的RTT 估算值分别是 29.6 毫秒、29.84 毫秒和 29.256 毫秒。

9.传输控制协议 TCP 与 UDP 的区别?
答:TCP 与 UDP 有很大区别,功能上也比 UDP 强得多。最主要的区别是 TCP 是面向连接的。它更好地利用了套接字抽象模型,尽管套接字 API 也允许访问 UDP。数据从应用程序中以字节流的形式传给 TCP。而在 UDP 中,应用程序发送的是数据块。字节流被TCP 缓冲,一直积累到足够的程度才进行一个发送操作。然后 TCP 构造一个报文段(segment),报文段由缓冲的数据和 TCP 报头前缀组成。为了保证可靠性,数据的每个字节都被一个数字所标识。由发送者按次序指定。序号(Sequence)和确认号(Acknowledgement Number)用来确保传输的可靠性。此外,TCP 还使用了窗口(windowing)的概念来调节数据流,根据内部定时器能重发数据,识别和丢弃重复的数据。

10.UDP 和 TCP 都使用端口号表示报文投递的目的地实体。至少给出两条理由,说明这些协议为什么要采用一个新的抽象 ID(端口号)。而不使用在设计这些协议时就已经存在的进程 ID。
答:有三个理由:第一,进程 ID 是操作系统特有的,使用进程 ID 将使得这些协议依赖于操作系统;第二, 单个进程有可能建立多个通信通道,把单个进程 ID 用于目的地标识符就不能够对这些通道相互区别;第三,让进程在周知口上监听是可能的,但周知的进程 ID 是不可能的。

11.假设主机 A 通过 TCP 连接向主机 B 连续发送两个 TCP 报文段。第 1 个报文段的序号为 360,第 2 个报文段的序号为 476,长度为 24B。(1)第 1 个报文段中有多少数据?(2)假设第一个报文段丢失而第 2 个报文段到达主机 B,那么在主机B 发往主机A 的确认报文中,确认号是多少?
答:(1)因为第 1 个报文段和第 2 个报文段是连续的,且第 1 个报文段的序号为 360,笫 2 个报文段的序号为 476,所以第 1 个报文段中的数据为 476-360=116B。
(2)TCP 采用累计确认,由于第 1 个报文段丢失,也即 360 及其之后的数据都没收到,TCP 的确认号表示接下来希望收到的报文段的序号,所以确认号是 360。

12.在使用 TCP 传送数据时,如果有一个确认报文段丢失了,是否就一定会引起与该报文段对应的数据的重传?请说明理由。
答:这是不一定的。
在采用 TCP 传送数据时,确认报文段是对前面收到的正确无误数据的确认,同时告诉发送方,接收方欲接收的下一个报文段序号值。设想A 连续发送两个报文段:
(SEQ=92,DATA 共 8 字节)和(SEQ=100,DATA 共 20 字节),这两个报文均正确到达 B。B 连续发送两个确认报文段(ACK=100 和ACK=120),但前者在传送时丢失了。但是只要 A 收到了ACK=120 的确认报文段,它就不会重传 SEQ=92 的报文段,因为一旦它收到了 ACK=120 的确认报文段,它就认为 120 之前的数据已经被接收方正确接收了。

13.如下图所示为一个 TCP 主机中的拥塞窗口的变化过程,这里最大数据段长度为 1024 字节,请回答如下问题:
(1)该 TCP 协议的初始阀值是多少?为什么?
(2)本次传输是否有发生超时?如果有是在哪一次传输超时?
(3)在 14 次传输的时候阀值为多少?
(4)在本例中,采用了什么拥塞控制算法?
在这里插入图片描述
答:(1)该 TCP 协议的初始阀值为 16KB。可以看出来在拥塞窗口到达 16KB 之前指数增长,之后就呈线性增长了,说明初始阀值是 16KB。线性增长时拥塞窗口大小每次增加 1KB,同时说明最大数据段长度为 1KB。
(2)可以看到拥塞窗口在第 13 次传输后变为 1KB,说明这次发送发生超时。
(3)因为可以看到在之后的传输中,拥塞窗口到达 12KB 之后呈线性增长。说明在 14 次传输的时候拥塞窗口变为了 12KB。
(4)因为可以看到在发送失败后拥塞窗口马上变为了 1KB,而且阀值也变为了之前的一半。在拥塞窗口未达到阈值且发送成功时,拥塞窗口将加倍,由此看出采用的是慢启动算法。

14.如下图所示为一个网络连接的示意图,主机 1 到主机 2 采用了 SLIP 网络连接,SLIP 网络可以传输的最大数据段是 296 字节,主机 2 和主机 3 使用了以太网连接。
请问:
(1)为了使 IP 不分片,主机 1 可以在TCP 包中承载多少数据?
(2)主机 3 可以在TCP 包中承载多少数据?
(3)先在主机 1 和主机 3 建立起了一条TCP 连接,请问这条TCP 连接的 mss 值是多少?
在这里插入图片描述
答:(1)TCP 头部长 20,IP 头部长 20,为了使 IP 数据报不分片,主机 1 不能在 TCP 的数据中添加超过 256
字节的数据。
(2)由解析(1)可知主机 3 可以在数据中添加超过 1460 字节的数据。
(3)在 TCP 连接建立的过程中,双方协商 mss,由于主机 1 的 mss 为 256,主机 3 的 mss 为 1460,所以为了使 IP 不分片,整个 TCP 连接的 mss 应该为 256。

15.将要相互通信的双方怎样进行建立 TCP 连接?在 TCP 报文段的首部中只有端口号而没有 IP 地址,当TCP 将其报文段交给 IP 层时,IP 协议怎样知道目的 IP 地址呢?为什么把 IP 地址又称为“虚拟地址”,把 TCP连接说成是“虚连接”?假设在建立连接时使用 2 次握手而非 3 次握手方案,即不再需要第 3 条报文,这时会发生什么情况?举例说明。 答:(1)使用三次握手在将要相互通信的双方之间建立连接,过程如下: ①源主机发送一个同步标志位(SYN)置 1 的 TCP 数据段。此段中同时标明初始序号 (InitialSequenceNumber,ISN)。ISN 是一个随时间变化的随机值。 ②目标主机发回确认数据段,此段中的同步标志位(SYN)同样被置 l,且确认标志位(ACK)也置 1,同时在确认序号字段表明目标主机期待收到源主机下一个数据段的序号(即表明前一个数据段已收到并且没有错误)。此外,此段中还包含目标主机的段初始序号。 ③源主机再回送一个数据段,同样带有递增的发送序号和确认序号。 (2)仅从 TCP 报文段的首部是无法得知目的 IP 地址,TCP 必须告诉 IP 层此报文段要发送给哪一个目的主机(给出其 IP 地址)。 (3)因为 IP 地址是靠软件来维持的而不是硬件。互联网络也是虚拟的网络系统,它的通信系统是抽象的。虽然许多硬件和软件的组合看起来好像构成了一个很大的网络,但这样的大网络实际上并不存在。这种虚拟网络的地址也是虚拟的,因此 IP 地址又称为“虚拟地址”。 同样,因为在两个主机之间建立的 TCP 连接并非是真正的物理连接。传输层并不知道所传送的报文段都经过哪些中间结点。实际上,IP 数据报各自独立地选择路由,而所经过的中间结点(路由器)并不记录各 IP 数据报通过的情况。TCP 连接只是从传输层看来,好像在两个传输实体之间有一条连接,因此这条连接称之为“虚连接”。 (4)现在把三次握手改成两次握手,可能发生死锁。假定B 给A 发送一个连接请求分组,A 收到了这个分组,并发送了确认应答分组。按照两次握手的协定,A 认为连接已经成功地建立了,可以开始发送数据分组。可是,B 给A 的应答分组在传输中被丢失的情况下,不知道 A 是否已经准备好,不知道 A 建议 A 到 B 方向的连接使用什么样的序列号,也不知道 B 是否同意A 所建议的B 到A 交通的初始序列号等等,这时 B 认为连接还未建立成功,将忽略 A 发来的任何数据分组,只等待接收连接确认应答分组。而 A 在发出的分组超时以后,重复发送同样的分组。这样就形成了死锁。