CN103916316A - 网络数据包线速捕获方法 - Google Patents

网络数据包线速捕获方法 Download PDF

Info

Publication number
CN103916316A
CN103916316A CN201410145478.3A CN201410145478A CN103916316A CN 103916316 A CN103916316 A CN 103916316A CN 201410145478 A CN201410145478 A CN 201410145478A CN 103916316 A CN103916316 A CN 103916316A
Authority
CN
China
Prior art keywords
packet
linear speed
package
data package
mpipe
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
CN201410145478.3A
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.)
National Computer Network and Information Security Management Center
Original Assignee
National Computer Network and Information Security Management Center
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 National Computer Network and Information Security Management Center filed Critical National Computer Network and Information Security Management Center
Priority to CN201410145478.3A priority Critical patent/CN103916316A/zh
Publication of CN103916316A publication Critical patent/CN103916316A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了网络数据包线速捕获方法,具体包括以下步骤:步骤一、在Tilera众核平台下配置Mpipe规则;步骤二、创建n个收包线程,为各个线程绑定一个用于处理数据包的CPU核,n个收包线程并行运行;步骤三、在每个收包线程中,调用Mpipe接口接收网络数据包,当CPU核接收到数据包,把数据包转变为PCAP文件格式,根据数据包的序列号获取数据包保存在PCAP文件内存的首地址,根据首地址存取数据包;步骤四、在每个收包线程中,当CPU核接收到数据包,修改数据包的描述符,然后调用Mpipe接口转发数据包;步骤五、在每个收包线程中,判断是否完成处理(完成处理指不进行后续数据包的处理),均完成后,结束处理,否则,返回步骤三。本发明大大提高了数据包线速捕获的效率。

Description

网络数据包线速捕获方法
技术领域
本发明涉及网络数据包的线速捕获,具体是一种基于Tilera(多核处理器)众核平台网络数据包的线速捕获方法。
背景技术
传统的网络数据包线速捕获方法是通过CPU的中断进行数据包捕获的方法。由于CPU中断系统的开销是昂贵的,而且中断的频繁发生会导致系统处理能力的下降,所以当数据包到达的速率过快时,会导致数据包的丢失。同时在传统的网络数据包捕获技术中,由于网络数据包的传输需要多次拷贝,因此它会消耗大量的CPU周期和内存资源。
发明内容
本发明是为了最大程度的提高线速捕获的数据包数量以及线速捕获的效率,提出的一种网络数据包的线速捕获方法。本发明通过Tilera众核平台下Mpipe(多核可编程智能包引擎)接口实现网络数据包的接收以及数据包的捕获,同时创建多个线程,为各个线程绑定一个CPU核,并行接收数据包,并且进行数据包的捕获,大大提高了数据包的捕获效率。
网络数据包线速捕获方法,具体包括以下步骤:
步骤一、在Tilera众核平台下配置Mpipe规则;
步骤二、创建n个收包线程,为各个线程绑定一个用于处理数据包的CPU核,n个收包线程并行运行;
步骤三、在每个收包线程中,调用Mpipe接口接收网络数据包,当CPU核接收到数据包,把数据包转变为PCAP文件格式,根据数据包的序列号获取数据包保存在PCAP文件内存的首地址,根据首地址存取数据包;
步骤四、在每个收包线程中,当CPU核接收到数据包,修改数据包的描述符,然后调用Mpipe接口转发数据包;
步骤五、在每个收包线程中,判断是否完成处理(完成处理指不进行后续数据的处理),均完成后,结束处理,否则,返回步骤三;
本发明的优点与积极效果在于:
在Tilera众核平台下使用Mpipe接口接收数据包,并且为各个线程绑定CPU核,并行处理数据包,进行数据包的线速捕获,大大提高了数据包线速捕获的效率。
附图说明
图1是本发明的网络数据包线速捕获方法的步骤流程图;
具体实施方式
下面将结合附图和实施例对本发明作进一步的详细说明。
如图1所示,本发明的网络数据包线速捕获方法具体包括以下步骤:
步骤一、在Tilera众核处理器平台下配置Mpipe规则;
所述的Tilera众核处理器平台具有高性能低能耗的特点。Tilera芯片基于一种新的架构设计,它在一块芯片上使用RISC(Reduced Instruction Set Computing)内核,与传统的x86芯片完全不同,它的网格设计可以进行更快的数据交换,并且若干并行内核在一个多指针的矩阵内被组织起来以便接受和传递数据,同时Tilera众核处理器平台提供了核间通信非常高的数据带宽,降低了核间通信延时,并通过共享的Cache(高速缓冲存储器)消除了核间互联的性能瓶颈,并降低了芯片功耗,实现了极低的数据延迟和线速流量的小包处理。
步骤二、创建多个线程,为各个线程绑定一个用于处理数据包的CPU核,n个收包线程并行运行;
步骤三、在每个收包线程中,调用Mpipe接口接收网络数据包,当CPU核接收到数据包,把数据包转变为PCAP(Packet Capture)文件格式,根据数据包的序列号获取数据包保存在PCAP文件内存的首地址,根据首地址存取数据包,实现了多线程接收的数据包按照接收的先后顺序存储到PCAP文件的内存中,确保了数据包顺序的一致;
在Tilera众核平台下,多个线程并行接收网络数据包,对数据包并行处理,大大提高了数据包的捕获效率。网络数据包线速捕获方法设置两块内存进行数据包的存储管理,当一块内存存储了指定了的数据包以后,后续数据包存储到另一块内存中,同时从前一块内存中顺序提取数据包保存成PCAP文件。通过两块内存实现数据包的捕获与存储互不影响。
步骤四、在每个收包线程中,当CPU核接收到数据包,修改数据包的描述符,然后调用Mpipe接口转发数据包;
所述的Tilera众核平台下的Mpipe(多核可编程智能包引擎)系统提供线速的数据包分类,负载平衡和数据包缓冲管理处理等功能。
步骤五、在每个收包线程中,判断是否完成处理(完成处理指不进行后续数据包的处理),均完成后,结束处理,否则,返回步骤三;
本发明在Tilera众核平台下实现数据包的线速捕获,利用了Tilera众核处理器平台的高性能低功耗的特点,而且Tilera众核处理器平台提供了核间通信非常高的数据带宽,降低了核间通信延时,并通过共享的Cache(高速缓冲存储器)消除了核间互联的性能瓶颈,并降低了芯片功耗。Tilera众核平台下的Mpipe(多核可编程智能包引擎)系统提供线速的数据包分类,负载平衡和数据包缓冲管理处理。数据包的线速捕获采用多线程并且为各个线程绑定CPU核,并行接收数据包和处理数据包,最大程度的提高了数据包的线速捕获效率,而且保证了捕获的数据包的顺序的一致性。

