第 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 报文头标不包括