2017年408真题计算机网络篇
2017年408真题计算机网络篇
选择题
33.
问题: 假设OSI参考模型的应用层欲发送400B的数据(无拆分),除物理层和应用层之外,其他各层在封装PDU时均引入20B的额外开销,则应用层数据传输效率约为( )。
选项: A. 80% B. 83% C. 87% D. 91%
答案: A. 80%
解释: OSI模型从上到下有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
解释: 根据信道容量公式:
- 香农公式(有噪声):
\[ 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) \]
- 奈奎斯特公式(无噪声):
\[ 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
解释: 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
- 捎带确认(每个数据帧携带确认字段)
📘 第(1)问:
题目翻译:
从 t₀
到
t₁
,甲方能确定乙方正确接收了哪些数据帧?有多少个?请用
Sx,y
的形式写出。
✅ 中文答案:
根据图 (a),乙方向甲发来的最后一个数据帧为
R3,3
,表示乙希望接收编号为 3
的帧,即它已经收到并确认了编号为 0、1、2 的帧(GBN 协议是累积确认)。
甲方此前发出了
S0,0
、S1,0
、S2,0
、S3,0
、S4,1
,所以乙方正确收到的是前
3 个,即:
✅ 已正确接收的帧总数为 3 个,分别是: 👉
S0,0
、S1,0
、S2,0
📘 第(2)问:
题目翻译:
从 t₁
起,在 不超时且未收到乙方新帧
的情况下,甲最多还能发送几个帧?第一个和最后一个分别是哪一个(用
Sx,y
表示)?
✅ 中文答案:
发送窗口大小为 7。在 t₁
前,甲方已经发送了编号为 04
的帧,共计 5 个。
由于乙只确认了02号帧(窗口滑动到3),所以发送窗口中可用空间为
7 - (5 - 3) = 5
个。
因此,甲最多还能发送 5 个新帧:序号为
5, 6, 7, 0, 1
(循环使用3比特编号)。
确认号根据甲方接收的乙方帧 R3,3
可知,甲方希望乙方发送编号为 2 的帧,所以确认号固定为2。
✅ 最多还能发送5帧,从 S5,2
到
S1,2
。
📘 第(3)问:
题目翻译:
对于图(b),从 t₁
起,在未收到乙方新帧、无新超时的情况下,甲方需要重发多少帧?第一帧是哪个?
✅ 中文答案:
图 (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\% \]