[网络层]子网的划分--子网掩码、CIDR与VLSM

用子网掩码划分子网

  划分子网后,通过使用掩码,把子网隐藏起来,使得从外部看网络没有变化,这就是子网掩码。

  百度百科上经典例题:

  例如,有两台主机,主机一的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.0
  主机二
  222.21.160.73 即:   11011110.00010101.10100000.01001001
  255.255.255.192即:11111111.11111111.11111111.11000000
  按位逻辑与运算结果为:11011110.00010101.10100000.01000000
  十进制形式为(网络地址):222.21.160.64

  通过观察,我们发现,将IP地址与子网掩码进行逻辑与运算后,就能得到这个IP的网络地址。如果网络地址不相等,那么就说明他们在不同的网络。相等则在相同的网络。
  上面计算出这两个在不同的网络里!
 
  我们再来看看相等的例子:
 
  主机一
  222.21.160.6即      :11011110.00010101.10100000.00000110
  255.255.255.192即 :11111111.11111111.11111111.11000000
  按位逻辑与运算结果为:11011110.00010101.10100000.00000000
  十进制形式为(网络地址):222.21.160.0

  主机二
  222.21.160.8 即:   11011110.00010101.10100000.00001000
  255.255.255.192即:11111111.11111111.11111111.11000000
  按位逻辑与运算结果为:11011110.00010101.10100000.01000000
  十进制形式为(网络地址):222.21.160.0
 
  可以看出222.21.160.6和222.21.160.8网络地址相等~可以知道他们在同一个网络。
 
有了以上的知识,下面可以看看几种网络划分方式:
 
 1.CIDR
 
  CIDR(Classless Inter-Domain Routing,无类域间路由)的基本思想是取消IP地址的分类结构,将多个地址块聚合在一起生成一个更大的网络,以包含更多的主机。
  以CIDR地址222.80.18.18/25为例,其中“/25”表示其掩码为【11111111111111111111111110000000】(25个1,剩下为0),前面地址中的前25位代表网络部分,其余位代表主机部分。
  通过IP地址与子网掩码进行逻辑与运算,就可以得到网络号。和上面的计算方法是一样的。
  这是个更灵活的划分方式。为什么说灵活?因为相比IPV4,他有更好的办法缓解IP资源的耗尽。
  例题:假设有一组C类地址为192.168.8.0-192.168.15.0,如果用CIDR将这组地址聚合为一个网络,其网络地址和子网掩码应该为:
  A. 192.168.8.0/21
  B. 192.168.8.0/20
  C. 192.168.8.0/24
  D. 192.168.8.15/24
例题来源:http://blog.csdn.net/jiji262/article/details/1801283
   192.168.8.0    的二进制表示:11000000。10101000。00001000。00000000
   192.168.15.0  的二进制表示:11000000。10101000。00001111。00000000
   
  分析:192.168.8.0-192.168.15.0 一共有多少个IP地址? 这里有8个C类地址,每个地址有256个主机,所以一共有8*256 = 2048个主机
  2048个数如果用二进制,需要几位表示?11位。所以主机位需要11位。
  子网掩码是:11111111111111111111100000000000 (数数看,是不是11个零,21个1?)
   即 192.168.8.0/21 ,选A
  ==============================================================================
  让我们更加深入的探讨下划分的问题。
  就IPV4的C类地址而言,子网掩码为:111111111111111111111111。00000000
  根据定义,我们知道子网掩码的1代表网络位,0代表主机位。
  还是用上面的例题举例,求得CIDR所表示的子网掩码为11111111。11111111。11111000。00000000
  通过观察,CIDR的子网掩码比C类地址的子网掩码少了3个1,而多了3个零。可以发现,CIDR是将网络位缩减了,而将主机位增加, 这样网络数量少了,但是每个网络能容纳下的主机增加了!是不是很神奇!
  这就是所谓的“在使用CIDR聚合地址时,可以将原来分类IP地址中的网络位划出一部分作为主机位使用。”
 
  总结:当我们手头有好几个网络,想把它合并成一个网络统一管理时,用CIDR效果拔群。
 
2.VLSM
  他与CIDR反过来了。他不是将网络合并成大网络,而是将小网络划分成更加小的网络!
  下面是网络上对VLSM的解释:
 

什么是VLSM?

VLSM提出供了在一个主类(A、B、C类)网络内包含多个子网掩码的能力,以及对一个子网的再进行子网划分的能力。它的优点如下:
1:对IP地址更为有效的使用-如果不采用VLSM,公司将被限制为在一个A、B、C类网络号内只能使用一个子网掩码;
2:路由归纳的能力更强-VLSM允许在编址计划中有更多的体系分层,因此可以在路由表内进行更好的路由归纳。

变长子网掩码(VLSM)的作用:节约IP地址空间;减少路由表大小.使用VLSM时,所采用的路由协议必须能够支持它。

    例题:现在,我们拥有子网地址  172.16.12.0/22 ,我们现在想把它分割成若干个包含200个主机的网络,怎么办?

  我们先看看原来的子网地址有多少个主机。

172。16.12.0转换成二进制是: 10101100。00010000。00001100。00000000

                        ,子网掩码是  11111111。11111111。11111100。00000000

  子网掩码有10个0,说明有2的10次方种排列组合,也就是1024. 可以容纳1024个主机。

  而200个主机大概需要几个零呢?2的7次方为128,太小。2的8次方为256,恰好能装200个,还有剩余,不错不错。那这样的话,子网掩码的0就是8个,那么前面的1就有24个了!

  子网掩码前缀是24个1,就写 /24。

  从头开始分,172.16.12.0/24  这组网络拥有256个主机。 那下一组的IP地址就是172.16.12.0 加上 256,

      就172.16.13.0/24(IP地址中逢256进一,所以没有172.16.13.256这个地址)

  接下来是 172.16.14.0/24  

      以及172.16.15.0/24 

      就这样,我们将拥有1024个主机的相对大的一个网络, 切割成每个网络能容纳大约200个主机的四个小网络了!

==============================================================================

  又是分割线:相信足够聪明的你一定已经发现,为了获得更多的网络数量,VLSM将主机位拿去当网络号用了,这种行径与CIDR是颠倒过来的。

 
 
posted @ 2015-05-18 21:11  chunyi  阅读(1915)  评论(0编辑  收藏  举报