CN101217528B - 一种链路聚合方法和装置 - Google Patents
一种链路聚合方法和装置 Download PDFInfo
- Publication number
- CN101217528B CN101217528B CN2008100041256A CN200810004125A CN101217528B CN 101217528 B CN101217528 B CN 101217528B CN 2008100041256 A CN2008100041256 A CN 2008100041256A CN 200810004125 A CN200810004125 A CN 200810004125A CN 101217528 B CN101217528 B CN 101217528B
- Authority
- CN
- China
- Prior art keywords
- port
- link
- bandwidth
- particle size
- aggregation
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种链路聚合方法,用于对多个端口的链路进行聚合,包括以下步骤:根据各物理端口的链路带宽确定带宽的最小粒度;根据所述带宽的最小粒度以及物理端口号,将所述各物理端口的链路划分为虚拟端口的链路;将所述各划分后的虚拟端口的链路进行聚合,得到聚合端口。本发明还公开了一种链路聚合装置。通过使用本发明,基于带宽的绑定来实现不同类型端口之间的链路聚合,打破传统的基于端口的链路聚合方式,可以使得不同类型的链路聚合,并实现带宽的非整数倍增加,使得链路聚合更加灵活。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种链路聚合方法和装置。
背景技术
链路聚合技术也称主干技术(Trunking)或捆绑技术(Bonding),其实质是将两台设备间的多条物理链路组合成逻辑上的一条数据通路,或称为一条聚合链路。如图1所示,交换机之间的物理链路Link1、Link2和Link3可以组成一条聚合链路组。该链路在逻辑上是一个整体,内部的组成和传输数据的细节对上层服务是透明的。链路聚合的具体条件为:在同一个聚合链路组中,能进行负载分担的成员端口必须有一致的端口类型,即端口的类型(百兆端口FastEthernet、千兆端口GigabitEthernet、万兆端口Ten-GigabitEthernet中的同一类)相同,且端口的速率、双工等保持一致。
如图2A和图2B所示,分别为GigabitEthernet和FastEthernet类型的两个端口的链路聚合,聚合链路的计算方法为:
聚合链路={PortA}+{PortB}......{PortN}
其中各聚合端口的类型必须一致,因此带宽的增长必须是整数倍递增。聚合链路工作在负载分担模式,流量根据HASH算法在聚合组中选出端口并转发。
通过上述描述可以发现,现有技术中链路聚合的方法,对于不同类型的端口不能进行链路聚合;对于相同类型不同速率的端口也不能进行链路聚合。因此,对于带宽需求增加但又不需要成倍增长时,无法通过链路的增加解决。
例如对于图3所示的应用场景:从A市到B市,一直使用一条GigabitEthernet线路连通,此线路高峰时段接近饱和,最近由于双方交往密切,原来的线路已经不满足使用,但是增长的业务又远没有达到增加一条GigabitEthernet线路,通过估算增加两条百兆链路即可满足需求,但又不想额外的增加配置等,只是把原有带宽增加1.2~1.4倍。很显然基于现有的链路聚合方法是无法实现的。
发明内容
本发明提供一种链路聚合方法和装置,用于实现对网络中不同类型端口的链路进行聚合。
为达到上述目的,本发明提供一种链路聚合方法,用于对多个物理端口的链路进行聚合,包括以下步骤:
根据各物理端口的链路带宽选择一不大于所述各物理端口的链路带宽的带宽值作为带宽的最小粒度;
以所述带宽的最小粒度为单位,将每个物理端口的链路划分为包括一个或多个虚拟端口,所述虚拟端口为由所述虚拟端口对应的物理端口的端口号和所述最小粒度共同构成的元素,各虚拟端口的链路带宽即为所述带宽的最小粒度;
将各划分后的虚拟端口的链路进行聚合,得到聚合端口。
其中,将一个物理端口划分为多个虚拟端口时,为各虚拟端口进行编号以进行区分,即为所述的元素进行编号。
其中,当需要由所述聚合端口传输信息时,根据待传输信息确定所需的传输带宽,根据预设的负载分担策略从所述聚合端口中选择虚拟端口进行传输。
其中,所述多个物理端口的链路类型相同或不同,所述多个物理端口的链路带宽相同或不同。
其中,所述聚合得到的链路的带宽为所述各虚拟端口的链路带宽之和。
本发明还提供一种链路聚合装置,用于对多个物理端口的链路进行聚合,包括:
最小粒度确定单元,用于根据各物理端口的链路带宽选择一不大于所述各物理端口的链路带宽的带宽值作为带宽的最小粒度;
链路划分单元,用于以所述带宽的最小粒度为单位,将每个物理端口的链路划分为包括一个或多个虚拟端口,所述虚拟端口为由所述虚拟端口对应的物理端口的端口号和所述最小粒度共同构成的元素,各虚拟端口的链路带宽即为所述带宽的最小粒度;
链路聚合单元,用于将各划分后的虚拟端口的链路进行聚合,得到聚合端口。
其中,还包括:
出端口选择单元,用于当需要由所述聚合端口传输信息时,根据待传输信息确定所需的传输带宽,根据预设的负载分担策略从所述聚合端口中选择虚拟端口进行传输。
其中,还包括:
虚拟端口编号单元,用于当所述链路划分单元将一个物理端口划分为多个虚拟端口时,为各虚拟端口进行编号以进行区分,即为所述的元素进行编号。
与现有技术相比,本发明具有以下优点:
通过使用本发明提供的方法,基于带宽的绑定来实现不同类型端口之间的链路聚合,打破传统的基于端口的链路聚合方式,可以使得不同类型的链路聚合,并实现带宽的非整数倍增加,使得链路聚合更加灵活。
附图说明
图1是现有技术中链路聚合的示意图;
图2A和图2B是现有技术中GigabitEthernet和FastEthernet端口聚合的示意图;
图3是现有技术中非线性带宽增长应用场景的示意图;
图4是本发明中链路聚合方法的流程图;
图5是本发明中端口粒度模型的示意图;
图6是本发明中FastEthernet和GigabitEthernet端口的聚合示意图;
图7是本发明中通过聚合链路转发处理流程的示意图;
图8是本发明中在聚合组中获取出端口的示意图;
图9是本发明中链路聚合装置的示意图。
具体实施方式
本发明一种链路聚合方法的核心思想在于:采用基于带宽的绑定实现不同类型物理端口之间的链路聚合。对于不同类型的物理端口,其共同特点为具有带宽,只是带宽的大小不同。例如对于FastEthernet类型端口,带宽速率为100M;对于GigabitEthernet类型端口,带宽速率为10×100M,对于Ten-GigabitEthernet类型端口,带宽速率为10×10×100M。因此可以基于带宽实现不同类型端口间的聚合。
如图4所示,为本发明中链路聚合方法的流程图,具体包括以下步骤:
步骤s401、根据各物理端口的链路带宽确定带宽的最小粒度。
具体的,该带宽的最小粒度的确定方法具体为:选择一不大于各物理端口的链路带宽的带宽值作为带宽的最小粒度,使得各端口的链路带宽能够以该带宽的最小粒度为单位进行完全划分。例如对于带宽分别为100M、10×100M以及10×10×100M的链路,可以选择1M/10M/20M/50M/100M等作为带宽的最小粒度。
步骤s402、根据带宽的最小粒度以及物理端口号,将各物理端口的链路划分为虚拟端口的链路。
具体的,以上一步骤中确定的带宽的最小粒度为单位,将每个物理端口的链路划分包括为一个或多个虚拟端口,每个虚拟端口为由所述虚拟端口对应的物理端口的端口号和所述最小粒度共同构成的元素,各虚拟端口的链路带宽即为上述带宽的最小粒度。
步骤s403、将各划分后的虚拟端口的链路进行聚合,得到聚合端口。
具体的,将上一步骤中每一端口的链路划分后得到的集合进行叠加,获 得聚合后的链路和聚合端口。另外,当需要由该聚合端口传输信息时,根据待传输信息确定所需的传输带宽,根据预设的负载分担策略从所述聚合端口中选择虚拟端口进行传输。
以下以对FastEthernet(带宽速率为100M)、GigabitEthernet(带宽速率为10×100M)和Ten-GigabitEthernet(带宽速率为10×10×100M)三种类型的链路进行的聚合为例,描述本发明中一种链路聚合的方法。如图5所示,假设链路带宽的最小粒度为100M(如上文所述,也可以是10M、50M或其他数值),以粒度为基本元素对链路进行能够划分,则每条链路可以划分为包括不同元素的集合。
对于链路A:FastEthernet类型,物理端口为P1,根据最小粒度进行划分后包括1个元素,该元素由虚拟端口对应的物理端口的端口号和最小粒度共同构成:
FastEthernet(A)={(X1,P1)};
对于链路B:GigabitEthernet类型,物理端口为P2,根据最小粒度进行划分后包括10个元素,每个元素由虚拟端口对应的物理端口的端口号和最小粒度共同构成,即1个GigabitEthernet端口可以虚拟成10个FastEthernet端口:
GigabitEthernet(B)={(Y1,P2)(Y2,P2)(Y3,P2)...(Y10,P2)};
对于链路C:Ten-GigabitEthernet类型,物理端口为P3,根据最小粒度进行划分后包括100个元素,每个元素由虚拟端口对应的物理端口的端口号和最小粒度共同构成,即1个Ten-GigabitEthernet端口可以虚拟成100个FastEthernet端口:
Ten-GigabitEthernet(C)={(Z1,P3)(Z2,P3)(Z3,P3)...(Z100,P3)}
对于不同链路聚合后的聚合链路的带宽使用如下的计算方法进行计算:
聚合链路=链路1{集合1}+链路2{集合2}+链路3{集合3}
则对于由链路A、链路B和链路C聚合成的链路F可以表示为:
聚合链路(F)=A{(X1,P1)}+B{(Y1,P2)(Y2,P2)(Y3,P2)...(Y10,P2)}+C{(Z1,P3)(Z2,P3)(Z3,P3)...(Z100,P3)}
={(X1,P1)(Y1,P2)(Y2,P2)(Y3,P2)...(Y10,P2)(Z1,P3)(Z2,P3) (Z3,P3)...(Z100,P3)}
进一步的,聚合后得到的聚合链路F工作在负载分担模式,数据流通过HASH算法在集合(F)中选择出端口(P1、P2或P3之一)并转发。对于原有方案的LACP协议以及其他端口配置等等继承使用。
以上是对FastEthernet、GigabitEthernet和Ten-GigabitEthernet三种类型的链路进行的聚合为例,对其他类型链路的聚合同样根据上述方法进行计算。例如:FastEthernet和FastEthernet、GigabitEthernet和GigabitEthernet、Ten-GigabitEthernet和Ten-GigabitEthernet之间的聚合;或FastEthernet和Ten-GigabitEthernet、GigabitEthernet和Ten-GigabitEthernet、FastEthernet和Ten-GigabitEthernet以及三种类型端口之间的聚合。
以如图6所示的应用场景中FastEthernet和GigabitEthernet端口的聚合为例,假设A设备到B设备进行二层单播转发(已经建立二层转发表项),中间经过此聚合链路,其中Port1为FastEthernet端口,Port2为GigabitEthernet端口;以A设备转发处理为例,其转发处理流程如图7所示,包括以下步骤:
步骤s701、根据二层转发表项以及报文的目的MAC查找到报文的出端口。
步骤s702、判断该端口是否为聚合端口,是则进行步骤s703,否则进行步骤s705。
步骤s703、获取聚合端口中的端口集合。
设带宽的最小粒度为100M,则根据上述计算方法,聚合端口{F}={(X1,P1)(Y1,P2)(Y2,P2)...(Y10,P2)}。聚合得到的聚合链路F的带宽总和为1.1G,包括11个虚拟端口。
步骤s704、通过HASH算法,在聚合组中获取出端口。
端口学习的ARP(Address Resolution Protocol,地址解析协议)和MAC(Medium Access Control,媒体接入控制)等将根据HASH算法,得到出接口在端口P1或P2端口上,示意图如图8所示。
步骤s705、确定出端口。
通过使用本发明提供的方法,基于带宽的绑定来实现不同类型端口之间的链路聚合,打破传统的基于端口的链路聚合方式,可以使得不同类型的链 路聚合,并实现带宽的非整数倍增加,使得链路聚合更加灵活。
本发明还提供一种链路聚合装置,用于对多个端口的链路进行聚合,该链路聚合装置可以应用于交换设备、路由设备等网络设备上,实现基于带宽的不同类型端口之间的链路聚合。其结构如图9所示,包括:
最小粒度确定单元10,用于根据各物理端口的链路带宽确定带宽的最小粒度。具体的,该带宽的最小粒度的确定方法具体为:选择一不大于各物理端口的链路带宽的带宽值作为带宽的最小粒度,使得各端口的链路带宽能够以该带宽的最小粒度为单位进行完全划分。例如对于带宽分别为100M、10×100M以及10×10×100M的链路,可以选择1M/10M/20M/50M/100M等作为带宽的最小粒度。
链路划分单元20,用于根据所述最小粒度确定单元10确定的带宽的最小粒度以及物理端口号,将所述各物理端口的链路划分为虚拟端口的链路。具体的,以最小粒度确定单元10确定的带宽的最小粒度为单位,将的每个物理端口的链路划分包括为一个或多个虚拟端口,所述虚拟端口为由所述虚拟端口对应的物理端口的端口号和所述最小粒度共同构成的元素,各虚拟端口的链路带宽即为带宽的最小粒度
链路聚合单元30,用于将所述链路划分单元20划分后的各虚拟端口的链路进行聚合,得到聚合端口。具体的,将链路划分单元20将每一端口的链路划分后得到的集合进行叠加,获得聚合后的链路。
该链路聚合装置还包括:
出端口选择单元40,用于当需要由聚合端口传输信息时,根据待传输信息确定所需的传输带宽,根据预设的负载分担策略从聚合端口中选择虚拟端口进行传输。
虚拟端口编号单元50,用于当链路划分单元20将一个物理端口划分为多个虚拟端口时,为各虚拟端口进行编号以进行区分,即为所述的元素进行编号。
通过使用本发明提供的装置,基于带宽的绑定来实现不同类型端口之间的链路聚合,打破传统的基于端口的链路聚合方式,可以使得不同类型的链 路聚合,并实现带宽的非整数倍增加,使得链路聚合更加灵活。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台设备执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (8)
1.一种链路聚合方法,用于对多个物理端口的链路进行聚合,其特征在于,包括以下步骤:
根据各物理端口的链路带宽选择一不大于所述各物理端口的链路带宽的带宽值作为带宽的最小粒度;
以所述带宽的最小粒度为单位,将每个物理端口的链路划分为包括一个或多个虚拟端口,所述虚拟端口为由所述虚拟端口对应的物理端口的端口号和所述最小粒度共同构成的元素,各虚拟端口的链路带宽即为所述带宽的最小粒度;
将各划分后的虚拟端口的链路进行聚合,得到聚合端口。
2.如权利要求1所述链路聚合方法,其特征在于,将一个物理端口划分为多个虚拟端口时,为各虚拟端口进行编号以进行区分,即为所述的元素进行编号。
3.如权利要求1或2所述链路聚合方法,其特征在于,当需要由所述聚合端口传输信息时,根据待传输信息确定所需的传输带宽,根据预设的负载分担策略从所述聚合端口中选择虚拟端口进行传输。
4.如权利要求1或2所述链路聚合方法,其特征在于,所述多个物理端口的链路类型相同或不同,所述多个物理端口的链路带宽相同或不同。
5.如权利要求1或2所述链路聚合方法,其特征在于,所述聚合得到的链路的带宽为所述各虚拟端口的链路带宽之和。
6.一种链路聚合装置,用于对多个物理端口的链路进行聚合,其特征在于,包括:
最小粒度确定单元,用于根据各物理端口的链路带宽选择一不大于所述各物理端口的链路带宽的带宽值作为带宽的最小粒度;
链路划分单元,用于以所述带宽的最小粒度为单位,将每个物理端口的链路划分为包括一个或多个虚拟端口,所述虚拟端口为由所述虚拟端口对应的物理端口的端口号和所述最小粒度共同构成的元素,各虚拟端口的链路带宽即为所述带宽的最小粒度;
链路聚合单元,用于将各划分后的虚拟端口的链路进行聚合,得到聚合 端口。
7.如权利要求6所述链路聚合装置,其特征在于,还包括:
出端口选择单元,用于当需要由所述聚合端口传输信息时,根据待传输信息确定所需的传输带宽,根据预设的负载分担策略从所述聚合端口中选择虚拟端口进行传输。
8.如权利要求6所述链路聚合装置,其特征在于,还包括:
虚拟端口编号单元,用于当所述链路划分单元将一个物理端口划分为多个虚拟端口时,为各虚拟端口进行编号以进行区分,即为所述的元素进行编号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100041256A CN101217528B (zh) | 2008-01-18 | 2008-01-18 | 一种链路聚合方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100041256A CN101217528B (zh) | 2008-01-18 | 2008-01-18 | 一种链路聚合方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101217528A CN101217528A (zh) | 2008-07-09 |
CN101217528B true CN101217528B (zh) | 2012-04-18 |
Family
ID=39623890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100041256A Active CN101217528B (zh) | 2008-01-18 | 2008-01-18 | 一种链路聚合方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101217528B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102238063B (zh) * | 2010-04-26 | 2014-04-16 | 华为技术有限公司 | 一种报文处理方法及设备 |
CN104683255B (zh) * | 2013-11-29 | 2018-02-13 | 华为技术有限公司 | 物理端口的均衡负载分担方法、装置和链路聚合系统 |
CN103841047A (zh) * | 2014-02-28 | 2014-06-04 | 杭州华三通信技术有限公司 | 一种链路聚合的方法装置 |
CN103944671B (zh) * | 2014-05-22 | 2017-12-29 | 中国地质大学(武汉) | 基于多信道聚合的超宽带机载数据的实时传输方法及系统 |
CN104301217B (zh) * | 2014-10-11 | 2019-02-19 | 新华三技术有限公司 | 一种链路捆绑方法和设备 |
CN105743816B (zh) * | 2014-12-10 | 2019-01-25 | 华为技术有限公司 | 一种链路聚合方法及装置 |
CN105939279B (zh) * | 2015-08-19 | 2019-02-19 | 杭州迪普科技股份有限公司 | 流量处理方法和装置 |
CN112087376B (zh) * | 2019-06-14 | 2023-03-14 | 中兴通讯股份有限公司 | 一种负载分担的方法及装置 |
CN111355805A (zh) * | 2020-03-06 | 2020-06-30 | 苏州浪潮智能科技有限公司 | 一种网络通信方法、装置、设备及存储介质 |
US11671351B2 (en) * | 2020-12-04 | 2023-06-06 | Juniper Networks, Inc. | Maintaining a set of links associated with a link aggregation group to facilitate provisioning or updating of a customer edge device |
CN116366535A (zh) * | 2023-03-24 | 2023-06-30 | 展讯通信(上海)有限公司 | 基于tcp的数据链路聚合方法及装置、可读存储介质、终端 |
CN116405395B (zh) * | 2023-04-14 | 2024-02-02 | 之江实验室 | 一种网络硬切片的方法、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1874341A (zh) * | 2005-05-30 | 2006-12-06 | 华为技术有限公司 | 实现业务传输线路绑定的方法 |
CN101022456A (zh) * | 2007-03-22 | 2007-08-22 | 华为技术有限公司 | 一种链路聚合方法、端口负载均衡方法及其装置 |
-
2008
- 2008-01-18 CN CN2008100041256A patent/CN101217528B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1874341A (zh) * | 2005-05-30 | 2006-12-06 | 华为技术有限公司 | 实现业务传输线路绑定的方法 |
CN101022456A (zh) * | 2007-03-22 | 2007-08-22 | 华为技术有限公司 | 一种链路聚合方法、端口负载均衡方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101217528A (zh) | 2008-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101217528B (zh) | 一种链路聚合方法和装置 | |
US8274980B2 (en) | Ethernet link aggregation | |
CN102594664B (zh) | 流量转发方法和装置 | |
CN106664261B (zh) | 一种配置流表项的方法、装置和系统 | |
CN103166874A (zh) | 一种报文转发方法及设备 | |
CN103338161B (zh) | 一种实现跨设备聚合的方法和设备 | |
CN104917678B (zh) | 基于sdn的链路聚合方法 | |
CN103188165B (zh) | 一种路由器多径输出智能负载均衡的方法及路由器 | |
CN102307136B (zh) | 报文处理方法及其装置 | |
CN107579923A (zh) | 一种sdn网络的链路负载均衡方法和sdn控制器 | |
CN108306824B (zh) | 报文发送方法及装置 | |
CN101753455B (zh) | 转发方法及装置 | |
JPH03503709A (ja) | 多重チャネル帯域幅割当法 | |
CN101094185A (zh) | 基于多链路的报文转发方法和装置 | |
CN102904825B (zh) | 一种基于Hash的报文传输方法和设备 | |
CN106713182A (zh) | 一种处理流表的方法及装置 | |
CN103078798A (zh) | 一种建立路由表的方法和设备 | |
CN104796336B (zh) | 一种配置、下发流表项的方法及装置 | |
CN102447638A (zh) | 负载均衡的方法及转发设备 | |
CN104601461B (zh) | 一种纵向智能弹性架构系统中的报文转发方法及装置 | |
CN102447619A (zh) | 选择负载分担方式的方法、装置和系统 | |
CN105556916A (zh) | 网络流的信息统计方法和装置 | |
CN104461727A (zh) | 内存模组访问方法及装置 | |
CN103152284A (zh) | 一种路由器多径输出智能负载均衡的方法及路由器 | |
CN106533973A (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 |
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. |
|
CP03 | Change of name, title or address |