IP头部之IHL

瘦欲@ 提交于 2020-03-03 02:43:42

参考RFC-791

Internet Header Format

在这里插入图片描述
箭头所指的位置就是IHL-Internet Header Length.

前提知识点:

  • IP 头部每一行是32bit = 4B
  • IP 头部头部最后一行是特殊添加的内容,有没有第6行视情况而定,所以说最短是5行
  • 如果只是有5行,那么头部的总大小就是 4B * 5行 = 20 B

分析IHL字段:

  • IHL是4位二进制
  • 表示范围看似是二进制 0000 - 1111 , 十进制 0 - 15
  • 问题来了, 长度可能是0嘛? 显然不会,前面说过最少是20B嘛

RFC这样解释:
Internet Header Length is the length of the internet header in 32
bit words, and thus points to the beginning of the data. Note that
the minimum value for a correct header is 5.

  • 搜迪斯尼! 规定嘛, 这4个二进制位能表示最小的值是十进制5 ,也就是二进制的 0101 用来表示头儿总长度20B , 5 * 32bit / 8 = 20 B , 共5行
  • 那么 1111 也就是15 可以表示的是? 15 * 32bit / 8 = 60B , 共15行
  • 所有大小是 20B-60 B
  • 这种解释方便理解
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!