如何计算IP头的长度?

问题描述 投票:5回答:3

我想用下面的语句来计算IP头的长度。

Header Length是一个四位的字段,顾名思义,它以32位的字来表示IP头的长度。

现在,我在计算IP头长度(最小和最大)时遇到了困难,有4位字段。

networking ip ipv4
3个回答
12
投票
  • 一个有效的数据报的IPv4头的最小长度是20字节,当数值为5且没有选项的时候。
  • 由于该字段的宽度为4位,它能存储的最大值为15,因此头的最大长度为60字节。

互联网报头长度为 互联网头的长度,以32位字为单位。因此指向数据的开头。 请注意,一个正确的头的最小值是5,这意味着无论在IHL中存储的是什么值,都应该与32相乘得到总的位数,或者与4相乘得到总的字节数。

这意味着无论在IHL中存储的是什么值,都应该与32相乘得到总的位数,或者与4相乘得到总的字节数。


4
投票

头部长度的最小值是20字节,但我们没有足够的位数来表示20,所以我们使用缩放技术,即0101(5)将表示4 X 5 = 20字节,这里的缩放因子是4。

4位的最大可能值是15。

所以最大的头长度可能是4 X 15 = 60 Bytes。

Header Length |  Header Length Field

         20 -----> 5
         24 -----> 6
         28 -----> 7
            .
            .
            .
         60 -----> 15

如果头部长度是22字节,那么我们使用填充使其成为4的倍数,即24字节。


1
投票

@Amit>HL文件中的值是=总的IP头长度中的4个字节数,也就是说,如果头长度字段是40,那么计算40中有多少个4字节?其404=10,所以HL字段的值是10。

最低HL值

最小的HL是20字节.即20中的4字节数=204=5.所以HL字段的最小值是5。

最大HL值

HL是一个4位的字段.所以该字段可以容纳的最大容量是15(1111),或者你可以用公式2^4-1=15来计算.所以最大的4个字节数可以是15.因此最大的头长度=15*4=60bytes。

希望现在事情已经清楚了。

© www.soinside.com 2019 - 2024. All rights reserved.