网络层
medium计算机网络IPIPv4IPv6ICMP子网划分路由
网络层的核心职责
网络层负责将数据包从源主机送达目标主机,跨越多个网络,核心功能是路由和寻址。
IP 协议
IPv4 地址
IPv4 地址长 32 位,通常用点分十进制表示:192.168.1.100
IP 地址 = 网络号 + 主机号
子网掩码用于区分网络号和主机号:
IP: 192.168.1.100 = 11000000.10101000.00000001.01100100
掩码: 255.255.255.0 = 11111111.11111111.11111111.00000000
─────────网络号────────── ──主机号──
CIDR 表示法: 192.168.1.100/24 ← /24 表示前 24 位是网络号
特殊 IP 地址
| 地址 | 用途 |
|---|---|
127.0.0.1 |
环回地址(localhost) |
10.x.x.x、172.16~31.x.x、192.168.x.x |
私有地址(局域网) |
0.0.0.0 |
本网络(通常表示"所有接口") |
255.255.255.255 |
广播地址 |
IPv4 vs IPv6
| 特性 | IPv4 | IPv6 |
|---|---|---|
| 地址长度 | 32 位(约 43 亿个) | 128 位(约 3.4×10³⁸ 个) |
| 表示方式 | 192.168.1.1 |
2001:0db8::1 |
| NAT | 普遍使用 | 不需要(地址充足) |
| 报文头 | 可变长度(20~60字节) | 固定 40 字节(更高效) |
IP 数据报结构
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│Version│ IHL │ TOS │ Total Length │
├───────┴───────┼───────────┼───────────────────────────────────┤
│ Identification│Flags│ Fragment Offset │
├───────────────┼─────┼─────────────────────────────────────────┤
│ TTL │Protocol │ Header Checksum │
├───────────────┴───────────┼───────────────────────────────────┤
│ Source IP Address │
├───────────────────────────────────────────────────────────────┤
│ Destination IP Address │
└───────────────────────────────────────────────────────────────┘
TTL(Time To Live):数据包每经过一个路由器,TTL 减 1。减到 0 就丢弃,防止数据包在网络中无限循环。traceroute 正是利用递增的 TTL 来探测路由路径。
ICMP 协议
ICMP(Internet Control Message Protocol)用于网络诊断和错误报告。
| 类型 | 功能 | 应用 |
|---|---|---|
| Echo Request/Reply | 测试连通性 | ping |
| Time Exceeded | TTL 减为 0 | traceroute |
| Destination Unreachable | 目标不可达 | 网络错误诊断 |
ping 8.8.8.8 # 发送 ICMP Echo Request,收到 Reply 说明可达
traceroute 8.8.8.8 # 逐步增加 TTL,收集沿途路由器信息
路由
路由器根据路由表决定将数据包转发到哪个下一跳:
路由表示例:
目标网络 下一跳 接口
192.168.1.0/24 直连 eth0
10.0.0.0/8 192.168.1.1 eth0
0.0.0.0/0 192.168.1.254 eth0 ← 默认路由
NAT(网络地址转换)
NAT 将私有 IP 地址转换为公网 IP 地址,解决了 IPv4 地址不足的问题:
局域网 NAT 路由器 互联网
192.168.1.100:5000 ──▶ 公网IP:12345 ──▶ 服务器
192.168.1.101:5001 ──▶ 公网IP:12346 ──▶ 服务器
NAT 转换表:
内部地址 外部地址
192.168.1.100:5000 203.0.113.1:12345
192.168.1.101:5001 203.0.113.1:12346
生产高频题
IP 地址和 MAC 地址各自的作用?
IP 地址是逻辑地址,用于跨网络的端到端寻址("从北京到上海")。MAC 地址是物理地址,用于同一局域网内的相邻节点寻址("从这个路口到下一个路口")。数据包在传输过程中 IP 地址不变,但 MAC 地址每经过一个路由器就会改变。
什么是子网划分?
通过子网掩码将一个大的 IP 网络划分为多个较小的子网,提高 IP 地址利用率和网络管理效率。子网掩码中 1 的位数确定网络号长度,0 的位数确定主机号长度。