本地资料网络层设备
SCHEDULE LOCAL高优先级11 个小节覆盖真题 20092025
关联考点路由器9NAT4做相关真题 · 11 道 →
做相关真题 · 11 道选中文字可高亮或加下划线
选中文字高亮 · 下划线

网络层设备

真题练习

掌握路由器的组成和功能,以及掌握路由表的画法,会在选择题和解答题中考察。

路由器

路由器(Router)是一种实现网络互连的设备,在 OSI 网络模型中的第三层,提供 路由转发 的两种重要机制;可以决定数据包从来源端到目的端所经过的路由路径,这个过程称为 路由;将路由器输入端的数据包移至适当路由器输出端,称为 转发

组成

路由器由输入端口、交换结构、输出端口与路由处理器组成

简单来说,路由器主要由以下软硬件组成:

  • 硬件:
    • 路由处理器/CPU:运行操作系统和路由协议,维护控制平面状态;
    • 输入端口:完成物理层、链路层接收和转发表查找;
    • 交换结构:在输入端口与输出端口之间高速搬运分组;
    • 输出端口:排队、调度并封装到输出链路。
  • 软件:
    • 操作系统:运行专用的嵌入式 操作系统,提供 路由协议 支持、配置管理等功能。

路由表与转发表

控制平面维护路由表并生成供数据平面高速查找的转发表

路由表 保存控制平面学到的直连、静态和动态路由;动态路由可来自 RIP、OSPF、BGP 等协议。设备再从候选路由中选出有效项,下发到数据平面的 转发表(FIB)。408 常把二者统称为路由表,但理解“控制平面选路、数据平面查表转发”的区别更准确。

路由表包含如下信息:

  • 目标网络(Network Destination):表示数据包要传递到的目标网络或主机。
  • 子网掩码(Network Mask):确定了 目标网络 的范围,路由器 使用它来匹配数据包的 目标地址
  • 下一跳/网关(Gateway):当前路由器应把分组交给的下一台路由器接口 IP;直连路由可能不需要下一跳。
  • 接口(Interface):指明了路由器上哪个物理或逻辑 接口 将被用来 转发 数据包。
  • 度量值(Metric):协议内部比较路径代价的依据,可以是跳数、带宽、时延或组合值,并不都等于跳数。转发时先做最长前缀匹配;同一前缀有多种来源时再考虑管理距离、协议度量和等价多路径等规则。

功能

路由表的 核心功能 就是 路由决策分组转发,接收数据包,查询路由表,然后从某个端口 转发出去。

分组转发

分组转发 是指路由器根据数据包的 目的 IP 地址 和其内部的 路由表,决定将数据包发送到下一个网络节点(下一跳)或 目标设备 的过程。其详细工作流程如下:

  1. 接收和解析 数据包
  2. 查询 路由表:
    • 路由器将 目的 IP 地址 与路由表中的条目进行匹配,使用 最长前缀匹配(Longest Prefix Match, LPM)算法选择 最佳路由
  3. 处理 TTL 和其他字段:
    • 路由器减少数据包的 TTL(Time To Live)值,防止循环转发。
    • IPv4 路由器在分组过大且 DF=0 时可以分片,但通常不在中间路由器重组;IPv6 路由器不执行分片。若设备还承担 NAT、防火墙等功能,会进行相应处理。
  4. 转发 数据包
    • 根据 路由表 查找结果,将数据包发送到指定的 下一跳 地址或直接连接的设备。

路由器转发时修改哪些 IP 字段?

  1. IPv4 的 TTL 减 1;IPv6 对应字段是 Hop Limit。
  2. IPv4 首部字段变化后要更新 首部校验和;IPv6 基本首部没有首部校验和。
  3. 如果是 NAT 路由器的话,需要修改 源 IP 或者 目的 IP 地址。
  4. IPv4 分组超过输出 MTU 且允许分片时,新分片的总长度、MF、片偏移和校验和等字段会变化;若 DF=1 则丢弃并返回 ICMP“需要分片”。IPv6 路由器不会替源主机分片。

最长前缀匹配

当路由器收到一个数据包时,它会提取数据包的 目的 IP 地址,并与 路由表 中的条目进行比较。最长前缀匹配的核心是选择与目的 IP 地址 前缀匹配最长 的路由表项,因为更长的前缀表示更具体的路由,优先级更高。

举个实际例子,假设有如下路由表:

网络前缀 子网掩码 下一跳/出接口
192.168.1.0/24 255.255.255.0 接口 A
192.168.0.0/16 255.255.0.0 接口 B
0.0.0.0/0 0.0.0.0 接口 C

对于 目的 IP 地址 192.168.1.100

1.192.168.1.0/24 匹配:前 24 位完全匹配。 2.192.168.0.0/16 匹配:前 16 位匹配。 3.0.0.0.0/0 匹配:默认路由,总是匹配。

由于 /24最长的前缀,路由器选择接口 A 作为下一跳。

下面的交互把目的地址逐位与 /24/16/0 比较,并允许换一个目的地址观察默认路由何时接管。

过程流

最长前缀匹配逐位筛选

用目的地址 192.168.1.100 依次检查 /24、/16 和默认路由,观察多个表项同时匹配时为何必须选择接口 A。

读取目的地址检查 /24读取目的地址检查 /16读取目的地址检查 /0检查 /24选择最具体路由检查 /16选择最具体路由检查 /0选择最具体路由选择最具体路由理解默认路由

