IP是由四段数字组成,在此,我们先来了解一下3
类常用的IP
A
类IP
段 0.0.0.0
到127.255.255.255
B
类IP
段 128.0.0.0
到191.255.255.255
C
类IP
段 192.0.0.0
到223.255.255.255
XP默认分配的子网掩码每段只有255
或0
A类的默认子网掩码 255.0.0.0
一个子网最多可以容纳1677
万多台电脑
B类的默认子网掩码 255.255.0.0
一个子网最多可以容纳6
万台电脑
C类的默认子网掩码 255.255.255.0
一个子网最多可以容纳254
台电脑
用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
,这也是一段合法的子网掩码。子网掩码决定的是一个子网的计算机数目,计算机公式是2
的m
次方,其中,我们可以把m
看到是后面的多少颗0
。如255.255.255.0
转换成二进制,那就是11111111.11111111.11111111.00000000
,后面有8
颗0
,那m
就是8
,255.255.255.0
这个子网掩码可以容纳2
的8
次方(台)电脑,也就是256
台,但是有两个IP是不能用的,那就是最后一段不能为0
和255
,减去这两台,就是254
台。我们再来做一个。
255.255.248.0
这个子网掩码可以最多容纳多少台电脑?
计算方法:
把将其转换为二进制的四段数字(每段要是8
位,如果是0
,可以写成8
个0
,也就是00000000
)
11111111.1111111.11111000.00000000
然后,数数后面有几颗0
,一共是有11
颗,那就是2
的11
次方,等于2048
,这个子网掩码最多可以容纳2048
台电脑。
一个子网最多可以容纳多少台电脑你会算了吧,下面我们来个逆向算法的题。
一个公司有530
台电脑,组成一个对等局域网,子网掩码设多少最合适?
首先,无疑,530
台电脑用B类IP最合适(A类不用说了,太多,C类又不够,肯定是B类),但是B
类默认的子网掩码是255.255.0.0
,可以容纳6
万台电脑,显然不太合适,那子网掩码设多少合适呢?我们先来列个公式。
2
的m
次方=560
首先,我们确定2
一定是大于8
次方的,因为我们知道2
的8
次方是256
,也就是C类IP的最大容纳电脑的数目,我们从9
次方一个一个试2
的9
次方是512
,不到560
,2
的10
次方是1024
,看来2
的10
次方最合适了。子网掩码一共由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
方法:0
和1
=0
0
和0
=0
1
和1
=1
如:And
192.168.0.1
,255.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.111
,188.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段,这里就选188.188.x.x
吧
这样,IP的前两段确定的,关键是要确定第三段,只要网络标识相同就可以了。我们先来确定网络号。(我们把子网掩码中的1
和IP
中的?
对就起来,0
和*
对应起来,如下:)
255.255.252.0
11111111.11111111.11111100.00000000
188.188.x.x
10111100.10111100.??????**.********
网络标识 10111100.10111100.??????00.00000000
由此可知,?
处随便填(只能用0
和1
填,不一定全是0
和1
),我们就用全填0
吧,*
处随便,这样呢,我们的IP就是
10111100.10111100.000000**.********
,一共有530
台电脑,IP的最后一段1
~254
可以分给254
台计算机,530/254
=2.086
,采用进1
法,得整数3
,这样,我们确定了IP的第三段要分成三个不同的数字,也就是说,把000000**
中的**
填三次数字,只能填1
和0
,而且每次的数字都不一样,至于填什么,就随我们便了,如00000001
,00000010
,00000011
,转换成二进制,分别是1
,2
,3
,这样,第三段也确定了,这样,就可以把IP分成188.188.1.y
,188.188.2.y
,188.188.3.y
,y
处随便填,只要在1
~254
范围之内,并且这530
台电脑每台和每台的IP不一样,就可以了。
由于A类IP和A类默认子网掩码的主机数目过大,这样做无疑是大海捞针,如果同时局域网访问量过频繁、过大,会影响效率的,所以,最好设置符合自己的IP和子网掩码^_^