Claims (2)

1.网络数据包线速捕获方法,具体包括以下步骤:
步骤一、在Tilera众核平台下配置Mpipe规则;
步骤二、创建n个收包线程,为各个线程绑定一个用于处理数据包的CPU核,n个收包线程并行运行;
步骤三、在每个收包线程中,调用Mpipe接口接收网络数据包,当CPU核接收到数据包,把数据包转变为PCAP文件格式,根据数据包的序列号获取数据包保存在PCAP文件内存的首地址,根据首地址存取数据包;
步骤四、在每个收包线程中,当CPU核接收到数据包,修改数据包的描述符,然后调用Mpipe接口转发数据包;
步骤五、在每个收包线程中,判断是否完成处理(完成处理指不进行后续数据包的处理),均完成后,结束处理,否则,返回步骤三。
2.根据权利要求1所述的网络数据包线速捕获方法,其中网络数据包线速捕获方法设置两块内存进行数据包的存储管理,当一块内存存储了指定了的数据包以后,后续数据包存储到另一块内在中,同时从前一块内存中顺序提取数据包保存成PCAP文件,通过两块内存实现数据包的捕获与存储互不影响。
CN201410145478.3A 2014-04-11 2014-04-11 网络数据包线速捕获方法 Pending CN103916316A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410145478.3A CN103916316A (zh) 2014-04-11 2014-04-11 网络数据包线速捕获方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410145478.3A CN103916316A (zh) 2014-04-11 2014-04-11 网络数据包线速捕获方法

Publications (1)

Publication Number Publication Date
CN103916316A true CN103916316A (zh) 2014-07-09

Family

ID=51041730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410145478.3A Pending CN103916316A (zh) 2014-04-11 2014-04-11 网络数据包线速捕获方法

Country Status (1)

