多下一跳转发路由器中基于流保续的数据流均衡处理的方法

文档序号:7871308阅读:128来源:国知局
专利名称:多下一跳转发路由器中基于流保续的数据流均衡处理的方法
技术领域
本发明涉及一种多下一跳转发路由器中基于流保续的数据流均衡处理的方法。涉及专利分类号中H04电通信技术H04L数字信息的传输,例如电报通信H04L12/00数据交换网络H04L12/54存储转发交换系统H04L12/56分组交换系统。
背景技术
伴随着互联网规模的飞速发展,各种新型网络业务不断涌现,网络用户数目不断攀升。与此同时,Everything over IP的思想推动了各种异构网络向互联网的融合,互联网已经成为各种通信基础设施的同一平台,承载业务越来越多。新兴业务迅猛增长导致了对网络带宽的需求越来越大,但仅仅依靠网络基础设施的增加无法从根本上解决网络资源需求的问题。另一方面网络资源利用率在空间分布上的不均衡造成全网范围内的贷款使用效率更加抵消。在局部网络资源链路成为人点链路的同时,还有大量链路产期处于空闲状态。通过分析发现单下一跳最有路径数据传输时当前网络资源利用不均衡、产生局部拥塞的重要根源。

多路径并行数据传输允许多条路径参与数据的传送,有效聚合了网络带宽,最终使得网络中各链路资源利用率趋于均衡,减少网络拥塞放生的概率,提高网络的安全性和可用性。当前多路径路由算法按其协议类型主要分为两类一、基于链路状态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, ...qO])的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内的distributed ram承担。所述步骤S600还包括S601.将TCP报文数据流表项写入当前SDRAM的位置,将其有效位置为O。由于采用了上述技术方案,本发明所公开的多下一跳转发路由器中基于流保续的数据流均衡处理的方法,为保证报文的顺序到达,采用了基于流的调度机制,为了快速查找流,采用hash存储,为减少运算时间,充分利用FPGA,采用了 128位并行CRC32级联结构的hash运算。


