目录:
IP子网划分实际上就是设计子网掩码的过程。
一、简介
IP和子网掩码\
我们都知道,IP是由四段数字组成,在此先来了解一下3类常用的IP。
A类IP段 1.0.0.0 到126.255.255.255 (0段和127段不使用,127.0.0.1是环回测试用的固定的特殊IP)
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万(2^24-2=16777214)多台电脑
B类的默认子网掩码 255.255.0.0 一个子网最多可以容纳6万(2^16-2=65534)台电脑
C类的默认子网掩码 255.255.255.0 一个子网最多可以容纳254(2^8-2=254)台电脑
这里减2的原因是主机地址全0表示“本主机”所连接到的单个网络地址,而全1表示“所有”,即该网络上所有主机。
我们必须有一个子网掩码,因为:
1)当配置IP时,所有计算机都必须填写子网掩码
2)我们必须在我们的网络中设置一些逻辑边界
3)我们必须至少输入所使用IP类的默认子网掩码
以前认为,要想把一些电脑搞在同一网段,只要IP的前三段一样就可以了,今天,我才知道我错了。如果照我这样说的话,一个子网就只能容纳254台电脑?真是有点笑话。我们来说详细看看吧。
要想在同一网段,只要网络标识相同就可以了,那要怎么看网络标识呢?首先要做的是把每段的IP转换为二进制。
把子网掩码切换至二进制,我们会发现,所有的子网掩码是由一串连续的1和一串连续的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(不少于8个)和一串连续的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台。
二、划分方法
子网的划分,实际上就是设计子网掩码的过程。子网掩码主要是用来区分IP地址中的网络ID和主机ID,它用来屏蔽IP地址的一部分,从IP地址中分离出网络ID和主机ID。子网掩码是由4个十进制数组成的数值"中间用"."分隔,如255.255.255.0。若将它写成二进制的形式为:11111111.11111111.11111111.00000000,其中为"1"的位分离出网络ID,为"0"的位分离出主机ID,也就是通过将IP地址与子网掩码进行"与"逻辑操作,得出网络号。
例如,假设IP地址为192.160.4.1,子网掩码为255.255.255.0,则网络ID为192.160.4.0,主机ID为0.0.0.1。计算机网络ID的不同,则说明他们不在同一个物理子网内,需通过路由器转发才能进行数据交换。
每类地址具有默认的子网掩码:对于A类为255.0.0.0,对于B类为255.255.0.0,对于C类为255.255.255.0。除了使用上述的表示方法之外,还有使用子网掩码中"1"的位数来表示的,在默认情况下,A类地址为8位,B类地址为16位,C类地址为24位。例如,A类的某个地址为 12.10.10.3/8,这里的最后一个"8"说明该地址的子网掩码为8位,而199.42.26.0/28表示网络199.42.26.0的子网掩码位数有28位。
如果希望在一个网络中建立子网,就要在这个默认的子网掩码中加入一些位,它减少了用于主机地址的位数。加入到掩码中的位数决定了可以配置的子网。因而,在一个划分了子网的网络中,每个地址包含一个网络地址、一个子网位数和一个主机地址
1、示例
255.255.248.0这个子网掩码可以最多容纳多少台电脑?
1)计算方法
把将其转换为二进制的四段数字(每段要是8位,如果是0,可以写成8个0,也就是00000000)11111111.1111111.11111000.00000000
然后,数数后面有几颗0,一共是有11颗,那就是2的11次方,等于2048(注意:主机号中全0是保留地址,全1是广播地址,所以它们不算可用主号地址。网络号也是一样的。子网号是可以用全0和全1的),所以这个子网掩码最多可以容纳2048-2=2046台电脑。
一个子网最多可以容纳多少台电脑你会算了吧,下面我们来个逆向算法的题。
一个公司有530台电脑,组成一个对等局域网,子网掩码设多少最合适?
首先,无疑,530台电脑用B类IP最合适(A类不用说了,太多,C类又不够,肯定是B类),但是B类默认的子网掩码是255.255.0.0,可以容纳6万台电脑,显然不太合适,那子网掩码设多少合适呢?我们先来列个公式:2^m >= 560。
首先,我们确定2^m一定是大于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
--------------------------------
2)同一网段
在这里,向大家说一下到底怎么样才算同一网段。
要想在同一网段,必需做到网络标识相同,那网络标识怎么算呢?各类IP的网络标识算法都是不一样的。A类的,只算第一段。B类,只算第一、二段。C类,算第一、二、三段。
算法:只要把IP和子网掩码的每位数AND(逻辑与)就可以了。[注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逻辑与得出结果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.11011110
255.255.254.0 11111111.11111111.11111110.00000000
分别AND,得:
10111100.10111100.00000000.00000000
10111100.10111100.00000100.00000000
网络标识不一样(看255.255.254.0转换成二进制后1的数位,所以可以看到不一样),即不在同一网段。
判断是不是在同一网段,你会了吧,下面我们来点实际的。
一个公司有530台电脑,组成一个对等局域网,子网掩码和IP设多少最合适?
子网掩码不说了,前面算出结果来了11111111.11111111.11111100.00000000,也就是255.255.252.0
--------------------------------
3)B类地址
选一个B类IP段,这里就选188.188.x.x吧
这样,IP的前两段确定的,关键是要确定第三段,只要网络标识相同就可以了。我们先来确定网络号。我们把子网掩码中的1和IP中的?对就起来,0和*对应起来,如下:
255.255.252.0 11111111.11111111.11111100.00000000 己确定的子网掩码
188.188.x.x 10111100.10111100.??????**.******** B类IP段
网络标识 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**中的**填3次数字,只能填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类默认子网掩码得了,要说的是,由于A类IP和A类默认子网掩码的主机数目过大,这样做无疑是大海捞针,如果同时局域网访问量过频繁、过大,会影响效率的。所以,最好设置符合自己的IP和子网掩码。
举个实例:比如公司分配到的网段是192.168.1.0/24,首先我要分一个8个主机的网段出来,那么这个网段的首地址是什么?之后,我又要划分一个16个主机的地址出来,那么16个主机的首地址是什么?
2、划分实例
1)C类地址例子:网络地址192.168.10.0;子网掩码255.255.255.192/26(26个1,32-26=6个0)
子网数=2*2=4 [注2]
主机数=2^6-2=62
有效子网?:block size=256-192=64;所以第一个子网为192.168.10.64,第二个为192.168.10.128
广播地址:下个子网-1.所以2个子网的广播地址分别是192.168.10.127和192.168.10.191
有效主机范围:所以第一个子网为192.168.10.0,第二个为192.168.10.64,第三个为192.168.10.128,第四个为192.168.10.192
--------------------------------
2)B类地址例子1:网络地址:172.16.0.0;子网掩码255.255.192.0/18(18个1,32-18=14个0)
子网数=2*2=4
主机数=2^14-2=16382
有效子网?:block size=256-192=64;所以第一个子网为172.16.64.0,最后1个为172.16.128.0
广播地址:下个子网-1.所以2个子网的广播地址分别是172.16.127.255和172.16.191.255
有效主机范围:第一个子网的主机地址是172.16.64.1到172.16.127.254;第二个是172.16.128.1到172.16.191.254
--------------------------------
3)B类地址例子2:网络地址:172.16.0.0;子网掩码255.255.255.224/27(27个1,32-27=5个0)
子网数=2^11-2=2046(因为B类地址默认掩码是255.255.0.0,所以网络位为8+3=11)
主机数=2^5-2=30
有效子网?:block size=256-224=32;所以第一个子网为172.16.0.32, 最后1个为172.16.255.192
广播地址:下个子网-1.所以第一个子网和最后1个子网的广播地址分别是172.16.0.63和172.16.255.223
有效主机范围:第一个子网的主机地址是172.16.0.33到172.16.0.62;最后1个是172.16.255.193到172.16.255.223
--------------------------------
4)Variable Length Subnet Masks(VLSM)
变长子网掩码(VLSM)的作用:节约IP地址空间;减少路由表大小.使用VLSM时,所采用路由协议必须能够支持它,这些路由协议包括RIPv2,OSPF,EIGRP和BGP.
5)网络中子网位数、子网数和主机数计算总结:
已知C类地址:202.117.38.0的子网掩码为255.255.255.0,要求划分8个子网,那么需要借用后面3位主机位(没有排除不可用子网),即:子网数=主机位^3,即:2^3=8,满足上述所需子网个数。
已经算出子网数的主机位,那么接下来计算划分后的网络的子网掩码:
划分前:11111111 11111111 11111111 00000000
划分后:11111111 11111111 11111111 11100000
划分后子网掩码十进制表示:255.255.255.224,可分为8个网络(没有排除不可用子网)
每个子网的网络地址、起始地址、结束地址、广播地址如下所示:
1子网:00000000(最后一字节二进制所示)
网络地址202.117.38.0 起始与结束:202.117.38.1~202.117.38.30 广播地址:202.117.38.31
2子网:00100000
网络地址:202.117.38.32 起始与结束:202.117.38.33~202.117.38.62 广播地址:202.117.38.63
3子网:01000000
网络地址:202.117.38.64 起始与结束:202.117.38.64~202.117.38.94 广播地址:202.117.38.95
4子网:01100000
网络地址:202.117.38.96 起始与结束:202.117.38.97~202.117.38.126 广播地址:202.117.38.127
5子网:10000000
网络地址:202.117.38.128 起始与结束:202.117.38.129~202.117.38. 158广播地址:202.117.38.159
6子网:10100000
网络地址:202.117.38.160 起始与结束:202.117.38.161~202.117.38.190 广播地址:202.117.38.191
7子网:11000000
网络地址:202.117.38.192 起始与结束:202.117.38.193~202.117.38.222 广播地址:202.117.38.223
8子网:11100000
网络地址:202.117.38.224 起始与结束:202.117.38.225~202.117.38.254 广播地址:202.117.38.255
每个子网的子网掩码为:255.255.255.224,每个子网网络可以同时接入的最大主机数为30台。
-----------------------------------------------------------
注1:
已知网络地址为211.134.12.0,要有4个子网,求子网掩码及主机块。
由于211.Y.Y.Y是一个C类网,子网掩码格式为255.255.255.M,又知有4个子网,4接近2的幂是8(23),所以Subnet_block=8,Subnet_num=8-2=6,IP_block=256/Subnet_block=256/8=32,子网掩码M=256-IP_block=256-32=224,故子网掩码表示为255.255.255.224。又因为子网块的首、尾两块不能使用,所以可分配6个子网,每个子网有32个可分配主机块,即32~63、64~95、96~127、128~159、160~191、192~223,其中首块(0~31)和尾块(224~255)不能使用。
由于每个子网块中的可分配主机块又有首、尾两个不能使用(一个是子网网络地址,一个是子网广播地址),所以主机块分别为33~62、65~94、97~126、129~158、161~190及193~222,因此子网掩码为255.255.255.224,主机块共有6段,分别为211.134.12.33~211.134.12.62、211.134.12.65~211.134.12.94、211.134.12.97~211.134.12.126、211.134.12.129~211.134.12.158、211.134.12.161~211.134.12.190及211.134.12.193~211.134.12.222。用户可以任选其中的4段作为4个子网。
如255.255.252.0,这样计算 256-252=4, 4*256=1024。 为什么乘256,因为后面的0表示8个0,就是一个段最多是256个IP。而用上面所说的通用办法计算,252用二进制表示是1111 1100 ,0用二进制表示是0000 0000,一共是10个0,2^10=1024。
注2:
子网数=2^网络位,网络位为默认的子网掩码中加入的位数例:C类默认掩码为 255.255.255.0 转化为2位数为:11111111.11111111.11111111.00000000若C类地址,使用的子网掩码为:255.255.255.192,转化为2位数为:11111111.11111111.11111111.11000000,较默认的增加了两个1,即2个位数,则子网数为:2^2=4。
孤独本是常态,逢人不必言深。觉得不错,动动发财的小手点个赞哦!