从给定的 IP 地址确定主机部分

网络工程 ipv4 ip 子网 IP地址
2021-07-18 09:18:26

我需要确定给定地址的子网掩码和主机 ID:175.142.213.217/22

这是我到目前为止:

Address:    01010111.10001110.11010101.11011001
SubnetMask: 11111111.11111111.11111100.00000000 = 255.255.252.0

我坚持的部分是如何确定主机 ID。

有人可以向我详细解释我将如何从目前的情况达到这一点(假设我上面的答案是正确的)

3个回答

您有一个子网掩码,但您需要一个主机掩码,它只是子网掩码的 NOT(反转 1 和 0)以获得 00000000.00000000.00000011.11111111。

并且地址和主机掩码(只有两个位置的都在结果中成为一个)得到 00000000.00000000.00000001.11011001。

将其转换回十进制 (0.0.1.217) 或将其作为子网中的偏移量 (473)。

我想你的意思是主机 ip,但是......无论如何

有 5 个全类地址,ABCD E。彼此的区别在于第一个八位字节的第一位:

  • 第一位 = 0 所以从 1 到 127 十进制
  • B 前两位 = 10 所以从 128 到 191 十进制
  • C 第一个树位 = 110 所以十进制从 192 到 223
  • D 前四位 = 1110 所以十进制从 224 到 239
  • E 前五位 = 1111 所以从 240 到 255 十进制

过去使用这些类代替子网掩码,

  • 所以 A 类地址默认意味着 255.0.0.0 作为子网掩码
  • B 类地址默认为 255.255.0.0 作为子网掩码
  • C 类地址默认为 255.255.255.0 作为子网掩码。
  • D 类和 E 类用于特定目的

因此,在 A 类中,主机 ID 由最后 3 个字节(最后 24 位)表示

在 B 类中,主机 ID 由最后 2 个字节(最后 16 位)表示

在 C 类中,主机 ID 由最后 1 个字节(最后 8 位)表示


因此,以全类表示法计算主机 ID 非常简单。

但是如果你想用无类符号来计算它......也很简单:

您只需要采用二进制形式的主机地址部分(只需计算子网掩码中的零数量:即专用于主机的位数),然后将其转换为十进制。小心点:

您必须每次从右到左翻译最多 8 位的十进制数。如果host id超过8位,你必须将第一部分翻译成十进制,在左边写一个点,然后其他位,每次最多8位。这就是为什么不存在这样的 IP 地址 (256.256.256.256) 的原因。

地址:01010111.10001110.11010101.11011001

子网掩码:11111111.11111111.11111100.00000000 = 255.255.252.0

澄清一下,您的主机 ID 是您上面的实际 IP 地址。但这是从二进制的角度来看它的样子。

子网由自然的“B 类”网络确定,即第 16 个二进制位左侧的所有内容,因此我们在这里处理最后 2 个八位字节。您的子网由从左到右的“1”位指定,从第 16 位开始。因此,您为子网设置了 6 位(252 或 /22) 这将我们引向主机位。在这种情况下,主机位是“0”,从右到左,从最后一位开始。在这种情况下,我们为您的主机 ID 设置了 10 个“0”位。