VLSM (Variable Length Subnet Mask:可变长子网掩码):为了有效的使用无类别域间路由(CIDR)和路由汇总来控制路由表的大小,网络管理员使用先进的IP寻址技术,VLSM就是其中的常用方式。
VLSM的作用:在类的IP地址的基础上,从主机号部分借出相应的位数来做网络号,也就是增加网络号的位数。使用可变长度子网掩码的目的,就是在每个子网上保留足够的主机数的同时,把一个网再分成多个子网。这是一种产生不同大小子网的网络分配机制,开发可变长度子网掩码的想法就是在每个子网上保留足够的主机数的同时,把一个子网进一步分成多个小子网,有更大的灵活性。如果没有VLSM,一个子网掩码只能提供给一个网络。这样就限制了要求的子网数上的主机数。
VLSM的使用:VLSM其实就是相对于类的IP地址来说的。A类的***段是网络号(前八位),B类地址的前两段是网络号(前十六位),C类的前三段是网络号(前二十四位)。而VLSM的作用就是在类的IP地址的基础上,从他们的主机号部分借出相应的位数来做网络号,也就是增加网络号的位数。各类网络可以用来再划分子网的位数为:A类有二十四位可以借,B类有十六位可以借,C类有八位可以借(可以再划分的位数就是主机号的位数。实际上不可以都借出来,因为IP地址中必须要有主机号的部分,而且主机号部分剩下一位是没有意义的,所以在实际中可以借的位数是在我写的那些数字中再减去2,借的位作为子网部分)。
举例: IP: 10.217.123.7
IP二进制位:00001010 11011001 01111011 00000111
子网掩码:255.255.240.0
子网掩码二进制位:11111111 11111111 11110000 00000000
则网络位的位数为:8+8+4+0=20(位)
IP地址的VLSM表示:10.217.123.7/20
网络地址为:10.217.112.0
即 网络地址=IP地址二进制位(相与)子网掩码二进制位
总结:子网掩码可取值如下:
11111111--->255
11111110--->254
11111100--->252
11111000--->248
11110000--->240
11100000--->224
11000000--->192
10000000--->128
00000000--->0
子网掩码:网络位和子网位=1,主机位=0。
子网数=2的子网借用位数次幂-2。
可用主机数=2的主机位数次幂-2。
网络地址:网络位和子网位不变,主机位为0。
广播地址:网络位和子网位不变,主机位为1=整个网络段中***一个IP地址。
有效IP地址:在一个网端中去掉最前面一个网络地址和***一个广播地址,剩余的范围就是有效的IP地址。
子网拆分举例:192.168.5.0拆分成20个子网+每个子网中有5个主机
设拆分后主机位=h, 拆分后网络位=n, 由2h>=5 => h>=3
当h=3时,n=32-3=29, 借位=29-24=5
当h>=4时不成立(可以使用上面计算方法证明)
则拆分后: 主机位=3, 网络位=29 划分后如下:
(1)子网1: 192.168.5.0/29 子网掩码:255.255.255.248
网络地址:192.168.5.0 (原网络的网络号) 有效IP:192.168.5.1-6
广播地址:192.168.5.7
(2)子网1: 192.168.5.8/29 子网掩码:255.255.255.248
网络地址:192.168.5.8 有效IP:192.168.5.9-14
广播地址:192.168.5.15
............一直到...........
(32)子网32:子网1: 192.168.5.248/29 子网掩码:255.255.255.248
网络地址:192.168.5.248 有效IP:192.168.5.249-254
广播地址:192.168.5.255(原网络的广播号)
CIDR(Classless Inter-Domain Routing)-无类域间路由,它不使用传统的有类网络地址的概念,即不再区分A、B、C类网络地址。在分配IP地址段时也不再按照有类网络地址的类别进行分配,而是将IP网络地址空间看成是一个整体,并划分成连续的地址块。然后采用分块的方法进行分配。
在CIDR技术中,常使用子网掩码中表示网络号二进制位的长度来区分一个网络地址块的大小,称为CIDR前缀。如IP地址210.31.233.1,子网掩码255.255.255.0可表示成210.31.233.1/24;IP地址166.133.67.98,子网掩码255.255.0.0可表示成166.133.67.98/16;IP地址192.168.0.1,子网掩码255.255.255.240可表示成192.168.0.1/28等。
CIDR可以用来做IP地址汇总(或称超网,Super netting)。在未作地址汇总之前,路由器需要对外声明所有的内部网络IP地址空间段。这将导致Internet核心路由器中的路由条目非常庞大。采用CIDR地址汇总后,可以将连续的地址空间块总结成一条路由条目。路由器不再需要对外声明内部网络的所有IP地址空间段,这就大大减小了路由表中路由条目的数量。
利用CIDR实现地址汇总有两个基本条件:
1、待汇总地址的网络号拥有相同的高位。
2、待汇总的网络地址数目必须是2n,如2个、4个、8个、16个等等。否则,可能会导致路由黑洞(汇总后的网络可能包含实际中并不存在的子网)。