【技术实现步骤摘要】
一种支持规则依赖的高能效OpenFlow流表查找方法
本专利技术涉及OpenFlow流表
,特别涉及一种支持规则依赖的高能效OpenFlow流表查找方法。
技术介绍
为了实现灵活的流管理,OpenFlow流表项中的任意匹配字段均可携带通配符,这将导致多条OpenFlow流规则出现重叠现象,从而使得同一网络分组可能会成功匹配多条流规则。解决该问题的常用办法是为每条流规则赋予不同的优先级,这种具有不同优先级的多条流规则存在重叠的情况,称为规则依赖。当一个数据分组在OpenFlow流表中匹配到多条流表项时,往往选择优先级最高的那条作为最终匹配结果。为实现这样的效果,OpenFlow流表管理需要考虑流表项之间的依赖关系,并实时调整流表缓存与OpenFlow流表之间的映射关系,以保证OpenFlow流表查找结果的正确性。规则依赖问题具体而言,当TCAM中插入一条新流表项时,由于TCAM现有流表项可能与其存在规则依赖关系,存在流规则重叠部分。同时现有流表项可能又有部分活跃精确流缓存在流表缓存中,并且这些活跃精确流也隶属于该流表项。倘若不及时调整流表缓存与TCAM流表之间的映射关系,部分数据分组将依旧查找旧的缓存项,根据旧的流表项动作集进行转发,而不是根据优先级更高的新流表项动作集进行转发,从而导致OpenFlow流表查找结果失败。当TCAM中删除一条高优先级流表项时,也存在相同问题。由于高优先级流表项的删除,使得旧的缓存项失效,直接删除缓存项将导致查找性能降低,更好的方式是根据规则依赖关系重新建立这些缓存项与TCA ...
【技术保护点】
1.一种支持规则依赖的高能效OpenFlow流表查找方法,其特征在于,包括以下步骤:/nS100、建立支持规则依赖的高能效OpenFlow流表查找架构;所述架构包括:TCAM流表、DRAM流表以及使用SRAM为存储介质的流表缓存;/n所述TCAM流表用于存储流表项标识字段和优先级字段;所述DRAM流表用于存储流表项内容字段,还存储有活跃精确流列表;所述流表缓存中每条缓存项存储有活跃精确流签名、TCAM流表项索引值以及时间戳;所述架构在流表项更新阶段,将使用规则依赖算法对所述流表缓存与所述TCAM流表之间的映射关系进行自适应调整;/nS200、当OpenFlow交换机接收到数据分组后,提取流关键字,根据流关键字查找流表缓存,若流表缓存查找失败,则进入步骤S300;若流表缓存查找成功,则获取与所述数据分组对应的TCAM流表项索引值,并读取TCAM流表的标识字段中的匹配字段,判断流关键字与匹配字段是否一致,若一致,则根据对应的DRAM流表中的动作集执行相关操作;若不一致,则进入步骤S300;/nS300、进行TCAM流表查找;若TCAM流表查找失败,则将所述数据分组封装成packet-in消 ...
【技术特征摘要】
1.一种支持规则依赖的高能效OpenFlow流表查找方法,其特征在于,包括以下步骤:
S100、建立支持规则依赖的高能效OpenFlow流表查找架构;所述架构包括:TCAM流表、DRAM流表以及使用SRAM为存储介质的流表缓存;
所述TCAM流表用于存储流表项标识字段和优先级字段;所述DRAM流表用于存储流表项内容字段,还存储有活跃精确流列表;所述流表缓存中每条缓存项存储有活跃精确流签名、TCAM流表项索引值以及时间戳;所述架构在流表项更新阶段,将使用规则依赖算法对所述流表缓存与所述TCAM流表之间的映射关系进行自适应调整;
S200、当OpenFlow交换机接收到数据分组后,提取流关键字,根据流关键字查找流表缓存,若流表缓存查找失败,则进入步骤S300;若流表缓存查找成功,则获取与所述数据分组对应的TCAM流表项索引值,并读取TCAM流表的标识字段中的匹配字段,判断流关键字与匹配字段是否一致,若一致,则根据对应的DRAM流表中的动作集执行相关操作;若不一致,则进入步骤S300;
S300、进行TCAM流表查找;若TCAM流表查找失败,则将所述数据分组封装成packet-in消息发送给SDN控制器,以请求SDN控制器下发对应的流规则;若TCAM流表查找成功,则根据对应的DRAM流表中的动作集执行相关操作,并判断当前流是否进入活跃状态,若进入活跃状态,则将当前流存储至流表缓存中,并将当前流的信息插入至对应的DRAM流表中的活跃精确流列表中,更新DRAM流表;若未进入活跃状态,则更新DRAM流表。
2.根据权利要求1所述的一种支持规则依赖的高能效OpenFlow流表查找方法,其特征在于,还包括OpenFlow流表插入:
当OpenFlow交换机接收到SDN控制器下发的带ADD命令的flow_mod消息后,提取流规则信息,检测TCAM流表中是否存在空表项,若存在空表项,则将流规则信息插入至空表项中,并将该流规则作为待检测规则,对其进行规则依赖合并调整操作;若不存在空表项,则进行TCAM流表踢除操作,以留出一条空表项,将流规则信息插入至空表项中,并将该流规则作为待检测规则,对其进行规则依赖合并调整操作。
3.根据权利要求2所述的一种支持规则依赖的高能效OpenFlow流表查找方法,其特征在于,所述进行规则依赖合并调整操...
【专利技术属性】
技术研发人员:熊兵,邬仁庚,罗争,赵锦元,曾振国,
申请(专利权)人:长沙理工大学,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。