CN103595567B - 一种聚合链路中的端口映射方法及装置 - Google Patents
一种聚合链路中的端口映射方法及装置 Download PDFInfo
- Publication number
- CN103595567B CN103595567B CN201310571523.7A CN201310571523A CN103595567B CN 103595567 B CN103595567 B CN 103595567B CN 201310571523 A CN201310571523 A CN 201310571523A CN 103595567 B CN103595567 B CN 103595567B
- Authority
- CN
- China
- Prior art keywords
- port
- backup group
- group
- hash value
- backup
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明提供一种聚合链路中的端口映射方法及装置,所述方法还包括:在端口加入聚合组之前,预先将所有端口分成至少一个备份组,并配置各备份组的最大选中端口数。配置一预分配关系,在所述预分配关系中,将所有的Hash值均匀地分配给所有备份组的选中端口,使各个Hash值都存在一个与之对应的选中端口。在第一端口启用并添加到所述聚合组时,轮询各个备份组,备份组内的成员端口不可用时,优先将所述端口的流量分配给同一备份组的其他端口。将聚合成员端口划分为至少一个备份组,并实现备份组内的成员端口不可用时,所述端口的流量优先分配给备份组的其他端口。
Description
技术领域
本发明涉及聚合链路技术领域,尤其涉及一种聚合链路中的端口映射方法及装置。
背景技术
链路聚合(Link Aggregation)又称Trunk,是指将多个物理端口捆绑在一起,成为一个逻辑端口,以实现出/入流量在各成员端口中的负荷分担,交换机根据用户配置的端口负荷分担策略决定报文从哪一个成员端口发送到对端的交换机。当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送报文,并根据负荷分担策略在剩下链路中重新计算报文发送的端口,故障端口恢复后再次重新计算报文发送端口。
参看图1,经过二层或三层转发的流量,其出接口为聚合接口,聚合接口按预设的哈希Hash算法将数据流的会话特征值进行hash运算,得到Hash散列地址,每个Hash散列地址指向了一个对应的成员端口,该数据流在此成员端口被发送出去。由聚合协议保证,聚合选中的成员端口数不超过Hash散列地址的个数,现有技术中典型的Hash散列地址指向成员端口的方案为,对Hash散列地址按聚合选中的成员端口的个数进行取模运算。本文中,将Hash散列地址简称为Hash值。
参看图2,如果聚合的选中成员端口发生变化(比如因管理行为导致的添加/删除成员端口,或者链路故障/链路恢复),如成员端口1被删除,Hash值指向成员端口的布局将仍按照之前的取模运算重新进行调整,对于同一条流量被指向的新的成员端口和之前被指向的成员端口之间没有任何联系。
但是,对于某些业务,要求聚合成员端口划分为几个备份组,在某成员端口不可用(因管理行为导致的删除端口或者链路故障)时,原本Hash到上述端口的流量需要Hash到备份组的其他端口上去。
发明内容
有鉴于此,本发明提供一种聚合链路中的端口映射方法及装置,其将聚合成员端口划分为至少一个备份组,并实现备份组内的成员端口不可用时,所述端口的流量优先分配给备份组的其他端口。
一种聚合链路中的端口映射方法,应用于网络设备中,所述网络设备利用哈希Hash算法,计算聚合接口接收的数据流所对应的Hash值,并将该数据流通过该Hash值所对应的端口转发出去。所述方法还包括:
在端口加入聚合组之前,预先将所有端口分成至少一个备份组,并配置各备份组的最大选中端口数,其中,各备份组中的至少一个端口预配置为选中端口,剩余端口预配置为非选中端口;以及,配置一预分配关系,在所述预分配关系中,将所有的Hash值均匀地分配给所有备份组的选中端口,使各个Hash值都存在一个与之对应的选中端口;
第一端口启用并添加到所述聚合组时,轮询各个备份组:
若轮询到的第一备份组中的当前端口数不为0,则按照所述预分配关系,将预分配给第一备份组的Hash值,分配给第一备份组的当前选中端口;
若轮询到的第一备份组中的当前端口数为0,则选择出至少一个当前端口数不为0的非空备份组,将预分配给第一备份组的Hash值,均匀分配给所选择的非空备份组中的当前选中端口。
进一步地,本发明方法还包括:
在第一端口添加到所述聚合组之前,进一步判断第一端口所属备份组中的当前选中端口数是否小于该备份组的最大选中端口数:
若是,则在第一端口添加到所述聚合组后,将第一端口设置为该备份组的选中端口;
否则,若该第一端口为该备份组中预配置的选中端口,则在第一端口添加到所述聚合组后,将该备份组中的一个预配置为非选中端口而当前设置为选中端口的端口重置为非选中端口,然后将第一端口设置为该备份组的选中端口。
进一步地,本发明方法还包括:
如一备份组的一当前选中端口被删除,则进一步从该备份组中的当前端口中选择出一非选中端口,并将该选择的非选中端口设置为选中端口。
进一步地,本发明方法还包括:
所述按照所述预分配关系,将预分配给第一备份组的Hash值,分配给第一备份组的选中端口,包括:
按照所述预分配关系,将第一备份组中预分配给当前选中端口的Hash值,分配给对应的当前选中端口,而将第一备份组的剩余Hash值,均匀分配给所有的当前选中端口。
进一步地,本发明方法还包括:
在第二端口被停用并从聚合组中删除后:
若该第二端口所属的第二备份组中的当前端口数为0,则选择出一个当前端口数不为0的非空备份组,将预分配给第二备份组的Hash值,均匀分配给所选择的非空备份组中的当前选中端口;
若第二备份组中的当前端口数不为0,则将预分配给第二端口的Hash值,分配给第二备份组中的的当前选中端口。
本发明还提供一种聚合链路中的端口映射装置,应用于网络设备中,所述网络设备利用哈希Hash算法,计算聚合接口接收的数据流所对应的Hash值,并将该数据流通过该Hash值所对应的端口转发出去;所述装置包括:
备份组配置模块,用于在端口加入聚合组之前,预先将所有端口分成至少一个备份组,并配置各备份组的最大选中端口数,其中,各备份组中的至少一个端口预配置为选中端口,剩余端口预配置为非选中端口;
端口预分配模块,用于配置一预分配关系,在所述预分配关系中,将所有的Hash值均匀地分配给所有备份组的选中端口,使各个Hash值都存在一个与之对应的选中端口;
备份组轮询模块,用于在第一端口启用并添加到所述聚合组时,轮询各个备份组:
若轮询到的第一备份组中的当前端口数不为0,则按照所述预分配关系,将预分配给第一备份组的Hash值,分配给第一备份组的当前选中端口;
若轮询到的第一备份组中的当前端口数为0,则选择出至少一个当前端口数不为0的非空备份组,将预分配给第一备份组的Hash值,均匀分配给所选择的非空备份组中的当前选中端口。
进一步地,本发明装置还包括:
端口设置模块,用于在第一端口添加到所述聚合组之前,进一步判断第一端口所属备份组中的当前选中端口数是否小于该备份组的最大选中端口数:
若是,则在第一端口添加到所述聚合组后,将第一端口设置为该备份组的选中端口;
否则,若该第一端口为该备份组中预配置的选中端口,则在第一端口添加到所述聚合组后,将该备份组中的一个预配置为非选中端口而当前设置为选中端口的端口重置为非选中端口,然后将第一端口设置为该备份组的选中端口。
进一步地,本发明装置还包括:
端口删除模块,用于如作为选中端口工作的端口,从其所属备份组中删除后,进一步从该备份组中的当前端口中选择出一非选中端口,并将该选择的非选中端口设置为选中端口。
进一步地,本发明装置还包括:
所述备份组轮询模块中的按照所述预分配关系,将预分配给第一备份组的Hash值,分配给第一备份组的选中端口,包括:
按照所述预分配关系,将第一备份组中预分配给当前选中端口的Hash值,分配给对应的当前选中端口,而将第一备份组的剩余Hash值,均匀分配给所有的当前选中端口。
进一步地,本发明装置还包括:
端口停用模块,用于在第二端口被停用并从聚合组中删除后:
若该第二端口所属的第二备份组中的当前端口数为0,则选择出一个当前端口数不为0的非空备份组,将预分配给第二备份组的Hash值,均匀分配给所选择的非空备份组中的当前选中端口;
若第二备份组中的当前端口数不为0,则将预分配给第二端口的Hash值,分配给第二备份组中的的当前选中端口。
由以上技术方案可见,本发明由于在端口加入聚合组之前,预先将所有端口分成至少一个备份组,以及配置一预分配关系。并且在第一端口启用并添加到所述聚合组时,轮询各个备份组,备份组内的成员端口不可用时,优先将所述端口的流量分配给同一备份组的其他端口。如果同一备份组没有当前端口,才选择出至少一个非空备份组,将预分配给第一备份组的Hash值,均匀分配给所选择的非空备份组中的当前选中端口。
附图说明
图1是现有技术的聚合链路中Hash值指向成员端口的示意图;
图2是现有技术的聚合链路故障后Hash值指向成员端口的示意图;
图3是本发明方法的流程图;
图4是增加一个成员端口的Hash值指向成员端口的示意图;
图5是增加两个成员端口的Hash值指向成员端口的示意图;
图6是增加三个成员端口的Hash值指向成员端口的示意图;
图7是增加四个成员端口的Hash值指向成员端口的示意图;
图8是删除一个成员端口的Hash值指向成员端口的示意图;
图9是删除另一个成员端口的Hash值指向成员端口的示意图;
图10是删除一个备份组全部成员端口的Hash值指向成员端口的示意图;
图11是新增一个成员端口的Hash值指向成员端口的示意图;
图12是本发明装置的结构图。
具体实施方式
本发明由于在端口加入聚合组之前,预先将所有端口分成至少一个备份组,以及配置一预分配关系。并且在第一端口启用并添加到所述聚合组时,轮询各个备份组,备份组内的成员端口不可用时,优先将所述端口的流量分配给同一备份组的其他端口。如果某个备份组当前成员端口数量为0,则选择出至少一个当前成员端口数量不为0的非空备份组,将预分配给上述某个备份组的Hash值,均匀分配给所选择的非空备份组中的当前选中端口。这里,所述的当前端口是指已经加入聚合组的端口。类似的,当前选中端口则是指已加入聚合组且为某个备份组的选中端口的端口;当前非选中端口则是指已加入聚合组且为某个备份组的非选中端口的端口。
为实现本发明目的,本发明提供一种聚合链路中的端口映射方法,应用于网络设备中。这里,聚合链路是通过将多条物理链路捆绑在一起形成的一条逻辑链路,可以实现增加链路带宽的目的,同时这些捆绑在一起的物理链路通过相互动态备份,可以有效地提高链路的可靠性。链路捆绑可以通过接口捆绑实现,多个端口捆绑在一起后形成一个聚合组,而这些被捆绑在一起的端口就称为该聚合组的成员端口。每个聚合组唯一对应着一个逻辑接口,称为聚合接口。聚合组内的成员端口具有以下两种状态:
选中(Selected)状态:此状态下的成员端口可以参与数据的转发,处于此状态的成员端口称为“选中端口”。
非选中(Unselected)状态:此状态下的成员端口不能参与数据的转发,处于此状态的成员端口称为“非选中端口”。
所述网络设备利用哈希Hash算法,对聚合接口接收的数据流的会话特征值进行hash运算,得到Hash值,根据该Hash值将该数据流映射到对应的Hash值,并将该数据流通过该Hash值所对应的成员端口转发出去。
参看图3,所述方法还包括:
301、在端口加入聚合组之前,预先将所有端口分成至少一个备份组,并配置各备份组的最大选中端口数,其中,各备份组中的至少一个端口预配置为选中端口,剩余端口预配置为非选中端口。
如果所述最大选中端口数为1,即备份组中最多只有1个选中成员端口,此时所述备份组为主备类型备份组。在没有链路故障的情况下,主备类型的备份组仅将流量Hash到选中成员端口对应的主链路。
如果所述最大选中端口数为备份组成员端口数,所述备份组为负载分担类型备份组。在没有链路故障的情况下,负载分担类型的备份组将流量Hash到备份组的每个成员端口上所对应的链路上。
所述最大选中端口数大于1且小于备份组成员端口数,所述备份组在选中成员端口上实现负载分担,而非选中成员端口为选中成员端口的备份。
302、配置一预分配关系,在所述预分配关系中,将所有的Hash值均匀地分配给所有备份组的选中端口,使各个Hash值都存在一个与之对应的选中端口。
所述均匀地分配给所有备份组的选中端口是指在所有分配的目标成员端口中,任意两个端口分配的Hash值的数量之差不大于1。
针对图1所示的组网,如果成员端口1、2为负载均衡备份组(备份组最大选中端口数为2),端口3、4为主备方式的备份组(备份组最大选中端口数为1,端口3为主链路),预分配的结果如下表所示。
表1聚合成员端口到Hash值的预分配。
Hash值 | 聚合成员端口 |
1 | 1 |
2 | 2 |
3 | 3 |
4 | 1 |
5 | 2 |
6 | 3 |
303、第一端口启用并添加到所述聚合组时,轮询各个备份组:
若轮询到的第一备份组中的当前端口数不为0,则按照所述预分配关系,将预分配给第一备份组的Hash值,分配给第一备份组的当前选中端口。
若轮询到的第一备份组中的当前端口数为0,则选择出至少一个当前端口数不为0的非空备份组,将预分配给第一备份组的Hash值,均匀分配给所选择的非空备份组中的当前选中端口。
所述判断各备份组中的当前成员端口数是否为0是通过聚合成员端口列表来进行的,备份组中有成员端口加入聚合组并且此端口链路状态为UP,则认为备份组的成员端口不为0。
进一步地,本发明步骤303之前还包括进一步判断第一端口所属备份组中的当前选中端口数是否小于该备份组的最大选中端口数:
若是,则在第一端口添加到所述聚合组后,将第一端口设置为该备份组的选中端口。
比如第一端口所属备份组中的当前选中端口数为3,而该备份组的最大选中端口数为4,这时候直接将第一端口设置为选中端口。
否则,若该第一端口为该备份组中预配置的选中端口,则在第一端口添加到所述聚合组后,将该备份组中的一个预配置为非选中端口而当前设置为选中端口的端口重置为非选中端口,然后将第一端口设置为该备份组的选中端口。
比如第一端口所属备份组中的当前选中端口数为3,而该备份组的最大选中端口数为3,第一端口为该备份组中预配置的选中端口,从备份组中的当前选中端口中的一个预配置为非选中端口而当前设置为选中端口的端口重置为非选中端口,然后将第一端口设置为该备份组的选中端口。仍然保证所述备份组中的当前选中端口数小于或者等于最大选中端口数。
进一步地,本发明方法还包括:
如一备份组的一当前选中端口被删除,若该备份组中的当前端口中存在非选中端口,则进一步从该备份组中的当前端口中选择出一非选中端口,并将该选择的非选中端口设置为选中端口。
进一步地,本发明方法还包括:
所述步骤303中按照所述预分配关系,将预分配给第一备份组的Hash值,分配给第一备份组的选中端口,包括:
按照所述预分配关系,将第一备份组中预分配给当前选中端口的Hash值,分配给对应的当前选中端口,而将第一备份组的剩余Hash值,均匀分配给所有的当前选中端口。
进一步地,本发明方法还包括:
在第二端口被停用并从聚合组中删除后:
若该第二端口所属的第二备份组中的当前端口数为0,则选择出一个当前端口数不为0的非空备份组,将预分配给第二备份组的Hash值,均匀分配给所选择的非空备份组中的当前选中端口。
若第二备份组中的当前端口数不为0,则将预分配给第二端口的Hash值,分配给第二备份组中的的当前选中端口。
为了进一步说明本发明实现,以图1的情况为例说明本发明之实现。且备份组情况如下:成员端口1、2为负载均衡备份组(备份组最大选中端口数为2),端口3、4为主备方式的备份组(备份组最大选中端口数为1,端口3为主链路),预分配的结果如表一所示。
参看图4,增加一个成员端口1,成员端口1所在的备份组为负载分担类型备份组,整个备份组存在成员端口1,备份组中的当前成员端口数不为0。因此参照表1的预分配结果,Hash值1、4分配给成员端口1,而属于同一备份组的Hash值2、5则由于成员端口2不存在,而分配给成员端口1。而成员端口3、4所在的备份组由于当前成员端口数为0,因此也选择成员端口数不为0的成员端口1所在的备份组分配Hash值,因此Hash值3、6分配给成员端口1。
参看图5,增加两个成员端口1、2,成员端口1、2所在的备份组为负载分担类型备份组,整个备份组存在成员端口1、2,备份组中的成员端口数不为0。因此参照表1的预分配结果,Hash值1、4分配给成员端口1,而属于同一备份组的Hash值2、5则分配给成员端口2。而成员端口3、4所在的备份组由于成员端口数为0,因此也选择成员端口数不为0的成员端口1、2所在的备份组分配Hash值,考虑到保证分配给另一成员端口不为0的备份组的Hash值数量均衡,因此Hash值3分配给成员端口1,Hash值6分配给成员端口2。
参看图6,增加三个成员端口1、2、3,成员端口1、2所在的备份组为负载分担类型备份组,整个备份组存在成员端口1、2,备份组中的成员端口数不为0。因此参照表1的预分配结果,Hash值1、4分配给成员端口1,而属于同一备份组的Hash值2、5则分配给成员端口2。而成员端口3、4所在的备份组为主备类型备份组,整个备份组存在成员端口3,备份组中的成员端口数不为0。因此参照表1的预分配结果,Hash值3、6分配给成员端口3。
参看图7,增加四个成员端口1、2、3、4,成员端口1、2所在的备份组为负载分担类型备份组,整个备份组存在成员端口1、2,备份组中的成员端口数不为0。因此参照表1的预分配结果,Hash值1、4分配给成员端口1,而属于同一备份组的Hash值2、5则分配给成员端口2。而成员端口3、4所在的备份组为主备类型备份组,整个备份组存在成员端口3、4,备份组中的成员端口数不为0。因此参照表1的预分配结果,Hash值3、6分配给成员端口3。
图4-图7为成员端口第一次加入聚合组,而聚合组中的备份组增加成员端口或者删除成员端口的具体情况如下所述。
参看图8,为基于图7,成员端口1链路故障的情况,即删除成员端口1。判断成员端口1所在的备份组中的成员端口数是否为0,成员端口2仍存在,备份组的成员端口数不为0,且为负载分担型备份组。因此,分配给成员端口1的Hash值分配给成员端口2。
参看图9,为基于图7,成员端口3链路故障的情况,即删除成员端口3。判断成员端口3所在的备份组中的成员端口数是否为0,成员端口4仍存在,备份组的成员端口数不为0,且为主备型备份组。因此,分配给成员端口1的Hash值分配给备用端口成员端口4。
参看图10,成员端口1和成员端口2被删除,即成员端口1和成员端口2均发生链路故障。将分配给所述备份组的Hash值1、2、4、5分配给成员端口3和成员端口4所在的备份组,由于这个备份组为主备型备份组,所以Hash值1、2、4、5指向端口3。
参看图11,对于没有成员端口的备份组添加成员端口,即备份组内所有端口链路故障后,成员端口1恢复。由图10可知,由于成员端口1、2均发生链路故障,也就是分配给所述备份组的Hash值1、2、4、5分配给成员端口3和成员端口4所在的备份组。如果成员端口1恢复,则按照表1预分配给所述成员端口1、2所在的备份组的的Hash值1、2、4、5分配给目前该备份组存在的成员端口1。
对于已存在成员端口的备份组添加成员端口,为此新添加成员端口分配此备份组内的Hash值,按预分配给所述备份组的Hash值分配给所述备份组的成员端口。备份组内某端口链路故障后再恢复,属于这种情况。基于图11,成员端口2链路恢复的情况如图7。
参看图12,对应于上述方法本发明还提供一种聚合链路中的端口映射装置,应用于网络设备中。所述网络设备包括CPU、内存、非易失性存储器以及其他硬件。所述网络设备利用哈希Hash算法,计算聚合接口接收的数据流所对应的Hash值,并将该数据流通过该Hash值所对应的端口转发出去。所述装置在逻辑上包括:
备份组配置模块,用于在端口加入聚合组之前,预先将所有端口分成至少一个备份组,并配置各备份组的最大选中端口数,其中,各备份组中的至少一个端口预配置为选中端口,剩余端口预配置为非选中端口。
端口预分配模块,用于配置一预分配关系,在所述预分配关系中,将所有的Hash值均匀地分配给所有备份组的选中端口,使各个Hash值都存在一个与之对应的选中端口。
备份组轮询模块,用于在第一端口启用并添加到所述聚合组时,轮询各个备份组:
若轮询到的第一备份组中的当前端口数不为0,则按照所述预分配关系,将预分配给第一备份组的Hash值,分配给第一备份组的当前选中端口。
若轮询到的第一备份组中的当前端口数为0,则选择出至少一个当前端口数不为0的非空备份组,将预分配给第一备份组的Hash值,均匀分配给所选择的非空备份组中的当前选中端口。
进一步地,本发明装置还包括:
端口设置模块,用于在第一端口添加到所述聚合组之前,进一步判断第一端口所属备份组中的当前选中端口数是否小于该备份组的最大选中端口数:
若是,则在第一端口添加到所述聚合组后,将第一端口设置为该备份组的选中端口;
否则,若该第一端口为该备份组中预配置的选中端口,则在第一端口添加到所述聚合组后,将该备份组中的一个预配置为非选中端口而当前设置为选中端口的端口重置为非选中端口,然后将第一端口设置为该备份组的选中端口。
进一步地,本发明装置还包括:
端口删除模块,用于如作为选中端口工作的端口,从其所属备份组中删除后,进一步从该备份组中的当前端口中选择出一非选中端口,并将该选择的非选中端口设置为选中端口。
进一步地,本发明装置所述备份组轮询模块中的按照所述预分配关系,将预分配给第一备份组的Hash值,分配给第一备份组的选中端口,包括:
按照所述预分配关系,将第一备份组中预分配给当前选中端口的Hash值,分配给对应的当前选中端口,而将第一备份组的剩余Hash值,均匀分配给所有的当前选中端口。
进一步地,本发明装置还包括:
端口停用模块,用于在第二端口被停用并从聚合组中删除后:
若该第二端口所属的第二备份组中的当前端口数为0,则选择出一个当前端口数不为0的非空备份组,将预分配给第二备份组的Hash值,均匀分配给所选择的非空备份组中的当前选中端口;
若第二备份组中的当前端口数不为0,则将预分配给第二端口的Hash值,分配给第二备份组中的的当前选中端口。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种聚合链路中的端口映射方法,应用于网络设备中,所述网络设备利用哈希Hash算法,计算聚合接口接收的数据流所对应的Hash值,并将该数据流通过该Hash值所对应的端口转发出去;所述方法还包括:
在端口加入聚合组之前,预先将所有端口分成至少一个备份组,并配置各备份组的最大选中端口数,其中,各备份组中的至少一个端口预配置为选中端口,剩余端口预配置为非选中端口;以及,配置一预分配关系,在所述预分配关系中,将所有的Hash值均匀地分配给所有备份组的选中端口,使各个Hash值都存在一个与之对应的选中端口;
第一端口启用并添加到所述聚合组时,轮询各个备份组:
若轮询到的第一备份组中的当前端口数不为0,则按照所述预分配关系,将预分配给第一备份组的Hash值,分配给第一备份组的当前选中端口;
若轮询到的第一备份组中的当前端口数为0,则选择出至少一个当前端口数不为0的非空备份组,将预分配给第一备份组的Hash值,均匀分配给所选择的非空备份组中的当前选中端口。
2.根据权利要求1所述的方法,其特征在于,
在第一端口添加到所述聚合组之前,进一步判断第一端口所属备份组中的当前选中端口数是否小于该备份组的最大选中端口数:
若是,则在第一端口添加到所述聚合组后,将第一端口设置为该备份组的选中端口;
否则,若该第一端口为该备份组中预配置的选中端口,则在第一端口添加到所述聚合组后,将该备份组中的一个预配置为非选中端口而当前设置为选中端口的端口重置为非选中端口,然后将第一端口设置为该备份组的选中端口。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
如一备份组的一当前选中端口被删除,则进一步从该备份组中的当前端口中选择出一非选中端口,并将该选择的非选中端口设置为选中端口。
4.根据权利要求1所述的方法,其特征在于,
所述按照所述预分配关系,将预分配给第一备份组的Hash值,分配给第一备份组的当前选中端口,包括:
按照所述预分配关系,将第一备份组中预分配给当前选中端口的Hash值,分配给对应的当前选中端口,而将第一备份组的剩余Hash值,均匀分配给所有的当前选中端口。
5.根据权利要求1所述的方法,其特征在于,还包括:
在第二端口被停用并从聚合组中删除后:
若该第二端口所属的第二备份组中的当前端口数为0,则选择出一个当前端口数不为0的非空备份组,将预分配给第二备份组的Hash值,均匀分配给所选择的非空备份组中的当前选中端口;
若第二备份组中的当前端口数不为0,则将预分配给第二端口的Hash值,分配给第二备份组中的的当前选中端口。
6.一种聚合链路中的端口映射装置,应用于网络设备中,所述网络设备利用哈希Hash算法,计算聚合接口接收的数据流所对应的Hash值,并将该数据流通过该Hash值所对应的端口转发出去;所述装置包括:
备份组配置模块,用于在端口加入聚合组之前,预先将所有端口分成至少一个备份组,并配置各备份组的最大选中端口数,其中,各备份组中的至少一个端口预配置为选中端口,剩余端口预配置为非选中端口;
端口预分配模块,用于配置一预分配关系,在所述预分配关系中,将所有的Hash值均匀地分配给所有备份组的选中端口,使各个Hash值都存在一个与之对应的选中端口;
备份组轮询模块,用于在第一端口启用并添加到所述聚合组时,轮询各个备份组:
若轮询到的第一备份组中的当前端口数不为0,则按照所述预分配关系,将预分配给第一备份组的Hash值,分配给第一备份组的当前选中端口;
若轮询到的第一备份组中的当前端口数为0,则选择出至少一个当前端口数不为0的非空备份组,将预分配给第一备份组的Hash值,均匀分配给所选择的非空备份组中的当前选中端口。
7.根据权利要求6所述的装置,其特征在于,还包括:
端口设置模块,用于在第一端口添加到所述聚合组之前,进一步判断第一端口所属备份组中的当前选中端口数是否小于该备份组的最大选中端口数:
若是,则在第一端口添加到所述聚合组后,将第一端口设置为该备份组的选中端口;
否则,若该第一端口为该备份组中预配置的选中端口,则在第一端口添加到所述聚合组后,将该备份组中的一个预配置为非选中端口而当前设置为选中端口的端口重置为非选中端口,然后将第一端口设置为该备份组的选中端口。
8.根据权利要求6或7所述的装置,其特征在于,还包括:
端口删除模块,用于如作为选中端口工作的端口,从其所属备份组中删除后,进一步从该备份组中的当前端口中选择出一非选中端口,并将该选择的非选中端口设置为选中端口。
9.根据权利要求6所述的装置,其特征在于,
所述备份组轮询模块中的按照所述预分配关系,将预分配给第一备份组的Hash值,分配给第一备份组的当前选中端口,包括:
按照所述预分配关系,将第一备份组中预分配给当前选中端口的Hash值,分配给对应的当前选中端口,而将第一备份组的剩余Hash值,均匀分配给所有的当前选中端口。
10.根据权利要求6所述的装置,其特征在于,还包括:
端口停用模块,用于在第二端口被停用并从聚合组中删除后:
若该第二端口所属的第二备份组中的当前端口数为0,则选择出一个当前端口数不为0的非空备份组,将预分配给第二备份组的Hash值,均匀分配给所选择的非空备份组中的当前选中端口;
若第二备份组中的当前端口数不为0,则将预分配给第二端口的Hash值,分配给第二备份组中的的当前选中端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310571523.7A CN103595567B (zh) | 2013-11-13 | 2013-11-13 | 一种聚合链路中的端口映射方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310571523.7A CN103595567B (zh) | 2013-11-13 | 2013-11-13 | 一种聚合链路中的端口映射方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103595567A CN103595567A (zh) | 2014-02-19 |
CN103595567B true CN103595567B (zh) | 2017-01-18 |
Family
ID=50085558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310571523.7A Active CN103595567B (zh) | 2013-11-13 | 2013-11-13 | 一种聚合链路中的端口映射方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103595567B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103825839B (zh) * | 2014-03-17 | 2017-12-29 | 新华三技术有限公司 | 一种基于聚合链路的报文传输方法和设备 |
US10833891B2 (en) | 2017-02-11 | 2020-11-10 | Pismo Labs Technology Limited | Methods and systems for transmitting information packets through tunnel groups at a network node |
CN109218179A (zh) * | 2017-07-07 | 2019-01-15 | 中兴通讯股份有限公司 | 负载分担方法及装置、交换机及计算机可读存储介质 |
CN109286686B (zh) * | 2018-11-23 | 2021-05-14 | 盛科网络(苏州)有限公司 | 基于轮询机制的负载均衡方法 |
CN111614555B (zh) * | 2020-04-20 | 2022-05-03 | 北京百卓网络技术有限公司 | 一种业务通道建立方法、装置及设备 |
CN112187637A (zh) * | 2020-09-17 | 2021-01-05 | 苏州浪潮智能科技有限公司 | 以太链路聚合组的配置方法、装置及计算机可读存储介质 |
CN112532594B (zh) * | 2020-11-16 | 2022-11-25 | 杭州迪普科技股份有限公司 | 一种聚合组创建和报文转发的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1571354A (zh) * | 2003-07-12 | 2005-01-26 | 华为技术有限公司 | 一种链路聚合的实现方法 |
CN101547082A (zh) * | 2009-04-22 | 2009-09-30 | 华为技术有限公司 | 一种主备链路倒换方法及网络设备 |
US8089965B2 (en) * | 2008-03-05 | 2012-01-03 | Fujitsu Limited | Apparatus and method for transferring frames through aggregated communication links |
CN102412979A (zh) * | 2010-09-26 | 2012-04-11 | 杭州华三通信技术有限公司 | 降低链路聚合端口报文丢失的方法及通信设备 |
-
2013
- 2013-11-13 CN CN201310571523.7A patent/CN103595567B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1571354A (zh) * | 2003-07-12 | 2005-01-26 | 华为技术有限公司 | 一种链路聚合的实现方法 |
US8089965B2 (en) * | 2008-03-05 | 2012-01-03 | Fujitsu Limited | Apparatus and method for transferring frames through aggregated communication links |
CN101547082A (zh) * | 2009-04-22 | 2009-09-30 | 华为技术有限公司 | 一种主备链路倒换方法及网络设备 |
CN102412979A (zh) * | 2010-09-26 | 2012-04-11 | 杭州华三通信技术有限公司 | 降低链路聚合端口报文丢失的方法及通信设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103595567A (zh) | 2014-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103595567B (zh) | 一种聚合链路中的端口映射方法及装置 | |
CN102474454B (zh) | 节点间链路聚合系统和方法 | |
CN102884767B (zh) | 第2层多路径网络中链路成本按图分配 | |
US8401026B2 (en) | Achieving about an equal number of active links across chassis in a virtual port-channel environment | |
US8848509B2 (en) | Three stage folded Clos optimization for 802.1aq | |
CN103338161B (zh) | 一种实现跨设备聚合的方法和设备 | |
CN106998302A (zh) | 一种业务流量的分配方法及装置 | |
CN104518936B (zh) | 链路动态聚合方法和装置 | |
CN107579923A (zh) | 一种sdn网络的链路负载均衡方法和sdn控制器 | |
CN103181131A (zh) | 最短路径桥接网络中的负载平衡 | |
CN103825834B (zh) | 一种evi中调整流量负载分担的方法及网络交换装置 | |
CN101692652A (zh) | 一种防止聚合链路中流量中断的方法及装置 | |
CN101217528A (zh) | 一种链路聚合方法和装置 | |
CN104798350A (zh) | 跨多个架构交换机的虚拟链路聚合 | |
CN108809847A (zh) | 实现负载均衡的方法、装置和网络系统 | |
CN104601461B (zh) | 一种纵向智能弹性架构系统中的报文转发方法及装置 | |
CN108173757A (zh) | 端口状态设置方法及装置 | |
Cheng et al. | Application-aware SDN routing for big data networking | |
CN106130920A (zh) | 一种报文转发方法及装置 | |
US20160124884A1 (en) | Redundancy for port extender chains | |
CN108306824A (zh) | 报文发送方法及装置 | |
CN106330730A (zh) | 组播控制方法和装置 | |
CN108600100A (zh) | 成员端口选取方法和装置 | |
CN105847107A (zh) | 一种系统以及设置链路聚合组方法和装置 | |
CN103001836A (zh) | 无需地址分配的串行通信方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |