Skip to content

2020年 408 计算机网络 第 47 题

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

题目

某校园网有两个局域网,通过路由器 R1、R2 和 R3 互联后接入 Internet,S1 和 S2 为以太网交换机,局域网采用静态 IP 地址配置,路由器部分接口以及各主机的 IP 地址如图所示:

203.10.2.1/30203.10.2.2/30203.10.2.5/30203.10.2.6/30192.168.1.1192.168.1.1InternetR1R2NATR3NATS1S2Web 服务器192.168.1.2H1192.168.1.3H2192.168.1.2H3192.168.1.3

关键观察:S1 子网(含 Web 服务器、H1)和 S2 子网(含 H2、H3)都使用同一段私有地址 192.168.1.0/24,主机 IP 甚至重复(Web ↔ H2 都是 .2,H1 ↔ H3 都是 .3)——这正是 NAT 隔离让"私网地址重用"成为可能的关键。

假设 NAT 转换表结构为:

外网 IP 地址外网端口号内网 IP 地址内网端口号

请回答下列问题:

(1) 为使 H2 和 H3 能够访问 Web 服务器(使用默认端口号),需要进行什么配置?

(2) 若 H2 主动访问 Web 服务器时,将 HTTP 请求报文封装到 IP 数据报 P 中发送,则 H2 发送 P 的源 IP 地址和目的 IP 地址分别是什么?经过 R3 转发后,P 的源 IP 地址和目的 IP 地址分别是什么?经过 R2 转发后,P 的源 IP 地址和目的 IP 地址分别是什么?

解析

(1) NAT 表配置

H2 / H3 在 S2 子网(私网 192.168.1.0/24),Web 服务器在 S1 子网(同样私网 192.168.1.0/24)——两网用了一模一样的地址段。如果不做地址转换,H2 直接发往 192.168.1.2 的分组会把自己网内的别人当成目标(甚至打回 H2 自己),永远到不了真正的 Web 服务器。

核心思路:在 R2 上配 NAT,让 Web 服务器对呈现一个公网 IP(用 R2 的 WAN 口 IP 203.10.2.2);H2/H3 想访问时发往这个公网 IP,R2 收到后查 NAT 表把目的地址改写回 Web 的私网 IP 192.168.1.2。

R2 的 NAT 转换表(题目"使用默认端口号"= HTTP 默认端口 80):

外网 IP 地址外网端口号内网 IP 地址内网端口号
203.10.2.280192.168.1.280

为什么内外端口都是 80:HTTP 默认端口固定 80。NAT 让外部世界看到的"Web 服务器"地址是 203.10.2.2:80,进入 R2 后由 NAT 改写成 192.168.1.2:80 转给 Web 服务器。这是典型的"端口转发(port forwarding)/ 静态 NAT"用法。

(2) IP 数据报 P 在三段路径上的源/目的地址

先把流向画清楚

H2 (192.168.1.2)  ─→  S2 ─→ R3 ─→ R1 ─→ R2 ─→ S1 ─→ Web (192.168.1.2)
                          [NAT@R3]            [NAT@R2]
                          源地址转换            目的地址转换

H2 想访问 Web,但 H2 知道的 Web 入口地址是公网 IP 203.10.2.2:80(NAT 表对外暴露的)。

阶段 A:H2 发出

  • 源 IP:H2 自己的私网 IP = 192.168.1.2
  • 目的 IP:Web 服务器对外暴露的公网 IP = 203.10.2.2

阶段 B:经过 R3(源地址 NAT)

R3 是 H2 出网必经的 NAT 网关。它把"私网源地址"换成 R3 的 WAN 口公网 IP(确保回程分组能找到 R3):

  • 源 IP:R3 的 WAN 口 = 203.10.2.6
  • 目的 IP:保持不变 = 203.10.2.2

阶段 C:经过 R2(目的地址 NAT)

R2 收到目的地址是自己 WAN 口的分组,查 NAT 表,把目的地址改写成内网 Web 服务器的真实地址:

  • 源 IP:保持不变 = 203.10.2.6
  • 目的 IP:Web 真实私网 IP = 192.168.1.2

汇总成表

阶段位置源 IP目的 IP
AH2 发出192.168.1.2203.10.2.2
BR3 转发后203.10.2.6203.10.2.2
CR2 转发后203.10.2.6192.168.1.2

NAT 的"双向改写"对比

  • 源 NAT(SNAT):R3 在内网→外网方向改源 IP,让回程分组能找到自己(典型出网方向用)
  • 目的 NAT(DNAT):R2 在外网→内网方向改目的 IP,把流量分发到内部对应服务器(端口转发本质)

完整 H2→Web 路径上恰好两次 NAT:先 SNAT 后 DNAT。回程 Web→H2 也是两次:R2 SNAT(源 192.168.1.2 → 203.10.2.2)+ R3 DNAT(目的 203.10.2.6 → 192.168.1.2)。

为什么 R1 不做 NAT:R1 是骨干路由器,承载的是已经被 R2/R3 NAT 过的公网 IP 流量,不需要再转换。NAT 只发生在"私网 ↔ 公网"边界,R1 处理的是"公网 ↔ 公网"。

最后更新:

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