当前使用的IP地址有4个字节(32)组成,即IPV4编码方式。每个IP地址包换两部分:网络号和主机号。当分配给主机号的二进制位越多,则能标识的主机数就越多,相应地能标识的网络数就越少,反之亦然。

来源:互联网 发布:ubuntu 压缩 编辑:程序博客网 时间:2024/05/17 03:06

个人的思路介绍给大家,希望给那些还不知道怎么计算的人一个示例,大家共同进步

(纯手打,绝对没有抄袭。)

  1. IP地址是一个由二进制的“0”和“1”组成的4字节共32位字符串。

  2. IP地址是由网络地址+主机地址组成那么可以得出网络位+主机位=32位

如何知道一个IP地址里有多少个网络位和主机位呢,那么这个由子网掩码决定。

  • 举例一个iP地址10.158.79.53,子网掩码位255.255.248.0,这里面网络位,主机位是多少?主机数是多少?网络地址和广播地址是多少?说下我个人的思路:因为子网掩码决定网络位和主机位的个数,当然去看子网掩码,化成二进制即:11111111.11111111.11111000.00000000,

    有21个连续的1即网络位21,

    主机位=32-21=11

    那么主机数就是(2的11次方-2)个,为什么要减2呢,因为这串地址里包括一个最小的地址和最大的地址,分别叫做网络地址(也叫网络号)和广播地址,这两个地址是不能分给主机的。

还回到刚刚那个例子里,既然要计算网络地址和广播地址,我们就去看ip地址10.158.79.53,刚才我们计算出网络位是21,那么10.158这个我们就不要去看了,这两个占了16个网络位,根本不需要去化成二进制那么麻烦了。那么还有5个网络位,我们着重计算下79(化成二进制就是1001111,我们数一下只有7位,我们要保证是8位就前面补0即01001111,记住这个是关键,切记不足8位的最前面要补0补成8位),那么我们就取前面5个即01001 那么总共是不是就是这样的10.158.01001xxx.xxxxxxxx,现在我们把x都改成0,这个地址就是网络地址(也叫网络号);现在我们把x都改成1,这个地址就是广播地址,计算一下分别是10.158.72.0和10.158.79.255,可用地址范围就是这两者之间的。

 

  • 假如我们知道ip地址和网络位,举例10.117.205.113/27,怎么去计算主机位,主机数,子网掩码,网络地址和广播地址呢?

主机位是32-27=5

主机数是2的5次方-2

子网掩码是27个连续的1后面补0即11111111.11111111.11111111.11100000计算一下得255.255.255.224

我们看一下网络位是27,那么ip地址10.117.205.113里面的10.117.205占有24个网络位,还有3个肯定是在113里面,化成二进制1110001,一数才7位补足8位为01110001,前3个是网络位,那么总共是不是就是这样10.117.205.011xxxxx,现在我们把x都改成0,这个地址就是网络地址(也叫网络号);现在我们把x都改成1,这个地址就是广播地址,计算一下分别是10.117.205.96和10.117.205.127,可用地址范围就是这两者之间的。

0 0
原创粉丝点击