【问题标题】:How to check if a given IP @ is a subnet @ address?如何检查给定的 IP @ 是否是子网 @ 地址?
【发布时间】:2021-06-20 14:09:30
【问题描述】:

有没有办法检查给定的 IP 地址是否是子网 IP 地址? 例如 : 16.100.134.0 /19 这个 IP 地址是一个子网 IP 地址(我在解决方案中看到过),但我仍然不知道他们是如何计算出来的。

【问题讨论】:

    标签: ip subnet


    【解决方案1】:

    最后的 /19 告诉你这是一个子网地址。

    一个完整的 IPV4 地址是 4 组 8 位或八位字节(每个显示为 0 -255 范围内的十进制),因此长度为 32 位。 /19 告诉您这是子网的地址,其中前 19 位保留用于网络和子网地址,其余 13 位用于子网内的主机。子网意味着部分主机空间已用于将网络划分为更小的网络。在这种情况下,网络地址可能是 16.100.0.0 /16,子网使用主机空间的前 3 个有效位将其分成最多 8 个子网。

    所以 13 位意味着最多 2¹³-1 个不同的 IP 地址可用 - 最后一个八位字节可以取 0 到 255 之间的值,倒数第二个可以取 134 + 0 到 134 + 31 之间的值

    在二进制中可能更容易看到。你在那里的地址是00010000.01100100.10000110.00000000,有效的IP地址应该在00010000.01100100.10000000.0000000000010000.01100100.10011111.11111111的范围内,这让我认为你在子网中有主机的地址——子网地址对于13来说都是0最低有效位,这意味着第三个八位组只有 3 个最高有效位可用,即它的值是 0、32、64、128、96、192 或 224 之一

    【讨论】:

    • 好的,我明白了,但在他们提出的同一个练习中:130.180.20.0 /20 而这个不是子网的 IP @,那是怎么回事?
    • 实际上在第一个中,我希望第三个八位字节仅使用 3 个最高有效位来取值,例如 128、192、224 - 134 使用第 22 位和第 23 位
    • 啊,对不起,我有点生疏了,好像第一个中的地址是子网 16.100.128.0/19 中的主机地址
    • 另外一个将是 130.180.16.0 /20 中的主机
    • 让我觉得我错了,需要重新阅读它 - 如果你没有得到更好的答案,我将不得不在早上看,因为它已经很晚了 - en.m.wikipedia.org/wiki/Subnetwork 似乎就像它描述得很好
    猜你喜欢
    • 2010-12-02
    • 2017-10-30
    • 2017-05-28
    • 2012-01-25
    • 2016-03-12
    • 1970-01-01
    • 2017-09-02
    • 2017-05-05
    • 2016-12-24
    相关资源
    最近更新 更多