[发明专利]一种流表转换方法和装置有效
申请号: | 201310135991.X | 申请日: | 2013-04-18 |
公开(公告)号: | CN103259718A | 公开(公告)日: | 2013-08-21 |
发明(设计)人: | 丁万夫;林程勇;谢高岗;关洪涛;黄昆;潘恒 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/701 | 分类号: | H04L12/701 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 转换 方法 装置 | ||
技术领域
本发明涉及网络技术领域,尤其涉及一种流表转换方法和装置。
背景技术
随着网络设备新技术的不断发展,网络设备已经开始向数据转发和路由控制分离的架构转变。其中,OpenFlow便是一个典型的控制和转发相分离的网络设备架构,并已经引起了广泛的关注。从OpenFlow1.1版本之后提出了多级流表流水级的概念,一条完整的匹配流根据其匹配域的类型被划分到不同的OpenFlow流表表项中并彼此之间通过metadata相关联。而每次流表查找后得到的跳转指令执行会触发另一个流表的查找,直到没有跳转指令为止。而在OpenFlow1.2版本中,又提出了用类型长度值(Type Length Value,简称TLV)格式来表示流表匹配域,使得每个流表的匹配域都是不固定的。
但是,多级流表结构的复杂和灵活很难在硬件中很难实现。这样,软件到硬件实现过程中控制器需要适应硬件的下发规则,增加了控制器的负担和控制器管理开销。
发明内容
本发明的实施例提供一种流表转换方法和装置,在软件到硬件实现过程中控制器无需适应硬件的下发规则,减小了控制器的负担和管理开销。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种流表转换方法,包括:
在控制和转发相分离的网络设备架构中,将软件形式的多级流表等价转换成软件形式的单级流表;其中,所述单级流表是单表多域的;
根据硬件所实现的多级流表将所述单级流表拆分成对应的硬件形式的多级流表。
在第一种可能的实现方式中,结合第一方面,所述在控制和转发相分离的网络设备架构中,将软件形式的多级流表等价转换成软件形式的单级流表,包括:
获取所述软件形式的多级流表中的所有的完整匹配流;
从所述所有的完整匹配流中选取待处理流;其中,所述待处理流指需要添加到所述软件形式的多级流表中的流表项或者需要在所述软件形式的多级流表中删除的流表项所在的所有的完整的匹配流;
将所述待处理流等价转换成所述单级流表。
在第二种可能的实现方式中,结合第一种可能的实现方式,利用N叉数表示所述软件形式的多级流表的流表项的关系,所述获取所述软形式的多级流表中的所有的完整匹配流,包括:
生成所述N叉数的根节点;其中,所述根节点为所述软件形式的多级流表的第一个流表的一个流表项;
生成所述根节点的子节点;其中,所述子节点为所述第一个流表的任一流表项跳转到指定流表且匹配域匹配成功后所得到的所有流表项;所述子节点与所述流表项具有一一对应的关系;
采用递归算法对所述根节点的所有子节点进行操作,建立所述N叉数;其中,所述N为一个正整数;
如果任一流表项含有跳转指令操作,根据所述跳转操作指令跳转到对应的流表中,未匹配到与所述任一流表项相同的匹配域,则删除所述任一流表项所代表的节点,得到更新后的二叉数;
遍历所述更新后的N叉数,得到所述更新后的N叉数的所有叶子节点;
采用递归算法查找所述所有叶子节点的父节点直到根节点,获得所述所有的完整匹配流。
在第三种可能的实现方式中,结合第二种可能的实现方式,所述从所述所有的完整匹配流中选取待处理流,包括:
判断所述N叉数的节点对应的流表项的匹配域与预先下发的匹配域是否相同;
如果存在某一节点对应的流表项的匹配域与所述预先下发的匹配域相同,则所述某一节点所在的完整匹配流为待处理流。
在第四种可能的实现方式中,结合第三种可能的实现方式,所述将所述待处理流等价转换成所述单级流表,包括:
构造一个单表多域的流表项;其中,所述流表项中包含匹配域和匹配域匹配成功后所要执行的策略;
遍历所述待处理流,将所述待处理流的所有流表项中的每一个匹配域依次填充到新构造的单表多域的流表项中;其中,所述待处理流的每个策略按顺序依次填充到所述单表多域的流表项的策略列表中。
在第五种可能的实现方式中,结合第四种可能的实现方式,
所述待处理流中具有跳转命令的策略和写入命令的策略不能填充到单表多域的策略列表中;
如果某个流表项中的操作是设置某个匹配域时,而所述流表项之后有匹配所述匹配域的操作,则所述匹配域不能添加到所述流表项中。
在第六种可能的实现方式中,结合第一方面,所述根据硬件所实现的多级流表将所述单级流表拆分成对应的硬件形式的多级流表,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310135991.X/2.html,转载请声明来源钻瓜专利网。