### 1、IPv4数据报格式 ![image-20230709145705180](https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/note/image-20230709145705180.png) ### 2、version - 4个比特构成 - 表示IP首部的版本号 ![image-20230709145940327](https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/note/image-20230709145940327.png) ### 3、首部长度 IHL - Internet Header Length - 4比特构成 - 表示IP首部的大小 - 单位为4字节(32比特) - 没有可选项,没有数据的IP数据报,首部长度字段为5,也就是首部真实数据长度为20字节 ### 4、区分服务 TOS - Type Of Service - 8比特构成 - 表明服务质量 - 通常有应用指定 - 有人提出将TOS字段划分为 DSCP和ECN两个字段 - DSCP Differential Services Codepoint 差分服务代码点 - Explicit Congestion Notification 显式拥塞通告 ![image-20230709150354408](https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/note/image-20230709150354408.png) ### 5、总长度 Total Length - 首部+数据部分总长度 - 长为16比特 - IP包的最大长度为65535字节,2^16 ### 6、标识 ID:Identification - 16比特构成 - 用于分片重组 - 同意分片的标识值相同 - 每发送一个IP包,数值自增 - ID相同,如果目标地址源地址或协议不同的话,也是不同的分片 ### 7、标志 Flags - 3比特构成 - 表示包被分片的相关信息 ![image-20230709151237049](https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/note/image-20230709151237049.png) ### 8、片便宜 FO Frament Offset - 13比特构成 - 用来标识被分片的每个分段相对于原始数据的位置 - 第一个分片该字段为0 - 对多可以表示8192个相对位置 - 单位为8字节 - 最大可表示原始数据 8 * 8192 = 65536字节的位置 ### 9、生存时间 TTL Time To Life - 8比特构成 - 中转多少个路由器的意思 - 每经过一个路由器,TTL自动减少1 - 对多中转次数不会超过256次,可以避免IP包在网络内无限传递 - 变成0时,该包被丢弃 ### 10、协议编号 Protocol - 8比特构成 - 表示包内数据使用的是哪一个协议 ![image-20230709151906055](https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/note/image-20230709151906055.png) ![image-20230709151917758](https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/note/image-20230709151917758.png) ### 11、首部校验和 Header Checksum - 16比特构成 - 只用于校验首部,不校验数据部分 - 首部校验和计算方式 TODO ### 12、可选项 Options - 长度可变 - 包含以下信息 - 安全级别 - 源路径 - 路径记录 - 时间戳 ### 13、填充 Padding - 在有可选项的情况下,首部长度可能不是32比特的整数倍 - 向字段填充0,调整为32比特的整数倍 ### 14、网络字节序 - 大端序:4个字节的32bit用下面的次序传输 - 首先是0-7bit - 其次8-15bit - 然后16-23bit - 最后24-31bit - TCP/IP首部中所有二进制整数在网络中传输都要求大端序,因此又称作网络字节序 - 以其他形式存储二进制整数的机器,必须在传输数据之前把首部转换成网络字节序 ### 15、特殊IP地址 ![image-20230716172604785](https://blog-heysq-1255479807.cos.ap-beijing.myqcloud.com/blog/note/image-20230716172604785.png)