CN104539552A - 一种基于网络芯片的动态ecmp的实现方法 - Google Patents

一种基于网络芯片的动态ecmp的实现方法 Download PDF

Info

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
Application number
CN201510012098.7A
Other languages
English (en)
Inventor
郑晓阳
周伟
蒋华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Centec Networks Suzhou Co Ltd
Original Assignee
Centec Networks Suzhou Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Centec Networks Suzhou Co Ltd filed Critical Centec Networks Suzhou Co Ltd
Priority to CN201510012098.7A priority Critical patent/CN104539552A/zh
Publication of CN104539552A publication Critical patent/CN104539552A/zh
Pending legal-status Critical Current

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的实现方法
技术领域
本发明涉及一种基于网络芯片的动态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流表中的信息包括流的报文个数、最近一个报文的时间和当前流的带宽。
CN201510012098.7A 2015-01-12 2015-01-12 一种基于网络芯片的动态ecmp的实现方法 Pending CN104539552A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
林幸,等.: "一种OpenFlow网络的流量负载均衡策略", 《第十届中国通信学会学术年会论文集》 *

Cited By (10)

* Cited by examiner, † Cited by third party
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