一种基于多核构架的报文转发方法及系统技术方案

技术编号:4102642 阅读:237 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种基于多核构架的报文转发方法及系统。本发明专利技术首先获取互联网中的数据包;然后在该数据包为隧道链路数据包时,对该数据包进行解封装,以得到IP数据包;然后再采用哈希算法对该IP数据包的五元组进行哈希运算,并根据得到的哈希值及其哈希表大小、该多核CPU中CPU数量,计算得到相应CPU,然后将该哈希值标记至该IP数据包中,再将该已标记的IP数据包发送至所述CPU中。本发明专利技术提高了固网设备在无线互联网中的利用率,实现了共享资源的免锁设计,其能够应用于无线互联网中。

【技术实现步骤摘要】

本专利技术涉及互联网技术,尤其涉及无线互联网中的报文转发。
技术介绍
据CNNNIC(中国互联网信息中心)发布的最新统计报告显示,2009年底国内手 机上网用户是3072万,2010年6月手机上网用户则已经达到4914万,占整体网民比重的 11.7%。由此可见,我国手机上网用户庞大且手机上网用户数量将持续高速发展。电信运营商以及各网络产品公司为了应对快速发展的无线互联网,急需将现有的 固网设备快速无缝迁入到无线互联网中。以DPI设备为例,DPI设备用于对网内用户的流量进行监控、管理和审计,其必须 以用户真实的网络流量为输入进行业务处理,而无线互联网如GPRS核心网络中Gn链路流 量是以GTP协议为承载层,其将用户真实流量封装在GTP-U报文中。因此,如果将固网DPI 设备直接部署在Gn链路中,对DPI设备来说,应用层为被封装的用户IP报文,无法进行正 常的业务处理。为解决这种情况,需要对DPI特征库进行大规模改动或对业务代码进行大 量修改以适配隧道报文,研发成本高且效率低。此外,随着多核技术的快速发展,当前几乎所有的网络设备都采用多核架构来提 高系统的并发处理能力,并已获取了系统性能的飞跃。然而,由于报文分发和业务处理各自 独立,因此在提高并发处理能力的同时也引入了对共享资源的竞争而导致系统性能出现瓶颈。
技术实现思路
本专利技术提供了一种能解决以上问题的基于多核构架的报文转发方法及设备。在第一方面,本专利技术提供了一种基于多核构架的报文转发方法。该方法首先获取 互联网中的数据包;然后在该数据包为隧道链路数据包时,对该数据包进行解封装,以得到 IP数据包;然后再采用哈希算法对该IP数据包的五元组进行哈希运算,再根据得到的哈希 值及其哈希表大小、该多核CPU中CPU数量,计算得到相应CPU,然后将该哈希值标记至该 IP数据包中,再将该已标记的IP数据包发送至所述CPU中。在第二方面,本专利技术提供了一种基于多核构架的报文转发系统。该系统包括以下 模块获取互联网中数据包的模块;在该数据包为隧道链路数据包时,对该数据包进行解 封装,以得到IP数据包的模块;以及采用哈希算法对该IP数据包的五元组进行哈希运算, 并将得到的哈希值及其哈希表大小、该多核CPU中CPU数量,计算得到相应CPU,再将该哈希 值标记至该IP数据包中,然后将该已标记的IP数据包发送至所述CPU中的模块。本专利技术通过对隧道链路中的报文进行预处理,在报文分发阶段将隧道报文进行解 封装后分发给业务处理模块,在业务处理处屏蔽隧道报文和普通IP报文的差异,从而避免 了特征库以及适配隧道链路业务的新开发,实现了固网设备接入点无关特性,提高了固网 设备在无线互联网中的利用率。并且本专利技术通过在报文分发阶段将哈希表按CPU数量进行均勻分配,从根本上将 共享资源对每个CPU本地化,实现了共享资源的免锁设计,最大化的发挥了并发计算的优 势,提高了系统的整体性能。本专利技术实现简单,效果明显,对复用已有产品和加快开发隧道链路的新产品以及 提高网络产品部署灵活性具有重要意义,并且本专利技术避免了共享资源竞争所导致的性能损 耗,对多核网络处理系统性能有很大提高。附图说明 下面将参照附图对本专利技术的具体实施方案进行更详细的说明,在附图中图1是本专利技术一个实施例的报文转发设备所处网络位置示意图;图2是本专利技术一个实施例的基于多核构架的报文转发示意图。具体实施例方式图1是本专利技术一个实施例的报文转发设备所处网络位置示意图。该报文转发设备 110获取来自互联网中的数据包,并判定该数据包是否来自无线互联网,若该数据包来自无 线互联网,则对该数据包进行处理,以便该数据包能够应用于业务模块130中,而后再将该 处理后的数据包均勻分发至多核CPU 120中。其中,该业务模块130为固网中的任意一种 网络管理设备,如DPI业务等,其用于完成各种业务处理功能,如流量识别监控等。需要说明的是,该报文转发设备110也可以获取来自固网中的数据包,方法是通 过判定其接收到的数据包是否为隧道链路数据包从而判定其接收到的数据包来自无线互 联网或固网。该报文转发设备110如何处理来自无线互联网的数据包,使其能够应用于业务模 块130中,以及如何使数据包均勻分发至多核CPU120中,将通过以下内容中得到详细阐述。图2是本专利技术一个实施例的基于多核构架的报文转发示意图。在步骤210,获取互联网中的数据包。一个例子中,获取Gn链路中的数据包。在步骤220,判定该数据包是否为隧道链路数据包,若该数据包为隧道链路数据 包,则执行步骤230 ;若该数据包不是隧道链路数据包,则该数据包为IP数据包,因此直接 执行步骤240。一个例子中,该隧道链路数据包为GTP、VPN数据包。在步骤230,对接收到的隧道链路数据包进行解封装,从而得到IP数据包,即IP报 文,该IP报文是反映用户真实流量的报文。在步骤240,通过HASH算法(哈希算法)将该IP报文均勻分发到多核CPU中的 各CPU中,使共享资源本地化,以便实现共享资源的免锁设计。下面详细阐述IP报文分发 方法。首先,设定该多核CPU中CPU数量为n,再将哈希算法中的哈希表平均分成η个区 间,并使每个区间对应多核CPU中的一个CPU。然后,采用哈希算法对该接收到的IP报文的五元组进行哈希运算,从而得到该IP 报文的哈希值。其中,所述五元组包括该IP报文的源IP、目的IP、源端口、目的端口、传输 层协议,且该传输层协议包括TCP协议、UDP协议、ICMP协议等。然后根据所得到的哈希值及其哈希表大小、CPU数量,计算得到相应的CPU,再将该哈希值标记至该IP报文中,并将该已标记哈希值的IP报文发送至所得到的CPU中。一个例子中,根据CPU数量n,将哈希表平均分成η个区间,且每个区间对应一个 CPU,然后根据该得到的哈希值,判定该哈希值所落η个区间中的具体区间,从而得到该哈 希值所对应CPU,即得到该IP报文所对应CPU。举例如,该IP报文的哈希值为65391,CPU数量为32,哈希表大小为209251,由于 CPU数量为32,因此该哈希表可被均勻分为32个区间;根据计算可知,每个区间大小近似为 6539,因此哈希值65391落在该哈希表的第9个区间中,则该IP报文对应的区间为9,即该 IP报文对应的CPU为CPU9 ;因此在该IP报文上标记其哈希值为65391,再将该已标记哈希 值为65391的IP报文发送至第9个CPU中。最后,该CPU(如第9个CPU)接收该已标记哈希值的IP报文,并根据具体的业务 模块对该IP报文进行相应业务处理,如网络流控、内容审计等业务处理。由于该IP报文已 经被标记了哈希值,因此在业务处理过程中,CPU无需再进行哈希算法,直接取该IP报文中 的哈希值进行相应运算和处理即可。由此可见,本实施例通过对隧道报文的解封装保证了哈希桶分布的均勻性,在IP 报文分发阶段结合CPU数量分发IP报文到不同的CPU中,使每个CPU独占自己的哈希桶位, 实现了哈希表资源对每个CPU的本地化,从而避免了不同CPU对哈希桶资源的竞争,起到了 共享资源免锁设计。显而易见,在不偏离本专利技术的真实精神和范围的前提下,在此描述的本专利技术可以 有许多变化。因此,所有对于本领域技术人员来说显而易见的改变本文档来自技高网...

