如何查找给定子网的网络地址?

时间:2017-09-04 16:59:21

标签: ipv6 subnet

我必须在给定的IP地址2001:1001:0ff0 :: / 48中制作256个子网,此外我需要找到第2,第48和第224个子网的IP地址。

我需要知道是否有一个公式来做到这一点。

2 个答案:

答案 0 :(得分:1)

由于我们在关于软件编程的Q& A论坛上,这里的公式包含在一个简单的程序中(bash / zsh shell脚本):

for subnet in {0..255}
do
  echo 2001:1001:0ff0:$(printf "%02x00" $subnet)::/$(echo 48 - $(echo 'l(256)/l(2)' | bc -l) / 1 | bc)
done

要获得第2,第48和第224个子网,请使用此程序和公式:

for subnet in 1 47 223
do
  echo 2001:1001:0ff0:$(printf "%02x00" $subnet)::/$(echo 48 - $(echo 'l(256)/l(2)' | bc -l) / 1 | bc)
done

答案 1 :(得分:0)

请考虑IPv6 https://tools.ietf.org/html/rfc1883的文档。您可以在维基百科上找到公式和说明:https://en.wikipedia.org/wiki/IP_address