[发明专利]流表匹配方法和装置以及交换机有效
申请号: | 201210586928.3 | 申请日: | 2012-12-28 |
公开(公告)号: | CN103905311B | 公开(公告)日: | 2017-02-22 |
发明(设计)人: | 周在福 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/743 | 分类号: | H04L12/743;H04L12/741;H04L12/947 |
代理公司: | 北京同立钧成知识产权代理有限公司11205 | 代理人: | 谭磊 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 匹配 方法 装置 以及 交换机 | ||
技术领域
本发明实施涉及通信技术,尤其涉及一种流表匹配方法和装置以及交换机。
背景技术
OpenFlow技术最早由斯坦福大学提出,旨在基于现有TCP/IP技术条件,以创新的网络互联理念解决当前网络面对新业务产生的种种瓶颈。它的核心思想是将原本完全由交换机/路由器控制的数据包转发过程,转化为由OpenFlow交换机(OpenFlow Switch)和控制服务器(Controller)分别完成的独立过程。OpenFlow交换机会在本地维护一个流表(Flow Table),如果要转发的数据包在流表中有对应项,则直接进行快速转发;若流表中没有此项,数据包就会被发送到控制服务器进行传输路径的确认,再根据下发结果进行转发。
在OpenFlow发展初期,交换机中的流表是扁平化的,其中的流表项分成两种,完全精确匹配流表项和通配流表项。其中,通配流表项包含部分需要精确匹配的匹配域(Match Field)和部分可以通配匹配的匹配域。完全精确匹配流表项存放在外部随机存储器(Random Access Memory;简称:RAM)中,可以有较大的存储容量,通过哈希(HASH)快速查找。而通配流表项由于存在不确定的匹配域(即可以通配匹配的匹配域),其是存储在三态内容寻址存储器(Ternary Content Addressable Memory;简称:TCAM)中进行快速查找。限于目前技术水平,TCAM价格昂贵且功耗较大。由于TCAM的限制,所以在实现中一般控制服务器以下完全精确匹配流表项为主。由于完全精确匹配流表项完整的定义了一个数据流,因此流表容量庞大,阻碍了OpenFlow的发展。
随着OpenFlow技术的发展,现有技术将流表扩展为多级流表,通过多个流表的组合,大量减少了流表项的条数,但是分配在多个流表中流表项,都只关心部分的特征数据,其他部分需要通配解决,由此增加了通配表项的条数,从而导致TCAM容量的大量占用。
发明内容
本发明实施例针对现有技术的缺陷,提供一种流表匹配方法和装置以及交换机,以提高TCAM的利用率。
本发明实施例的一方面提供一种流表匹配方法,所述流表包括精确匹配流表和通配流表,所述精确匹配流表存储在内存中,所述通配流表存储在三态内容寻址存储器中;所述精确匹配流表包括一个或多个精确匹配表项,每个精确匹配表项包括多个精确匹配域,每个精确匹配表项对应一个索引值;所述通配流表包括一个或多个通配表项,每个通配表项包括多个通配域以及一个用于存储所述索引值的索引域;通过所述索引值关联的精确匹配表项和通配表项组成一个完整的流表项;所述方法包括:
获取接收到的报文中的多个匹配域,所述多个匹配域包括多个精确匹配域和多个通配域;
将所述报文中的多个精确匹配域与所述精确匹配流表中各所述精确匹配表项的多个精确匹配域进行匹配,若匹配成功,则获取与所述精确匹配表项对应的索引值;
根据所述索引值,将所述报文中的多个通配域与所述通配流表中各所述通配表项的多个通配域进行匹配,获得匹配结果。
本发明实施例提供的方法中,可以应用哈希HASH算法,进行所述报文中的多个精确匹配域与所述精确匹配流表中各所述精确匹配表项的多个精确匹配域的匹配。
本发明实施例提供的方法中,还包括:
接收控制服务器下发的目标流表,所述目标流表包括至少一个流表项,各流表项包括多个精确匹配域和多个通配域;
将各流表项中的多个精确匹配域与所述精确匹配流表中各所述精确匹配表项的多个精确匹配域进行匹配,若匹配成功,则获取与所述精确匹配表项对应的索引值;若匹配不成功,则在所述精确匹配流表中的一精确匹配表项中存储所述目标流表的多个精确匹配域,并为所述精确匹配表项分配一个索引值;
将所述目标流表的多个通配域存储在所述通配流表中的一个通配表项中,并将所述索引值存储在所述通配表项中的索引域内。
本发明实施例提供的方法中,还包括:
为所述通配流表中的各通配表项设置有效时间,当有效时间结束后,若所述通配表项存储的索引值不与其他通配表项存储的索引值相同,则同时删除所述通配表项和所述索引值对应的精确匹配表项;
若所述通配表项存储的索引值与其他通配表项存储的索引值相同,则仅删除所述通配表项。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210586928.3/2.html,转载请声明来源钻瓜专利网。