CN103067294B - 多下一跳转发路由器中基于流保序的数据流均衡处理的方法 - Google Patents
多下一跳转发路由器中基于流保序的数据流均衡处理的方法 Download PDFInfo
- Publication number
- CN103067294B CN103067294B CN201210593572.6A CN201210593572A CN103067294B CN 103067294 B CN103067294 B CN 103067294B CN 201210593572 A CN201210593572 A CN 201210593572A CN 103067294 B CN103067294 B CN 103067294B
- Authority
- CN
- China
- Prior art keywords
- stream
- flow
- list item
- business
- current
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种多下一跳转发路由器中基于流保序的数据流均衡处理的方法,具有如下步骤:S100.获取业务流数据报文,进行TCP流和UDP流分类;在SDRAM中建立业务流流管理表项;S200.对TCP流进行逐包解析,得出每个包的至少包含五元组和TCP标志的信息;记录该包的到达时间;S300.对所述TCP流的报文数据的五元组扩展成128位带入编码器进行Hash计算,得出流ID;S400.根据步骤S300中得出的当前业务流的流ID,在流管理表中进行匹配查找:判定当前流ID是否有效;S500.若当前流ID有效,则进一步比对当前业务流的五元组信息和业务流管理表项存储的业务信息:S500a.若相等,表示命中,将业务流按业务流管理表项中的路径信息转发输出。
Description
技术领域
本发明涉及一种多下一跳转发路由器中基于流保序的数据流均衡处理的方法。涉及专利分类号中H04电通信技术H04L数字信息的传输,例如电报通信H04L12/00数据交换网络H04L12/54存储转发交换***H04L12/56分组交换***。
背景技术
伴随着互联网规模的飞速发展,各种新型网络业务不断涌现,网络用户数目不断攀升。与此同时,EverythingoverIP的思想推动了各种异构网络向互联网的融合,互联网已经成为各种通信基础设施的同一平台,承载业务越来越多。新兴业务迅猛增长导致了对网络带宽的需求越来越大,但仅仅依靠网络基础设施的增加无法从根本上解决网络资源需求的问题。另一方面网络资源利用率在空间分布上的不均衡造成全网范围内的贷款使用效率更加抵消。在局部网络资源链路成为人点链路的同时,还有大量链路产期处于空闲状态。通过分析发现单下一跳最有路径数据传输时当前网络资源利用不均衡、产生局部拥塞的重要根源。
多路径并行数据传输允许多条路径参与数据的传送,有效聚合了网络带宽,最终使得网络中各链路资源利用率趋于均衡,减少网络拥塞放生的概率,提高网络的安全性和可用性。当前多路径路由算法按其协议类型主要分为两类:
一、基于链路状态ECMP算法将报文路由到想的代价的多条路径上,MPA算法进找到满足条件的五环路由的一个子集,MPDA/QMPDA考虑了拓扑变化和链路故障的情况
二、基于距离矢量的DSPA用于减小传输时延,CRA用于最大化吞吐量,MDVA使用了DBF算法,MPATH使用了距离响亮算法并结合倒数第二条确认机制。
上述提到的多路径路由是从端到端的数据传输角度来讲的,端到端之间建立了多条路由;而多下一跳路由是从单个路由节点数据传输来讲的,每个路由节点通过多个下一跳路径传输数据。
发明内容
针对以上问题的提出,本发明提出了一种多下一跳转发路由器中基于流保序的数据流均衡处理的方法,具有如下步骤:
S100.获取业务流数据报文,进行TCP流和UDP流分类;在SDRAM中建立业务流流管理表项;
S200.对TCP流进行逐包解析,得出每个包的至少包含五元组和TCP标志的信息;记录该包的到达时间;
S300.对所述TCP流的报文数据的五元组扩展成128位带入编码器进行Hash计算,得出当前TCP流的流ID;
S400.根据步骤S300中得出的当前业务流的流ID,在流管理表中进行匹配查找:判定当前流ID是否有效;
S500.若当前流ID有效,则进一步比对当前业务流的五元组信息和业务流管理表项存储的业务信息:
S500a.若相等,表示命中,将业务流按业务流管理表项中的路径信息转发输出;
S500b.若不相等,表示未命中,按下一流号在SDRAM中继续寻址,直到五元组信息和业务流管理表项存储的业务信息一致为止;
S600.若当前流号无效,则选择当前负载最轻的链路输出当前业务流。
所述流管理表项中至少包含:流五元组、路径、。下一流号地址和有效位四个属性空间,对经过的报文数据进行上述四个属性的记录。
所述流管理表项中存储的每一条表项均有一个生存周期:当任意表项存储时间达到生存周期时,将该表项有效位清零。
所述步骤S300具体算法如下:
已知序列P的CRC32哈希运算的结果为A[31:0],8比特序列Q([q7,q6,…q0])的CRC32哈希运算的结果为Y[31:0],而序列A[31:24]的CRC32哈希运算的结果为X[31:0];
则拓展序列{P,Q}的CRC32哈希运算的结果为{Y[31:24]+X[31:24]+A[23:16],Y[23:16]+X[23:16]+A[15:8],Y[15:8]+X[15:8]+A[7:0],Y[7:0]+X[7:0]};
上式中的符号“+”表示模2运算,符号{,}表示将两个序列链接起来;进行匹配查找。
所述步骤S600中,路径的选择计算由FPGA内的distributedram承担。
所述步骤S600还包括:S601.将TCP报文数据流表项写入当前SDRAM的位置,将其有效位置为0。
由于采用了上述技术方案,本发明所公开的多下一跳转发路由器中基于流保续的数据流均衡处理的方法,为保证报文的顺序到达,采用了基于流的调度机制,为了快速查找流,采用hash存储,为减少运算时间,充分利用FPGA,采用了128位并行CRC32级联结构的hash运算。
附图说明
为了更清楚的说明本发明的实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施提供***模块图:
图2为本发明实施例提供的一种基于流保序的多下一均路由均衡处理流程图;
图3为本发明实施例提供的SDAM表项图;
图4为本发明实施例提供的128位并行CRC32级联结构编码器图;
图5为本发明实施例提供的端口/链路负载统计结构;
具体实施方式
为使本发明的实施例的目的、技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:
如图1-图5所示:
一种多下一跳转发路由器中基于流保序的数据流均衡处理的方法,具有如下步骤:
S100.获取业务流数据报文,进行TCP流和UDP流分类;在DDRIISDRAM中建立业务流管理表项;所述业务流管理表项中至少包含:流五元组、路径、。下一流号地址和有效位四个属性空间,对经过的报文数据进行上述四个属性的记录。
进一步的,所述流管理表项中存储的每一条表项均有一个生存周期:当任意表项存储时间达到生存周期时,将该表项有效位清零。
S200.对TCP流进行逐包解析,得出每个包的至少包含五元组和TCP标志;记录该包的到达时间。
S300.对所述TCP流的报文数据的五元组扩展成128位带入编码器进行Hash计算,得出流ID。对于五元组信息进行128位CRC计算,128位CRC计算可在8位并行CRC32编码器基础上扩展,得到报文流ID,hash运算基于FPGA来实现,FPGA采用的是Xilinx[104]XC5VLX110;
扩展算法如下:已知序列P的CRC32哈希运算的结果为A[31:0],8比特序列Q([q7,q6,…q0])的CRC32哈希运算的结果为Y[31:0],而序列A[31:24]的CRC32哈希运算的结果为X[31:0]。那么拓展序列{P,Q}的CRC32哈希运算的结果为{Y[31:24]+X[31:24]+A[23:16],Y[23:16]+X[23:16]+A[15:8],Y[15:8]+X[15:8]+A[7:0],Y[7:0]+X[7:0]}。上式中的符号“+”表示模2运算,符号{,}表示将两个序列链接起来;进行匹配查找。
S400.根据步骤S300中得出的当前业务流的流ID,在流管理表中进行匹配查找:找到DDRIISDRAM中存储的流表项,如图2所示,在DDRIISDRAM芯片中,DDRII选用的是MT16HTF51264HZ,容量为4GB。
S500.若当前流ID有效,查找的过程中,先看所述业务流表项的有效位指示,若为“1”,表示有效。然后进一步比对当前业务流的五元组信息和业务流管理表项存储的业务信息。
S500a.若相等,表示命中,将业务流按业务流管理表项中的路径信息转发输出;
S500b.若不相等,表示未命中,表明哈希冲突存在,按下一业务流流号在SDRAM(即业务流表项中)中继续寻址,直到五元组信息和业务流管理表项存储的业务信息一致为止。
S600.若当前流号无效,则选择当前负载最轻的链路输出当前业务流。
将报文数据输入端口/链路负载统计结构中,输出结果为最轻负载链路路径。统计结构是利用FPGA内的distributedram资源设计的下一跳端口负载统计结构。和FPGA内的Slice资源和BlockRAM资源的高利用率相比,distributedram资源经常处于闲置状态,往往被设计人员所忽视。通过这样的统计结构设计,可以平衡FPGA片内的资源使用,为输出端口的判决提供帮助。统计结构如图4所示。
步骤S600还包括:S601.将TCP报文数据流表项写入当前SDRAM的位置,将其有效位置为0。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (5)
1.一种多下一跳转发路由器中基于流保序的数据流均衡处理的方法,具有如下步骤:
S100.获取业务流数据报文,进行TCP流和UDP流分类;在SDRAM中建立业务流流管理表项;
S200.对TCP流进行逐包解析,得出每个包的至少包含五元组和TCP标志的信息;记录该包的到达时间;
S300.对所述TCP流的报文数据的五元组扩展成128位带入编码器进行Hash计算,得出当前TCP流的流ID;
S400.根据步骤S300中得出的当前业务流的流ID,在流管理表中进行匹配查找:判定当前流ID是否有效;
S500.若当前流ID有效,则进一步比对当前业务流的五元组信息和业务流管理表项存储的业务信息:
S500a.若相等,表示命中,将业务流按业务流管理表项中的路径信息转发输出;
S500b.若不相等,表示未命中,按下一流号在SDRAM中继续寻址,直到五元组信息和业务流管理表项存储的业务信息一致为止;
S600.若当前流号无效,则选择当前负载最轻的链路输出当前业务流;
所述步骤S300具体算法如下:
已知序列P的CRC32哈希运算的结果为A[31:0],8比特序列Q([q7,q6,…q0])的CRC32哈希运算的结果为Y[31:0],而序列A[31:24]的CRC32哈希运算的结果为X[31:0];
则拓展序列{P,Q}的CRC32哈希运算的结果为{Y[31:24]+X[31:24]+A[23:16],Y[23:16]+X[23:16]+A[15:8],Y[15:8]+X[15:8]+A[7:0],Y[7:0]+X[7:0]};
上式中的符号“+”表示模2运算,符号{,}表示将两个序列链接起来;进行匹配查找。
2.根据权利要求1所述的多下一跳转发路由器中基于流保序的数据流均衡处理的方法,其特征还在于:所述流管理表项中至少包含:流五元组、路径、下一流号地址和有效位四个属性空间,对经过的报文数据进行上述四个属性的记录。
3.根据权利要求2所述的多下一跳转发路由器中基于流保序的数据流均衡处理的方法,其特征还在于:所述流管理表项中存储的每一条表项均有一个生存周期:当任意表项存储时间达到生存周期时,将该表项有效位清零。
4.根据权利要求1所述的多下一跳转发路由器中基于流保序的数据流均衡处理的方法,其特征还在于:所述步骤S600中,路径的选择计算由FPGA内的distributedram承担。
5.根据权利要求1所述的多下一跳转发路由器中基于流保序的数据流均衡处理的方法,其特征还在于:所述步骤S600还包括:S601.将TCP报文数据流表项写入当前SDRAM的位置,将其有效位置为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210593572.6A CN103067294B (zh) | 2012-12-30 | 2012-12-30 | 多下一跳转发路由器中基于流保序的数据流均衡处理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210593572.6A CN103067294B (zh) | 2012-12-30 | 2012-12-30 | 多下一跳转发路由器中基于流保序的数据流均衡处理的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103067294A CN103067294A (zh) | 2013-04-24 |
CN103067294B true CN103067294B (zh) | 2015-12-23 |
Family
ID=48109762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210593572.6A Expired - Fee Related CN103067294B (zh) | 2012-12-30 | 2012-12-30 | 多下一跳转发路由器中基于流保序的数据流均衡处理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103067294B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015010307A1 (zh) | 2013-07-25 | 2015-01-29 | 华为技术有限公司 | 业务路径分配方法、路由器和业务执行实体 |
CN103401801A (zh) * | 2013-08-07 | 2013-11-20 | 盛科网络(苏州)有限公司 | 动态负载均衡的实现方法及装置 |
CN104469846B (zh) * | 2013-09-18 | 2018-10-30 | 华为技术有限公司 | 一种报文处理方法及设备 |
CN105871573A (zh) * | 2015-01-20 | 2016-08-17 | 国家计算机网络与信息安全管理中心 | 一种报文分析过滤方法及装置 |
CN105791173B (zh) * | 2015-12-30 | 2019-03-08 | 北京锐安科技有限公司 | 一种转发报文的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744563A (zh) * | 2004-08-31 | 2006-03-08 | 杭州华为三康技术有限公司 | 在以太网交换机上实现策略路由的方法 |
CN101404612A (zh) * | 2008-11-20 | 2009-04-08 | 杭州华三通信技术有限公司 | 实现数据流硬件转发的方法和***以及网络路由设备 |
CN101577705A (zh) * | 2008-05-08 | 2009-11-11 | 北京东华合创数码科技股份有限公司 | 一种多核并行的网络业务流负载均衡方法及其*** |
CN101938399A (zh) * | 2009-06-30 | 2011-01-05 | 华为技术有限公司 | 一种路由方法、装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1503548A1 (en) * | 2003-08-01 | 2005-02-02 | fg microtec GmbH | Distributed Quality of Service Management System |
-
2012
- 2012-12-30 CN CN201210593572.6A patent/CN103067294B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1744563A (zh) * | 2004-08-31 | 2006-03-08 | 杭州华为三康技术有限公司 | 在以太网交换机上实现策略路由的方法 |
CN101577705A (zh) * | 2008-05-08 | 2009-11-11 | 北京东华合创数码科技股份有限公司 | 一种多核并行的网络业务流负载均衡方法及其*** |
CN101404612A (zh) * | 2008-11-20 | 2009-04-08 | 杭州华三通信技术有限公司 | 实现数据流硬件转发的方法和***以及网络路由设备 |
CN101938399A (zh) * | 2009-06-30 | 2011-01-05 | 华为技术有限公司 | 一种路由方法、装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103067294A (zh) | 2013-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2911348B1 (en) | Control device discovery in networks having separate control and forwarding devices | |
CN102594664B (zh) | 流量转发方法和装置 | |
JP5935572B2 (ja) | 基地局装置及びパケット振分け方法 | |
KR101317969B1 (ko) | 링크 애그리게이션 방법 및 노드 | |
CN107959633A (zh) | 一种工业实时网络中基于价格机制的多路径负载均衡方法 | |
CN103067294B (zh) | 多下一跳转发路由器中基于流保序的数据流均衡处理的方法 | |
CN106533960A (zh) | 一种基于Fat‑Tree结构的数据中心网络路由方法 | |
CN107579923A (zh) | 一种sdn网络的链路负载均衡方法和sdn控制器 | |
CN109842574B (zh) | 一种基于可编程网络技术的多宿主网络路由转发方法 | |
CN106209669A (zh) | 面向sdn数据中心网络最大概率路径流调度方法及装置 | |
CN102263697A (zh) | 一种聚合链路流量分担方法和装置 | |
Roy et al. | An overview of queuing delay and various delay based algorithms in networks | |
CN109804581A (zh) | 协同通信 | |
CN112350949A (zh) | 软件定义网络中基于流调度的重路由拥塞控制方法及*** | |
CN108400936A (zh) | 基于mpls的空间信息网络路由方法 | |
CN105471747A (zh) | 一种智能路由器选路方法和装置 | |
CN103746886A (zh) | 一种FiWi节点和一种FiWi融合组网方法 | |
CN111132236B (zh) | 基于改进olsr协议的多无人机自组织网络mpr节点选择方法 | |
Vanamoorthy et al. | Congestion-free transient plane (CFTP) using bandwidth sharing during link failures in SDN | |
Zhu et al. | Efficient hybrid multicast approach in wireless data center network | |
CN109286563A (zh) | 一种数据传输的控制方法和装置 | |
Nguyen et al. | An evolvable, scalable, and resilient control channel for software defined wireless access networks | |
CN1787475B (zh) | 接入网络***及移动内部网络中继设备的方法 | |
WO2022052800A1 (zh) | 一种通信***、数据处理方法以及相关设备 | |
Jabbar et al. | An Оverview of the Мultipath Тechnologies, their Importance and Types |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151223 Termination date: 20181230 |