2017年408真题计算机网络篇

选择题


33.

问题: 假设OSI参考模型的应用层欲发送400B的数据(无拆分),除物理层和应用层之外,其他各层在封装PDU时均引入20B的额外开销,则应用层数据传输效率约为( )。

选项: A. 80% B. 83% C. 87% D. 91%

答案: A. 80%

解释: OSI模型从上到下有7层,分别为:

  1. 应用层
  2. 表示层
  3. 会话层
  4. 传输层
  5. 网络层
  6. 数据链路层
  7. 物理层

题目说明只有应用层和物理层不增加额外开销,所以有 5 层增加额外开销。

每层开销为 20B,共计开销为:

1
5 × 20B = 100B

总传输数据为:

1
400B(原始数据)+ 100B(各层开销)= 500B

传输效率为:

1
应用层数据 / 总传输数据 = 400B / 500B = 0.8 = 80%

34.

问题: 若信道在无噪声情况下的极限数据传输速率不小于信噪比为30dB条件下的极限数据传输速率,则信号状态数至少是( )。

选项: A. 4 B. 8 C. 16 D. 32

答案: D. 32

解释: 根据信道容量公式:

  1. 香农公式(有噪声):

\[ C = W \log_2(1 + \frac{S}{N}) \]

将 SNR(信噪比)30dB 转换为普通比值:

\[ 30\,dB = 10 \log_{10}(\frac{S}{N}) \Rightarrow \frac{S}{N} = 10^{3} = 1000 \]

代入香农公式:

\[ C = W \log_2(1 + 1000) = W \log_2(1001) \]

  1. 奈奎斯特公式(无噪声):

\[ C = 2W \log_2 M \]

其中 M 是码元可表示的状态数。

根据题意:

\[ 2W \log_2 M \geq W \log_2 1001 \]

两边除以 W:

\[ 2 \log_2 M \geq \log_2 1001 \]

再除以 2:

\[ \log_2 M \geq \frac{1}{2} \log_2 1001 \]

计算:

\[ \log_2 1001 \approx 9.97 \Rightarrow \log_2 M \geq 4.985 \Rightarrow M \geq 2^{4.985} \approx 31.6 \]

所以 M 至少为最接近的 2 的幂次,即:

\[ M = 32 \]


35.

问题: 在下图所示的网络中,若主机H发送一个封装访问Internet的IP分组的IEEE 802.11数据帧F,则帧F的地址1、地址2和地址3分别是( )。

选项: A. 00-12-34-56-78-9a, 00-12-34-56-78-9b, 00-12-34-56-78-9c B. 00-12-34-56-78-9b, 00-12-34-56-78-9a, 00-12-34-56-78-9c C. 00-12-34-56-78-9b, 00-12-34-56-78-9c, 00-12-34-56-78-9a D. 00-12-34-56-78-9a, 00-12-34-56-78-9c, 00-12-34-56-78-9b

答案: B. 00-12-34-56-78-9b, 00-12-34-56-78-9a, 00-12-34-56-78-9c

img

解释: IEEE 802.11 无线帧结构中,根据帧控制字段中“to DS(去往分布系统)” 和 “from DS(来自分布系统)” 的设置,前三个地址字段的含义如下:

To DS From DS 地址1 地址2 地址3
1 0 接入点地址(AP) 源地址(发送者H) 目的地址(如目标IP的下一跳MAC)
  • 主机 H 要通过无线网络访问互联网,是 去往AP,即 To DS = 1,From DS = 0
  • 地址1 = AP 的 MAC 地址 = 00-12-34-56-78-9b
  • 地址2 = H 的 MAC 地址 = 00-12-34-56-78-9a
  • 地址3 = IP 数据包的最终目的地的下一跳 MAC 地址,这里是连接外网的路由器 R = 00-12-34-56-78-9c

所以,顺序为 地址1(AP),地址2(H),地址3(R)


36.

问题: 下列IP地址中,只能作为IP分组的源IP地址但不能作为目的IP地址的是( )。

选项: A. 0.0.0.0 B. 127.0.0.1 C. 20.10.10.3 D. 255.255.255.255

答案: A. 0.0.0.0

解释: IP地址中有一些特殊地址的用法:

