网络信息安全内容审计系统及相关技术研究(5)


        因此,网络信息审计系统从内核空间读取数据包必须通过recv_from 系统调用完成。系统调用会消耗大量系统资源,而且,每次系统调用都会带来一次上下文切换,对cache 的命中率有很大的影响。随着网络流量的增大,网络中数据包的增加,系统调用就会非常频繁,严重影响网络信息审计系统的性能。   ?
  系统调用也是网络信息审计系统的性能瓶颈。为此,我们借鉴了内存管理中地址映射技术(MMAP)[5]的思想,通过使内核与应用程序共享一段内存空间的方法,避免系统调用,从而降低系统调用的开销、提高cache 命中率,提高系统的性能。?

4.2内存映射技术(MMAP)
?

  首先,我们构造了一个与内核空间共享的缓冲区桶。该缓冲区中存放的是Linux 内核捕获的数据包在内存中的地址。内核每捕获一个数据包,就将该数据包存放的地址放在共享缓冲区桶中。在pcap_read()函数中,调用了一个叫做pcap_ring_recv()的函数。该函数不断的检查共享的环形缓冲区中是否有数据,如果有数据,就根据这个地址取得内存中的数据包;如果没有数据,就将当前进程阻塞,直到有数据包到达时才被唤醒,开始读取数据。如果网络上有大量的数据包到达,内核就可以不断的向环形缓冲区中写数据,Libpcap 就可以不停的从环形的缓冲区中读取数据,数据包的读写并行工作,互不影响。在这个过程中,不需要通过系统调用从内核中获取数据包,从而消除了系统调用的开销。因而,内存映射技术可以有效的提高系统的性能。?
  使用NAPI 以及内存映射技术对信息审计系统的数据包捕获引擎进行了改进,并对新的系统进行了测试。测试表明,使用NAPI 和内存映射技术后,系统的丢包率有了明显的降低。?

5分布式可扩展的网络信息安全内容审计系统?

  综合考虑大规模网络环境下内容的要求,下面描述适合于大规模的分布式、可扩展的高性能内容实时审计系统模型。基于网络信息审计系统由区域审计系统和全局通信控制代理组成,区域子系统负责执行各个区域网络的审计功能,通信控制系统负责各个区域子系统之间的信息交互与共享[6](如图4)。?
  区域子系统由多个负责收集网络信息的数据包采集代理集合和一个后台控制代理组成。根据被各个审计子网的实际带宽,每个子网的数据包采集代理集合可以由多个采集代理各自并行处理总的流量的一部分,然后把收集到的可疑信息交给本区域的后台控制代理。
?

图4大规模网络信息审计系统结构示意图

(责任编辑:adminadmin2008)

分享到:

更多
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
  • 微笑/wx
  • 撇嘴/pz
  • 抓狂/zk
  • 流汗/lh
  • 大兵/db
  • 奋斗/fd
  • 疑问/yw
  • 晕/y
  • 偷笑/wx
  • 可爱/ka
  • 傲慢/am
  • 惊恐/jk
用户名: 验证码:点击我更换图片
资料下载专区
图文资讯

网络安全:互联网安全 如何防范木马及病毒

网络安全:互联网安全 如何防范木马及病毒的攻击

一、计算机中毒有哪些症状? 人生病了,会有各种各样的症状,同样,电脑中毒了也会有...[详细]

加强网站服务器安全维护的技巧

加强网站服务器安全维护的技巧

计算机系统服务器的维护工作十分重要,稍有不慎就会使整个网络陷入瘫痪。目前,网络经...[详细]

电脑离线就安全?这个软件一样能远程窃取数

电脑离线就安全?这个软件一样能远程窃取数据

以色列的一个研究团队已改良了窃取离线电脑数据的方法。人们一直认为这种离线电脑在面...[详细]

如何在Linux上最妥善地管理加密密钥?

如何在Linux上最妥善地管理加密密钥?

存储SSH加密密钥和牢记密码可能是一件让人很头痛的事儿。不过遗憾的是,在如今恶意黑...[详细]

如何在 Linux 上运行命令前临时清空 Bash

如何在 Linux 上运行命令前临时清空 Bash 环境变量

我是个 bash shell 用户。我想临时清空 bash shell 环境变量。但我不想删除或者 unset...[详细]

返回首页 返回顶部