论文部分内容阅读
随着网络规模的扩大和需求的扩展,现有网络平台对部署Middlebox有着更高的要求。流管理作为网络中Middlebox实现有状态报文处理的基础,其负责管理端到端通信所建立的连接,包括连接的创建、连接状态的追踪和超时连接的删除等大量工作。由于流管理和各类网络Middlebox有着较强的相关性,不同的Middlebox关心着不同的连接状态,因此目前的流管理平台,比如Bro、mOS,均采用软件实现,以保证足够的灵活性。然而,该方式受限于CPU的处理性能,存在吞吐率低、处理延时高的不足。使用硬件加速的平台,比如Shunting、SmartNIC等,只能通实现查询和转发等部分功能的卸载,无法对流管理关键功能加速。我们认为,现有的流管理平台存在着性能与灵活性无法兼顾,cache miss导致大量访存开销,新流初始化和旧流删除存在较大时延三个重要挑战。针对目前加速流管理面临的困境,本文提出了一种利用软硬协同加速流管理的模型CoFM(Hardware/Software Co-processing Flow Management Mechanism)。主要工作和创新包括:1.提出了软硬协同加速流管理的CoFM模型。CoFM模型将流管理解耦为映射管理和状态管理,由于映射管理的通用性,将映射管理完全卸载到硬件实现,可以有效提升对流查找、新流初始化和旧流超时删除等高延时、高资源开销环节的处理性能;根据不同网络应用对于流状态的不同需求,将状态管理由软件实现,以满足流管理对于灵活性的要求。2.对CoFM的关键技术进行深入研究。研究硬件映射管理的具体实现机制,包括研究流表的设计,以尽可能减少cache miss和冲突处理带来的额外开销;研究流标签(Connection ID)的动态管理,以节约硬件存储资源开销;研究新流的初始化和超时旧流的删除的硬件实现机制,以实现硬件的映射管理卸载。3.对CoFM实现模型进行详细设计。研究CoFM的软硬件消息格式、内部接口和与应用编程接口,便于Middlebox基于CoFM开发实现。同时,对CoFM实现模型中各模块的具体功能和模块间的通信机制进行详细设计,有效提高了各模块间的工作效率,进一步加强了CoFM的整体性能。4.实现了CoFM原型系统,并对原型系统进行测试评价。结果表明,CoFM支持50Gbps的吞吐率和极低的处理延时(<1us),并可以支持有状态防火墙、SQL注入检测等不同类型的Middlebox开发实现。综上所述,为了解决目前Middlebox流管理存在的三个重要挑战,本文提出了面向Middlebox的软硬协同流管理加速模型CoFM,该模型性具有高灵活性、高性能、低开销的特点,对网络中Middlebox性能的提高有较高的理论意义和实用价值。