要明白VLSM与CIDR是什么,首先要清楚IP地址的格式与结构组成。
IP地址格式
IP地址由32位组成,每一个IP地址都是由网络号跟主机号组成的。网络号就好像是每台设备所在区域的一个标识,网络号相同的设备位于同一个子网中。主机号就是在本网段中不同设备的不同标识。
国际组织把IP地址划分成五类:
A类地址:0.0.0.0~127.255.255.255,前8位为网络号,后24位为主机号,主要用于大型网络(127.0.0.0也属于A类地址,不过它被用于LOOP BACK回环路径,用作测试用的,所以不能分配给主机)。Internet有126个A类地址,其中每个地址能容纳16777214个主机;
B类地址:128.0.0.0~191.255.255.255,前16位为网络号,后16位为主机号,主要用于中型网络。Internet有16382个B类地址,其中每个地址能容纳64534个主机;
C类地址:192.0.0.0~223.255.255.255,前24位为网络号,后8位为主机号,主要用于小型网络。Internet有2097150个C类地址,其中每个地址能容纳254个主机;
D类地址:224.0.0.0~239.255.255.255,D类地址没有反映网络大小,他只是用于组播,用来指定接收组播信号的设备的IP地址;
E类地址:240.0.0.0~255.255.255.254,用作试验。
但是,这个IP的制定方式是及其不合理的。假设一家企业拥有20000台电脑,需要申请一个B类地址。但是B类地址最多是能容纳64534个主机的,因此就会出现40000多个IP地址空余出来,没有分配到任何一台主机上面,造成IP地址的严重浪费。
当初在制定IP地址规格的时候,是没有考虑过互联网会发展到今天如此大的规模,结果造成IP地址资源的严重不够,每个IP地址没有充分利用。在当时IPV6(128位地址,号称地球每粒沙子都能分配一个IPv6地址)还没出现的时候,为了能够最大限度地利用IP地址,VLSM出现了。
VLSM(可变长子网掩码)
VLSM(可变长子网掩码)是一种划分子网的技术,它可以对A、B、C类地址再进行子网划分,以达到充分利用IP地址的目的。
假设一家企业有100台电脑,按照以前的办法,只能分配一个C类地址给它。但VLSM可以在一个C类地址上划分出多个子网地址,再分配其中一个容纳主机数量与稍大于企业需求数量的IP地址给企业。这样做可以实现IP地址的不浪费。
划分子网,一句话,其实就是网络号向主机号借位。例如:
在208.208.208.0这个C类地址中,需要划分出一个容纳100台电脑的子网。2的7次方是128,可以计算出能容纳100台电脑的子网主机号最少需要7位,因此网络号长度为32-7=25位。网络位向主机位借1位,子网掩码为255.255.255.128。
208.208.208.0 =11010000.11010000.11010000.00000000
255.255.255.128=11111111.11111111.11111111.10000000
以上二进制地址做与运算,可以得出新的子网地址为208.208.208.0/25。
因此208.208.208.0/24可以划分成208.208.208.0/25和208.208.208.128/25两个子网地址,每个子网地址可以容纳126台主机。公司只需要其中一个子网地址就能达到需求,另外一个地址可以留作其他公司使用,达到充分利用IP地址的,不浪费地址资源的目的。
CIDR(无类别域间路由)
CIDR主要有两个作用:
-
把多个地址块聚合到一起,生成一个能容纳更多主机的网络;
-
汇总路由表IP地址,分担路由表压力。
其实VLSM跟CIDR从功能角度来讲是有一定区别的,但为什么人们都还是经常把这两种技术放在一起讲呢?我觉得其实是因为他们技术所实现的方法很类似。
VLSM是网络号向主机号借位,目的是把一个标准的网络划分成几个子网,减少子网主机数量;
CIDR是主机号向网络号借位,目的是把几个网络汇总成一个大的网络,增加子网主机数量。
就像208.208.208.0/25和208.208.208.128/25两个子网地址,可以汇总成208.208.208.0/24,而208.208.208.0/24也可以与208.208.208.1/24汇总成208.208.208.2/23。CIDR汇聚网络的方法跟VLSM划分子网的方法相类似。
CIDR也可以用来做IP地址汇总(超网)。由于在Internet环境中,运营商的路由器所拥有的路由条目是异常庞大的。但在采用CIDR后,就可以将连续的地址空间总结成一条路由条目,路由表不再需要对外宣称所有网段的信息,这样做可以大大地减少路由表中的条目数量。