【技术实现步骤摘要】
大规模OpenFlow流表分级存储架构与加速查找方法
本专利技术涉及一种流表存储架构与查找方法,尤其涉及一种大规模OpenFlow流表分级存储架构及基于该分级存储架构的加速查找方法。
技术介绍
软件定义网络(SoftwareDefinedNetwork,以下简称“SDN”)作为一种新型的网络架构,其提升网络灵活性是通过解耦数据、控制平面实现的,SDN控制器通过南向协议接口统一制定并下发流规则,交由数据平面的SDN交换机以流表的形式进行存储,从而指导网络分组的处理。OpenFlow协议是目前应用最广泛的南向接口协议之一,它将网络协议栈扁平化,将各层网络协议首部的重要字段作为流表项的匹配域,并支持通配符实现任意字段的组合,从而实现网络流的细粒度灵活管理。OpenFlow流表是帮助灵活管理细粒度网络流的关键技术,其作为OpenFlow交换设备的核心组件之一,对其存储和查找对数据交换性能有着关键性的影响。为了实现网络分组的快速转发,OpenFlow硬件交换机常采用三态内容可寻址存储器(TernaryContentAddressableMemory,以下简称“TCAM”)存储流表。因为TCAM支持带通配符的三态数据查询,具有并行查找整个数据集合的能力,能在一个时间周期输出查找结果。然而TCAM单比特成本高、能耗大、集成度低,容量有限,在一定成本和能耗限制前提下,无法满足现阶段OpenFlow流表存储。现有OpenFlow流表在存储和查找时也容易出现如下问题:1、OpenFlow流表存储方面当OpenFlow网络部署到形如广域网、数据中心等大规模网络中时,OpenFl ...
【技术保护点】
1.大规模OpenFlow流表分级存储架构,其特征在于,所述存储架构为分层加速流表架构,所述分层加速流表架构包括三层:活跃流表层、静默流表层及流表存储层;所述活跃流表层采用TCAM作为存储介质,用于存储活跃流表项的流标识字段,所述流标识字段主要为匹配域信息;所述静默流表层采用SRAM作为存储介质,用于存储静默流表项的流标识字段和对应表项索引指针;由于SRAM不支持通配查找,需要将其存储的静默流表项按照掩码进行分类存储;SRAM中还存储有BF过滤器,该过滤器能降低SRAM流表的查找开销;所述流表存储层采用DRAM作为存储介质,用于分别存储活跃流表和静默流表的内容字段;活跃流表的内容字段存储空间大小固定,条目数量与TCAM相等,以支持TCAM标识字段与DRAM内容字段之间的直接映射;静默流表项内容字段采用链式结构存储,以支持流表项的动态调整。
【技术特征摘要】
1.大规模OpenFlow流表分级存储架构,其特征在于,所述存储架构为分层加速流表架构,所述分层加速流表架构包括三层:活跃流表层、静默流表层及流表存储层;所述活跃流表层采用TCAM作为存储介质,用于存储活跃流表项的流标识字段,所述流标识字段主要为匹配域信息;所述静默流表层采用SRAM作为存储介质,用于存储静默流表项的流标识字段和对应表项索引指针;由于SRAM不支持通配查找,需要将其存储的静默流表项按照掩码进行分类存储;SRAM中还存储有BF过滤器,该过滤器能降低SRAM流表的查找开销;所述流表存储层采用DRAM作为存储介质,用于分别存储活跃流表和静默流表的内容字段;活跃流表的内容字段存储空间大小固定,条目数量与TCAM相等,以支持TCAM标识字段与DRAM内容字段之间的直接映射;静默流表项内容字段采用链式结构存储,以支持流表项的动态调整。2.根据权利要求1所述的大规模OpenFlow流表分级存储架构,其特征在于,所述BF过滤器包括:CBF过滤器、DCF过滤器、SBF过滤器。3.大规模OpenFlow流表加速查找方法,其特征在于,所述方法具体包括如下步骤:S1、建立分层加速流表架构并对流表进行存储,所述分层加速流表架构包括三层:活跃流表层、静默流表层及流表存储层;所述活跃流表层采用TCAM作为存储介质,用于存储活跃流表项的流标识字段,所述流标识字段主要为匹配域信息;所述静默流表层采用SRAM作为存储介质,用于存储静默流表项的流标识字段和对应表项索引指针;由于SRAM不支持通配查找,需要将其存储的静默流表项按照掩码进行分类存储;SRAM中还存储有CBF过滤器,该过滤器能降低SRAM流表的查找开销;所述流表存储层采用DRAM作为存储介质,用于分别存储活跃流表和静默流表的内容字段;活跃流表的内容字段存储空间大小固定,条目数量与TCAM相等,以支持TCAM标识字段与DRAM内容字段之间的直接映射;静默流表项内容字段采用链式结构存储,以支持流表项的动态调整;S2、当OpenFlow交换机收到某个网络数据包p时,首先对其进行头域解析,即解析提取其首部重要字段,进而计算其流标识符fid,然后使用流标识符fid查找TCAM流表;若查找成功,则根据TCAM地址索引到DRAM流表中的对应表项内容,并做更新表项处理,执行对应动作;若查找失败,则进入SRAM预测查找阶段;S3、SRAM预测查找在SRAM预测查找阶段中,需从SRAM中逐个读取掩码maski:若读取成功,则需使用流标识符fid与掩码maski进行“与操作”计算流关键字keyi,然后使用流关键字keyi查询BF过滤器进行预测查找;若BF过滤器成功判断该子流表中不存在对应流表项,则直接读取下一个掩码,重复预测查找过程,直到掩码全部读取完毕,该时,掩码读取将会失败,意味着流表失配,交换机会发送流安装请求给SDN控制器;相反,若BF过滤器预测失败,则进入SRAM流表查找阶段,进一步查找流表项;S4、SRAM流表查找当BF过滤器预测失败,即流关键字keyi可能存在于SRAM子流表中时,会继续查找该子流表;若子流表查找仍是失败,则继续探测下一个掩码;反之,则使用查找到的DRAM指针读取表项内容,并做更新表项处理,执行对应动作;此时,判断该流表项是否进入活跃状态:对每条流表项,当有新的数据包命中时,通过新数据包与上一个数据包的到达时间间隔判定新到达数据包是否属于当前批次,并更新当前批次数据;若新到达数据包属于当前批次,则进一步判断当前批次数据包到达数目及平均到达速率是否满足活跃流表项判定阈值,若满足,则认为该流表项进入了活跃状态,采用替...
【专利技术属性】
技术研发人员:熊兵,邬仁庚,赵锦元,胡念,胡龙平,
申请(专利权)人:长沙理工大学,
类型:发明
国别省市:湖南,43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。