论文部分内容阅读
随着网络技术的发展,以软件定义网络(Software Defined Network,SDN)[1]和网络功能虚拟化(Network Function Virtualization,NFV)[2]为代表的新的设计理念和新的技术手段诞生。作为网络基础设施重要组成部分的路由器,如何利用软件实现方式确保在通用平台具有较高的转发性能是当前研究的热点。在路由器设备中,对性能影响最大的是转发表查找和ACL表搜索两种查表任务:转发表查找用于确定报文的转发行为;ACL表搜索是基于预定义的报文分类安全控制策略,根据搜索结果决定报文的处理方式,如:放行、阻止或修改。转发表与ACL表的查找速度直接决定了软件路由器性能的优劣。论文对路由器中转发平面查表任务的优化问题做了重点研究,通过分析转发表和访问控制列表的关联性,发现两张表的规则能够以目的IP前缀为纽带相互影响,在命中部分转发规则后可以只查询少量ACL规则,从而提高转发平面的整体转发性能。因此,提出了一种面向转发平面的双路径查表架构(Dual-Path Lookup Architecture,DPLA),在路由器转发平面设计了两条报文查表路径,转发表到快速ACL表的优化路径和转发表到完整ACL表的慢速路径。为了标识转发表项与ACL表项之间的关联性,对现有转发表项进行扩展,增加了标记重叠转发规则和非重叠转发规则的表项标识。其中匹配非重叠转发规则的报文进入优化路径,从而提高了整体转发性能。针对转发表和ACL表动态更新对重叠表项的影响问题,论文设计了相应的转发表更新算法和ACL表更新算法,能够保证二者间规则一致性和分类正确性。为了进一步验证DPLA架构在优化软转发平面查表性能的优势,基于Intel通用多核CPU平台设计并实现了DPLA原型软件,其中转发表采用DIR-24-8算法进行组织管理,ACL表项分别采用分层树、扩展树、Hicuts、RFC四种算法。实验测试表明,DPLA架构能够有效降低报文平均访存次数,提高转发平面性能,其中Hicuts算法能够提升18%的转发性能,扩展树算法能够提升约20%。