如何使用ipv6网络掩码长度计算ipv4地址的网络掩码长度



我正在尝试使用网络掩码长度计算某个范围内的ipv4地址。例如:正在启动IP(v6)::ffff:1.0.64.0网络掩码长度::114

如何使用前缀长度计算该范围的结束ip(v4格式)?对于上述示例,ips将在1.0.64.0-1.0.127.255范围内(使用计算http://www.gestioip.net/cgi-bin/subnet_calculator.cgi)

感谢

Vinod

就像IPv4一样,您可以通过将前114位设置为1,将其余位设置为0来创建IPv6掩码,然后使用逐位AND运算符用该掩码屏蔽原始IPv6地址,以获得子网ID(和子网的起始地址),然后将掩码的倒数与子网ID进行OR运算,以获得该子网的最后一个地址。

  ::FFFF:1.0.64.0
= 0000:0000:0000:0000:0000:FFFF:0100:4000
= 00000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111100000001000000000100000000000000
prefix length 114
= 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000
= FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:C000

    00000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111100000001000000000100000000000000
AND 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000
    --------------------------------------------------------------------------------------------------------------------------------
  = 00000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111100000001000000000100000000000000
    0000:0000:0000:0000:0000:FFFF:0100:4000
AND FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:C000
    ---------------------------------------
  = 0000:0000:0000:0000:0000:FFFF:0100:4000
  = ::FFFF:1.0.64.0

NOT 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000
    --------------------------------------------------------------------------------------------------------------------------------
  = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111
NOT FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:C000
    ---------------------------------------
  = 0000:0000:0000:0000:0000:0000:0000:3FFF

    00000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111100000001000000000100000000000000
OR  00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111
    --------------------------------------------------------------------------------------------------------------------------------
  = 00000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111100000001000000000111111111111111
    0000:0000:0000:0000:0000:FFFF:0100:4000
OR  0000:0000:0000:0000:0000:0000:0000:3FFF
    ---------------------------------------
  = 0000:0000:0000:0000:0000:FFFF:0100:7FFF
  = ::FFFF:1.0.127.255

最新更新