IPv4协议学习卡片
- 📍 核心地位
- 互联网核心协议,位于网络层
- 🔼 上层依赖
- TCP/UDP都依赖IP协议进行数据传输
- 🔽 下层调用
- 调用数据链路层(如802.3/802.11)和物理层协议
- 📌 相关协议
-
- ARP协议: 查询IP地址到MAC地址的映射
- ICMP协议: 网络异常事件通知
- IGMP协议: 实现IP组播功能
- 🧩 基本结构
-
- 首部: 固定部分(20B) + 可变部分(0-40B)
- 数据部分: 承载上层协议数据
- 🔑 关键字段
-
- 版本(4位): 4=IPv4,6=IPv6
- 首部长度(4位): 以4字节为单位(最大60B)
- 总长度(16位): 以1字节为单位(最大65535B)
- TTL(8位): 每经过路由器减1
- 协议字段(8位): TCP=6,UDP=17
- ⚡ 触发条件
- 当IP数据报>下一段链路的MTU时需要分片
- 📏 分片规则
-
- 每个分片需包含独立IP首部(20B)
- 数据部分最大容量=MTU-首部(如以太网为1480B)
- 除最后分片外,其他分片数据部分必须是8B的整数倍
- 目的主机负责重组
- 🏷️ 控制字段
-
- 标识字段(16位): 唯一标识IP数据报
- 标志字段(3位): MF(还有分片),DF(禁止分片)
- 片偏移(13位): 以8字节为单位表示数据位置
- 📌 定义
- 最大传输单元 - 数据链路层能承载的最大数据量
- 🌐 示例
-
- 以太网: 1500字节
- IP理论最大值: 65535字节
- 实际限制: 取MTU和65535中的较小值
- 💡 关键点
- 当跨越不同MTU的网络时,IP数据报可能需要分片
- 📍 字段位置
- IP数据报首部固定部分的第8个字节(8位)
- ⚙️ 工作机制
-
- 每经过一个路由器TTL值减1
- 当TTL=0时,路由器丢弃分组
- 丢弃分组的路由器会向源主机发送ICMP报文
- 📝 示例
-
- 初始TTL=6 → 经过5跳后到达目的主机
- 初始TTL=4 → 在第4个路由器被丢弃