为了更清楚的说明本发明的实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施提供系统模块图图2为本发明实施例提供的一种基于流保序的多下一均路由均衡处理流程图;图3为本发明实施例提供的SDAM表项图;图4为本发明实施例提供的128位并行CRC32级联结构编码器图;图5为本发明实施例提供的端口 /链路负载统计结构;
具体实施例方式为使本发明的实施例的目的、技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述如图1-图5所示一种多下一跳转发路由器中基于流保序的数据流均衡处理的方法,具有如下步骤S100.获取业务流数据报文,进行TCP流和UDP流分类;在DDRII SDRAM中建立业务流管理表项;所述业务流管理表项中至少包含流五元组、路径、。下一流号地址和有效位四个属性空间,对经过的报文数据进行上述四个属性的记录。进一步的,所述流管理表项中存储的每一条表项均有一个生存周期当任意表项存储时间达到生存周期时,将该表项有效位清零。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,…qO])的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,在流管理表中进行匹配查找找到DDRII SDRAM中存储的流表项,如图2所示,在DDRII SDRAM芯片中,DDRII选用的是MT16HTF51264HZ,容量为 4GB。S500.若当前流ID有效,查找的过程中,先看所述业务流表项的有效位指示,若为“1”,表示有效。然后进一步比对当前业务流的五元组信息和业务流管理表项存储的业务信肩、OS500a.若相等,表示命中,将业务流按业务流管理表项中的路径信息转发输出;S500b.若不相等,表示未命中,表明哈希冲突存在,按下一业务流流号在SDRAM(SP业务流表项中)中继续寻址,直到五元组信息和业务流管理表项存储的业务信息一致为止。S600.若当前流号无效,则选择当前负载最轻的链路输出当前业务流。将报文数据输入端口 /链路负载统计结构中,输出结果为最轻负载链路路径。统计结构是利用FPGA内的distributed ram资源设计的下一跳端口负载统计结构。和FPGA内的Slice资源和Block RAM资源的高利用率相比,distributed ram资源经常处于闲置状态,往往被设计人员所忽视。通过这样的统计结构设计,可以平衡FPGA片内的资源使用,为输出端口的判决提供帮助。统计结构如图4所示。步骤S600还包括S601.将TCP报文数据流表项写入当前SDRAM的位置,将其有效位置为O。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其 发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
权利要求
1.一种多下一跳转发路由器中基于流保序的数据流均衡处理的方法,具有如下步骤 S100.获取业务流数据报文,进行TCP流和UDP流分类;在SDRAM中建立业务流流管理表项; S200.对TCP流进行逐包解析,得出每个包的至少包含五元组和TCP标志的信息;记录该包的到达时间; S300.对所述TCP流的报文数据的五元组扩展成128位带入编码器进行Hash计算,得出当前TCP流的流ID ; S400.根据步骤S300中得出的当前业务流的流ID,在流管理表中进行匹配查找判定当前流ID是否有效; S500.若当前流ID有效,则进一步比对当前业务流的五元组信息和业务流管理表项存储的业务信息 S500a.若相等,表示命中,将业务流按业务流管理表项中的路径信息转发输出; S500b.若不相等,表示未命中,按下一流号在SDRAM中继续寻址,直到五元组信息和业务流管理表项存储的业务信息一致为止; S600.若当前流号无效,则选择当前负载最轻的链路输出当前业务流。
2.根据权利要求1所述的多下一跳转发路由器中基于流保序的数据流均衡处理的方法,其特征还在于所述流管理表项中至少包含流五元组、路径、。下一流号地址和有效位四个属性空间,对经过的报文数据进行上述四个属性的记录。
3.根据权利要求2所述的多下一跳转发路由器中基于流保序的数据流均衡处理的方法,其特征还在于所述流管理表项中存储的每一条表项均有一个生存周期当任意表项存储时间达到生存周期时,将该表项有效位清零。
4.根据权利要求1所述的多下一跳转发路由器中基于流保序的数据流均衡处理的方法,其特征还在于所述步骤S300具体算法如下 已知序列P的CRC32哈希运算的结果为A [31:0],8比特序列Q ([q7, q6, ...qO])的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运算,符号{,}表示将两个序列链接起来;进行匹配查找。
5.根据权利要求1所述的多下一跳转发路由器中基于流保序的数据流均衡处理的方法,其特征还在于所述步骤S600中,路径的选择计算由FPGA内的distributed ram承担。
6.根据权利要求1所述的多下一跳转发路由器中基于流保续的数据流均衡处理的方法,其特征还在于所述步骤S600还包括S601.将TCP报文数据流表项写入当前SDRAM的位置,将其有效位置为O。
全文摘要
本发明公开了一种多下一跳转发路由器中基于流保序的数据流均衡处理的方法,具有如下步骤S100.获取业务流数据报文,进行TCP流和UDP流分类;在SDRAM中建立业务流流管理表项;S200.对TCP流进行逐包解析,得出每个包的至少包含五元组和TCP标志的信息;记录该包的到达时间;S300.对所述TCP流的报文数据的五元组扩展成128位带入编码器进行Hash计算,得出流ID;S400.根据步骤S300中得出的当前业务流的流ID,在流管理表中进行匹配查找判定当前流ID是否有效;S500.若当前流ID有效,则进一步比对当前业务流的五元组信息和业务流管理表项存储的业务信息S500a.若相等,表示命中,将业务流按业务流管理表项中的路径信息转发输出。
文档编号H04L12/771GK103067294SQ20121059357
公开日2013年4月24日 申请日期2012年12月30日 优先权日2012年12月30日
发明者卜佑军, 杨凯, 王雨, 于婧, 黄慧群, 王军 申请人:大连环宇移动科技有限公司, 中国人民解放军信息工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1