摘要

为了实现高速网包分类,本文提出一种多核并行的包分类算法。该算法基于维度分解和位向量(Bit Vector, BV)的思想,将规则集分解为多个维度,在对网包进行分类时,采用包内并行方案,将多个维度的结果进行多核并行合并,缩短单个包的处理时间,提升系统吞吐能力,并且能保证输出顺序与包输入顺序一致。实验结果表明,并行算法在Cavium OCTEON CN6645多核网络处理器平台上能达到每秒92700条规则的预处理速度和5.37 Mpps的吞吐性能,当网包大于等于256 Byte时,能实现10 Gbps的线速处理,性能高于同等条件下的HiCut算法和PCIU算法。