CN103532955A - 嵌入式多协议移动网络数据采集探针设备 - Google Patents
嵌入式多协议移动网络数据采集探针设备 Download PDFInfo
- Publication number
- CN103532955A CN103532955A CN201310489147.7A CN201310489147A CN103532955A CN 103532955 A CN103532955 A CN 103532955A CN 201310489147 A CN201310489147 A CN 201310489147A CN 103532955 A CN103532955 A CN 103532955A
- Authority
- CN
- China
- Prior art keywords
- message
- cpu
- module
- data acquisition
- mobile network
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种嵌入式多协议移动网络数据采集探针设备,包括数据包并行分配处理模块,所述数据包并行分配处理模块连接若干CPU,各CPU都独立配有TCP协议栈模块,各TCP协议栈模块都独立配有应用层协议模块,各CPU都独立连接数据采集模块;所述数据包并行分配处理模块包括:报文收取子模块,报文分流子模块,报文重处理子模块。本发明提供的嵌入式多协议移动网络数据采集探针设备,其能对数据包进行并行分配处理。
Description
技术领域
本发明涉及嵌入式多协议移动网络数据采集探针设备。
背景技术
在实际环境中,未经优化的linux或window都是单TCP协议栈,也就是在多核收取报文时,公用同一个协议栈,这样在临界区要存在很多锁,系统性能受制于互斥,即使增加硬件成本,也不能显著提高系统性能。
共用同一个IP/TCP协议栈,多个CPU同时收包,在临界区内会发生互斥,高负载的情况下会出现CPU等待,多核并行处理能力大打折扣。
同一个网卡产生的报文会被不同的CPU接收,丧失CPU亲和性,这样同一条流的数据会跨越CPU,CPU会不断冲刷cache,单个CPU效率只能发挥到原来的一半。
发明内容
本发明的目的在于提供一种嵌入式多协议移动网络数据采集探针设备,其能对数据包进行并行分配处理。
为实现上述目的,本发明的技术方案是设计一种嵌入式多协议移动网络数据采集探针设备,包括数据包并行分配处理模块,所述数据包并行分配处理模块连接若干CPU,各CPU都独立配有TCP协议栈模块,各TCP协议栈模块都独立配有应用层协议模块,各CPU都独立连接数据采集模块;
所述数据包并行分配处理模块包括:
报文收取子模块,用于收取IP报文,并裁判网络负载,轻负载时候使用中断处理,重负载时候使用轮询处理;
报文分流子模块,用于预抽取IP报文中的源/目地址和源/目端口及协议,并以IP报文的源/目地址和源/目端口及协议作hash索引,把该IP报文挂入hash索引所指向CPU的IP报文队列;
报文重处理子模块,用于处理CPU的IP报文队列,触发该CPU上软中断,由该CPU做进一步处理。
优选的,所述嵌入式多协议移动网络数据采集探针设备分布式部署在移动运营商IP网内的SGSN和GGSN之间。
优选的,所述应用层协议模块为http协议模块、SMTP协议模块、POP3协议模块或FTP协议模块。
在实际应用的以太网内,绝大多数都是IP报文。依据这个特点,采用由CPU0从网卡收到报文,以IP报文的源/目地址,和源/目端口,及协议(五元组),作hash索引(该索引具有源目的无关性),由该hash索引定位有相同源/目地址和源/目端口及协议的数据包,视为一个数据“流”,并把一条流,指向到同一个CPU内核处理。因为一个流的所有报文,具有相同的hash索引,所以一条流的所有数据包必然能分到同一个CPU上,这样增加了CPU亲和性,充分利用多核CPU架构中每个CPU拥有独立cache的特性,为每个CPU上运行独立协议栈提供数据支持。同时,在每一个CPU上运行多个独立协议栈,减少报文间的互斥操作,充分利用多核CPU的特点,处理性能与CPU个数类线性增长。
此外,分配报文的CPU,轻负载时候使用中断处理,重负载时候使用轮询处理,增加CPU的有效利用率。
所述嵌入式多协议移动网络数据采集探针设备分布式部署在移动运营商IP网内的SGSN和GGSN之间,从而具备实时采集多种网络应用流量数据的能力,支持分布式采集,集中式管理的应用模式。能够高效处理并关联移动网及互联网的数据,如移动用户的手机/智能终端的型号/提供服务的运营商/接入点,使用的互联网应用/使用时长/流量等等,并可将处理后数据信息输出至第三方的智能分析管理系
统。
附图说明
图1是传统Linux系统架构下的示意图;
图2是本发明的示意图。
具体实施方式
如图1所示,为传统Linux系统架构下的示意图,其有如下两个问题:
共用同一个IP/TCP协议栈,多个CPU同时收包,在临界区内会发生互斥,高负载的情况下会出现CPU等待,多核并行处理能力大打折扣。
同一个网卡产生的报文会被不同的CPU接收,丧失CPU亲和性,这样同一条流的数据会跨越CPU,CPU会不断冲刷cache,单个CPU效率只能发挥到原来的一半。
下面结合附图和实施例,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
本发明具体实施的技术方案是:
如图2所示,一种嵌入式多协议移动网络数据采集探针设备,包括数据包并行分配处理模块,所述数据包并行分配处理模块连接若干CPU,各CPU都独立配有TCP协议栈模块,各TCP协议栈模块都独立配有应用层协议模块,各CPU都独立连接数据采集模块;
所述数据包并行分配处理模块包括:
报文收取子模块,用于收取IP报文(如由网卡发来的IP报文),并裁判网络负载,轻负载时候使用中断处理,重负载时候使用轮询处理;
报文分流子模块,用于预抽取IP报文中的源/目地址和源/目端口及协议,并以IP报文的源/目地址和源/目端口及协议作hash索引,把该IP报文挂入hash索引所指向CPU的IP报文队列;
报文重处理子模块,用于处理CPU的IP报文队列,触发该CPU上软中断,由该CPU做进一步处理。
所述应用层协议模块为http协议模块、SMTP协议模块、POP3协议模块或FTP协议模块。
在实际应用的以太网内,绝大多数都是IP报文。依据这个特点,采用由CPU0从网卡收到报文,以IP报文的源/目地址,和源/目端口,及协议(五元组),作hash索引(该索引具有源目的无关性),由该hash索引定位有相同源/目地址和源/目端口及协议的数据包,视为一个数据“流”,并把一条流,指向到同一个CPU内核处理。因为一个流的所有报文,具有相同的hash索引,所以一条流的所有数据包必然能分到同一个CPU上,这样增加了CPU亲和性,充分利用多核CPU架构中每个CPU拥有独立cache的特性,为每个CPU上运行独立协议栈提供数据支持。同时,在每一个CPU上运行多个独立协议栈,减少报文间的互斥操作,充分利用多核CPU的特点,处理性能与CPU个数类线性增长。
此外,分配报文的CPU,轻负载时候使用中断处理,重负载时候使用轮询处理,增加CPU的有效利用率。
所述嵌入式多协议移动网络数据采集探针设备可分布式部署在移动运营商IP网内的SGSN和GGSN之间,从而具备实时采集多种网络应用流量数据的能力,支持分布式采集,集中式管理的应用模式。能够高效处理并关联移动网及互联网的数据,如移动用户的手机/智能终端的型号/提供服务的运营商/接入点,使用的互联网应用/使用时长/流量等等,并可将处理后数据信息输出至第三方的智能分析管理系统。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (3)
1.嵌入式多协议移动网络数据采集探针设备,其特征在于,包括数据包并行分配处理模块,所述数据包并行分配处理模块连接若干CPU,各CPU都独立配有TCP协议栈模块,各TCP协议栈模块都独立配有应用层协议模块,各CPU都独立连接数据采集模块;
所述数据包并行分配处理模块包括:
报文收取子模块,用于收取IP报文,并裁判网络负载,轻负载时候使用中断处理,重负载时候使用轮询处理;
报文分流子模块,用于预抽取IP报文中的源/目地址和源/目端口及协议,并以IP报文的源/目地址和源/目端口及协议作ha sh索引,把该IP报文挂入hash索引所指向CPU的IP报文队列;
报文重处理子模块,用于处理CPU的IP报文队列,触发该CPU上软中断。
2.根据权利要求1所述的嵌入式多协议移动网络数据采集探针设备,其特征在于,所述嵌入式多协议移动网络数据采集探针设备分布式部署在移动运营商IP网内的SGSN和GGSN之间。
3.根据权利要求1所述的嵌入式多协议移动网络数据采集探针设备,其特征在于,所述应用层协议模块为http协议模块、SMTP协议模块、POP3协议模块或FTP协议模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310489147.7A CN103532955B (zh) | 2013-10-18 | 2013-10-18 | 嵌入式多协议移动网络数据采集探针设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310489147.7A CN103532955B (zh) | 2013-10-18 | 2013-10-18 | 嵌入式多协议移动网络数据采集探针设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103532955A true CN103532955A (zh) | 2014-01-22 |
CN103532955B CN103532955B (zh) | 2017-03-01 |
Family
ID=49934634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310489147.7A Expired - Fee Related CN103532955B (zh) | 2013-10-18 | 2013-10-18 | 嵌入式多协议移动网络数据采集探针设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103532955B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107204916A (zh) * | 2017-06-21 | 2017-09-26 | 天津光电通信技术有限公司 | 基于Tilera多核板卡网络数据包的邮件还原方法 |
CN107864056A (zh) * | 2017-11-04 | 2018-03-30 | 公安部第三研究所 | 一种分布式事件采集探针、分布式事件高速采集系统及方法 |
GB2557613A (en) * | 2016-12-12 | 2018-06-27 | Canon Kk | System and method for transmitting data and system and method for receiving data |
CN108667733A (zh) * | 2018-03-29 | 2018-10-16 | 新华三信息安全技术有限公司 | 一种网络设备及报文处理方法 |
CN109379303A (zh) * | 2018-08-22 | 2019-02-22 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于提升万兆以太网性能的并行化处理框架系统和方法 |
CN112217772A (zh) * | 2019-07-11 | 2021-01-12 | 中移(苏州)软件技术有限公司 | 一种协议栈实现方法、装置和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030046330A1 (en) * | 2001-09-04 | 2003-03-06 | Hayes John W. | Selective offloading of protocol processing |
WO2004062137A1 (en) * | 2002-12-18 | 2004-07-22 | Zyray Wireless, Inc. | Multi-processor platform for wireless communication terminal having partitioned protocol stack |
CN101699821A (zh) * | 2009-11-02 | 2010-04-28 | 清华大学 | 一种分布式多核网络系统中地址解析协议实现的方法 |
CN102811127A (zh) * | 2012-08-23 | 2012-12-05 | 深圳乌托邦系统集成有限公司 | 云计算应用层的加速网卡 |
-
2013
- 2013-10-18 CN CN201310489147.7A patent/CN103532955B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030046330A1 (en) * | 2001-09-04 | 2003-03-06 | Hayes John W. | Selective offloading of protocol processing |
WO2003021436A2 (en) * | 2001-09-04 | 2003-03-13 | Archduke Design, Inc. | Selective offloading of protocol processing |
WO2004062137A1 (en) * | 2002-12-18 | 2004-07-22 | Zyray Wireless, Inc. | Multi-processor platform for wireless communication terminal having partitioned protocol stack |
CN101699821A (zh) * | 2009-11-02 | 2010-04-28 | 清华大学 | 一种分布式多核网络系统中地址解析协议实现的方法 |
CN102811127A (zh) * | 2012-08-23 | 2012-12-05 | 深圳乌托邦系统集成有限公司 | 云计算应用层的加速网卡 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2557613A (en) * | 2016-12-12 | 2018-06-27 | Canon Kk | System and method for transmitting data and system and method for receiving data |
GB2557613B (en) * | 2016-12-12 | 2020-03-25 | Canon Kk | System and method for transmitting data and system and method for receiving data |
CN107204916A (zh) * | 2017-06-21 | 2017-09-26 | 天津光电通信技术有限公司 | 基于Tilera多核板卡网络数据包的邮件还原方法 |
CN107864056A (zh) * | 2017-11-04 | 2018-03-30 | 公安部第三研究所 | 一种分布式事件采集探针、分布式事件高速采集系统及方法 |
CN108667733A (zh) * | 2018-03-29 | 2018-10-16 | 新华三信息安全技术有限公司 | 一种网络设备及报文处理方法 |
CN109379303A (zh) * | 2018-08-22 | 2019-02-22 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于提升万兆以太网性能的并行化处理框架系统和方法 |
CN112217772A (zh) * | 2019-07-11 | 2021-01-12 | 中移(苏州)软件技术有限公司 | 一种协议栈实现方法、装置和存储介质 |
CN112217772B (zh) * | 2019-07-11 | 2022-07-01 | 中移(苏州)软件技术有限公司 | 一种协议栈实现方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103532955B (zh) | 2017-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103532955A (zh) | 嵌入式多协议移动网络数据采集探针设备 | |
CN105871574B (zh) | 一种基于软件开发工具包监控日志的方法、装置及系统 | |
CN103078895B (zh) | 一种基于mcf52233芯片的工业以太网多功能双串口服务器 | |
CN104243350B (zh) | 一种电力交换机业务流处理方法及其系统 | |
US9705745B2 (en) | System and method for virtualizing software defined network (SDN)-based network monitoring | |
JP2017507572A (ja) | クラウドに基づく仮想オーケストレーターのための方法、システム、およびコンピュータ読取可能な媒体 | |
WO2016107210A1 (zh) | 具有报文多级滤清及业务分类控制的冗余工业以太网系统 | |
CN101997871B (zh) | 一种数据快速捕获与过滤转发装置 | |
CN102970244A (zh) | 一种多cpu核间负载均衡的网络报文处理方法 | |
EP2053786A3 (en) | Targeted resource allocation | |
CN103236949A (zh) | 一种服务器集群的监控方法、装置与系统 | |
CN102710497A (zh) | 多核多线程网络设备的报文处理方法及系统 | |
CN1534927A (zh) | 用于通信网中设备部件的本地保证管理设备 | |
CN103414594A (zh) | 一种用于计费和监控的ip流信息统计方法 | |
CN102724123A (zh) | 网络流量控制方法及控制装置 | |
CN107479966B (zh) | 一种基于多核心cpu的信令采集方法 | |
CN101753584A (zh) | VxWorks系统下提高智能变电站快速报文处理速度的方法 | |
CN103096386B (zh) | 一种基于信令分析的数据业务流量管控方法 | |
CN103441943A (zh) | 一种流量报文控制方法及装置 | |
US10263864B2 (en) | Apparatus and method for collecting adaptive flow statistics data in carrier network | |
CN103200112A (zh) | 一种计算机网络tcp流量控制方法 | |
US9154390B2 (en) | Packet relay apparatus and measurement method for measuring discard number of data packets | |
WO2016197659A1 (zh) | 网络媒体流收包方法、装置及系统 | |
CN104734981A (zh) | 一种基于设备互联关系精确识别mpls vpn网络业务流量的方法 | |
CN102904964A (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 | ||
GR01 | Patent grant | ||
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: 20170301 Termination date: 20181018 |