子网划分

来源:互联网 发布:类似“一个”的软件 编辑:程序博客网 时间:2024/06/03 01:50

   Internet组织机构定义了五种I P地址 ,用于主机的有A、B、C三类地址。其中A类网络有126个,每个A类网络可能有16,777,214台主机,它们处于同一广播域。而在同一广播域中有这么多结点是不可能的,网络会因为广播通信而饱和,结果造成16,777,214个地址大部分没有分配出去,形成了浪费。而另一方面,随着互连网应用的不断扩大,IP地址资源越来越少。为了实现更小的广播域并更好地利用主机地址中的每一位,可以把基于类的IP网络进一步分成更小的网络,每个子网由路由器界定并分配一个新的子网网络地址 ,子网地址是借用基于类的网络地址的主机部分创建的。划分子网后,通过使用掩码,把子网隐藏起来,使得从外部看网络没有变化,这就是子网掩码。  

 1. 子网掩码   

   RFC 950定义了子网掩码的使用,子网掩码是一个32位的2进制数,其对应网络地址的所有位都置为1,对应于主机地址的所有位都置为0。由此可知,A类网络的缺省的子网掩码是255.0.0.0,B类网络的缺省的子网掩码是255.255.0.0,C类网络的缺省的子网掩码是255.255.255.0。将子网掩码和IP地址按位进行逻辑“与”运算 得到IP地址的网络地址 剩下的部分就是主机地址 ,从而区分出任意IP地址中的网络地址和主机地址。子网掩码常用点分十进制表示,我们还可以用网络前缀法表示子网掩码,即“/<网络地址位数> ”。如138.96.0.0/16表示B类网络 138.96.0.0的子网掩码为255.255.0.0。

   子网掩码告知路由器 ,地址的哪一部分是网络地址,哪一部分是主机地址,使路由器正确判断任意IP地址是否是本网段的 ,从而正确地进行路由。例如,有两台主机,主机一的IP地址为222.21.160.6,子网掩码为255.255.255.192,主机二的IP地址为222.21.160.73,子网掩码为255.255.255.192。现在主机一要给主机二发送数据,先要判断两个主机是否在同一网段。   

主机一   222.21.160.6即:11011110.00010101.10100000.00000110   

                255.255.255.192即:11111111.11111111.11111111.11000000   

按位逻辑与运算 结果为: 11011110.00010101.10100000.00000000   

主机二   222.21.160.73 即:11011110.00010101.10100000.01001001   

                255.255.255.192即:11111111.11111111.11111111.11000000   

按位逻辑与运算结果为:11011110.00010101.10100000.01000000   

两个结果不同 ,也就是说,两台主机不在同一网络 ,数据需先发送给默认网关 ,然后再发送给主机二所在网络 。那么,假如主机二的子网掩码误设为 255.255.255.128,会发生什么情况呢? 让我们将主机二的IP地址与错误的子网掩码相“与”:

222.21.160.73 即:11011110.00010101.10100000.01001001   

255.255.255.128即:11111111.11111111.11111111.10000000   

结果为 11011110.00010101.10100000.00000000   这个结果与主机的网络地址相同,主机一与主机二将被认为处于同一网络中,数据不再发送给默认网关 ,而是直接在本网内传送。由于两台主机实际并不在同一网络中,数据包将在本子网内循环,直到超时并抛弃 。数据不能正确到达目的机,导致网络传输错误。 反过来,如果两台主机的子网掩码原来都是255.255.255.128,误将主机二的设为255.255.255.192,主机一向主机二发送数据时,由于IP地址与错误的子网掩码相与,误认两台主机处于不同网络,则会将本来属于同一子网内的机器之间的通信当作是跨网传输,数据包都交给缺省网关处理,这样势必增加缺省网关的负担,造成网络效率下降 。所以,子网掩码不能任意设置 ,子网掩码的设置关系到子网的划分。   

