2023年11月27日发(作者:)

IP⽹段的计算和划分

先了解基础运算

异或运算:相同为0,不同为1

与运算:两者为1时为1,有00

或运算:有11

IP⽹段的计算和划分

IP和⼦⽹掩码

我们都知道,IP是由四段数字组成,在此,我们先来了解⼀下3类常⽤的IP

AIP 0.0.0.0 127.255.255.255

BIP 128.0.0.0 191.255.255.255

CIP 192.0.0.0 223.255.255.255

XP默认分配的⼦⽹掩码每段只有2550

A类的默认⼦⽹掩码 255.0.0.0 ⼀个⼦⽹最多可以容纳1677万多台电脑

B类的默认⼦⽹掩码 255.255.0.0 ⼀个⼦⽹最多可以容纳6万台电脑

C类的默认⼦⽹掩码 255.255.255.0 ⼀个⼦⽹最多可以容纳254台电脑

我以前认为,要想把⼀些电脑搞在同⼀⽹段,只要IP的前三段⼀样就可以了,今天,我才知道我错了。如果照我这说的话,⼀个⼦⽹

就只能容纳254台电脑?真是有点笑话。我们来说详细看看吧。

要想在同⼀⽹段,只要⽹络标识相同就可以了,那要怎么看⽹络标识呢?⾸先要做的是把每段的IP转换为⼆进制。(有⼈说,我不会

转换耶,没关系,我们⽤Windows⾃带计算器就⾏。打开计算器,点查看>科学型,输⼊⼗进制的数字,再点⼀下⼆进制这个单选

点,就可以切换⾄⼆进制了。)

把⼦⽹掩码切换⾄⼆进制,我们会发现,所有的⼦⽹掩码是由⼀串[red]连续[/red]1和⼀串[red]连续[/red]0组成的(⼀共4段,每段8

位,⼀共32位数)。

255.0.0.0 11111111.00000000.00000000.00000000

255.255.0.0 11111111.11111111.00000000.00000000

255.255.255.0 11111111.11111111.11111111.00000000

这是A/B/C三类默认⼦⽹掩码的⼆进制形式,其实,还有好多种⼦⽹掩码,只要是⼀串连续的1和⼀串连续的0就可以了(每段都是8

位)。如11111111.11111111.11111000.00000000,这也是⼀段合法的⼦⽹掩码。⼦⽹掩码决定的是⼀个⼦⽹的计算机数⽬,计算机公式

2m次⽅,其中,我们可以把m看到是后⾯的多少颗0。如255.255.255.0转换成⼆进制,那就是

11111111.11111111.11111111.00000000,后⾯有80,那m就是8255.255.255.0这个⼦⽹掩码可以容纳28次⽅(台)电脑,也就是

256台,但是有两个IP是不能⽤的,那就是最后⼀段不能为0255,减去这两台,就是254台。我们再来做⼀个。

255.255.248.0这个⼦⽹掩码可以最多容纳多少台电脑?

计算⽅法:

