一、子网划分
子网划分经常遇到,现在就以一个C类网络的网段来研究子网的划分,以192.168.100.0/24为例,以最后八位来分割子网,假设用8个圈来表示最后8个位, 从左至右依次是第25位,第26位,直至第32位最后一位。如下所示:
如上所示,不难看出,掩码长度为25的,说明从C类网络地址中的主机位上借了一个地址位,其余7位为主机位,也就是说将一个C类网络划成了两个子网,第25位的网络号有两种情况,一种是0,一种是1,也就是一个是192.168.100.0/25,另一个是192.168.100.128/25。网络个数为2的1次方个,也就2个,因为这个位只有两种情况,要么为0,要么为1.,那当然每个子网的主机数为:256/网络个数,然后减去子网号与广播地址这两个地址,所得数目就是主机数:(256/2)-2=126。
由此类推,若掩码为192,刚说明划分成了四个子网,即第25位和第26位两位为网络位,则有四种情况,00,01,10,11,也即:192.168.100.0/26,192.168.100.64/26,192.168.100.128/26和192.168.100.192/26。
上图是根据网络位与主机位的相互关系推算并画出来的,下面就用公式来表达上图的意思。
除去前8*3=24位不说,就从后8位(用0表示)说起,11111111 11111111 11111111 00000000,从左到右依次用1,2,3.。。8来表示其位,因为网络位是要向主机位借,所以方向也是从左到右的,这并不为奇。而在这8位中,第一位在这个段中的值为2的8-1次方,为128,第二位为2的8-2次方,为64,依此类推。。。,在此,假设其位数用n表示,则:
掩码=2^(8-1)+2^(8-2)+2^(8-3)....+2^(8-n) n=1至8
掩码长度=24+n
子网个数=2^(n)
子网长度=256/子网个数 (或这样计算) 子网长度=256-掩码
[子网长度,即每个子网的总IP数,其中包括有效主机数,子网网络号与子网广播地址]
子网主机数=子网长度-2
一般情况下,是告诉你掩码,则可知其它五项,如掩码为248,则:
子网长度=256-248=8 子网主机数=8-2=6
子网个数=256/子网长度=256/8=32
子网个数=2^(n)=32 则===>>n=5
掩码长度=24+5=29
如果告诉你掩码长度,如192.168.100.35/27,则:
n=27-24=3,知道了n,套用上面的公式,就都出来了,在此就不累述。
上面的方法是针对于“可变长子网掩码(VLSM)”的划分方法,下面就讲讲它的对立,不是子网,而是子网聚合成的超网(又名CIDR)的操作方法。
二、子网聚合(超网)(在路由表中叫路由聚合或路由汇总)
子网聚和与子网划分的操作与意图正好相反。
例:将下面五个子网聚和成一个超网
192.168.11.0/27
192.168.12.0/27
192.168.14.0/27
192.168.14.32/27
192.168.14.64/27
前面两位暂且不谈,且看后两位,因为后两位都各不相同,找出其相同处,就可以了将之聚合成一超网了,当然,如果你觉得不必这么麻烦,直接将之聚合成192.168.0.0/16,理论上是可行,但如果增加了一个子网192.168.0.0/18,当路由器存在此网络的路由表项时,会将它也聚合进去,造成路由混乱,所以,尽量找到它的最小合集,方能找到最小的超网。
方法其实只有一个,就是将不同的用二进制展开,上下对应,找出相同位置处的数字,若数字相同,则将超网的相同位上置与其位上相同的数字,即如果全为0,则置0,全为1,则置为1;如相同位置处的数字有不同,则在超网的相应位上为0。如下所示:
00001011 00000000 ==>11.0
00001100 00000000 ==>12.0
00001110 00000000 ==>14.0
00001110 00100000 ==>14.32
00001110 01000000 ==>14.64
----------------------------------------------------
00001000 00000000 ==> 8.0 且前面5位是相同的,所以,掩码长度为16+5=21
故此超网为:192.168.8.0/21
三、按要求划分子网
例:一公司要从母公司中抽调出254个员工去组建一家新的分公司,此分公司的网络还在筹划中,假若你就是此公司的网络工程师,你深知,由于技术与业务上的分工合作,此分公司得用192.168.16.0/22之内的IP给这些主机分配IP地址,如果能节省IP(即不向网络位借2位做主机位,而是只借1位做主机位,这样的话,路由器更能精确地找到这些网络段,也能节省更多的IP地址)。经了解,公司人员分布状况如下:
市场部:86 (38)人
技术部:61 (2)人
工程部:50 (10)人
客服部:30 (13)人
研发部:21 (5)人
售后部:6 (3)人
其中,()里头的数字表示今后最多会增加的人数。且因为安全性问题,所以,各个部门不能相互访问。
故在建此网络之前,应根据要求划分好子网络。
解:实际人数=254,刚好是一个C类网络的主机数,如果不是因为今后还会增加人员,正好就用一个网段来处理,然而要求里指明各部门不能互访,所以就算不增加人员,也是不行的。
实验人数:254人
将来最多人数:254+71=325人
又因为所设的IP地址为192.168.16.0/22网段内的地址,而325>254且325<2*254,所以,我们可以用两个子网网段长度为254的C类网聚合成的超网来给这个分公司的各部门分配网段。这里,又回来了本篇的第一部分。
所以,两个C类网合并成超网,也就是192.168.16.0/23这个网段。为了便于阅读,我把上面的那图贴下来一份,如下所示:
根据此图中的“子网主机数”,我们几乎可以直接将各部门的子网段写出来:
市场部:62<86+38=124<126 ==>192.168.16.0/25
技术部:62<61+2 =63<126 ==>192.168.16.0/25
工程部:30<50+10=60<62 ==>192.168.16.0/26
客服部:30<30+13=43<62 ==>192.168.16.0/26
研发部:14<21+5=26<30 ==>192.168.16.0/27
售后部:6<6+3=9<14 ==>192.168.16.0/28
其实,
用下面的图更能直观的表示各部门网段所处的位置,如下所示:
市场部:==>192.168.16.0/25
技术部:==>192.168.16.0/25
工程部:==>192.168.16.0/26
客服部:==>192.168.16.0/26
研发部:==>192.168.16.0/27
售后部:==>192.168.16.0/28
增加部1:==>192.168.16.0/26
增加部2:==>192.168.16.0/26
25+25==24
26+26==25
27+28==26--28
26+26==25
总合:N= 24+25+25+26--28==24+24+26--28==23+26--28 注意不是指“总和”。
由 N 值可知,掩码长度为23的这个网络不足以放下所有的网段,应该再向前借一位,所以,N应该取22,即192.168.16.0/22为增加两个部门后应选用的网段。
好了,关于子网划分与子网聚合就研究到此。