网络层使命:在任意两主机间找路径,把分组从源送到目的,只承诺「尽力而为(best-effort)」,可靠性交给传输层(见第 4 章)。
IPv4 地址 32 位,写成点分十进制 192.168.1.1,分「网络号 + 主机号」两部分:
| 表示 | 含义 |
|---|---|
192.168.1.0/24 | CIDR 记法:前 24 位是网络号,主机位 8 位,可容纳 2^8−2=254 台主机 |
子网掩码 255.255.255.0 | 等价于 /24 |
全 0 主机位 = 网络地址,全 1 主机位 = 广播地址(二者不可分配给主机)。
子网划分:借主机位当网络位、延长前缀,把大网络切成小网络。CIDR 取消 A/B/C 固定边界,允许任意长度前缀,路由表用 网络/前缀 聚合——现代互联网的基础。
对比:IPv4 32 位、约 43 亿个,早已耗尽,靠 NAT 续命;IPv6 128 位,写法
2001:db8::1(双冒号压缩连续 0),原生支持 SLAAC(见第 2 章)。IPv6 去掉首部校验和,把分片从路由器移到端点。
| 维度 | 距离向量(RIP) | 链路状态(OSPF) |
|---|---|---|
| 信息 | 到各网络的距离(跳数) | 全网链路状态 |
| 交换对象 | 只与邻居 | 泛洪全网 |
| 算法 | Bellman-Ford | Dijkstra |
| 收敛速度 | 慢(坏消息传得慢) | 快 |
| 度量 | 跳数(≤15 跳) | 可自定义(带宽、代价) |
| 适用规模 | 小型网络 | 大型自治系统内部 |
对比:距离向量只跟邻居交换「到各网络的距离表」、迭代收敛;链路状态把全网拓扑广播给所有人、各自用 Dijkstra 算最短路径。
距离向量的坑:「坏消息传得慢」——链路断开后路由环路/计数到无穷可能持续很久(RIP 用 16 跳表示不可达兜底)。
ICMP 是 IP 的辅助协议,用于报告错误和诊断,不发应用数据:
ping -c 4 example.com # Echo Request / Echo Reply,测连通性与 RTT
traceroute example.com # TTL 递增,收集沿途 TTL 超时,画出路径
NAT 让多台私有地址主机共享一个公网 IP:
内网 192.168.1.x ──→ NAT 路由器 ──→ 公网 IP(如 203.0.113.5)
IP:端口 ↔ 公网 IP:端口),替换地址发出、回程换回。