服务器, 未分类

IPv4 CIDR/NETMASK的简单计算

平时购买独立服务器,机房给的IP,大都以IP/CIDR或者IP/NETMASK来表示,应该很多人第一次看到都不懂是什么意思,我当初也如此……

下文以192.168.1.0/255.255.255.0为例:

本例的IP段是IP/NETMASK格式的,要计算IP的数目,个人建议首先把子网掩码(NETMASK)转换为CIDR。

互相转换其实也不难,例如:255.255.255.0这个子网掩码,把255转换为二进制,你就会发现刚刚好是八个“1”:

255

因此255.255.255.0的CIDR=3*8=24,子网掩码最多四个255,CIDR最大也就是32。

至于子网掩码和CIDR更多有关的介绍的不是本文重点,我就不继续做文章了,需要的可以去看看维基百科。

得到了CIDR的值,算起来就简单了。

IP数=2^CIDR最大值-该IP段CIDR值

例如前面所说的255.255.255.0,经过计算,CIDR值为24,那IP数目就是2的32减24次方=2^8=256个。

然后取IP的最后一位,也就是0,+256-1=255,那么192.168.1.0/255.255.255.0的首个IP是192.168.1.0,末IP是192.168.1.255。为什么要减一?别忘了192.168.1.0也是个IP啊……

如果最后得数超过255的话,就取余数,IP的倒数第二位进一,最后一位归零,再把余数加到最后一位,超过255的话就继续……

知道首IP和末IP后,就可以计算出Network,Gateway和Broadcast,一般Network都是首IP,本例中为Network为192.168.1.0,Gateway一般为第二个IP,本例中为192.168.1.1,Broadcas一般为末IP,本例中为192.168.1.255。

三个IP被占了,那么最后剩下的可用IP数目为253(192.168.1.2-192.168.1.254)。

Comments are closed.