2 题型 - 网络层转发
408 学习笔记:2 题型 - 网络层转发。保留原有知识内容、公式与图示;有对应原件时提供查看和下载入口。
本页目录
描述:路由器根据目的 IP 地址查转发表,若多条路由同时匹配,选择网络前缀最长的条目。IP 分组跨越不同链路时,源/目的 IP 通常保持不变,链路层源/目的 MAC 每跳重写;若经过 NAT,IP 地址还会按转换表修改。
2.1 路由器转发步骤
- 检查 IPv4 首部并将 TTL 减 1;若 TTL 变为 0,则丢弃,通常向源主机发送 ICMP 时间超过报文(教材补充:目的为广播/多播、非首片分片或原报文本身是 ICMP 差错等情形,不再发送 ICMP 差错)。
- 用目的 IP 地址与各路由条目的掩码按位与,判断该目的是否匹配条目前缀。
- 在所有匹配项中选择最长前缀匹配。
- 若路由指向下一跳,解析下一跳的链路层地址;若为直连路由,解析目的主机的链路层地址。
- 用出接口重新封装链路层帧并发送;IPv4 首部因 TTL 改变而需更新首部校验和。
默认路由 0.0.0.0/0 匹配任何目的地址,但前缀长度为 0,只有没有更具体路由时才使用。
2.2 IP 与 MAC 地址如何变化
在没有 NAT/NAPT 的普通路由转发中:
| 地址 | 是否逐跳变化 | 含义 |
|---|---|---|
| 源 IP | 否 | 始终是原始发送主机 |
| 目的 IP | 否 | 始终是最终接收主机 |
| 源 MAC | 是 | 当前链路发送端接口 |
| 目的 MAC | 是 | 当前链路下一跳接口或最终主机 |
因此:
- 主机向异网目的发送时,首跳以太网帧的目的 MAC 是默认网关接口的 MAC,不是远端主机的 MAC。
- 远端主机收到最后一跳帧时,源 MAC 是最后一跳路由器出接口的 MAC,不是原始发送主机的 MAC。
2.3 历年真题
2.3.1 2015 年:最长前缀匹配
路由表为:
| 目的网络 | 下一跳 | 接口 |
|---|---|---|
169.96.40.0/23 |
176.1.1.1 |
S1 |
169.96.40.0/25 |
176.2.2.2 |
S2 |
169.96.40.0/27 |
176.3.3.3 |
S3 |
0.0.0.0/0 |
176.4.4.4 |
S4 |
目的地址 169.96.40.5 同时落在 /23、/25、/27 三个范围中。最长前缀是 /27,覆盖 169.96.40.0-169.96.40.31,因此选择接口 S3。
答案:C,S3。
2.3.2 2018 年:跨路由器的 MAC 地址
H1=192.168.3.2,H2=192.168.4.2,两者通过路由器 R 相连。R 左接口 MAC 为:
00-1a-2b-3c-4d-51
R 右接口 MAC 为:
00-a1-b2-c3-d4-61
H1 与 H2 不同网段:
- H1 发出的首跳帧交给默认网关,目的 MAC 是 R 左接口
00-1a-2b-3c-4d-51。 - R 从右接口转发给 H2,H2 收到的帧的源 MAC 是 R 右接口
00-a1-b2-c3-d4-61。
答案:D。
2.3.3 2023 年:/30 链路上的 NAT 公网地址
R1 与执行 NAT 的 R2 通过 195.123.0.34/30 所在点到点链路相连,H 的私有地址为 192.168.0.3。
195.123.0.34/30 所在地址块是:
网络地址:195.123.0.32
可用地址:195.123.0.33、195.123.0.34
广播地址:195.123.0.35
R1 已使用 .34,所以 R2 的公网接口只能是 195.123.0.33。H 发往 Internet 的分组经 R2 转发后,NAT 将私有源地址换为 R2 公网地址:
源 IP = 195.123.0.33
不能选择 R2 的内网地址 192.168.0.1,因为私有地址不能在公网中直接路由。
答案:A,195.123.0.33。
2.4 路由类型
| 类型 | 典型前缀 | 用途 |
|---|---|---|
| 网络路由 | 如 192.168.1.0/24 |
到达整个目标网络 |
| 主机路由 | /32 |
只匹配一个具体主机,优先级最高 |
| 默认路由 | 0.0.0.0/0 |
其他条目均不匹配时使用 |
| 直连路由 | 与本接口在同一子网 | 直接交付给目的主机 |
最长前缀匹配比较的是前缀长度,不是路由表中的书写顺序,也不是下一跳 IP 的数值大小。
2.5 易错点
- 多条路由匹配时选掩码最长、前缀最具体的条目,不能“从上到下遇到第一条就停”。
- 默认路由一定匹配,但优先级最低。
- 跨网段首跳的目的 MAC 是默认网关;最终主机收到帧的源 MAC 是最后一跳路由器。
- 普通转发中端到端 IP 地址不变,MAC 地址逐跳改变;经过 NAT 时 IP 地址可能改变。
- /30 地址块只有两个可用接口地址,网络地址和广播地址不能分配。
相关知识
- 科目导航:计算机网络导航
- 阅读顺序:上一篇:IPv4 地址结构及计算 · 下一篇:路由协议
- 关联专题:网络层总纲
2.6 本节复盘
- 路由器查表使用最长前缀匹配;
169.96.40.5在 2015 年题中选择/27的 S3。 - 没有 NAT 时源/目的 IP 端到端保持不变,源/目的 MAC 每条链路重新封装。
- 主机向异网发送时把帧交给默认网关;远端收到的帧来自最后一跳路由器接口。
- 本题的源 NAT 把内网私有源地址换为 R2 的公网接口地址
195.123.0.33;教材补充:一般 NAT 也可能使用地址池中的其他公网地址,不能把“必用出接口地址”当成通则。