具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并举实施例,对本发明的技术方案进行详细说明。
参见图4,图4是本发明实施例用于在IRF系统中进行聚合选路的方法的流程图,包括以下步骤:
步骤401、获取同一聚合组中各聚合成员端口的带宽参数、以及和该聚合成员端口所在的机框交换机相对于当前机框交换机的转发性能损耗参数。
各聚合成员端口的带宽参数可以以该聚合成员端口对应的链路个数为衡量指标,例如,可以将每个聚合成员端口对应的链路个数作为该聚合成员端口的带宽参数,由于每个聚合成员端口对应一个链路,因此,每个聚合成员端口的带宽参数值为1。
各聚合成员端口所在的机框交换机相对于当前机框交换机的转发性能损耗参数可以以报文从当前机框交换机到达该聚合成员端口所在的机框交换机所需要经过的机框交换机数(包括当前机框交换机)为衡量指标,例如,可以将报文从当前机框交换机到达每个聚合成员端口所在的机框交换机所需要经过的机框数作为该聚合成员端口所在的机框交换机相对于当前机框交换机的转发性能损耗参数,这样,在图1中,报文从S1到达S3需要经过S1、S2、S3三个机框交换机,因此,可以将S3相对于S1的转发性能损耗参数记为3。
步骤402、选择不同聚合成员端口组合,根据该聚合成员端口组合中各聚合成员端口的带宽参数、以及该聚合成员端口相对于当前机框交换机的转发性能损耗参数计算该聚合成员端口组合的度量值。
本步骤中,选择不同聚合成员端口组合,也即从聚合组的聚合成员端口中选择多种不同的聚合成员端口组合,每个聚合成员端口组合中包含的聚合成员端口不完全相同。例如,在图1中,可以选择p3,构成只包括p3的聚合端口组合;也可以选择p2和p3,构成包括p2和p3的聚合端口组合;还可以选择p2、p3、p4,构成包括p2和p3的聚合端口组合等。
报文在以当前机框交换机为根的树上转发时,经过的机框交换机的个数越少,则对IRF系统的转发性能损耗则越少,因此,在实际应用中,当选择聚合端口组合时,可以只需要选择能够实现负载分担最大化,且转发性能损耗较少的聚合端口组合。例如,在针对图1中的S1选择聚合端口组合时,对于只包含一个聚合成员端口的组合,则可以选择p2构成只包含p2的聚合端口组合,以及选择p4构成只包含p4的聚合端口组合。p3在S3上,报文需要经过S1、S2、S3共3个机框交换机才能到达S3,因此对转发性能损耗较多,可以不予考虑。对于只包含二个聚合成员端口的组合,则可以选择p2和p4构成包含p2和p4的聚合端口组合,而对于p2和p3构成的聚合端口组合以及p3和p4构成的组合则可以不予考虑。对于只包含三个聚合成员端口的组合,则只有p2、p3、p4一种组合。
在实际应用中,各机框交换机上属于同一聚合组的聚合成员端口可能不止一个,在根据选择的每个聚合成员端口组合中各聚合成员端口的带宽参数、以及该聚合成员端口相对于当前机框交换机的转发性能损耗参数计算该聚合成员端口组合的度量值,可以通过多种方法实现。下面分别进行说明:
第一种方法:直接根据该聚合成员端口组合中每个聚合成员端口的带宽参数和该聚合成员端口所在的机框交换机相对于当前机框交换机的转发性能损耗参数进行计算,这种情况下,假设该聚合成员端口组合中有n1个聚合成员端口,则可以采用以下公式计算该聚合成员端口组合的度量值:
P=((B1×R1)k+(B2×R2)k+(Bn1×Rn1)k)÷(B1+B2+......+Bn1),
其中,P为该聚合成员端口组合对应的度量值;Bi为第i个聚合成员端口的带宽参数,Ri为第i个聚合成员端口所在机框交换机相对于当前机框交换机的转发性能损耗参数,i的值为1、2、.....n1;k为预设值,且k的取值范围为区间[0,1]。
第二种方法:如果某个机框交换机上包括该聚合成员端口组合中的多个聚合成员端口,则将多个聚合成员端口的带宽参数进行求和,将求和结果作为该机框交换机的带宽参数。根据每个机框交换机的带宽参数和该机框交换机相对于当前机框交换机的转发性能损耗参数进行该聚合成员端口组合的度量值的计算。
这种情况下,根据该聚合成员端口组合中各聚合成员端口的带宽参数、以及该聚合成员端口相对于当前机框交换机的转发性能损耗参数计算该聚合成员端口组合的度量值的方法具体可以为:
确定每个机框交换机上包含该聚合成员端口组合中的聚合成员端口个数,并对包含的聚合成员端口的带宽参数求和,将求和结果作为该机框交换机的带宽参数;
假设有n2台机框交换机,则采用以下公式计算该聚合成员端口组合对应的度量值:
P=((B1×R1)k+(B2×R2)k+(Bn2×Rn2)k)÷(B1+B2+......+Bn2),
其中,P为该聚合成员端口组合对应的度量值;Bi为第i个机框交换机的带宽参数,Ri为第i个机框交换机相对于当前机框交换机的转发性能损耗参数,i的值为1、2、.....n2;k为预设值,且k的取值范围为区间[0,1]。
这里,需要说明的是,Bi的值只是在该聚合成员端口组合下的第i个机框交换机的带宽参数值,在其它聚合成员端口组合下该Bi值可能会变化,具体由该第i个交换机包含的聚合成员端口组合中的聚合成员端口的个数确定。
第三种方法:如果某个机框交换机上包括该聚合成员端口组合中的多个聚合成员端口,则将多个聚合成员端口的带宽参数进行求和,将求和结果作为该机框交换机的带宽参数。如果多个机框交换机相对于当前机框交换机的转发性能损耗参数值相同,则可以把所述多个机框交换机的带宽参数进行求和,将求和结果作为所述多个机框交换机构成的机框交换机集合的带宽参数。
这种情况下,根据该聚合成员端口组合中各聚合成员端口的带宽参数、以及该聚合成员端口相对于当前机框交换机的转发性能损耗参数计算该聚合成员端口组合的度量值的方法具体可以为:
确定每个机框交换机上包含该聚合成员端口组合中的聚合成员端口个数,并对包含的聚合成员端口的带宽参数求和,将求和结果作为该机框交换机的带宽参数;对相对于当前机框交换机的转发性能损耗参数相同的所有机框交换机的带宽参数求和,将求和结果作为相对于当前机框交换机的转发性能损耗参数相同的所有机框交换机构成的集合的带宽参数;
假设有n3个机框交换机集合(也即相对于当前机框交换机的转发性能损耗参数相同的所有机框交换机构成的集合存在n3个),则采用以下公式计算该聚合成员端口组合对应的度量值:
P=((B1×R1)k+(B2×R2)k+(Bn3×Rn3)k)÷(B1+B2+......+Bn3),
其中,P为该聚合成员端口组合对应的度量值;Bi为第i个机框交换机集合的带宽参数,Ri为第i个机框交换机集合中的机框交换机相对于当前机框交换机的转发性能损耗参数,i的值为1、2、.....n3;k为预设值,且k的取值范围为区间[0,1]。
需要说明的是,上述三种方法中,k的值可以为区间[0,1]中的任何一个实数,其中,k值越大,表示用户对转发性能损耗的关注越大,对带宽的关注越小,可以减小可用带宽(通过减少聚合成员端口表中的聚合成员端口数量实现),以增加用户对转发性能的需求;k值越小,表示用户对转发性能损耗的关注越小,对带宽的关注越大,可以牺牲转发性能(通过增加聚合成员端口表中的聚合成员端口数量实现),以提高用户对带宽的需求。
另外,P为根据上述三种方法中的任一种计算出的聚合成员端口组合对应的度量值,P值越大,说明该聚合成员端口组合相对比较不适合用户的需求,P值越小,在说明该聚合成员端口组合相对比较适合用户的需求,该聚合成员端口组合的方案较优。
步骤403、将度量值最小的聚合成员端口组合中的各聚合成员端口添加到当前机框交换机的聚合成员端口表,用以进行报文的聚合选路。
本步骤中,当将度量值最小的聚合成员端口组合中的各聚合成员端口添加到当前机框交换机的聚合成员端口表之后,如果当前机框交换机接收到需要在相应的聚合组转发的报文,则会根据聚合成员端口表对报文进行聚合选路,将报文在所述聚合成员端口表中的各聚合成员端口上进行负载分担。
下面结合图5,并以第二种计算聚合成员端口组合的方法为例对图4所示本发明实施例进行举例说明。
假设是在S2上设置对应于P1、P31、P32、P41、P42所属聚合组对应的聚合成员端口表。那么可以选择的聚合成员端口组合包括:
组合1:(P1),其中,报文从S2到达P1需要经过2个机框交换机,因此P1所在的机框交换机相对于机框交换机S2的转发性能损耗参数为2;另外,P1的带宽参数均为1;实际上,这里也可以选足组合(P31)或(P32);
组合2:(P1、P31),其中,报文从S2到达P1、P31均需要经过2个机框交换机,因此P1、P31各自所在的机框交换机相对于机框交换机S2的转发性能损耗参数均为2;另外,P1和P31的带宽参数均为1;
组合3:(P1、P31、P32),其中,报文从S2到达P1、P31、P32均需要经过2个机框交换机,因此P1、P31、P32各自所在的机框交换机相对于机框交换机S2的转发性能损耗参数均为2;另外,P1、P31、P32的带宽参数均为1;
组合4、(P1、P31、P32、P41),其中,报文从S2到达P1、P31、P32均需要经过2个机框交换机,因此P1、P31、P32各自所在的机框交换机相对于机框交换机S2的转发性能损耗参数为2;报文从S2到达P41需要经过3个机框交换机,因此P41所在的机框交换机相对于机框交换机S2的转发性能损耗参数为3;另外,P1、P31、P32、P41的带宽参数均为1;
组合5、(P1、P31、P32、P41、P42),其中,P1、P31、P32均需要经过2个机框交换机,因此P1、P31、P32各自所在的机框交换机相对于机框交换机S2的转发性能损耗参数为2;报文从S2到达P41、P42均需要经过3个机框交换机,因此P41、P42所在的机框交换机相对于机框交换机S2的转发性能损耗参数为3;另外,P1、P31、P32、P41、P42的带宽参数均为1。
那么,按照上述第二种计算各聚合成员端口组合的度量值的方法,可以得到如表一所示的结果:
|
组合1 |
组合2 |
组合3 |
组合4 |
组合5 |
k=1 |
P=2 |
P=2 |
P=2 |
P=2.25 |
P=2.4 |
k=0.5 |
P=1.41 |
P=1.41 |
P=1.13 |
P=1.29 |
P=1.19 |
k=0.25 |
P=1.19 |
P=1.19 |
P=0.87 |
P=0.98 |
P=0.83 |
表一
从表一可以看出,对于上述三种k的取值情况,各聚合成员端口组合对应的P值也不相同。
当k值为1时,组合1、组合2、组合3对应的P值均为2,小于其它各组合对应的P值,可见,当用户对带宽要求较低,对转发性能要求较高时,组合1、组合2、组合3属于较优的方案,可以根据组合1、组合2、或组合3设置S2的聚合成员端口表,将聚合成员端口P1、和/或P31、和/或P32添加到S2的聚合成员端口表中。
当k值为0.5时,组合3对应的P值为1.13,小于其它各组合对应的P值,可见,当用户对带宽和转发性能的要求比较均衡时,组合3属于较优的方案,可以根据组合3设置S2的聚合成员端口表,将聚合成员端口P1、P31、P32添加到S2的聚合成员端口表中。
当k值为0.25时,组合5对应的P值为0.83,小于其它各组合对应的P值,可见,当用户对带宽的要求较高,对转发性能要求较低时,组合5属于较优的方案,可以根据组合5设置S2的聚合成员端口表,将聚合成员端口P1、P31、P32、P41、P42添加到S2的聚合成员端口表中。
这样,当机框交换机S2接收到需要通过P1、P31、P32、P41、P42所属的聚合组转发到路由器R1的报文时,可以将报文在S2上的聚合成员端口表中的各聚合成员端口之间进行负载分担。
由上述本发明实施例的方法可以看出,本发明中,根据各聚合成员端口的带宽情况、以及使用各聚合成员端口转发报文时对转发性能损耗情况综合起来考虑,既能避免聚合带宽只有很少提升的情况下消耗过多的转发性能,又能以转发性能损耗的少量增加来尽可能多的提升用户的聚合带宽需求。
以上对本发明实施例用于在IRF系统中进行聚合选路的方法进行了详细说明,本发明还提供了一种机框交换机。
参见图5,图5是本发明实施例机框交换机的结构示意图,该机框交换机包括:获取单元501、计算单元502、生成单元503;其中,
获取单元501,用于获取同一聚合组中各聚合成员端口的带宽参数、以及和该聚合成员端口所在的机框交换机相对于当前机框交换机的转发性能损耗参数;
计算单元502,用于在所述聚合组中选择不同聚合成员端口组合,根据该聚合成员端口组合中各聚合成员端口的带宽参数、以及该聚合成员端口相对于当前机框交换机的转发性能损耗参数计算该聚合成员端口组合的度量值;
生成单元503,用于将计算单元602选择并计算的度量值最小的聚合成员端口组合中的各聚合成员端口添加到当前机框交换机的聚合成员端口表,用以进行报文的聚合选路。
所述计算单元502在根据该聚合成员端口组合中各聚合成员端口的带宽参数、以及该聚合成员端口相对于当前机框交换机的转发性能损耗参数计算该聚合成员端口组合的度量值时,用于:
假设有该聚合成员端口组合中包括n1个聚合成员端口,则采用以下公式计算该聚合成员端口组合的度量值:
P=((B1×R1)k+(B2×R2)k+(Bn1×Rn1)k)÷(B1+B2+......+Bn1),
其中,P为该聚合成员端口组合对应的度量值;Bi为第i个聚合成员端口的带宽参数,Ri为第i个聚合成员端口所在机框交换机相对于当前机框交换机的转发性能损耗参数,i的值为1、2、.....n1;k为预设值,且k的取值范围为区间[0,1]。
所述计算单元502在根据该聚合成员端口组合中各聚合成员端口的带宽参数、以及该聚合成员端口相对于当前机框交换机的转发性能损耗参数计算该聚合成员端口组合的度量值时,用于:
确定每个机框交换机上包含该聚合成员端口组合中的聚合成员端口个数,并对包含的聚合成员端口的带宽参数求和,将求和结果作为该机框交换机的带宽参数;
假设有n2台机框交换机,则采用以下公式计算该聚合成员端口组合对应的度量值:
P=((B1×R1)k+(B2×R2)k+(Bn2×Rn2)k)÷(B1+B2+......+Bn2),
其中,P为该聚合成员端口组合对应的度量值;Bi为第i个机框交换机的带宽参数,Ri为第i个机框交换机相对于当前机框交换机的转发性能损耗参数,i的值为1、2、.....n2;k为预设值,且k的取值范围为区间[0,1]。
所述计算单元502在根据该聚合成员端口组合中各聚合成员端口的带宽参数、以及该聚合成员端口相对于当前机框交换机的转发性能损耗参数计算该聚合成员端口组合的度量值时,用于:
确定每个机框交换机上包含该聚合成员端口组合中的聚合成员端口个数,并对包含的聚合成员端口的带宽参数求和,将求和结果作为该机框交换机的带宽参数;对相对于当前机框交换机的转发性能损耗参数相同的所有机框交换机的带宽参数求和,将求和结果作为相对于当前机框交换机的转发性能损耗参数相同的所有机框交换机构成的集合的带宽参数;
假设有n3个机框交换机集合,则采用以下公式计算该聚合成员端口组合对应的度量值:
P=((B1×R1)k+(B2×R2)k+(Bn3×Rn3)k)÷(B1+B2+......+Bn3),
其中,P为该聚合成员端口组合对应的度量值;Bi为第i个机框交换机集合的带宽参数,Ri为第i个机框交换机集合中的机框交换机相对于当前机框交换机的转发性能损耗参数,i的值为1、2、.....n3;k为预设值,且k的取值范围为区间[0,1]。
各聚合成员端口的带宽参数为该聚合成员端口对应的链路个数;
各聚合成员端口所在机框交换机相对于当前机框交换机的转发性能损耗参数为:报文从当前机框交换机到达该聚合成员端口所在的机框交换机所经过的机框交换机数。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。