基于DFA的正则表达式协议识别技术优化与实现

3星 · 超过75%的资源 需积分: 3 15 下载量 98 浏览量 更新于2024-07-31 收藏 2.89MB PDF 举报
本文主要探讨了基于正则表达式的应用层协议识别技术在信息技术领域的研究和应用。随着网络通信的复杂性和动态性增加,传统的端口映射协议识别方法由于不能有效应对使用动态端口的协议,其准确性和效率已不能满足现代网络管理、安全防护和内容审计等需求。因此,论文作者刘俊超选择了正则表达式作为协议识别的关键工具,这在理论和实践中都具有重要意义。 首先,论文对比了NFA(非确定有限自动机)和DFA(确定有限自动机)匹配引擎的优劣,并最终决定采用DFA,因为DFA具有更好的效率和确定性。然而,DFA的转换表在实际应用中可能会导致存储空间膨胀问题。为解决这一问题,作者提出了一个创新的三分压缩方法,将转换表分为三个部分,通过合并大量相同的元素,显著降低了存储空间的需求,例如,在L7.filter的测试中,该方法通常能达到95%以上的压缩率。 接着,论文进一步探索了如何利用正则表达式的特点,提出了一种新的分组方法,该方法不仅节省了DFA的存储空间,而且保持了较高的匹配性能,使得在处理十三种常用协议时,存储空间只需要常规方法的24.2%。 为了兼顾识别的准确性、吞吐量和系统的灵活性,作者设计了一种软硬件结合的协议识别系统框架,允许模式特征的自动化编译和快速更新,同时保证报文的高效检测。这种系统架构对于实时处理高带宽网络环境中的协议识别至关重要。 最后,论文实现了一个基于千兆网卡的正则表达式协议识别系统,经过实际测试,证明了该系统能够在千兆网络环境中实现在线的协议识别,从而验证了所提出的理论和方法的有效性和实用性。 这篇论文深入研究了正则表达式在协议识别中的应用,通过优化算法和系统设计,解决了实际网络环境中协议识别面临的挑战,对于提升网络监控和安全控制的效率具有重要价值。