[发明专利]多核架构下的应用层协议并行处理方法无效
申请号: | 201110401890.3 | 申请日: | 2011-12-06 |
公开(公告)号: | CN102523208A | 公开(公告)日: | 2012-06-27 |
发明(设计)人: | 陈峥;周文君 | 申请(专利权)人: | 无锡聚云科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;G06F9/38 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 214000 江苏省无锡市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多核 架构 应用 协议 并行 处理 方法 | ||
技术领域
本发明涉及一种应用层协议并行处理方法,尤其涉及一种多核架构下的应用层协议并行处理方法。
背景技术
OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能就是帮助不同类型的主机实现数据传输。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。从下而上,OSI参考模型的七层依次为:物理层(Physical Layer)、数据链路层(Datalink Layer)、网络层(Network Layer)、传输层(Transport Layer)、会话层(Session Layer)、表示层(Presentation Layer)和应用层(Application Layer)。
实际常用的TCP/IP通讯协议采用了4层的层级结构,包括网络接口层、网络层、传输层、应用层,每一层都呼叫它的下一层所提供的网络来完成自己的需求。通俗而言:TCP负责发现有序、有保障的传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台通讯实体规定一个地址,按目的地址逐点转发。
网络应用层协议有成千上万种,每种协议实现中的数据结构和编码都不同,常用的应用层协议包括HTTP、FTP、TELNET、DNS、SMTP和POP3。其中,超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。传统的加速方法是建立一个多线程池(thread pool),一个线程处理一个TCP的连接。但这样的做法使得可以并行的规模受限于多线程池的数目,达不到处理1百万TCP流(flows)的实际要求。
由上可知,网络应用层协议分析是建立在TCP/IP协议基础上的一种对报文深度分析的技术(DPI),其应用层协议的分析是在协议识别、确认后,再调用相应的协议解析器(Parser)来完成的。在协议解析器的框架下,添加应用的特定逻辑,就能对应用层的关联问题进行处理了。现有的协议分析只能进行串行化处理,严重影响了应用层的处理效率。
目前已有一些用来辅助开发解析器的工具,但这些工具大都采用一种抽象语言来描述和生成解析器,且生成的解析器的速度只能到达几百Mbps。Snort是一种开源的网络防范和监测侵入的软件,也被移植到多核架构上。它可以在数据包负载中匹配一些特殊的字符串模式,但是它无法通过分析应用层消息的结构来识别出每一个请求和响应。因此Snort无法完成某些任务,例如通过比较一个请求和它对应的响应来测量延迟的时间。目前也有一些应用多核架构来进行路由、协议识别和深度包检测技术的报导,但是这些工作都远远达不到1Gbps的速度或者无法处理应用层的复杂情况,因此,有必要提供多核架构下的应用层协议并行处理方法。
发明内容
本发明所要解决的技术问题是提供一种多核架构下的应用层协议并行处理方法,大大提高应用层的处理效率,且实现简单,易于扩展。
本发明为解决上述技术问题而采用的技术方案是提供一种多核架构下的应用层协议并行处理方法,包括如下步骤:a)端口收包模块IP接收以太网口数据包;b)将以太网口数据包通过负载平衡模块发往不同的应用层处理模块AP,不同的应用层处理模块AP映射到多个物理核上进行并行化处理;c)每个应用层处理模块AP独立进行数据包的识别及后续处理,最后把分析结果发送给输出模块OP。
上述的多核架构下的应用层协议并行处理方法,其中,所述端口收包模块IP通过无锁FIFO队列向应用层处理模块AP发送报文;所述应用层处理模块AP通过无锁FIFO队列将分析结果发送给输出模块OP。
上述的多核架构下的应用层协议并行处理方法,其中,所述负载平衡模块利用对称的哈希将属于同一TCP流的报文影射到同一个物理核来处理应用层协议。
上述的多核架构下的应用层协议并行处理方法,其中,所述应用层处理模块AP进行数据包的识别及后续处理包括TCP/IP数据包处理及应用层数据包处理,应用层协议包括HTTP、FTP、TELNET、DNS、SMTP和POP3。
上述的多核架构下的应用层协议并行处理方法,其中,所述应用层处理模块AP在专用的并行模型的指导下,通过编译的源源变换方法,对程序进行两遍扫描,消除全局变量的使用,使数据包的深度处理、应用层协议的分析可以并行化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡聚云科技有限公司,未经无锡聚云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110401890.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:化合物扎来普隆的合成方法
- 下一篇:一种JBOD上硬盘应用故障的定位方法