IP地址 说明 是否能做源地址 是否能做目的地址
0.0.0.0 表示“本机”,用于设备启动阶段临时使用 ✅ 是 ❌ 否
127.0.0.1 回环地址,主机与自己通信 ✅ 是 ✅ 是
20.10.10.3 普通公网地址 ✅ 是 ✅ 是
255.255.255.255 本地广播地址,只在本地网络广播使用 ❌ 否 ✅ 是
  • 0.0.0.0:只能作为源地址,表示“此主机”,如DHCP请求中的源地址。
  • 所以,本题正确选项为 A. 0.0.0.0

37.

问题: 直接封装 RIP、OSPF、BGP 报文的协议分别是( )。

选项: A. TCP、UDP、IP B. TCP、IP、UDP C. UDP、TCP、IP D. UDP、IP、TCP

答案: D. UDP、IP、TCP

解释:

了解三个主要路由协议的封装方式:

协议 封装层协议 使用端口/协议号
RIP UDP 端口号 520
OSPF IP(直接) 协议号 89
BGP TCP 端口号 179
  • RIP (Routing Information Protocol):使用 UDP 封装,因为它是基于距离向量的路由协议,不需要可靠连接。
  • OSPF (Open Shortest Path First):使用 IP 直接封装,即其报文直接封装在 IP 数据报中,不再使用 TCP 或 UDP。
  • BGP (Border Gateway Protocol):使用 TCP 封装,这是因为 BGP 的信息交换需要可靠传输。

因此,答案顺序为 UDP(RIP)、IP(OSPF)、TCP(BGP),对应选项 D


38.

问题: 若将网络 21.3.0.0/16 划分为 128 个规模相同的子网,则每个子网可分配的最大 IP 地址个数是( )。

选项: A. 254 B. 256 C. 510 D. 512

答案: C. 510

解释:

给定的网络是 21.3.0.0/16,表示前 16 位为网络号,总共 32 位地址中剩下 16 位为主机部分。

要将该网络划分为 128 个子网,需要:

\[ \log_2(128) = 7 \text{ 位作为子网号} \]

从原来的 16 位主机号中拿出 7 位做子网号,还剩下:

\[ 16 - 7 = 9 \text{ 位用于主机号} \]

每个子网中地址数为:

\[ 2^9 = 512 \]

但每个子网的 第一个地址是子网地址(主机号全 0),最后一个地址是广播地址(主机号全 1),都不能分配给主机,所以实际能分配的主机 IP 数为:

\[ 512 - 2 = 510 \]

因此,每个子网最多可分配 510 个主机地址,选 C


39.

问题: 若甲向乙发起一个 TCP 连接,最大段长 MSS = 1KB,RTT = 5ms,乙开辟的接收缓存为 64KB,则甲从连接建立成功至发送窗口达到 32KB,需经过的时间至少是( )。

选项: A. 25 ms B. 30 ms C. 160 ms D. 165 ms

答案: A. 25 ms

解释:

使用 TCP 的慢开始算法(slow start),即每经过一个往返时间 RTT,拥塞窗口大小加倍,直到达到接收方的接收窗口上限(rwnd)或发生拥塞。

  • 初始 cwnd = 1 KB,每个 RTT 加倍:
    • RTT 1:1 KB
    • RTT 2:2 KB
    • RTT 3:4 KB
    • RTT 4:8 KB
    • RTT 5:16 KB
    • RTT 6:32 KB

但注意,RTT 1 是连接建立成功后开始的第一个 RTT,发送了 1KB,之后每次加倍,因此:

  • 第一次发 1 KB
  • 第二次发 2 KB(累计 3KB)
  • 第三次发 4 KB(累计 7KB)
  • 第四次发 8 KB(累计 15KB)
  • 第五次发 16 KB(累计 31KB)
  • 第六次将能发 32 KB → 达到题目要求

但题目问的是“发送窗口达到 32KB 所需时间”,从发送 1 KB 到达到 32 KB 的发送能力,用了 5 个 RTT(因为第五个 RTT 时发送窗口就可以发 32KB 了)

  • RTT = 5ms,5 RTT = 5 × 5ms = 25ms

因此答案是 A。


40.

问题: 下列关于 FTP 协议的叙述中,错误的是( )。

