跳到主要内容

IP 与路由

网络层是互联网的核心,负责在任意主机之间转发分组。本节围绕 IP 地址、路由转发与地址转换展开。

IPv4 地址与子网掩码

IPv4 地址是 32 位整数,常按 8 位分组写成点分十进制,例如 192.168.1.10。最初按首位将地址分为 A、B、C、D、E 五类:

类别范围默认掩码用途
A1.0.0.0 - 126.255.255.255255.0.0.0(/8)大型网络
B128.0.0.0 - 191.255.255.255255.255.0.0(/16)中型网络
C192.0.0.0 - 223.255.255.255255.255.255.0(/24)小型网络
D224.0.0.0 - 239.255.255.255组播
E240.0.0.0 - 255.255.255.255保留

子网掩码将 IP 划分为 网络号主机号 两部分,网络号相同的主机属于同一子网。

CIDR 无类域间路由

传统分类造成地址浪费,CIDR(Classless Inter-Domain Routing)使用 斜线记法 表示前缀长度,如 192.168.1.0/24 表示前 24 位为网络号。CIDR 还支持 路由聚合(supernetting),将多个连续小网段合并为一条路由,显著减小全球路由表规模。

NAT

NAT(Network Address Translation)在边界路由器上把私有 IP(例如 10.0.0.0/8192.168.0.0/16)转换为公网 IP,缓解 IPv4 枯竭。

  • 源 NAT(SNAT):内网访问外网,常见形式是 PAT(端口地址转换),多台主机共享一个公网 IP,通过端口号区分。
  • 目的 NAT(DNAT):外网访问内网服务,通常与端口映射配合。

NAT 的代价是破坏端到端透明性,某些 P2P 协议需要 NAT 穿透技术(STUN/TURN/ICE)。

路由表与最长前缀匹配

每台路由器维护一张 路由表,条目形如 目的网络 | 下一跳 | 出接口 | 度量值。当分组到达时,路由器按 最长前缀匹配(Longest Prefix Match)选择最具体的路由。

目标 IP: 10.1.2.3
路由表:
0.0.0.0/0 via 203.0.113.1
10.0.0.0/8 via 192.168.0.1
10.1.0.0/16 via 192.168.0.2
10.1.2.0/24 via 192.168.0.3
匹配结果: 10.1.2.0/24(前缀最长)

路由协议分两类:域内(OSPF、IS-IS、RIP)与域间(BGP)。

IPv6 简介

IPv6 地址为 128 位,采用冒号十六进制表示,如 2001:db8::1,:: 表示连续的零。主要优势:

  • 地址空间近乎无限,无需 NAT。
  • 简化的首部,提高路由器处理效率。
  • 内置 IPSec 支持。
  • 即插即用的邻居发现协议(NDP,替代 ARP)。