摘要

BSD包过滤器(BSD Packet Filter,BPF)是BSD Unix操作系统提供的网络数据包捕获及过滤机制的内核组件。该文描述了BPF的组成及工作过程,分析了BPF采用的无环控制流图过滤模式,介绍了此模式基于虚拟机的实现。为了提高过滤器性能,必须解决BPF虚拟机指令生成器处理多个过滤条件组合时存在的指令冗余问题,通过引入静态单赋值(SSA),结合冗余谓词消除和窥孔优化等技术,可以有效缩短CFG图的平均路径长度,从而实现对过滤器性能的优化。

  • 单位
    中国人民解放军信息工程大学