选项: A. 数据连接在每次数据传输完毕后就关闭 B. 控制连接在整个会话期间保持打开状态 C. 服务器与客户端的 TCP 20 端口建立数据连接 D. 客户端与服务器的 TCP 21 端口建立控制连接

答案: C. 服务器与客户端的 TCP 20 端口建立数据连接

解释:

FTP(File Transfer Protocol)使用两个连接:

连接类型 作用 默认端口
控制连接 命令/响应通信 服务器的 TCP 21 端口
数据连接 文件/目录传输 主动模式:服务器的 TCP 20 端口被动模式:服务器随机高端口
  • A 正确:每次传输完成后,数据连接就关闭,重新建立用于下一次传输。
  • B 正确:控制连接始终保持,直到整个会话结束。
  • C 错误:描述不准确。主动模式中,数据连接是“客户端临时端口连接到服务器 TCP 20 端口”;而选项中“服务器与客户端的 TCP 20 端口建立数据连接”描述错误,双方角色、端口混淆。
  • D 正确:控制连接固定为客户端临时端口连服务器 TCP 21 端口。

因此答案是 C。


GBN


题干关键信息提取

  • 使用 GBN协议(Go-Back-N)
  • 发送和确认序号都是3比特 → 序号范围为 0~7(共 8 个)
  • 发送窗口大小最大为:WT ≤ 2³ - 1 = 7
  • RTT = 0.96 ms,帧长 = 1000 B,信道带宽 = 100 Mbps
  • 捎带确认(每个数据帧携带确认字段)
img

📘 第(1)问:

题目翻译:

t₀t₁,甲方能确定乙方正确接收了哪些数据帧?有多少个?请用 Sx,y 的形式写出。

img

✅ 中文答案:

根据图 (a),乙方向甲发来的最后一个数据帧为 R3,3,表示乙希望接收编号为 3 的帧,即它已经收到并确认了编号为 0、1、2 的帧(GBN 协议是累积确认)。 甲方此前发出了 S0,0S1,0S2,0S3,0S4,1,所以乙方正确收到的是前 3 个,即:

已正确接收的帧总数为 3 个,分别是: 👉 S0,0S1,0S2,0


📘 第(2)问:

题目翻译:

t₁ 起,在 不超时且未收到乙方新帧 的情况下,甲最多还能发送几个帧?第一个和最后一个分别是哪一个(用 Sx,y 表示)?

img

✅ 中文答案:

发送窗口大小为 7。在 t₁ 前,甲方已经发送了编号为 04 的帧,共计 5 个。 由于乙只确认了02号帧(窗口滑动到3),所以发送窗口中可用空间为 7 - (5 - 3) = 5 个。

因此,甲最多还能发送 5 个新帧:序号为 5, 6, 7, 0, 1(循环使用3比特编号)。 确认号根据甲方接收的乙方帧 R3,3 可知,甲方希望乙方发送编号为 2 的帧,所以确认号固定为2。

最多还能发送5帧,从 S5,2S1,2


📘 第(3)问:

题目翻译:

对于图(b),从 t₁ 起,在未收到乙方新帧、无新超时的情况下,甲方需要重发多少帧?第一帧是哪个?

img

✅ 中文答案:

图 (b) 中,乙方发来的最后一个确认帧是 R2,2,即它只正确收到了帧 0 和 1,期望收到帧 2。 由于 GBN 是“出错帧及其后所有帧都要重传”,所以甲要从帧 2 开始重发。

甲前面已经发送了帧 0~4,所以需要重发的是:帧 2, 3, 4,共 3 个帧。 第一个需要重发的是:👉 S2,3(其中确认号 3 表示甲希望收到乙发来的 3号帧)。


📘 第(4)问:

题目翻译:

甲方最大信道利用率是多少?

✅ 中文答案:

  • 帧长度 = 1000B = 8000 bit
  • 带宽 = 100 Mbps
  • 发送一帧所需时间 t₁ = 8000 / 100e6 = 0.08 ms
  • RTT = 0.96 ms,捎带确认帧也要传输:t₂ = 0.08 ms

总的往返周期时间 T = t₁ + RTT + t₂ = 0.08 + 0.96 + 0.08 = 1.12 ms

最大窗口内可以连续发送 7 帧,因此信道利用率:

\[ U = \frac{7 \times t₁}{T} = \frac{7 \times 0.08}{1.12} = 0.5 = 50\% \]