网络层 IPV4报文格式
IPv4报文格式
IPv4报文格式详解
- 版本:表示该协议采用那一个版本IP协议,相同版本的IP协议才能进行通信。一般此处的值为4,表示IPv4。
- 头长度:指示IP数据报头部的总长度,占4位。IP数据报头部的总长度以4字节为单位(即4字节的整数倍)。
- Tos服务字段:用于表示数据报的优先级和服务类型,占8位。包括一个3位长度的优先级,4位长度的标志位,最高位未用
- 总长度:标识整个IP数据报的总长度,包括报头和数据部分,占16位,表示最大字节为2^16-1=65535字节。不过由于链路层的MTU限制。超过1480字节后就会被分片(以太帧MTU为1500的情况下,除去20字节的包头)
- 标识:用于表示IP数据报的标识符,占16位,每个IP数据报有一个唯一的标识(不是序号)。当数据报分段时,这个标识的值就被复制到所有分段的标识字段中,相同的标识字段值使分段后的数据报分段最后能正确地重组成为原来的数据报。
- 标志:该字段是与ip分片有关,其中有三位,但只有两位是有效的,分别为MF,DF。MF标识后面是否还有分片,为1时,表示后面还有分片。DF标识是否能分片,为0表示可以分片。
- 片偏移:指出该分段在数据报中的相对位置。该字段与ip分片后,相应的ip片在总的ip片中的位置。该字段的单位是8字节。比如,一个长度为4000字节的ip报文,到达路由器。发现超过了链路层的MTU,需要进行分片,4000字节中,20字节为包头,3980字节为数据,需要分成3个ip片(链路层MTU为1500),那么第一个分片的片偏移就是0,表示该分片在3980的第0位开始,第1479位结束。第二个ip片的片偏移为185(1480/8),表示该分片开始的位置在原来ip的第1480位,结束在2959。第三片的片偏移为370(2960/8),表示开始的时候是2960位,结束的时候在3979位。
- TTL:该片表示生存周期,该值占8位。ip分片每经过一个路由器该值减一,它的出现是为了防止路由环路,浪费带宽的问题。比如,该ip在R1路由器发送到R2路由器。R2路由器又发给R1路由器。防止这种循环。window系统默认为128或64。
- 协议:该值标识上层的协议。占8位。其中1,标识ICMP、2标识IGMP、6标识TCP、17标识UDP、89标识OSPF。
- 校验和:该值是对整个数据包的包头进行的校验。占16位。
- 源地址和目的地址。标识发送ip片的源和目的ip,32位
- 接下来是可选的部分,一般一些特殊的要求会加在这个部分。
- 数据
|