把将其转换为⼆进制的四段数字(每段要是8位,如果是0,可以写成80,也就是00000000

11111111.1111111.11111000.00000000

然后,数数后⾯有⼏颗0,⼀共是有11颗,那就是211次⽅,等于2048,这个⼦⽹掩码最多可以容纳2048台电脑。

⼀个⼦⽹最多可以容纳多少台电脑你会算了吧,下⾯我们来个逆向算法的题。

⼀个公司有530台电脑,组成⼀个对等局域⽹,⼦⽹掩码设多少最合适?

⾸先,⽆疑,530台电脑⽤B类IP最合适(A类不⽤说了,太多,C类⼜不够,肯定是B类),但是B类默认的⼦⽹掩码是

255.255.0.0,可以容纳6万台电脑,显然不太合适,那⼦⽹掩码设多少合适呢?我们先来列个公式。

2m次⽅=560

⾸先,我们确定2⼀定是⼤于8次⽅的,因为我们知道28次⽅是256,也就是C类IP的最⼤容纳电脑的数⽬,我们从9次⽅⼀个⼀个

29次⽅是512,不到560210次⽅是1024,看来210次⽅最合适了。⼦⽹掩码⼀共由32位组成,已确定后⾯10位是0了,那前⾯的

22位就是1,最合适的⼦⽹掩码就是:11111111.11111111.11111100.00000000,转换成10进制,那就是255.255.252.0

分配和计算⼦⽹掩码你会了吧,下⾯,我们来看看IP地址的⽹段。

相信好多⼈都和偶⼀样,认为IP只要前三段相同,就是在同⼀⽹段了,其实,不是这样的,同样,我样把IP的每⼀段转换为⼀个⼆

进制数,这⾥就拿IP:192.168.0.1,⼦⽹掩码:255.255.255.0做实验吧。

192.168.0.1

11000000.10101000.00000000.00000001

(这⾥说明⼀下,和⼦⽹掩码⼀样,每段8位,不⾜8位的,前⾯加0补齐。)

IP 11000000.10101000.00000000.00000001

⼦⽹掩码 11111111.11111111.11111111.00000000

在这⾥,向⼤家说⼀下到底怎么样才算同⼀⽹段。

要想在同⼀⽹段,必需做到⽹络标识相同,那⽹络标识怎么算呢?各类IP的⽹络标识算法都 是不⼀样的。A类的,只算第⼀段。B

类,只算第⼀、⼆段。C类,算第⼀、⼆、三段。

算法只要把IP和⼦⽹掩码的每位数AND就可以了。

AND⽅法:010 000 111

如:And 192.168.0.1255.255.255.0,先转换为⼆进制,然后AND每⼀位

IP 11000000.10101000.00000000.00000001

⼦⽹掩码 11111111.11111111.11111111.00000000

得出AND结果 11000000.10101000.00000000.00000000

转换为⼗进制192.168.0.0,这就是⽹络标识,

再将⼦⽹掩码反取,也就是00000000.00000000.00000000.11111111,与IP AND

得出结果00000000.00000000.00000000.00000001,转换为10进制,即0.0.0.1

0.0.0.1就是主机标识。要想在同⼀⽹段,必需做到⽹络标识⼀样。

我们再来看看这个改为默认⼦⽹掩码的B类IP

如IP:188.188.0.111188.188.5.222,⼦⽹掩码都设为255.255.254.0,在同⼀⽹段吗?

先将这些转换成⼆进制

188.188.0.111 10111100.10111100.00000000.01101111

188.188.5.222 10111100.10111100.00000101.11011010

255.255.254.0 11111111.11111111.11111110.00000000

分别AND,得

10111100.10111100.00000000.00000000

10111100.10111100.00000100.00000000

⽹络标识不⼀样,即不在同⼀⽹段。

判断是不是在同⼀⽹段,你会了吧,下⾯,我们来点实际的。

⼀个公司有530台电脑,组成⼀个对等局域⽹,⼦⽹掩码和IP设多少最合适?

⼦⽹掩码不说了,前⾯算出结果来了11111111.11111111.11111100.00000000,也就是255.255.252.0

我们现在要确定的是IP如何分配,⾸先,选⼀个B类IP段,这⾥就选

这样,IP的前两段确定的,关键是要确定第三段,只要⽹络标识相同就可以了。我们先来确定⽹络号。(我们把⼦⽹掩码中的1IP

中的?对就起来,0*对应起来,如下:)

255.255.252.0 11111111.11111111.11111100.00000000

10111100.10111100.**.********

⽹络标识 10111100.10111100.00.00000000

由此可知,?处随便填(只能⽤01填,不⼀定全是01),我们就⽤全填0吧,*处随便,这样呢,我们的IP就是

10111100.10111100.000000**.********,⼀共有530台电脑,IP的最后⼀段1254可以分给254台计算机,530/2542.086,采⽤进1

法,得整数3,这样,我们确定了IP的第三段要分成三个不同的数字,也就是说,把000000**中的**填三次数字,只能填10,⽽且每次

的数字都不⼀样,⾄于填什么,就随我们便了,如000000010000001000000011,转换成⼆进制,分别是123,这样,第三段也确

定了,这样,就可以把IP分成188.188.1.y188.188.2.y188.188.3.yy处随便填,只要在1254范围之内,并且这530台电脑每台和每

台的IP不⼀样,就可以了。