多核多线程网络设备的报文处理方法及系统技术方案

技术编号:7850310 阅读:234 留言:0更新日期:2012-10-13 07:24
本发明专利技术公开了一种多核多线程网络设备的报文处理方法及系统,涉及网络通信技术领域,方法包括:S1:通过网卡获取当前报文;S2:将当前报文发送至相应的线程x;S3:线程x查询快速转发表,若未找到相应记录,则将对应关系保存至快速转发表中,并由线程x对当前报文进行处理,若找到相应记录,则执行下一步;S4:将记录中的线程号与线程x的线程号进行比较,判断是否相同,若相同,则由线程x对当前报文进行处理,若不同,则将当前报文发送至记录中的线程号所对应的线程。本发明专利技术通过快速转发表的设置,使得属于同一条数据流的报文和回应报文分发到了相同的线程进行处理,从而提高了报文的转发速度和网络设备性能。

【技术实现步骤摘要】

本专利技术涉及网络通信
,特别涉及一种多核多线程网络设备的报文处理方法及系统
技术介绍
在一个程序中,这些独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫做“多线程处理”。多线程处理一个常见的例子就是用户界面。利用线程,用户可按下一个按钮,然后程序会立即做出响应,而不是让用户等待程序完成了当前任务以后才开始响应。 当前高端网络设备大多采用多核CPU的硬件架构来提高报文的处理和转发性能,对多个CPU分别创建相应的线程于CPU进行一对一的绑定。由于网络设备进行数据交互时,需要进行发送报文,并接收由其它网络设备回发来的回应报文,但网络设备的报文需要在从网卡收上来后,分发到各个线程进行处理,可能会将属于同一条数据流的报文和回应报文分发到了不同的线程处理,从而导致报文的转发速度较慢,另外,由于属于同一条数据流的报文和回应报文分发到了不同的线程,因此需要较频繁的使用锁,影响了网络设备的性能。
技术实现思路
(一 )要解决的技术问题本专利技术要解决的技术问题是如何提高报文的转发速度,并提高网络设备性能。( 二 )技术方案为解决上述技术问题,本专利技术提供了一种多核多线程网络设备的报文处理方法,所述方法包括以下步骤SI :通过网卡获取当前报文;S2 :利用所述当前报文的IP五元组进行hash计算,根据计算结果将所述当前报文发送至相应的线程X ;S3 :所述线程X根据所述当前报文的IP五元组查询快速转发表,若未找到相应记录,则将所述当前报文的IP五元组与所述线程X的线程号之间的对应关系保存至所述快速转发表中,并由所述线程X对所述当前报文进行处理,处理完成后对所述当前报文进行转发,若找到相应记录,则执行下一步;S4:将记录中的线程号与所述线程X的线程号进行比较,判断是否相同,若相同,则由所述线程X对所述当前报文进行处理,处理完成后对所述当前报文进行转发,若不同,则将所述当前报文发送至所述记录中的线程号所对应的线程进行处理,处理完成后对所述当前报文进行转发。优选地,步骤SI之前还包括以下步骤SO :多核CPU分别对应生成与所述多核CPU数量相同的线程。优选地,所述快速转发表中还包括AAA处理结果,步骤S3中在查询快速转发表时,还获得相应的AAA处理结果,若未查找到记录,还进行AAA处理,并对应的AAA处理结果存储至所述快速转发表。优选地,所述快速转发表中还包括NAT处理结果,步骤S3中在查询快速转发表时,还获得相应的NAT处理结果,若未查找到记录,还进行NAT处理,并对应的NAT处理结果存储至所述快速转发表。优选地,所述快速转发表中还包括VPN处理结果,步骤S3中在查询快速转发表时,还获得相应的VPN处理结果,若未查找到记录,还进行VPN处理,并对应的VPN处理结果存储至所述快速转发表。优选地,所述IP五元组包括IP源地址、IP目的地址、源端口号、目的端口号、以及协议类型。本专利技术还公开了一种多核多线程网络设备的报文处理系统,所述系统包括报文获取模块,用于通过网卡获取当前报文;报文发送模块,用于根据所述当前报文的IP五元组进行hash计算,将所述当前报文发送至相应的线程X ;查询模块,用于所述线程X根据所述当前报文的IP五元组查询快速转发表,若未找到相应记录,则将所述当前报文的IP五元组与所述线程X的线程号之间的对应关系保存至所述快速转发表中,并由所述线程X对所述当前报文进行处理,处理完成后对所述当前报文进行转发,若找到相应记录,则执行比较模块;比较模块,用于将记录中的线程号与所述线程X的线程号进行比较,判断是否相同,若相同,则由所述线程X对所述当前报文进行处理,处理完成后对所述当前报文进行转发,若不同,则将所述当前报文发送至所述记录中的线程号所对应的线程进行处理,处理完成后对所述当前报文进行转发。(三)有益效果本专利技术通过快速转发表的设置,使得属于同一条数据流的报文和回应报文分发到了相同的线程进行处理,从而提高了报文的转发速度和网络设备性能。附图说明图I是按照本专利技术一种实施方式的多核多线程网络设备的报文处理方法的流程图。具体实施例方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。图I是按照本专利技术一种实施方式的多核多线程网络设备的报文处理方法的流程图;参照图1,本实施方式的方法包括以下步骤SO :多核CPU分别对应生成与所述多核CPU数量相同的线程。SI :通过网卡获取当前报文;S2 :利用所述当前报文的IP五元组进行hash计算,根据计算结果将所述当前报文、发送至相应的线程X,所述IP五元组包括IP源地址、IP目的地址、源端口号、目的端口号、以及协议类型,对报文的IP五元组进行hash计算是现有计算,具体计算过程可参照公开号为CN101964749,专利名称为一种基于多核构架的报文转发方法及系统的中国专利;S3 :所述线程X根据所述当前报文的IP五元组查询快速转发表(由于同一条数据流的报文和回应报文的IP源地址和IP目的地址相反,源端口号和目的端口号相反,因此通过IP五元组在查询快速转发表时,需要保证属于同一条数据流的报文和回应报文的查询结果相同),若未找到相应记录,则将所述当前报文的IP五元组与所述线程X的线程号之间的对应关系保存至所述快速转发表中,并由所述线程X对所述当前报文进行处理,处理完成后对所述当前报文进行转发,若找到相应记录,则执行下一步;S4 :将记录中的线程号与所述线程X的线程号进行比较,判断是否相同,若相同,则由所述线程X对所述当前报文进行处理,处理完成后对所述当前报文进行转发,若不同,则将所述当前报文发送至所述记录中的线程号所对应的线程进行处理, 处理完成后对所述当前报文进行转发。为进一步提高当前报文在进行转发的过程中需要进行身份验证-授权-统计(Authentication-Authorization-Accounting,AAA)处理的速度,优选地,所述快速转发表中还包括AAA处理结果,步骤S3中在查询快速转发表时,还获得相应的AAA处理结果,若未查找到记录,还进行AAA处理,并对应的AAA处理结果存储至所述快速转发表。为进一步提高当前报文在进行转发的过程中需要进行NAT处理的速度,优选地,所述快速转发表中还包括NAT处理结果,步骤S3中在查询快速转发表时,还获得相应的NAT处理结果,若未查找到记录,还进行NAT处理,并对应的NAT处理结果存储至所述快速转发表。为进一步提高当前报文在进行转发的过程中需要进行虚拟专用网络(VirtualPrivate Network, VPN)处理的速度,优选地,所述快速转发表中还包括VPN处理结果,步骤S3中在查询快速转发表时,还获得相应的VPN处理结果,若未查找到记录,还进行VPN处理,并对应的VPN处理结果存储至所述快速转发表。实施例下面以4核CPU为例来说明本专利技术,但不限定本专利技术的保护范围。本实施例的方法包括以下步骤SO 4核CPU分别对应生成4个线程,4个线程分别成为线程I、线程2、线程3、以及线程4 ;SI :通过网卡获取当前报文;S2 :利用所述当前报文的IP五元组进行hash计算,根据计算结果将所述当前报文发送至相应的线程1,所述IP五元组包括IP源地址、IP本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种多核多线程网络设备的报文处理方法,其特征在于,所述方法包括以下步骤 Si:通过网卡获取当前报文; 52:利用所述当前报文的IP五元组进行hash计算,根据计算结果将所述当前报文发送至相应的线程X ; 53:所述线程X根据所述当前报文的IP五元组查询快速转发表,若未找到相应记录,则将所述当前报文的IP五元组与所述线程X的线程号之间的对应关系保存至所述快速转发表中,并由所述线程X对所述当前报文进行处理,处理完成后对所述当前报文进行转发,若找到相应记录,则执行下一步; 54:将记录中的线程号与所述线程X的线程号进行比较,判断是否相同,若相同,则由所述线程X对所述当前报文进行处理,处理完成后对所述当前报文进行转发,若不同,则将所述当前报文发送至所述记录中的线程号所对应的线程进行处理,处理完成后对所述当前报文进行转发。2.如权利要求I所述的方法,其特征在于,步骤SI之前还包括以下步骤 SO :多核CPU分别对应生成与所述多核CPU数量相同的线程。3.如权利要求I所述的方法,其特征在于,所述快速转发表中还包括AAA处理结果, 步骤S3中在查询快速转发表时,还获得相应的AAA处理结果,若未查找到记录,还进行AAA处理,并对应的AAA处理结果存储至所述快速转发表。4.如权利要求I所述的方法,其特征在于,所述快速转发表中还包括NAT处理结果, 步骤S3中在查询快速转发表时,还获得相...

【专利技术属性】
技术研发人员:陈海滨
申请(专利权)人:汉柏科技有限公司
类型:发明
国别省市:

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

1