IP数据包格式每个字段的含义

来源:互联网 发布:js重定向url 编辑:程序博客网 时间:2024/05/10 04:20

1.版本:占4位,真ip协议的版本。通信双方使用的IP协议的版本必须一致,目前使用的IP协议版本号为4位(即ipv4).关于ipv6占卜考虑

2.首部长度:占4位可表示的最大的十进制数之时15。这个字段表示数的单位是 32位字(一个32位字长是4字节),因此ip首部长度为1111时,首部长度最大之为60字节

  当ip分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。因此数据部分永远是在4字节的整数倍时开始,这样在实现ip协议时较为方便。首部

 长度 限制为60字节的缺点是有时可能不够用。这样做希望用户尽量减小开销。最常用的首部长度就是20字节(0101)这是不是用任何选项

3.区分服务,占8位,用来获得更好的服务。这个字段在旧的标准中叫做服务类型,但实际上一直没有被使用过。

4.总长度,总长度指首部和数据之和的长度,单位为字节。总长度字段为16位,因此数据包的最大长度为65535字节,在ip层下面的每一种数据链路层都有自己的帧格

   式,其中包含包含帧格式中的数据字段的最大长度,就称这位最大传送单元MTU。当一个IP数据报封装成链路侦时,此数据报的总长度(即首部加上数据部分)一定不能

   超过下面的数据链路层MTU值。所有主机和路由器必须能处理的IP数据报长度不得小于576字节。这个数值就是ip数据包的总长度。

5标识,占16位.ip软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋值给表示字段,这个表示并不是序号,因为IP是一个无连接服务,

  数据报不存在按序接受的问题。当数据报由于超过网络的MTU而必须分片时,这个标识的值就被复制到所有的数据报片的表示字段中。相同的标识字段的值使分片后的

  各数据报片最后能正确的重装成为原来的数据报。

6.标志(flag)占3位,但目前只有两位有意义。

   标志字段中的最低位为MF。MF=1即表示后面还有分片的数据报,MF=0表示这已是若干个数据报片中的最后一个。

   标志字段中间的一位几位DF,不能分片的意思,只有当DF=时才允许分片。

7.片偏移,占13位。片偏移指出:较长分组在分片后,某片在原分组中的相对位置,也就是说,相对于用户数据字段的起点,该片从何处开始。片偏移以8个字节为

   偏移单位,也就是说,每个分片的长度一定是8字节的整数倍。

明天接着写。。。总是记不住这些东东。。。