Skip to content

2025年 408 计算机网络 第 47 题

计算机网络2025年综合题9分

题目

某工程部网络通过卫星链路接入互联网(拓扑见下图)。已知:

  • 卫星轨道高度 36 000 km,电磁波速度 300 000 km/s
  • TR1 和 TR2 为全双工调制解调设备
  • 卫星链路为 R1、R2 之间提供对称全双工信号,每个方向数据传输率为 200 kbps

2025 真题第 47 题:卫星链路网络拓扑

结构(文字版)

  • 工程部网络:管理区子网(含主机 H,IP = 10.10.10.33/26)、作业区子网、生活区子网,三者通过 S1(交换机)+ R1(路由器)互联;R1 出口接 TR1(调制解调器),通过卫星链路上行
  • 卫星:作为透明中继,把 R1 ↔ R2 之间的信号转发
  • 总部网络:TR1(调制解调器)→ R2(路由器)→ 交换机 → 总部服务器;R2 同时接 Internet

(1) 忽略卫星信号中继、TR1、TR2 调制解调开销,则 R1 到 R2 之间的卫星链路单向传播时延是多少?主机 H 向总部服务器传输数据时可达到的最大吞吐量是多少?若忽略各层协议首部开销以及以太网的传播时延,则 H → 服务器上传一个 4000 B 的文件,至少需要多长时间?

(2) 基于 GBN 为卫星链路设计单向可靠的链路层协议 SLP,支持 R1 → R2 发送数据。SLP 数据帧长 1500 B,忽略 ACK 帧长度,要求 SLP 单向信道利用率不低于 80%,则发送窗口至少为多少?SLP 帧序号至少为多少位?

(3) 总部给工程部分配 IP 地址空间 10.10.10.0/24,再划分为 3 个子网:管理区子网、生活区子网、作业区子网。已知管理区子网地址为 10.10.10.33/26,若生活区子网不少于 120 个 IP 地址、作业子网与管理区子网 IP 均不少于 60 个,H 已正确配置 IP。请问作业区子网和生活区子网地址各是多少?

解析

(1) 单向传播时延 + 最大吞吐量 + 上传文件耗时

卫星链路的"双跳"特性:信号从 R1 → 卫星 → R2,要走"上行 36000 km + 下行 36000 km",单程传播总距离 = 72 000 km

单向 vs 双向:题问"R1 到 R2 之间单向",已经包含"地面 → 卫星 → 地面"两段地面/卫星链路,所以是 0.24 s(不再 ×2)。RTT 才是 0.48 s。

最大吞吐量

带宽 = 200 kbps(链路给的标称带宽)。当数据足够多、不停发送时,吞吐量 ≈ 链路带宽 = 200 kbps(瓶颈是带宽,不是传播时延)。

但要注意停等协议下吞吐量 = 数据帧 / (RTT + 数据帧时延),远小于 200 kbps。本题问的是"理论最大",即不停发送时的极限。

上传 4000 B 文件至少耗时

  • 传输时延(发完文件用时)=
  • 传播时延(最后一比特从 H 走到服务器)= 0.24 s(卫星链路是瓶颈段;以太网传播时延已忽略)

总耗时 = 0.16 s + 0.24 s = 0.4 s

公式直觉:发完最后一比特还要等它"飞过"链路才能算"到达"。所以总耗时 = 发送时延 + 传播时延,不能只算其中一项。

(2) GBN 滑动窗口 + 帧序号

信道利用率公式(GBN 简化版,发完一个窗口正好等到第一帧的 ACK 回来):

其中 = 数据帧发送时延、 = ACK 帧发送时延、 = 发送窗口大小。

先算各时间分量

  • ≈ 0(题面"忽略 ACK 帧长度")

代入要求

发送窗口必须取整数,所以 发送窗口

算帧序号位数

GBN 要求帧序号空间 ≥ 发送窗口 + 1(接收窗口为 1,发送窗口 + 接收窗口 ≤ 序号数)。

帧序号至少 4 位(可表示 16 个序号 ≥ 9)。

为什么 GBN 是 N+1:发送窗口 N 个 + 接收窗口 1 个 = N+1 个不重叠序号。如果序号空间 = N,新一轮发的帧序号会和老一轮未确认的帧重号——接收方收到后无法分辨是新数据还是重传,会错把新数据当成已收到的旧帧丢弃。SR 协议则需要 个序号(双侧窗口都是 N)。

(3) 子网划分

先算每个子网需要的主机位数

子网需求 IP 数 需求主机位 子网掩码长度
生活区≥ 1207/25
作业区≥ 606/26
管理区≥ 60同上6/26

已知管理区是 10.10.10.33/26 → 管理区基址 = 10.10.10.33 ∧ 11111111.11111111.11111111.11000000 = 10.10.10.0/26(覆盖 .0 ~ .63)。

逐步划分剩余地址空间(VLSM, 变长子网划分):

10.10.10.0/24 共 256 个地址,已被管理区 10.10.10.0/26(占 .0 ~ .63)用掉。剩余 .64 ~ .255 共 192 个地址。

  • 作业区 /26 需要 64 个地址连续段:10.10.10.64/26(.64 ~ .127)
  • 生活区 /25 需要 128 个地址且必须 .128 对齐:10.10.10.128/25(.128 ~ .255)

最终答案

  • 作业区子网地址 = 10.10.10.64/26(子网掩码 255.255.255.192)
  • 生活区子网地址 = 10.10.10.128/25(子网掩码 255.255.255.128)

VLSM 的"对齐"约束:每个子网的网络地址必须落在它自己掩码的整数倍位置。/25 的对齐刻度是 128,所以生活区只能从 .0 或 .128 开始;/26 的对齐刻度是 64,所以作业区只能从 .0、.64、.128、.192 开始。这是为什么先放最大子网(生活区)会更省事——但本题先固定了管理区 .0/26,于是生活区只能去 .128/25 了。

顺序"先大后小"为什么省事:变长子网划分有个常用经验法则——先放需求最大的子网(占地最大),它会从 .0 开始,剩下的"碎片地址"再分配给小子网。本题反序了(管理区最小但占了 .0),但仍可解。

最后更新:

⚠️ 这道题暂未配可视化,欢迎在 CodeBrick 反馈区告诉我们你想看哪道题