Country Link
CN (1) CN103916316A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105516016A (zh) * 2015-11-25 2016-04-20 北京航空航天大学 一种使用Tilera多核加速卡基于流的数据包过滤系统及数据包过滤方法
CN106571978A (zh) * 2016-10-28 2017-04-19 东软集团股份有限公司 数据包捕获方法及装置
CN107070809A (zh) * 2017-04-11 2017-08-18 南通大学 一种大规模传感器数据的实时转发方法
CN107204916A (zh) * 2017-06-21 2017-09-26 天津光电通信技术有限公司 基于Tilera多核板卡网络数据包的邮件还原方法
CN114900487A (zh) * 2022-05-27 2022-08-12 深圳铸泰科技有限公司 基于内存设计优化流量抓取方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217573A (zh) * 2007-12-29 2008-07-09 厦门大学 一种加速网卡报文捕获的方法
US20100095095A1 (en) * 2007-06-20 2010-04-15 Fujitsu Limited Instruction processing apparatus
CN101795230A (zh) * 2010-02-23 2010-08-04 西安交通大学 一种网络流量还原方法
CN103150268A (zh) * 2013-03-04 2013-06-12 浪潮电子信息产业股份有限公司 一种cdp中的块级数据捕获方法
CN103581181A (zh) * 2013-10-28 2014-02-12 清华大学 数据包捕获、处理和发送方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100095095A1 (en) * 2007-06-20 2010-04-15 Fujitsu Limited Instruction processing apparatus
CN101217573A (zh) * 2007-12-29 2008-07-09 厦门大学 一种加速网卡报文捕获的方法
CN101795230A (zh) * 2010-02-23 2010-08-04 西安交通大学 一种网络流量还原方法
CN103150268A (zh) * 2013-03-04 2013-06-12 浪潮电子信息产业股份有限公司 一种cdp中的块级数据捕获方法
CN103581181A (zh) * 2013-10-28 2014-02-12 清华大学 数据包捕获、处理和发送方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
艾鑫: "众核环境下深度包检测系统的设计与优化", 《万方数据库》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105516016A (zh) * 2015-11-25 2016-04-20 北京航空航天大学 一种使用Tilera多核加速卡基于流的数据包过滤系统及数据包过滤方法
CN105516016B (zh) * 2015-11-25 2018-05-11 北京航空航天大学 一种使用Tilera多核加速卡基于流的数据包过滤系统及数据包过滤方法
CN106571978A (zh) * 2016-10-28 2017-04-19 东软集团股份有限公司 数据包捕获方法及装置
CN106571978B (zh) * 2016-10-28 2020-11-27 东软集团股份有限公司 数据包捕获方法及装置
CN107070809A (zh) * 2017-04-11 2017-08-18 南通大学 一种大规模传感器数据的实时转发方法
CN107070809B (zh) * 2017-04-11 2020-05-12 南通大学 一种大规模传感器数据的实时转发方法
CN107204916A (zh) * 2017-06-21 2017-09-26 天津光电通信技术有限公司 基于Tilera多核板卡网络数据包的邮件还原方法
CN114900487A (zh) * 2022-05-27 2022-08-12 深圳铸泰科技有限公司 基于内存设计优化流量抓取方法及系统
CN114900487B (zh) * 2022-05-27 2023-12-19 深圳铸泰科技有限公司 基于内存设计优化流量抓取方法及系统

Similar Documents

Publication Publication Date Title
KR102368970B1 (ko) 지능형 고 대역폭 메모리 장치
CN105577567B (zh) 基于Intel DPDK的网络数据包并行处理方法
CN103916316A (zh) 网络数据包线速捕获方法
WO2018196863A1 (zh) 卷积加速和计算处理方法、装置、电子设备及存储介质
US10693787B2 (en) Throttling for bandwidth imbalanced data transfers
WO2017112165A1 (en) Accelerated network packet processing
CN104394096B (zh) 一种基于多核处理器的报文处理方法及多核处理器
CN104820657A (zh) 一种基于嵌入式异构多核处理器上的核间通信方法及并行编程模型
CN108366018B (zh) 一种基于dpdk的网络数据包处理方法
Yi et al. Gpunfv: a gpu-accelerated nfv system
CN108833299A (zh) 一种基于可重构交换芯片架构的大规模网络数据处理方法
CN103336684B (zh) 一种并发处理ap消息的ac及其处理方法
WO2016019554A1 (zh) 一种队列管理的方法和装置
CN107102897A (zh) 一种多gpu并行处理的数据库主动防御方法
US20230127722A1 (en) Programmable transport protocol architecture
CN104717189A (zh) 网络数据包的发送方法及装置
CN105099957A (zh) 一种基于软件查表的数据包转发方法
CN103957154A (zh) 网络数据包url过滤方法
CN104461966B (zh) 一种基于Nand Flash芯片的数据缓存传输方法及其控制器
CN109284192A (zh) 参数配置方法及电子设备
CN103338156B (zh) 一种基于线程池的命名管道服务器并发通信方法
CN103209328A (zh) 多源卫星图像实时在线处理技术方法及装置
CN103731364A (zh) 基于x86平台实现万兆大流量快速收包的方法
CN110324204A (zh) 一种在fpga中实现的高速正则表达式匹配引擎及方法
CN108494705A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20140709