日期:2014-05-19  浏览次数:20516 次

急求CIDR的计算方法!
急求CIDR的计算方法!

要求输入如192.168.3.6/24   或192.168.3.6/25,算出对应的IP段和共有多少个IP,并列出相应IP。
后面的位数从24开始的就可以了,也就是说只要算C类以后的即可。

非常感谢!!!


------解决方案--------------------
不懂,学习来了,帮顶吧,你能给我一分就不错了,谢谢!
------解决方案--------------------
不太明白对方的意思,一个网里IP的地址数应该可能的地址数-2,通常C网的 .0是网络地址,.255是广播地址,其它的IP都是可用地址,
IP可能的个数应该是 2的~子网掩码中1的个数次方,如通常C网子网掩码为 255.255.255.0,则
~子网掩码中有8个1,IP可能个数是256,减一个.0的网络地址,.255的广播地址,就是254个。
------解决方案--------------------
不懂,帮顶
------解决方案--------------------
lz ,你是在数据库层计算?一般都是在业务层算的。

子网掩码的计算方法

一、利用子网数来计算

在求子网掩码之前必须先搞清楚要划分的子网数目,以及每个子网内的所需主机数目。

1)将子网数目转化为二进制来表示

2)取得该二进制的位数,为 N

3)取得该IP地址的类子网掩码,将其主机地址部分的的前N位置 1 即得出该IP地址划分子网的子网掩码。

如欲将B类IP地址168.195.0.0划分成27个子网:

1)27=11011

2)该二进制为五位数,N = 5

3)将B类地址的子网掩码255.255.0.0的主机地址前5位置 1,得到255.255.248.0,即为划分成 27个子网的B类IP地址 168.195.0.0的子网掩码。

二、利用主机数来计算

1)将主机数目转化为二进制来表示

2)如果主机数小于或等于254(注意去掉保留的两个IP地址),则取得该主机的二进制位数,为 N,这里肯定 N <8。如果大于254,则 N> 8,这就是说主机地址将占据不止8位。

3)使用255.255.255.255来将该类IP地址的主机地址位数全部置1,然后从后向前的将N位全部置为 0,即为子网掩码值。

如欲将B(c)类IP地址168.195.0.0划分成若干子网,每个子网内有主机700台(17):

1) 700=1010111100

2)该二进制为十位数,N = 10(1001)

3)将该B类地址的子网掩码255.255.0.0的主机地址全部置 1,得到255.255.255.255,然后再从后向前将后10位置0,即为:11111111.11111111.11111100.00000000,即255.255.252.0。这就是该欲划分成主机为700台的B类IP地址 168.195.0.0的子网掩码。


------解决方案--------------------
楼上的资料比较详细了,如果你只需要24位以上的这个很简单。最多也就254个IP。
因为0是子网IP,255是广播地址。其他依次类推。