IP头部字段一共包含以下几个字段:
版本:标识当前使用的IP版本(IPV4,IPV6)
首部长度:由于IP数据报文的首部有一个可选项,造成首部长度是可变的,所以需要定义
服务类型:(服务质量/优先级和服务类型):为了保障更好的服务,主要是在IP层做Qos
总长度:主要用来标识整个数据包的长度 标识、标志、片位移:上层来的数据到IP层会被分片,这几个字段用来对数据包进行标识、使数据到达目的端重组的时候不会乱序
标识 (Identification):占 16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加 1,并将此值赋给标识字段。但这个“标识”并不是序号,因为 IP是无连接的服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的 MTU 而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。(MTU值为46~1500)
标志 (Flag):占3 位,但目前只有2位有意义。标志字段中的最低位记为 MF (More Fragment)。MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个;标志字段中间的一位记为 DF(Don't Fragment),意思是“不能分片”。只有当 DF=0时才允许分片。
片偏移:占 13位。较长的分组在分片后,某片在原分组中的相对位置。也就是说,相对用户数据字段的起点,该片从何处开始。片偏移以 8个字节为偏移单位。这就是说,每个分片的长度一定是 8字节 (64位)的整数倍。
生存时间(TTL值):数据包在路由器转发消耗时间如果小于1秒,TTL值就会减一(最大255,最小为1)
协议:标识上层数据是使用的何种协议(TCP是6或UDP是17)
首部校验:校验数据报文的首部
源目地址:发送