【技术保护点】
一种基于多核构架的报文转发方法,其特征在于,包括:步骤a,获取互联网中的数据包;步骤b,在该数据包为隧道链路数据包时,对该数据包进行解封装,以得到IP数据包;步骤c,采用哈希算法对该IP数据包的五元组进行哈希运算,再根据得到的哈希值及其哈希表大小、该多核CPU中CPU数量,计算得到相应的CPU,然后将该哈希值标记至该IP数据包中,再将该已标记的IP数据包发送至所述CPU中。

【技术特征摘要】
一种基于多核构架的报文转发方法,其特征在于,包括步骤a,获取互联网中的数据包;步骤b,在该数据包为隧道链路数据包时,对该数据包进行解封装,以得到IP数据包;步骤c,采用哈希算法对该IP数据包的五元组进行哈希运算,再根据得到的哈希值及其哈希表大小、该多核CPU中CPU数量,计算得到相应的CPU,然后将该哈希值标记至该IP数据包中,再将该已标记的IP数据包发送至所述CPU中。2.如权利要求1所述的一种基于多核构架的报文转发方法,其特征在于,所述步骤c之 后包括步骤d,所述CPU接收该已标记的IP数据包,并根据具体业务模块对该IP数据包进行 相应业务处理。3.如权利要求1所述的一种基于多核构架的报文转发方法,其特征在于,所述业务模 块为DPI业务,所述业务处理为流量识别监控、管理和审计。4.如权利要求1所述的一种基于多核构架的报文转发方法,其特征在于,在所述步骤a 之后步骤b之前包括步骤e,判定来自互联网中的数据包是否为隧道链路数据包,若该数据包为隧道链路数 据包,则执行步骤b,否则直接执行步骤C。5.如权利要求1所述的一种基于多核构架的报文转发方法,其特征在于,将所述哈希 算法中哈希表分成η个区间,且该η为该多核CPU中CPU数量,并使每个区间与该多核CPU 中的每一 CPU相对应。6.如权利要求1所述的一种基于多核构架的报...

【专利技术属性】
技术研发人员:刘鹏飞陈鑫
申请(专利权)人:北京网康科技有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1