- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于内容审计千兆网络监控系统设计
基于内容审计千兆网络监控系统设计
摘要:网络监控系统通过网络处理器和改进的捕获驱动进行高效数据捕获,通过设置虚拟磁盘、优化文件系统进行海量数据存储,并着眼于内容审计,采用多线程、简化协议等方法进行协议分析,解决了在千兆级网络监控中存在的一系列性能问题。
关键词: 网络监控; 数据捕获; 数据存储; 协议还原; 内容审计
中图分类号:TP393.08文献标志码:A
文章编号:1001-3695(2008)04-1114-03
目前存在的防火墙、IDS等网络安全工具,往往着眼于入侵行为本身,没有能够对协议数据包的内容进行深入的分析;而一些对内部网主机进行监控审计的系统[1],重点在于信息保密和访问控制,一般适用于局域网环境,应用在高速网络上存在性能问题。本文设计的基于内容审计的千兆网络监控系统,使用宽带网络硬件和开放源码软件平台,重视其在千兆级以上网络的性能优化。该网络监控系统的体系结构设计可分为数据捕获、数据存储、协议还原、应用功能四部分,如图1所示。最上层的应用功能④是对各种应用需求开发相应的用户交互环境,本文主要针对前三部分即系统下层作设计和研究。??
1数据捕获模块??
1.1传统的数据捕获方式??
为了获得对网络上传输的所有数据包进行监控和内容审计,且不影响网络本身的运行,本文采用旁路并接的方法,从核心路由器上导出流量镜像。这种集中捕获数据的方法相对于分布式采集数据,具有易于部署、对网络用户透明的特点;但对于大流量的网络数据,直接使用普通网卡和相应的捕获软件很容易造成丢包,使后期的还原无法进行。例如本文最初的实验环境为单机CPU:Pentium Ⅲ 1.2 GHz,内存:PC133 DIMM 256 MB x2,网卡:Onboard Intel82559 Ethernet controller,Linux平台下Libpcap[2]捕包软件,IXIA400T作为流量发生器。表1是笔者在实验中获得的网络背景流量与捕获率之间的关系。??
从表1中可以看出:??
a)在较小流量网络中或者大包的情况下,Libpcap表现良好,丢包较少。??
b)在较大背景流量或者小包的条件下,Libpcap捕获率很低,丢包严重。??
c)数据包帧长对捕获率影响很大。即使在流量不高的情况下(如背景流量为25 Mbps,帧长80 Byte),如果网络上小包较多,也会导致捕获率大幅下降。??
d)在100 Mbps背景流量帧长为80 Byte情况下,系统基本处于瘫痪状态,无法响应用户的操作。出现这种现象是因为过于频繁的网卡中断造成的。??
1.2硬件负载均衡机制??
以上的数据捕获远不能满足千兆级网络的需求。为了提高性能,在硬件方面引进了Intel公司的ENP2611网络处理器(network processor)[3]对流量进行分流,并行采用多个CPU进行处理。分流的策略采用网络处理器的负载均衡功能,将流量可调控地分流到若干个CPU上进行处理,可处理达2.5 GB的网络流量。但对于高速网络环境下的突发流量,仍然会造成单个CPU负载过高。因此笔者进一步设计了根据CPU使用状态进行动态反馈的负载调节机制,在某个CPU负担过重时,通知前端网络处理器减小分流到该CPU上的流量,避免死机。??
1.3 Libpcap零拷贝优化机制??
在软件方面,数据捕获还应配置软件将硬件部分所分流的数据包从网络接口设备的缓冲区传送到操作系统缓冲区进行处理的软件代码。针对表1中显示的短帧频繁中断造成的捕获率降低的情况,笔者在Linux环境下的Libpcap引进了零拷贝(zero-copy)技术[4]。传统的Libpcap从网卡抓包到应用程序,数据包要经历三次拷贝:??
a)网卡到内核缓冲区,该步骤是通过DMA通道实现的。??
b)内核中复制一份,一份交给正常的应用程序,另一份交给抓包程序。??
c)内核到应用层的拷贝。??
这三次拷贝中后两次所消耗的资源较大,影响系统的整体性能。零拷贝驱动取消了后两次拷贝操作,首先,利用DMA技术将网络数据包直接传递到系统内核预先分配的地址空间中,避免CPU的参与;同时,利用mmap系统调用将系统内核中存储数据包的内存区域映射到检测程序的应用程序空间,检测程序直接对这块内存进行访问,从而减少了系统内核向用户空间的内存拷贝。实践证明,零拷贝机制对高速短数据包流量的捕获率提高了5~10倍。??
2数据存储模块??
数据存储作为整个系统的交换部分,前端所采集的原始数据必须经过存储模块缓存以到达协议还原模块。在完成协议还原之后,上层的应用功能模块也要从缓存中得到需要
原创力文档


文档评论(0)