IPV4数据包的整体结构如下图1:
图1
IP报文结构如下图2:
图2
报文详细介绍如下:
1. 4位版本号,对ipv4来说,版本号为4。
2. 4位首部长度,首部长度单位是32位,即4字节,首部长度标识IP头部有多少个4字节,所以IP头部长度的范围是0-15*4字节。
3. 8位的区分服务,包括一个三位的优先权字段(现在已经被忽略),4位的服务类型(TOS)字段和一个保留字段(必须置0)。4位TOS字段分别表示:最小时延,最大吞吐量,最高可靠性和最小费用。其中最多只有一个能置一,应用程序应该根据实际需要来设置它。
4. 16位的IP数据报总长度,以字节为单位,因此IP数据报的最大长度为65535字节。
5. 16位的标识位,唯一的标识主机发送的每一个数据报。
6. 3位标志位:三位标志位的第一位保留;第二位表示禁止分片(DF),如果这一位为一,那么这个IP数据报不会被分片。此时如果IP数据报长度超过MTU限制,IP模块将丢弃该报文并返回一个ICMP差错报文。第三位表示更多分片(MF),除了数据报的最后一个分片外,其他分片都要把它置一。