CN104539552A - 一种基于网络芯片的动态ecmp的实现方法 - Google Patents
一种基于网络芯片的动态ecmp的实现方法 Download PDFInfo
- Publication number
- CN104539552A CN104539552A CN201510012098.7A CN201510012098A CN104539552A CN 104539552 A CN104539552 A CN 104539552A CN 201510012098 A CN201510012098 A CN 201510012098A CN 104539552 A CN104539552 A CN 104539552A
- Authority
- CN
- China
- Prior art keywords
- ecmp
- link
- dynamic
- information
- message
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于网络芯片的动态ECMP的实现方法,包括:1)根据报文的目的IP查找路由表,获取下一跳出口信息为一个ECMP组;2)判断ECMP组中获取的是否为动态ECMP信息;若ECMP组中没有使能动态ECMP信息,则使用报文Hash值决定的一条静态ECMP链路转发报文,若ECMP组中使能了动态ECMP信息,则查找动态ECMP流表,根据动态ECMP流表中的信息及ECMP链路的负载触发芯片自动进行选路转发报文。本发明中的网络交换机可以根据数据流的状态以及ECMP链路的负载适时触发芯片自动进行选路,并且每次选择ECMP成员中负载最轻的链路,达到链路负载均衡的效果,避免某条链路因负载过重造成延迟甚至丢包以及链路负载不均造成浪费带宽的情况,实现简单,系统成本低,可以大大提高网络带宽利用率。
Description
技术领域
本发明涉及一种基于网络芯片的动态ECMP的实现方法,属于以太网路由技术领域。
背景技术
以太网传统的路由方法是使用路由表,根据目的IP地址进行报文的转发。网络环境中存在多条不同链路到达同一目的地址的情况,如果使用传统的路由技术,发往该目的地址的数据包只能利用其中的一条链路,其它链路处于备份状态或无效状态,并且在动态路由环境下相互的切换需要一定时间,而等价多路径路由ECMP可以在该网络环境下同时使用多条链路,不仅增加了传输带宽,并且可以无时延无丢包地备份失效链路的数据传输。
目前ECMP的技术一般是网络处理器通过报文头中特定字段如源IP地址、目的IP地址等计算Hash值,标识一种流,然后根据该Hash值对ECMP组的成员个数取模,选取等价路径中的一条路径进行转发。
上述ECMP方法可以达到负载分担的效果,将流量分配到多条链路,但是始终是静态的选路,报文选择ECMP成员链路完全根据报文特征字段的Hash值来决定。报文特征字段相同的同一种流计算的Hash值是固定的,其选择的出口链路也是固定的。这种技术没有考虑链路的实际负载情况,会造成链路负载不均匀,这样就会出现ECMP组中,有些ECMP成员链路可能已经出现拥堵,甚至出现丢包,而有些链路的负载却一直很轻甚至没有流量。
发明内容
针对现有技术的不足,本发明的目的在于提供一种基于网络芯片的动态ECMP的实现方法, 该方法根据数据流的状态以及ECMP链路的负载适时触发芯片自动进行选路,并且每次选择ECMP成员中负载最轻的链路,避免了现有静态Hash实现方案中出现的某条链路因负载过重造成延迟甚至丢包以及链路负载不均造成浪费带宽的情况。
为实现前述发明目的,本发明采用的技术方案包括:
一种基于网络芯片的动态ECMP的实现方法,包括:
1)根据报文的目的IP查找路由表,获取下一跳出口信息为一个ECMP组;
2)判断ECMP组中获取的是否为动态ECMP信息;
若ECMP组中没有使能动态ECMP信息,则使用报文Hash值决定的一条静态ECMP链路转发报文,
若ECMP组中使能了动态ECMP信息,则查找动态ECMP流表,根据动态ECMP流表中的信息及ECMP链路的负载触发芯片自动进行选路转发报文。
进一步的,所述触发芯片自动进行选路转发报文,具体包括:
若需要重新选择链路,则比较ECMP成员链路的负载情况,选择负载最轻的链路发送报文,并且将负载最轻的链路信息记录到动态ECMP流表中;
若不需要重新选择链路,则使用动态ECMP流表中记录的链路将报文发送。
更进一步的,所述触发重新选择链路的模式包括:
只对新流做链路选择;
每隔一定的报文数做一次链路选择;
每隔一定时间做链路选择。
进一步的,所述动态ECMP流表中的信息包括流的报文个数、最近一个报文的时间和当前流的带宽,但不局限于这些信息。
与现有技术相比,本发明的优点包括:网络交换机可以根据数据流的状态以及ECMP链路的负载适时触发芯片自动进行选路,并且每次选择ECMP成员中负载最轻的链路,达到链路负载均衡的效果。避免了某条链路因负载过重造成延迟甚至丢包以及链路负载不均造成浪费带宽的情况,实现简单,系统成本低,可以大大提高网络带宽利用率。
附图说明
图1是本发明一种基于网络芯片的动态ECMP的实现方法的流程图。
具体实施方式
鉴于现有技术中的不足,本案发明人经长期研究和大量实践,得以提出本发明的技术方案。如下将对该技术方案、其实施过程及原理等作进一步的解释说明。
一种基于网络芯片的动态ECMP的实现方法,所述方法包括:
1)根据报文的目的IP查找路由表,获取下一跳出口信息为一个ECMP组;
2)判断ECMP组中获取的是否为动态ECMP信息;若ECMP组中没有使能动态ECMP信息,则使用报文Hash值决定的一条静态ECMP链路转发报文,若ECMP组中使能了动态ECMP信息,则查找动态ECMP流表,根据动态ECMP流表中的信息及ECMP链路的负载触发芯片自动进行选路转发报文。
其中,触发芯片自动进行选路转发报文,具体包括:
若需要重新选择链路,则比较ECMP成员链路的负载情况,选择负载最轻的链路发送报文,并且将负载最轻的链路信息记录到动态ECMP流表中;若不需要重新选择链路,则使用动态ECMP流表中记录的链路将报文发送。
触发重新选择链路的模式包括:只对新流做链路选择;每隔一定的报文数做一次链路选择;每隔一定时间做链路选择。
其中,动态ECMP流表中的信息包括流的报文个数、最近一个报文的时间和当前流的带宽。
本实施例采用的网络芯片为于ASIC芯片或FPGA或NP,但不局限于这些芯片。
应当理解,上述实施例仅为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
Claims (4)
1. 一种基于网络芯片的动态ECMP的实现方法,其特征在于包括:
1)根据报文的目的IP查找路由表,获取下一跳出口信息为一个ECMP组;
2)判断ECMP组中获取的是否为动态ECMP信息;
若ECMP组中没有使能动态ECMP信息,则使用报文Hash值决定的一条静态ECMP链路转发报文,
若ECMP组中使能了动态ECMP信息,则查找动态ECMP流表,根据动态ECMP流表中的信息及ECMP链路的负载触发芯片自动进行选路转发报文。
2. 根据权利要求1所述基于网络芯片的动态ECMP的实现方法,其特征在于所述触发芯片自动进行选路转发报文,具体包括:
若需要重新选择链路,则比较ECMP成员链路的负载情况,选择负载最轻的链路发送报文,并且将负载最轻的链路信息记录到动态ECMP流表中;
若不需要重新选择链路,则使用动态ECMP流表中记录的链路将报文发送。
3. 根据权利要求2所述基于网络芯片的动态ECMP的实现方法,其特征在于所述触发重新选择链路的模式包括:
只对新流做链路选择;
每隔一定的报文数做一次链路选择;
每隔一定时间做链路选择。
4. 根据权利要求1所述基于网络芯片的动态ECMP的实现方法,其特征在于所述动态ECMP流表中的信息包括流的报文个数、最近一个报文的时间和当前流的带宽。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510012098.7A CN104539552A (zh) | 2015-01-12 | 2015-01-12 | 一种基于网络芯片的动态ecmp的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510012098.7A CN104539552A (zh) | 2015-01-12 | 2015-01-12 | 一种基于网络芯片的动态ecmp的实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104539552A true CN104539552A (zh) | 2015-04-22 |
Family
ID=52855021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510012098.7A Pending CN104539552A (zh) | 2015-01-12 | 2015-01-12 | 一种基于网络芯片的动态ecmp的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104539552A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016192215A1 (zh) * | 2015-05-29 | 2016-12-08 | 中兴通讯股份有限公司 | 网络负荷的分担方法和装置 |
CN106453091A (zh) * | 2016-10-28 | 2017-02-22 | 武汉烽火网络有限责任公司 | 路由器转发平面的等价路由管理方法和装置 |
CN106487676A (zh) * | 2016-10-27 | 2017-03-08 | 盛科网络(苏州)有限公司 | 一种基于大象流的动态ecmp芯片实现方法 |
CN107040468A (zh) * | 2016-11-30 | 2017-08-11 | 新华三技术有限公司 | 一种通信设备及其fib表生成方法 |
CN109347623A (zh) * | 2018-10-18 | 2019-02-15 | 盛科网络(苏州)有限公司 | 一种链路负载均衡应用中进行会话保持的方法及装置 |
CN111600806A (zh) * | 2016-10-27 | 2020-08-28 | 贵州白山云科技股份有限公司 | 负载均衡方法、装置、前端调度服务器、存储介质及设备 |
CN113422731A (zh) * | 2021-06-22 | 2021-09-21 | 恒安嘉新(北京)科技股份公司 | 一种负载均衡输出方法、装置、汇聚分流设备和介质 |
CN114884868A (zh) * | 2022-05-10 | 2022-08-09 | 杭州云合智网技术有限公司 | 基于ecmp组的链路保护方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6426941B1 (en) * | 1999-02-12 | 2002-07-30 | Megaxess, Inc. | Hitless ATM cell transport for reliable multi-service provisioning |
CN101753455A (zh) * | 2009-12-15 | 2010-06-23 | 中兴通讯股份有限公司 | 转发方法及装置 |
CN103607358A (zh) * | 2013-11-29 | 2014-02-26 | 哈尔滨工业大学深圳研究生院 | 基于链路利用率平均和的动态ecmp方法及系统 |
-
2015
- 2015-01-12 CN CN201510012098.7A patent/CN104539552A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6426941B1 (en) * | 1999-02-12 | 2002-07-30 | Megaxess, Inc. | Hitless ATM cell transport for reliable multi-service provisioning |
CN101753455A (zh) * | 2009-12-15 | 2010-06-23 | 中兴通讯股份有限公司 | 转发方法及装置 |
CN103607358A (zh) * | 2013-11-29 | 2014-02-26 | 哈尔滨工业大学深圳研究生院 | 基于链路利用率平均和的动态ecmp方法及系统 |
Non-Patent Citations (1)
Title |
---|
林幸,等.: "一种OpenFlow网络的流量负载均衡策略", 《第十届中国通信学会学术年会论文集》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016192215A1 (zh) * | 2015-05-29 | 2016-12-08 | 中兴通讯股份有限公司 | 网络负荷的分担方法和装置 |
CN106487676A (zh) * | 2016-10-27 | 2017-03-08 | 盛科网络(苏州)有限公司 | 一种基于大象流的动态ecmp芯片实现方法 |
CN111600806A (zh) * | 2016-10-27 | 2020-08-28 | 贵州白山云科技股份有限公司 | 负载均衡方法、装置、前端调度服务器、存储介质及设备 |
CN106453091A (zh) * | 2016-10-28 | 2017-02-22 | 武汉烽火网络有限责任公司 | 路由器转发平面的等价路由管理方法和装置 |
CN106453091B (zh) * | 2016-10-28 | 2019-04-30 | 烽火通信科技股份有限公司 | 路由器转发平面的等价路由管理方法和装置 |
CN107040468A (zh) * | 2016-11-30 | 2017-08-11 | 新华三技术有限公司 | 一种通信设备及其fib表生成方法 |
CN109347623A (zh) * | 2018-10-18 | 2019-02-15 | 盛科网络(苏州)有限公司 | 一种链路负载均衡应用中进行会话保持的方法及装置 |
CN113422731A (zh) * | 2021-06-22 | 2021-09-21 | 恒安嘉新(北京)科技股份公司 | 一种负载均衡输出方法、装置、汇聚分流设备和介质 |
CN114884868A (zh) * | 2022-05-10 | 2022-08-09 | 杭州云合智网技术有限公司 | 基于ecmp组的链路保护方法 |
CN114884868B (zh) * | 2022-05-10 | 2024-04-12 | 云合智网(上海)技术有限公司 | 基于ecmp组的链路保护方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104539552A (zh) | 一种基于网络芯片的动态ecmp的实现方法 | |
CN102884767B (zh) | 第2层多路径网络中链路成本按图分配 | |
US20130223454A1 (en) | Delegate Forwarding and Address Resolution in Fragmented Network | |
Trestian et al. | MiceTrap: Scalable traffic engineering of datacenter mice flows using OpenFlow | |
CN103401801A (zh) | 动态负载均衡的实现方法及装置 | |
CN102739518B (zh) | 一种流量负载分担方法和设备 | |
US10181999B2 (en) | Optimizing information related to a route and/or a next hop for multicast traffic | |
WO2015106729A1 (zh) | 一种负载均衡方法、装置和系统、计算机存储介质 | |
CN104917678A (zh) | 基于sdn的链路聚合方法 | |
CN103716208A (zh) | 支持大象流的网络管理方法、系统、交换机和网络 | |
CN106941449B (zh) | 一种基于按需机制的网络数据通信方法 | |
CN103281253B (zh) | 一种非等价路由的负载分担方法和设备 | |
US9559989B2 (en) | Link problem handling | |
CN106487676A (zh) | 一种基于大象流的动态ecmp芯片实现方法 | |
CN107872368B (zh) | 一种网络节点集群中网关可达性的检测方法、装置及终端 | |
CN103780509A (zh) | 报文转发方法和路由转发设备 | |
CN102761493A (zh) | 一种多链接透明互联网络中组播路由表项更新方法和装置 | |
CN103401781A (zh) | 应用于多链路透明互联网络的接入方法和设备 | |
WO2018219103A1 (zh) | 一种链路状态确定方法及设备 | |
CN104486224A (zh) | 路由学习方法和设备 | |
CN104796339A (zh) | 快速泛洪处理方法及装置 | |
CN105745874A (zh) | 一种确定服务功能路径的方法及装置 | |
CN103595649A (zh) | 实现负载均衡的方法和系统 | |
US20180062966A1 (en) | Selective transmission of bidirectional forwarding detection (bfd) messages for verifying multicast connectivity | |
CN103428067A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150422 |
|
WD01 | Invention patent application deemed withdrawn after publication |