VLSM的子网划分<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

在部署新的网络时,我们除了需要确定分配的IP子网大小(包含多少IP地址)之外,还需要考虑这些子网在路由表中怎么汇总。

在地址充裕的情况下,使用SLSM(等长掩码)地址,路由表的配置比较简单;但是对于地址较少的情形,往往要用到VLSM(变长掩码)地址,为了后续配置的方便,在划分子网时应该采取如下步骤:

1)首先找到包含最多地址的子网的前缀(掩码);

2)将现有地址按1)所确定的前缀等分;

3)先分需求地址最多的子网(即1)所确定的),剩下的是未分配的地址块;

4)选一个未分配的地址块,也按前面3步来划分(找剩余未分配子网中包含地址最多的);

5)如果分配很小的子网(用于路由器间链路),建议选择处于最后地址范围的子网段。

举例:现有地址块:168.34.28.0/23168.34.28.0/255.255.254.0),需要划分的子网:3个前缀为25(掩码为255.255.255.128),3个前缀为27(掩码为255.255.255.224),3个前缀为30(掩码为255.255.255.252)。那么划分的步骤如下:

1)找到地址需求最多的子网前缀为25

2)将地址块168.34.28.0/23按前缀25等分,可分成四块:168.34.28.0/25168.34.28.128/25168.34.29.0/25168.34.29.128/25

3)首先分配前缀为25的子网,这里有3个,所以它们分别占用168.34.28.0/25168.34.28.128/25168.34.29.0/25

4)在剩余子网中选择需求地址最多的——前缀为27的地址块;

5)将剩余地址块168.34.29.128/25按前缀27等分,可分成四块:168.34.29.128/27168.34.29.160/27168.34.29.192/27168.34.29.224/27

6)首先分配前缀为27的子网,这里有3个,所以它们分别占用168.34.29.128/27168.34.29.160/27168.34.29.192/27

7)剩余子网已经是很小的子网(前缀为30),所以从剩余地址块(168.34.29.224/27)的最后开始分配,这里有三个,所以它们分别占用168.34.29.244/30168.34.29.248/30168.34.29.252/30

 

路由汇总

在已知子网的情况下,怎样确定最佳的路由汇总策略?——这个问题在IP地址计算中十分常见。关于这个问题,有两种考量方法:

1)包含汇总路由:单条汇总路由包含了所有已知子网,也可能包含其它不存在的子网。

2)排他汇总路由:使用尽可能少的路由包含所有已知子网,不能包含其它不存在的子网。

这两种情况各有其存在的理由,比如说,当局域网中需要保留一些地址在未来使用时(扩展的需要),会考虑采用第1)种方法;而对于局域网间地址路由的汇总,可能不希望包含其它地址(因为这些地址可能已经被其他网使用),这时会考虑采用第2)种方法。

 

计算包含汇总路由的方法

标准方法(二进制):

1)写出每个子网号的二进制形式;

2)找出这些子网号中连续且值相同的位,这些位数即前缀值x

3)写一个新的32位数,该数复制子网号的前x位数,剩余位的值都为0,这就是汇总的路由;

4)将该数转换成10进制形式。

快速方法(10进制):

1)计算已知子网的个数,找到最小值x,使得2x >= 子网个数;

2)找到子网中最大的前缀值y,令y=y-x

3)假定地址值最小的子网号为一个IP地址,令其前缀为y,计算出该假设地址所在的子网号;

4)假定地址值最大的子网号为一个IP地址,令其前缀为y,计算出该假设地址所在的子网号,如果所得子网号与3)所得一样,那么这就是汇总的路由;

5)如果4)所得子网号与3)所得不一样,那么再重复3)和4)的步骤,但是y=y-1

举例:已知子网168.34.12.0/24168.34.13.0/24168.34.14.0/24168.34.15.0/24168.34.16.0/25,求其包含汇总路由。步骤如下:

1)子网个数为5,所以求得x=3,使得23 = 8 > 5

2)子网中最大的前缀值为25,所以y=25-3=22

3)地址值最小的子网号是168.34.12.0,假定其为一个IP地址,前缀为22,则计算出其所在子网为168.34.12.0/22

4)地址值最大的子网号是168.34.16.0,假定其为一个IP地址,前缀为22,则计算出其所在子网为168.34.16.0/22

5)地址值最小的子网号是168.34.12.0,假定其为一个IP地址,前缀为21,则计算出其所在子网为168.34.8.0/21

6)地址值最大的子网号是168.34.16.0,假定其为一个IP地址,前缀为21,则计算出其所在子网为168.34.16.0/21

7)地址值最小的子网号是168.34.12.0,假定其为一个IP地址,前缀为20,则计算出其所在子网为168.34.0.0/20

8)地址值最大的子网号是168.34.16.0,假定其为一个IP地址,前缀为20,则计算出其所在子网为168.34.16.0/20

9)地址值最小的子网号是168.34.12.0,假定其为一个IP地址,前缀为19,则计算出其所在子网为168.34.0.0/19

10)地址值最大的子网号是168.34.16.0,假定其为一个IP地址,前缀为19,则计算出其所在子网为168.34.0.0/19;与9)所得相同,此即为汇总的路由。

 

计算排他汇总路由的方法(二分法、SLSM

1)先找出包含汇总路由,称为候选排他汇总路由;

2)看该候选路由是否包含了不存在的子网,如果没有包含,那么该候选路由即所求的一部分;

3)如果候选路由包含了不存在的子网,则将其分割成两半,形成两条新的候选路由(前缀增1);

4)如果候选路由中的一条包含了不存在的子网,那么再将其一分为二,如果候选路由中的一条完全不包含已知的子网,则丢弃此条路由;

5)重复2)和4)直到没有新的可能的候选路由产生为止。

举例:已知子网168.34.20.0/24168.34.21.0/24168.34.22.0/24168.34.23.0/24168.34.24.0/24,按前面的方法可得到其包含汇总路由为168.34.16.0/20,求排他汇总路由的步骤如下:

1)因为168.34.16.0/20包含了不存在的子网,所以将其一分为二:168.34.16.0/21168.34.24.0/21

2)对于168.34.16.0/21,仍然包含不存在的子网,再将其一分为二:168.34.16.0/22168.34.20.0/22,此时168.34.20.0/22已经不包含不存在的子网,所以它是所求的一部分,而168.34.16.0/22完全不包含已知子网,所以它被丢弃;

3)再看168.34.24.0/21,仍然包含不存在的子网,再将其一分为二:168.34.24.0/22168.34.28.0/22,此时168.34.28.0/22完全不包含已知子网,所以它被丢弃;

4)对于168.34.24.0/22,仍然包含不存在的子网,再将其一分为二:168.34.24.0/23168.34.26.0/23,此时168.34.26.0/23完全不包含已知子网,所以它被丢弃;

5)对于168.34.24.0/23,仍然包含不存在的子网,再将其一分为二:168.34.24.0/24168.34.25.0/24,此时168.34.25.0/24完全不包含已知子网,所以它被丢弃,而168.34.24.0/24已经不包含不存在的子网,所以它是所求的一部分,此时已经没有候选路由。

综上所述,求得排他汇总路由为:168.34.20.0/22168.34.24.0/24