2. 子网划分与掩码的设置  

 子网划分是通过借用IP地址的若干位主机位 来充当子网地址 从而将原网络划分为若干子网而实现的。划分子网时,随着子网地址借用主机位数的增多,子网的数目随之增加,而每个子网中的可用主机数逐渐减少 。以C类网络为例,原有8位主机位,2的8次方即256个主机地址,默认子网掩码 255.255.255.0。借用1位主机位,产生2个子网,每个子网有126个主机地址;借用2位主机位,产生4个子网,每个子网有62个主机地址…… 每个网中,第一个IP地址(即主机部分全部为0的IP )和最后一个IP(即主机部分全部为1的IP不能分配给主机使用 ,所以每个子网的可用IP地址数为总IP地址数量减2 ;根据子网ID借用的主机位数,我们可以计算出划分的子网数、掩码、每个子网主机数,列表如下:   

① 划分子网数   ② 子网位数   ③ 子网掩码(二进制)                            ④ 子网掩码(十进制)       ⑤ 每个子网主机数   

① 1~2           ② 1             ③ 11111111.11111111.11111111.10000000   ④ 255.255.255.128             ⑤ 126  

① 3~4          ② 2              ③ 11111111.11111111.11111111.11000000    ④ 255.255.255.192              ⑤ 62   

① 5~8         ② 3               ③ 11111111.11111111.11111111.11100000     ④ 255.255.255.224               ⑤ 30   

① 9~16       ② 4                 ③ 11111111.11111111.11111111.11110000     ④ 255.255.255.240              ⑤ 14   

① 17~32     ② 5                 ③ 11111111.11111111.11111111.11111000     ④ 255.255.255.248               ⑤ 6   

① 33~64     ② 6                 ③ 11111111.11111111.11111111.11111100      ④ 255.255.255.252               ⑤ 2   

如上表所示的C类网络中,若子网占用7位主机位时,主机位只剩一位,无论设为0还是1,都意味着主机位是全0或全1。由于主机位全0表示本网络,全1 留作广播地址,这时子网实际没有可用主机地址,所以主机位至少应保留2位

 

从上表可总结出子网划分的步骤或者说子网掩码的计算步骤:   

2.1 确定 要划分的子网数目 以及每个子网的主机数目 。   

2.2 求出子网数目对应二进制数 的位数N及主机数目对应二进制数的位数M。  

2.3 对该IP地址的原子网掩码,将其主机地址部分的前N位置 1或后M位置0 即得出该IP地址划分子网后的子网掩码。   

例如,对B类网络135.41.0.0/16需要划分为20个能容纳200台主机的网络。因为16<20<32,即20<24<25,所以,子网位只须占用5位主机位就可划分成32个子网,可以满足划分成20个子网的要求。B类网络的默认子网掩码是255.255.0.0,转换为二进制为 11111111.11111111.00000000.00000000。现在子网又占用了5位主机位,根据子网掩码的定义,划分子网后的子网掩码应该为11111111.11111111.11111 000.00000000,转换为十进制应该为255.255.248.0。现在我们再来看一看每个子网的主机数。子网中可用主机位还有11位,2的11次方=2048,去掉主机位全0和全1的情况 ,还有2046个主机ID可以分配,而子网能容纳200台主机就能满足需求,按照上述方式划分子网,每个子网能容纳的主机数目远大于需求的主机数目,造成了IP地址资源的浪费。为了更有效地利用资源,我们也可以根据子网所需主机数来划分子网 。还以上例来说,128<200<256,即2^7<200<2^8,也就是说,在B类网络的16位主机位中,保留8位主机位,其它的16-8=8位当成子网位,可以将B类网络138. 96.0.0划分成256(2^8)个能容纳256-1-1-1 =253台(去掉全0全1情况和留给路由器的地址 )主机的子网。此时的子网掩码为 11111111.11111111.11111111 .00000000,转换为十进制为255.255.255.0。   在上例中,我们分别根据子网数和主机数划分了子网得到了两种不同的结果 ,都能满足要求,实际上,子网占用5~8位主机位时所得到的子网都能满足上述要求 ,那么,在实际工作中,应按照什么原则来决定占用几位主机位呢? 在划分子网时,不仅要考虑目前需要,还应了解将来需要多少子网和主机对子网掩码占用比实际需要的位 更多的主机位 ,可以得到更多的子网 ,节约了IP地址资源,若将来需要更多子网时,不用再重新分配IP地址 ,但每个子网的主机数量有限 ;反之,子网掩码占用较少的主机位每个子网的主机数量允许有更大的增长 ,但可用子网数量有限 。一般来说,一个网络中的节点数太多,网络会因为广播通信而饱和 ,所以,网络中的主机数量的增长是有限的,也就是说,在条件允许的情况下,会将更多的主机位用于子网位 。  

  综上所述,子网掩码的设置关系到子网的划分。子网掩码设置的不同,所得到的子网不同,每个子网能容纳的主机数目不同。若设置错误,可能导致数据传输错误。  

    补充: 子网划分(subnetting)的优点:  

 1.减少网络流量   2.提高网络性能   3.简化管理   4.易于扩大地理范围   

How to Creat Subnets 如何划分子网?

   首先要熟记2的幂:2的0次方到9次方的值分别为:1,2,4,8,16,32,64,128, 256和512.还有要明白的是:子网划分是借助于取走主机位 , 把这个取走的部分作为子网位.因此这个意味划分越多的子网,主机将越少。   

Subnet Masks子网掩码

   用于辨别IP地址中哪部分为网络地址,哪部分为主机地址 ,有1和0组成,长32位,全为1的位代表网络号.不是所有的网络都需要子网,因此就引入1个概念:默认子网掩码 (default subnet mask).A类IP地址的默认子网掩码为255.0.0.0;B类的为255.255.0.0;C类的为255.255.255.0

Classless Inter-Domain Routing(CIDR)  

  CIDR叫做无类域间路由,ISP常用这样的方法给客户分配地址,ISP提供给客户1个块(block size),类似这样:192.168.10.32/28,这排数字告诉你你的子网掩码是多少,28代表多少位为1,最大32.但是你必须知道的1点是:不管是A类还是B类还是其他类地址,子网掩码位数最大可用的只能为30 ,即保留2位给主机位 。 CIDR值:  1.掩码255.0.0.0:/8(A类地址默认掩码)   2.掩码255.128.0.0:/9  3.掩码255.192.0.0:/10  4.掩码255.224.0.0:/11 5.掩码255.240.0.0:/12   6.掩码255.248.0.0:/13   7.掩码255.252.0.0:/14   8.掩码255.254.0.0:/15   9.掩码255.255.0.0:/16(B类地址默认掩码)   10.掩码255.255.128.0:/17   11.掩码255.255.192.0:/18   12.掩码255.255.224.0:/19   13.掩码255.255.240.0:/20   14.掩码255.255.248.0:/21   15.掩码255.255.252.0:/22   16.掩码255.255.254.0:/23   17.掩码255.255.255.0:/24(C类地址默认掩码)   18.掩码255.255.255.128:/25   19.掩码255.255.255.192:/26   20.掩码255.255.255.224:/27   21.掩码255.255.255.240:/28   22.掩码255.255.255.248:/29   23.掩码255.255.255.252:/30   Subnetting Class A,B&C Address  

 划分子网的几个捷径:   

1.你所选择的子网掩码将会产生多少个子网?

   2的x次方 -2 (x代表主机位中充当掩码的位数,即2进制为1的部分,现在的网络中,已经不需要-2 ,已经可以全部使用,不过需要加上相应的配置命令 ,例如CISCO路由器需要加上ip subnet zero命令就可以全部使用了。)  

2.每个子网能有多少主机?

   2的y次方-2 (y代表主机位,即2进制为0的部分)   

3.有效子网是?

  子网间隔= 256-主机位中充当掩码位对应的 10进制 (结果叫做block size或base number),子网间隔也等于每个子网的主机地址数(包含不可用的)

  除了第一个和最后一个子网号,其他子网为有效子网号。

4.每个子网的广播地址是?

   广播地址 =下个子网号-1   

5.每个子网的有效主机分别是?

忽略子网内全为0和全为1的地址剩下的就是有效主机地址。,第一个有效地址 =子网掩码加1 最后1个有效主机地址 =下个子网号-2(即广播地址-1)  

 

根据上述捷径划分子网的具体实例: C类地址例子:网络地址192.168.10.0;子网掩码255.255.255.192(/26)   

1.子网数=2*2-2=2   

2.主机数=2的6次方-2=62  

3.有效子网?

  block size= 256-192=64;所以第一个子网为192.168.10.0,第二个子网为192.168.10.64 ,第三个子网为192.168.10.128 ,第四个子网为192.168.10.192 ,都是block size的倍数最大不超过掩码

  有效子网为192.168.10.64 和192.168.10.128。

4.广播地址=下个子网号-1

  子网192.168.10.64的广播地址是192.168.10.(64+64-1 )即192.168.10.127;子网192.168.10.128的广播地址是192.168.10.(128+64-1 )即192.168.10.191.

5.有效主机范围?

  子网192.168.10.64的主机地址是192.168.10.65(不是0) 到192.168.10.126

  子网192.168.10.128的主机地址是 192.168.10.129 到 192.168.10.190。  

 

B类地址例子1:网络地址:172.16.0.0;子网掩码255.255.192.0(/18)  

1.子网数=2*2-2=2   

2.主机数=2的14次方-2=16382   

3.有效子网?

  block size=256-192=64;所以第一个子网为172.16.64 .0(2的14次方=01000000 00000000=64.0);第二个子网为172.16.128 .0  

4.广播地址=下个子网号-1

  子网172.16.64.0的广播地址是172.16.127 .255 ;子网为172.16.128.0的广播地址是172.16.191 .255  

5.有效主机范围?

   子网172.16.64.0的主机地址是172.16.64.1 到172.16.127.254 ;

   子网172.16.128.0主机地址是172.16.128.1 到 172.16.191.254  

 

B类地址例子2:网络地址:172.16.0.0;子网掩码255.255.255.224(/27)

1.子网数=2的11次方-2=2046(因为B类地址默认掩码是255.255.0.0,所以网络位为8+3=11)  

2.主机数=2的5次方-2=30   

3.有效子网?

   block size=256-224=32;第一个子网为172.16.0.32, 最后一个子网为172.16.255.192   

4.广播地址=下个子网-1

  子网172.16.0.32的广播地址是172.16.0.63 ;最后一个子网172.16.255.192的广播地址是172.16.255.223   

5.有效主机范围?

 子网172.16.0.32的主机地址是172.16.0.33 到172.16.0.62 ;

最后一个子网172.16.255.192的主机地址是172.16.255.193 到 172.16.255.222  

 

A类地址范围 0 .0.0.0-127 .255.255.255(0-127相隔2^7-1)

B类地址范围 128 .0.0.0-191 .255.255.255(128-191相隔2^6-1)

C类地址范围 192 .0.0.0-223 .255.255.255(192-223相隔2^5-1)

D类地址范围 224 .0.0.0-239 .255.255.255(224-239相隔2^4-1)

E类地址范围 240 .0.0-255 .255.255.255

 

Variable Length Subnet Masks(VLSM)   

可变长子网掩码(VLSM)的作用:节约IP地址空间;减少路由表大小.使用VLSM时,所采用的路由协议必须能够支持它,这些路由协议包括 RIPv2,OSPF,EIGRP和BGP. 关于更多的VLSM知识,可以去Google.com进行搜索。

 

P地址规划时子网和掩码的计算

   一个主机的IP地址是202.112.14.137,掩码是255.255.255.224,要求计算这个主机所在网络的网络地址和广播地址。

常规办法:把这个主机地址子网掩码换算成二进制数 ,两者进行逻辑与运算 后即可得到网络地址

另一个方法:255.255.255.224的掩码所容纳的IP地址 (block size)有256-224=32个(包括网络地址和广播地址),那么具有这种掩码的网络地址一定是32 的倍数 。而网络地址是子网IP地址的开始,广播地址是结束,可使用的主机地址在这个范围内,因此略小于137而又是32的倍数的只有128,所以得出网络地址是202.112.14.128。而广播地址就是下一个网络的网络地址减1。而下一个32的倍数是160,因此可以得到广播地址为 202.112.14.159。

根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。比如一个子网有10台主机,那么对于这个子网就需要10+1 +1+1=13个IP地址。(注意加的第一个1是指这个网络连接时所需的网关地址 ,接着的两个1分别是指网络地址和广播地址 )13小于16(16等于2的4次方),所以主机位为4位。而256-16=240,所以该子网掩码为 255.255.255.240。

  如果一个子网有14台主机,不少同学常犯的错误是:依然分配具有16个地址空间的子网,而忘记了给网关分配地址。这样就错误了,因为 14+1+1+1=17 ,大于16,所以我们只能分配具有32个地址(32等于2的5次方)空间的子网。这时子网掩码为:255.255.255.224。

原创粉丝点击