如果把网络通信比作全球快递体系:数据链路层负责同一个小区内的上门派送(MAC 地址寻址),传输层负责区分具体收件人(端口号),那网络层的 IP 协议,就是负责跨城市、跨国家的地址规划与路径调度 —— 它决定了数据包从你的设备到远端服务器,要经过哪些路由器、走哪条路径才能最终送达。
IP(Internet Protocol,网际协议)是 TCP/IP 协议栈的核心,也是整个互联网的底层基石。
一、核心定位与基本特性
1. 层级与核心职责
- 层级:OSI 七层模型的第 3 层(网络层),TCP/IP 四层模型的「网际层」
- 承上启下:向上为传输层(TCP/UDP)提供统一的地址服务,向下屏蔽不同数据链路层的差异
- 三大核心职责:
- 寻址:为每台网络设备分配唯一逻辑地址(IP 地址),标识其在全网的位置
- 路由选择:在复杂的网络拓扑中,为数据包选择最优传输路径
- 分片与重组:适配不同链路的最大传输单元(MTU),保证大包能跨链路传输
2. 三大核心特性
- 无连接:发送数据包前不需要和对方提前建立连接,构造好报文直接转发
- 不可靠:不保证数据包一定送达、不保证顺序、不保证不重复,出错直接丢弃,不做重传
- 尽力而为:尽最大努力将数据包送达目的地,可靠性保障完全交给上层(TCP 协议)实现
二、IPv4 地址:网络世界的门牌号
IPv4 是当前主流的 IP 版本,地址长度为 32 位。
1. 基本格式
32 位二进制数,为了方便阅读,通常写成点分十进制形式:每 8 位为一组,转换成十进制,用点分隔。 例如:192.168.1.1对应的二进制是11000000.10101000.00000001.00000001。
2. 传统有类地址划分
早期 IP 地址按前几位固定划分网络类型,共分为 5 类:
表格
| 类别 | 开头特征 | 首字节范围 | 默认子网掩码 | 适用场景 |
|---|---|---|---|---|
| A 类 | 0 开头 | 0~127 | 255.0.0.0 | 超大型网络 |
| B 类 | 10 开头 | 128~191 | 255.255.0.0 | 中大型网络 |
| C 类 | 110 开头 | 192~223 | 255.255.255.0 | 小型局域网 |
| D 类 | 1110 开头 | 224~239 | - | 组播地址 |
| E 类 | 1111 开头 | 240~255 | - | 保留实验用 |
3. 子网掩码与 CIDR(无类域间路由)
有类地址浪费严重,现在主流使用CIDR灵活划分网段,核心是通过子网掩码区分「网络位」和「主机位」:
- 子网掩码:与 IP 地址一一对应,网络位为 1,主机位为 0
- CIDR 表示法:
IP地址/前缀长度,前缀长度就是网络位的位数,例如192.168.1.0/24 - 网络地址:IP 地址与子网掩码做按位与运算,得到网段的唯一标识
- 广播地址:主机位全为 1,用于向网段内所有设备发送广播
示例:IP192.168.1.100/24
- 子网掩码:255.255.255.0
- 网络地址:192.168.1.0
- 广播地址:192.168.1.255
- 可用主机数:2^8 - 2 = 254 台(减去网络地址和广播地址)
4. 特殊地址与私有网段
- 环回地址:
127.0.0.0/8,代表本机内部通信,最常用127.0.0.1 - 0.0.0.0:代表本机所有网卡地址,常用于服务端监听所有接口
- 受限广播:
255.255.255.255,仅在本网段内广播,路由器不转发 - 私有 IP 地址:公网不可路由,仅在内网使用,多个内网可复用
10.0.0.0/8172.16.0.0/12(172.16.0.0 ~ 172.31.255.255)192.168.0.0/16
5. NAT:地址枯竭的临时方案
NAT(网络地址转换)用来缓解 IPv4 地址不足:将内网私有 IP 转换为少数公网 IP,多台设备共用一个公网 IP 上网。
- 优点:节省公网 IP,隐藏内网结构,提升安全性
- 缺点:破坏了 IP 的端到端模型,P2P 通信需要额外穿透方案
三、IPv4 报文头:数据包的快递面单
IP 报文分为「首部(头部)+ 数据」两部分,头部是路由器转发的核心依据,基础首部固定 20 字节,可选字段最多扩展到 60 字节。
核心字段拆解:
- 版本(4 位):标识 IP 版本,IPv4 固定为 4
- 首部长度(4 位):单位为 4 字节,普通 20 字节首部对应值为 5
- 总长度(16 位):整个 IP 报文(首部 + 数据)的总字节数,最大 65535 字节
- TTL(生存时间)(8 位):每经过一个路由器减 1,减到 0 则丢弃报文,防止路由环路
- 协议(8 位):标识上层承载的协议类型
- 1 = ICMP,6 = TCP,17 = UDP
- 源 IP 地址(32 位):发送方的 IP 地址
- 目的 IP 地址(32 位):接收方的 IP 地址
- 分片相关字段:标识、标志、片偏移,用于 IP 分片与重组
四、核心机制 1:IP 分片与重组
1. MTU 与分片的由来
数据链路层存在MTU(最大传输单元),即一次能传输的最大数据长度,以太网默认 MTU=1500 字节。 如果 IP 报文总长度超过链路 MTU,就必须拆分成多个更小的「分片」,分别独立传输,到达目的地后再重组。
2. 分片关键字段
- 标识:同一个原始 IP 包的所有分片,标识值完全相同,用于重组时识别归属
- 标志位(3 位):
- MF 位:1 表示「后面还有分片」,0 表示这是最后一个分片
- DF 位:1 表示「禁止分片」,包太大时直接丢弃并返回 ICMP 差错
- 片偏移(13 位):单位为 8 字节,表示当前分片在原始数据中的偏移位置
3. 重组规则与弊端
- 仅目的主机重组:中间路由器只负责转发,不做分片重组
- 弊端:只要有一个分片丢失,整个 IP 包都失效,需要全部重传,传输效率低。实际中通常通过「路径 MTU 发现」避免分片。
五、核心机制 2:IP 路由转发
1. 路由表与最长匹配原则
每台主机、每个路由器都维护一张路由表,记录「目标网段 → 下一跳地址 / 出接口」的映射关系。
转发时遵循最长匹配原则:将目的 IP 与路由表中所有条目逐一比对,选择 ** 前缀长度最长(网络位最多)** 的匹配条目进行转发。
2. 数据包转发流程示例
主机192.168.1.10向8.8.8.8发送数据:
- 主机判断目标 IP 不在本网段,将报文发给默认网关(路由器内网口
192.168.1.1) - 路由器收到报文,提取目的 IP
8.8.8.8查询路由表 - 匹配到最优路由条目,将报文转发给下一跳(运营商路由器)
- 经过互联网中多跳路由器接力转发,最终到达
8.8.8.8所在的网段 - 最后一跳路由器将 IP 报文封装成数据链路帧,通过 MAC 地址交付给目标主机
3. 路由的三类来源
- 直连路由:路由器接口直接连接的网段,自动生成
- 静态路由:管理员手动配置,适合小型、拓扑固定的网络
- 动态路由:通过 OSPF、BGP 等路由协议自动学习、更新路由表,适合大型网络与公网互联网
六、IPv6:下一代 IP 协议
1. 为什么需要 IPv6
IPv4 只有 32 位地址,总数约 43 亿,早已全球枯竭。IPv6 地址长度为 128 位,地址总量大到可以为地球上每一粒沙子分配一个 IP,从根本上解决地址不足问题。
2. 地址格式
8 组十六进制数,冒号分隔,例如:2001:0db8:85a3:0000:0000:8a2e:0370:7334支持简写规则:每组前导 0 可省略,连续的全零组可以用::代替(仅能出现一次),简写后为:2001:db8:85a3::8a2e:370:7334
3. 核心优势
- 超大地址空间,彻底解决地址枯竭
- 报文头更精简,减少路由器处理开销
- 取消中间路由器分片,由主机通过路径 MTU 发现控制包大小
- 原生支持 IPSec,内置加密安全能力
- 支持地址自动配置,设备即插即用
七、网络层配套协议
1. ARP(地址解析协议)
实现IP 地址 → MAC 地址的转换。 同网段内最终要靠 MAC 地址传输数据帧,ARP 通过「广播请求、单播应答」的方式,根据目标 IP 查询对应的 MAC 地址。
2. ICMP(网际控制报文协议)
IP 协议的辅助信使,负责传递差错报告与探测信息。 日常使用的ping命令就是基于 ICMP 的回显请求 / 应答;网络不可达、TTL 超时等异常,也会通过 ICMP 报文通知发送方。
八、知识体系思维导图
plaintext
网络层IP协议知识体系 ├─ 基础认知 │ ├─ 层级:OSI第3层 / TCP/IP网际层 │ ├─ 核心职责:寻址、路由、分片 │ └─ 特性:无连接、不可靠、尽力而为 ├─ IPv4地址 │ ├─ 32位点分十进制 │ ├─ 有类划分:A/B/C/D/E类 │ ├─ 子网掩码与CIDR │ │ ├─ 网络位/主机位 │ │ ├─ 网络地址/广播地址计算 │ │ └─ 最长匹配原则 │ ├─ 特殊地址:环回、0.0.0.0、广播 │ ├─ 私有地址段 │ └─ NAT地址转换 ├─ IPv4报文头 │ ├─ 版本、首部长度、总长度 │ ├─ TTL、协议字段 │ ├─ 源IP、目的IP │ └─ 分片字段:标识、标志、片偏移 ├─ 核心机制 │ ├─ 分片与重组 │ │ ├─ MTU概念 │ │ ├─ 分片规则 │ │ └─ 仅目的主机重组 │ └─ 路由转发 │ ├─ 路由表 │ ├─ 最长匹配原则 │ └─ 静态/动态路由 ├─ IPv6 │ ├─ 128位地址格式与简写 │ ├─ 解决地址枯竭 │ └─ 精简头部、原生安全 └─ 配套协议 ├─ ARP:IP转MAC └─ ICMP:差错与探测