摘要

在IDS中,传统数据分组的捕获是从网卡复制到内核,再由内核复制到用户空间,这导致了CPU频繁地中断响应、冗余数据复制和上下文切换,没有充足时间来进行数据分组的进一步处理。为了提升捕获包效率,采用多线程思想,通过PFRING ZC技术实现零拷贝,把PFRING ZC捕获数据分组的方法做成动态链接库,并集成到Snort中;对捕获技术进行IPv6协议扩充,使IDS实现了支持IPv6检测的功能。实验表明,相比libpcap技术,PFRING ZC技术在高速和低速网络环境中有着更低的丢包率和CPU占用率。