当前查看:读取目的地址路由器只根据目的 IP 192.168.1.100 查询转发表,不按源地址选择这三条普通路由。

NAT

NAT(Network Address Translation,网络地址转换)的核心作用是把一个 IP 地址空间映射到另一个 IP 地址空间,常见的情形是把局域网内部的 私有 IP 地址 转换为 公网 IP 地址(或将公网地址转换回私有地址),从而实现内部设备与外部网络(如 Internet)的互联。NAT 主要有以下功能:

  • 解决 IPv4 地址匮乏:在 IPv4 中,公网地址资源有限。通过 NAT,整个局域网可以共享同一个或少量的公网 IP,极大地节约了地址分配。
  • 隐藏内部地址结构:外部通常只看到 NAT 设备的公网映射。但 NAT 不等同于防火墙,也不能替代访问控制、漏洞修复和端到端加密;已有映射、端口转发或实现缺陷仍可能允许入站流量。
NAPT 把多个私有地址和端口映射到一个公网地址的不同端口

NAT 表

上图中路由器的 NAT 表 的示例如下:

私有 IP 地址 私有端口 公网 IP 地址 公网端口 协议 连接状态
192.168.100.3 12345 145.12.131.7 54321 TCP ESTABLISHED
192.168.100.4 8888 145.12.131.7 54322 UDP NEW
192.168.100.5 15839 145.12.131.7 54323 TCP SYN_SENT
192.168.100.3 7890 145.12.131.7 54324 TCP ESTABLISHED

这张表同时改写 IP 地址和端口,更准确地说是 NAPT/PAT。狭义的基本 NAT 可以只做地址的一一映射,不一定修改端口。

表中条目包含如下内容:

  • 内部私有 IP 地址:局域网中设备的私有 IP 地址。
  • 内部端口号:发送数据包的私有网络设备所使用的端口号。
  • 外部公有 IP 地址:路由器 在广域网(WAN)侧使用的 IP 地址,通常是单个 IP 地址,但也可能有多个。
  • 外部端口号:与内部端口号对应的,由 NAT 分配用于标识特定会话的公有端口号。
  • 协议类型:数据包使用的协议(如 TCP、UDP 等)。

NAT 表的条目通常是 动态创建 的。当内部设备发起到外部网络的连接时,路由器会在 NAT 表中创建一个条目。通过 NAT 表,路由器可以将从外部网络收到的数据包转发到正确的内部设备。当 NAT 表中的条目因为超时或者NAT 表容量限制而被删除时,新的数据包会触发创建新的NAT条目。

地址转换过程

在 NAT(网络地址转换)中,数据包的地址会根据其流向进行相应的改写,主要可以分为两种情况:

  1. 从内网发送到公网

    • 当内网主机向外部(Internet)发起通信时,数据包首先经过 NAT 路由器。
    • 在此过程中,NAT 会把数据包的 源 IP 地址和源端口 替换为 路由器的公网 IP 地址和分配的公网端口(即进行源地址/端口转换,SNAT)。
    • 这样,外部主机只能看到公网 IP+端口,而看不到内部私有地址,确保内网结构对外部保持透明。
  2. 从公网返回到内网

    • 当外部主机向 NAT 路由器的公网 IP+端口发送响应报文时,报文同样会先到达 NAT 路由器。
    • NAT 根据既有动态映射或静态端口转发规则,把报文的 目的 IP 地址和目的端口 改写回私有地址与端口,随后转发给内网主机。没有匹配映射的非预期入站报文通常无法仅靠 NAT 找到内部接收者。

简要概括

  • 出站(内网 → 公网):修改 地址/端口为公网地址。
  • 入站(公网 → 内网):修改 目的 地址/端口为对应的私有地址。

通过上述两步映射,NAT 实现了内网主机对外通信的隐藏与地址复用,同时保证了返回流量能够正确回到发起请求的内部主机。

私有 IPv4 地址

在局域网(内部网络)中常用的 私有 IP 地址 共有三个连续的地址段。它们分别对应不同规模的网络,使用时只需在相应范围内任选一个未被占用的地址即可。

地址段(CIDR) 起始地址 结束地址 常见场景
10.0.0.0/8 10.0.0.0 10.255.255.255 大型网络、企业内部骨干网
172.16.0.0/12 172.16.0.0 172.31.255.255 校区网、部门网等中型网络
192.168.0.0/16 192.168.0.0 192.168.255.255 家庭或小型办公网

路由器接口 IP 地址

路由器接口的 IP 地址 配置方式取决于其连接的网络类型。常见有以下两种场景:

  1. 点对点连接:传统上常为链路划分 IPv4 /30 子网;支持 RFC 3021 的设备也可使用 /31,两端地址都作为主机地址使用,以进一步节省地址。

    • /30 子网按传统规则提供 2 个可用主机地址,正好分配给两端接口。
    • 这种方式能够高效利用地址空间,特别适合点对点链路。
  2. 连接到局域网或子网:当路由器接口接入一个局域网(LAN)或更大的子网时,需要分配该子网中的一个 IP 地址。

    • 工程上常选择第一个或最后一个可用地址作为默认网关,但这只是约定;任何未冲突、属于该子网的可用地址都可以。

    • 例如,在 192.168.1.0/24 子网中,路由器接口常被配置为 192.168.1.1192.168.1.254

路由器不同接口分别属于各自连接的 IP 子网