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

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

问题描述:

我必须在一个给定的IP地址2001:1001:0ff0 ::/48中创建256个子网,另外我需要找到第2,48和224子网的IP地址。如何查找给定子网的网络地址?

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

由于我们是在Q &有关软件编程的一个论坛上,这里是包含在一个简单的程序(的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 

要获得第二位,第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 
+0

感谢您的回答。现在我懂了。 –

请考虑IPv6的文档https://tools.ietf.org/html/rfc1883。你可以找到关于*的公式和说明:https://en.wikipedia.org/wiki/IP_address