CN100336363C - 一种实现聚合链路流量均衡的方法 - Google Patents
一种实现聚合链路流量均衡的方法 Download PDFInfo
- Publication number
- CN100336363C CN100336363C CNB021370796A CN02137079A CN100336363C CN 100336363 C CN100336363 C CN 100336363C CN B021370796 A CNB021370796 A CN B021370796A CN 02137079 A CN02137079 A CN 02137079A CN 100336363 C CN100336363 C CN 100336363C
- Authority
- CN
- China
- Prior art keywords
- port
- flow
- address
- data packet
- polylink
- 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.)
- Expired - Fee Related
Links
Images
Abstract
本发明公开了一种实现聚合链路流量均衡的方法,包括以下处理步骤:接收一个单播数据包,如果地址表中有相匹配的表项则转发;如果地址表中没有相匹配的地址项,则送往地址学习模块;地址学习模块根据端口的历史流量信息预测各端口未来的流量;把该数据包通过未来流量最小的端口转发,并更新地址表。本发明可广泛应用于网络设备之间多条物理链路捆绑成一条逻辑链路的聚合链路中。采用本发明的实现聚合链路流量均衡的方法,可以克服以往根据数据包地址的某几位来决定转发端口可能使不同端口负载不均衡的缺点,使转发数据包时可以更均衡地在物理链路上分配流量,更充分地利用物理链路提供的带宽。
Description
技术领域
本发明涉及网络设备之间多条物理链路捆绑成一条逻辑链路的聚合链路流量均衡的方法。
背景技术
交换机与交换机,交换机和服务器之间可以使用两条以上的物理链路进行连接。这样做的好处是增加了带宽,链路聚合的带宽等于聚合的物理链路带宽的总和。高可靠性,当其中某条物理链路发生故障时,交换机自动识别失效链路并停止从这条链路传送信息,同时选择其他链路继续进行传送。主干中一条或多条物理链路失效,不会影响两台设备的连通性,只是链路带宽随着失效链路数的增加而下降,因此链路聚合技术可以提高主干的可靠性。负载均衡,链路聚合技术有一个帧分发算法,可以根据各物理链路的流量有选择地进行数据包发送,使各链路的负载均衡。物理连接变化时可以快速配置或重配置。
交换机一般有多个端口,其主要功能是将一个端口接收的数据包转发到另外一个适当的端口中去。实现数据包的交换的基本原理是这样的:交换机中存储有叫做地址表的数据表格和一个学习模块。地址表至少包括一个地址项和一个端口项,表明为某一目的地址的数据包应该从对应的端口发送。交换机从一个端口接收到一个单播数据包后,首先提取出目的地址信息,在内部地址表中查询,如果能够找到对应的表项,则按照对应的端口转发该单播包,否则按广播包处理。与此同时学习模块会根据接收包的源地址和源端口学习并更新地址表项。
在美国专利6049528描述了实现链路聚合的方案。在设备中有一个地址表,在接受到一个数据包后,首先根据目的地址查找地址表,如果地址表中存在相应的表项,则按照地址表中的对应端口转发该数据包。如果没有对应的表项,则按照广播包处理。地址表项则是按照一般交换机的规则学习得到。美国专利申请号为20020012340和20020010791说明中描述了类似的系统,其交换转发的规则是根据接收到的数据包的部分信息,即目的地址的某几位来决定从哪个端口转发。
以上所述的方法都存在一个问题,即地址学习时都是按照地址的几个比特来决定将该地址与哪个端口相联系。这种方法就有可能使得某些端口流量较大,而另外的端口流量很小,产生流量在各个端口之间分布不均衡的现象。
发明内容
本发明的解决的技术问题是提供了一种实现聚合链路流量均衡的方法,克服了单纯根据接收数据包的目的地址来决定地址表项的做法中存在的链路聚合中可能出现流量不平均的现象。
本发明所述的实现聚合链路流量均衡的方法,包括以下处理步骤:
步骤一,接收一个单播数据包,如果地址表中有相匹配的表项则转发;
步骤二,如果地址表中没有相匹配的地址项,则送往地址学习模块;
步骤三,地址学习模块根据端口的历史流量信息预测各端口未来的流量;
步骤四,选择未来流量最小的端口与该地址联系并更新地址表。
所述步骤三中预测端口未来流量具体包括以下处理步骤:
a)采用定时查询的方法,每隔T秒读取计数器中累计的端口发送字节数,假设端口i第j次查询的结果是Cij;
b)计算端口i第j次查询前T秒的平均速率,计算公式为:
c)采用过去几个时间段流量的加权平均值来估计未来的流量。
如果采用两个时间段的流量预测未来T秒的平均速率,预测公式为:
Si,j′=αSi,j+(1-α)Si,j-1 其中0≤α≤1
α表示权重,最大值为1,越大则预测越依赖刚过去T秒的流量。
一般情况下可以选取T=5秒,α为0.8。
采用本发明的实现聚合链路流量均衡的方法,可以克服以往根据数据包地址的某几位来决定转发端口可能使不同端口负载不均衡的缺点,使转发数据包时可以更均衡地在物理链路上分配流量,更充分地利用物理链路提供的带宽。本方法还具有简单,速度快的优点。
附图说明
图1是两个系统(比如两个交换机之间或交换机与服务器之间)通过多条物理链路连接的情况。
图2是交换机或服务器的一个端口具有的功能模块。
图3是端口处理接收数据包的流程。
图4是本发明实现聚合链路流量均衡的方法的地址学习流程。
具体实施方式
下面结合附图来说明本发明的基本原理。
图1是两个系统(比如两个交换机之间或交换机与服务器之间)通过多条物理链路连接的情况。系统A的端口1至端口4与系统B的端口4至端口1相连,这4条链路聚合为一条逻辑链路。在本图中没有画出非聚合端口。
图2中画出了一个端口的功能模块。端口接收模块负责从端口上接收数据包。地址学习模块根据接收到数据包的源地址和接收端口号进行地址学习并更新地址表。地址表则记录了地址学习的结果,表明以某一地址为目的地址的数据包应该从哪个端口转发出去。在未设置TRUNKING(中继)的情况下,CPU软件处理模块不参与地址学习过程。包转发模块根据接收数据包的目的地址查询地址表并做出转发决策。端口发送模块实现数据包的发送。
图3是聚合端口处理接收数据包的流程。一个端口在设置成为聚合端口后,地址学习模块不再起作用。任何接收到的单播数据包先送到包转发模块,包转发模块根据包的目的地址在地址表中查询,如果在地址表中查到了匹配的表项,则进行正常的数据包转发。如果地址表中没有匹配的表项,则进行广播处理,并将地址消息发送到CPU软件处理模块进行地址学习。软件地址学习模块用学习的结果来更新地址表。
图4是本发明实现聚合链路流量均衡的方法的地址学习流程。为了实现流量均衡的目的,首先预测各个端口未来的流量,并根据预测的流量决定学习的结果。CPU收到地址学习消息,该地址消息包括接收到的数据包的源地址和接收端口号等信息。查询聚合组中所有可用端口的流量,并预测未来端口的流量,选择流量最小的一个端口作为以该地址为目的地址的数据包的转发端口,并对地址表进行更新。
下面再详细介绍预测未来端口流量的实现方法:
交换机中都具有端口流量统计的能力,交换机的硬件提供一些32位的循环计数器,软件通过读计数器,可以知道端口累计发送了多少字节的数据。可采用定时查询的方法,每隔T秒中查询一下计数器,假设端口i第j次查询的结果是Cij。
端口i第j次查询前T秒的平均速率为:
通常一个端口未来的流量同过去的流量有较大的相关性,所以我们可以采用过去几个时间段的流量的加权平均值来估计未来的流量。在下面的公式中,我们用过去两个时间段的流量预测未来T秒的平均速率:
Si,j′=αSi,j+(1-α)Si,j-1 其中0≤α≤1
α表示权重,最大值为1,越大则预测越依赖刚过去T秒的流量。在我们对当前端口的未来流量作出预测之后,每次出现一个新地址需要学习时,我们不是根据地址本身来更新地址表项,而是将这个新地址与流量最小的端口联系起来,并更新地址表。在上述公式中,我们选取T=5秒,α为0.8一般可以取得较好的效果。
以上详细介绍了采用本发明的方法在两个设备之间多条物理链路聚合成一条逻辑链路并实现负载均衡的方法。
Claims (3)
1.一种实现聚合链路流量均衡的方法,包括以下处理步骤:
步骤一,接收一个单播数据包,如果地址表中有相匹配的表项则转发;
步骤二,如果地址表中没有相匹配的地址项,则送往地址学习模块;
步骤三,地址学习模块根据端口的历史流量信息预测各端口未来的流量;
步骤四,把该数据包通过未来流量最小的端口转发,并更新地址表;其中,所述步骤三中预测端口未来流量具体包括以下处理步骤:
a)采用定时查询的方法,每隔T秒读取计数器中累计的端口发送字节数,
假设端口i第j次查询的结果是Cij;
b)计算端口i第j次查询前T秒的平均速率,计算公式为:
c)采用过去几个时间段流量的加权平均值来估计未来的流量。
2.根据权利要求1所述的实现聚合链路流量均衡的方法,其特征在于,可以采用两个时间段的流量预测未来T秒的平均速率,预测公式为:
α表示权重,最大值为1,越大则预测越依赖刚过去T秒的流量。
3.根据权利要求1或2所述的实现聚合链路流量均衡的方法,其特征在于,可以选取T=5秒,α为0.8。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021370796A CN100336363C (zh) | 2002-09-18 | 2002-09-18 | 一种实现聚合链路流量均衡的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021370796A CN100336363C (zh) | 2002-09-18 | 2002-09-18 | 一种实现聚合链路流量均衡的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1484413A CN1484413A (zh) | 2004-03-24 |
CN100336363C true CN100336363C (zh) | 2007-09-05 |
Family
ID=34146847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021370796A Expired - Fee Related CN100336363C (zh) | 2002-09-18 | 2002-09-18 | 一种实现聚合链路流量均衡的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100336363C (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4431315B2 (ja) * | 2003-01-14 | 2010-03-10 | 株式会社日立製作所 | パケット通信方法およびパケット通信装置 |
FR2873524B1 (fr) * | 2004-07-22 | 2006-10-27 | Alcatel Sa | Reseau local a groupe(s) virtuel(s) d'equipements de coeur propres a la commutation de niveau deux |
CN100417133C (zh) * | 2005-01-17 | 2008-09-03 | 华为技术有限公司 | 以太网链路聚合方法 |
CN100438498C (zh) * | 2005-01-17 | 2008-11-26 | 华为技术有限公司 | 以太网设备堆叠方法及其系统 |
CN100426773C (zh) * | 2005-11-30 | 2008-10-15 | 中兴通讯股份有限公司 | 一种多mac端口互联时均衡端口流量的方法 |
CN100417142C (zh) * | 2005-12-22 | 2008-09-03 | 华为技术有限公司 | 将接口流量在多个网络处理器引擎中均担的方法 |
CN101056257B (zh) * | 2006-04-14 | 2011-03-02 | 中兴通讯股份有限公司 | 实现链路聚合和保护倒换的方法及系统 |
CN100466620C (zh) * | 2006-06-30 | 2009-03-04 | 南京联创科技股份有限公司 | 海量数据大规模并行处理中基于数据流的负载均衡方法 |
CN101009662B (zh) * | 2007-01-31 | 2010-12-22 | 杭州华三通信技术有限公司 | 基于负载均衡技术的报文处理方法、系统及设备 |
CN101170512B (zh) * | 2007-11-21 | 2010-04-21 | 中兴通讯股份有限公司 | 报文业务处理方法 |
CN101453368B (zh) * | 2007-12-03 | 2012-02-29 | 华为技术有限公司 | 一种因特网ip地址分类和带宽预测的方法、系统及设备 |
CN101227402B (zh) * | 2008-02-20 | 2011-03-23 | 杭州华三通信技术有限公司 | 聚合链路流量分担方法及装置 |
CN101286903B (zh) * | 2008-05-06 | 2010-09-15 | 北京锐安科技有限公司 | 一种网络审计领域提高会话完整性的方法 |
US8228929B2 (en) * | 2008-10-24 | 2012-07-24 | Juniper Networks, Inc. | Flow consistent dynamic load balancing |
EP2629463B1 (en) | 2010-10-15 | 2019-09-04 | Nec Corporation | Switching system, and monitoring centralization management method |
CN102118319B (zh) | 2011-04-06 | 2013-09-18 | 杭州华三通信技术有限公司 | 流量负载均衡方法和装置 |
WO2014000282A1 (zh) * | 2012-06-29 | 2014-01-03 | 华为技术有限公司 | 转发方法、接收方法、第一路由器以及第二路由器 |
CN103023804B (zh) * | 2012-12-18 | 2015-08-19 | 北京星网锐捷网络技术有限公司 | 一种聚合链路自适应流量负载均衡方法、装置及网络设备 |
CN105162698B (zh) * | 2015-10-10 | 2019-03-12 | 浪潮(北京)电子信息产业有限公司 | 云服务器基于记忆模型调整sdn网络路径的方法和装置 |
CN105703976B (zh) * | 2016-04-11 | 2018-11-09 | 浪潮集团有限公司 | 一种交换机端口状态的监控方法 |
CN106547481B (zh) * | 2016-09-29 | 2020-04-10 | 浙江宇视科技有限公司 | 一种数据预分配方法和设备 |
CN111010343B (zh) * | 2019-12-18 | 2022-01-11 | 锐捷网络股份有限公司 | 一种转发组播报文的方法、装置、网络设备及存储介质 |
CN114095806A (zh) * | 2020-07-31 | 2022-02-25 | 中兴通讯股份有限公司 | 用于聚合链路的流量分配方法、装置、光线路终端及介质 |
CN113645145A (zh) * | 2021-08-02 | 2021-11-12 | 迈普通信技术股份有限公司 | 负载均衡方法、装置、网络设备及计算机可读存储介质 |
CN114422416B (zh) * | 2021-12-30 | 2023-07-21 | 广东中兴新支点技术有限公司 | 多链路聚合的数据传输方法、系统、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6049528A (en) * | 1997-06-30 | 2000-04-11 | Sun Microsystems, Inc. | Trunking ethernet-compatible networks |
WO2000056013A2 (en) * | 1999-03-17 | 2000-09-21 | Broadcom Corporation | Method for avoiding out-of-ordering of frames in a network switch |
-
2002
- 2002-09-18 CN CNB021370796A patent/CN100336363C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6049528A (en) * | 1997-06-30 | 2000-04-11 | Sun Microsystems, Inc. | Trunking ethernet-compatible networks |
WO2000056013A2 (en) * | 1999-03-17 | 2000-09-21 | Broadcom Corporation | Method for avoiding out-of-ordering of frames in a network switch |
Non-Patent Citations (3)
Title |
---|
IEEE,全文,IEEE Std 802.3ad 2000 * |
小型微型计算机系统 马欣 王文兵 李莉 栾贵兴,全文,宽带IP以太网接入系统中以太网接入交换机的设计与实现 2002 * |
计算机工程 陈文革 程向前,全文,高速地址Cache.散列表的应用 2002 * |
Also Published As
Publication number | Publication date |
---|---|
CN1484413A (zh) | 2004-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100336363C (zh) | 一种实现聚合链路流量均衡的方法 | |
US6477143B1 (en) | Method and apparatus for packet network congestion avoidance and control | |
CN101523828B (zh) | 通信系统、通信装置以及通信方法 | |
CN1183881A (zh) | 多链路轮询方法、设备和数据通信系统 | |
US6009092A (en) | LAN switch architecture | |
CN1913486A (zh) | 一种增强协议报文安全的方法和装置 | |
CN1427582A (zh) | 一种同步数字系列传输网上控制以太网数据流量的方法 | |
WO1997031459A1 (en) | Flow control protocol system and method | |
CN102035751A (zh) | 一种数据的传输方法和设备 | |
CN1751305A (zh) | 处理器阵列中的通信 | |
CN111541749B (zh) | 一种嵌入式设备的数据通信方法、系统及相关设备 | |
CN101202634B (zh) | 提高带宽利用率的单板和数据传输系统以及方法 | |
CN104506280A (zh) | 一种基于时分多址接入空间动态网络的可靠数据传输方法 | |
CN101911612A (zh) | 分组丢失得以降低的网络卸载 | |
CN1248465C (zh) | 网络通信中数据发送/接收缓冲区的管理方法 | |
Byrd et al. | Multicast communication in multiprocessor systems | |
CN101883047B (zh) | 多网络接口设备的数据并发传输方法 | |
CN1264234A (zh) | 优先级增强型消息传送装置及其方法 | |
CN1601997A (zh) | 以太网组播方法 | |
CN1534941A (zh) | 一种可靠的一对多数据传输方法 | |
CN1773963A (zh) | 用于在点对点互连上广播消息的技术 | |
CN102195931A (zh) | 一种设备内部多播流量转发的方法、网络设备及线卡 | |
CN101783763B (zh) | 防拥塞的处理方法及系统 | |
CN1079854A (zh) | 无连接服务器 | |
US20120170586A1 (en) | Transmitting Data to Multiple Nodes |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070905 Termination date: 20170918 |
|
CF01 | Termination of patent right due to non-payment of annual fee |