●VLSM的子网划分
在部署新的网络时,我们除了需要确定分配的IP子网大小(包含多少IP地址)之外,还需要考虑这些子网在路由表中怎么汇总。
在地址充裕的情况下,使用SLSM(等长掩码)地址,路由表的配置比较简单;但是对于地址较少的情形,往往要用到VLSM(变长掩码)地址,为了后续配置的方便,在划分子网时应该采取如下步骤:
1)首先找到包含最多地址的子网的前缀(掩码);
2)将现有地址按1)所确定的前缀等分;
3)先分需求地址最多的子网(即1)所确定的),剩下的是未分配的地址块;
4)选一个未分配的地址块,也按前面3步来划分(找剩余未分配子网中包含地址最多的);
5)如果分配很小的子网(用于路由器间链路),建议选择处于最后地址范围的子网段。
举例:现有地址块:168.34.28.0/23(168.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/25、168.34.28.128/25、168.34.29.0/25、168.34.29.128/25;
3)首先分配前缀为25的子网,这里有3个,所以它们分别占用168.34.28.0/25、168.34.28.128/25、168.34.29.0/25;
4)在剩余子网中选择需求地址最多的——前缀为27的地址块;
5)将剩余地址块168.34.29.128/25按前缀27等分,可分成四块:168.34.29.128/27、168.34.29.160/27、168.34.29.192/27、168.34.29.224/27;
6)首先分配前缀为27的子网,这里有3个,所以它们分别占用168.34.29.128/27、168.34.29.160/27、168.34.29.192/27;
7)剩余子网已经是很小的子网(前缀为30),所以从剩余地址块(168.34.29.224/27)的最后开始分配,这里有三个,所以它们分别占用168.34.29.244/30、168.34.29.248/30、168.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/24、168.34.13.0/24、168.34.14.0/24、168.34.15.0/24和168.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/24、168.34.21.0/24、168.34.22.0/24、168.34.23.0/24和168.34.24.0/24,按前面的方法可得到其包含汇总路由为168.34.16.0/20,求排他汇总路由的步骤如下:
1)因为168.34.16.0/20包含了不存在的子网,所以将其一分为二:168.34.16.0/21和168.34.24.0/21;
2)对于168.34.16.0/21,仍然包含不存在的子网,再将其一分为二:168.34.16.0/22和168.34.20.0/22,此时168.34.20.0/22已经不包含不存在的子网,所以它是所求的一部分,而168.34.16.0/22完全不包含已知子网,所以它被丢弃;
3)再看168.34.24.0/21,仍然包含不存在的子网,再将其一分为二:168.34.24.0/22和168.34.28.0/22,此时168.34.28.0/22完全不包含已知子网,所以它被丢弃;
4)对于168.34.24.0/22,仍然包含不存在的子网,再将其一分为二:168.34.24.0/23和168.34.26.0/23,此时168.34.26.0/23完全不包含已知子网,所以它被丢弃;
5)对于168.34.24.0/23,仍然包含不存在的子网,再将其一分为二:168.34.24.0/24和168.34.25.0/24,此时168.34.25.0/24完全不包含已知子网,所以它被丢弃,而168.34.24.0/24已经不包含不存在的子网,所以它是所求的一部分,此时已经没有候选路由。
综上所述,求得排他汇总路由为:168.34.20.0/22和168.34.24.0/24。