一种数据报文转发方法及装置制造方法及图纸

技术编号:11158293 阅读:79 留言:0更新日期:2015-03-18 14:17
本发明专利技术实施例公开了数据报文转发方法及装置,用于提高数据报文在进行流表匹配时的匹配效率。本发明专利技术实施例方法包括:获取数据报文的属性标识;根据所述属性标识在第一流表中查找第一流表项,所述第一流表项包括:动作集合,所述动作集合为一种数据报文的各个属性标识在多级流表中分别对应的指定操作;若所述第一流表项查找成功,则根据与所述属性标识匹配的第一流表项对应的动作集合对所述数据报文进行转发。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种数据报文转发方法及装置
技术介绍
OpenFlow和软件定义网络(SDN,Software Defined Network)允许对一个网络进行编程,好像这个网络就是一台计算机一样。它可将物理网络的抽象层直接提供给控制元件,允许通过软件设置和操作网络。这将为进一步的创新敞开大门。OpenFlow技术最早由斯坦福大学提出,旨在基于现有传输控制协议/因特网互联协议(TCP/IP,Transmission Control Protocol/Internet Protocol)技术条件,以创新的网络互联理念解决当前网络面对新业务产生的种种瓶颈,已被享有声望的《麻省理工科技评论》杂志评为十大未来技术。它的核心思想很简单,就是将原本完全由交换机/路由器控制的数据报文转发过程,转化为由OpenFlow交换机(OpenFlow交换机)和控制服务器(Controller)分别完成的独立过程。转变背后进行的实际上是控制权的更迭:传统网络中数据报文的流向是人为指定的,虽然交换机、路由器拥有控制权,却没有数据报文的概念,只进行数据报文级别的交换;而在OpenFlow网络中,统一的控制服务器取代路由,决定了所有数据报文在网络中传输路径。OpenFlow交换机会在本地维护一个与流表不同的流表(Flow Table),如果要转发的数据报文在流表中有对应项,则直接进行快速转发;若流表中没有此项,数据报文就会被发送到控制服务器进行传输路径的确认,再根据下发结果进行转发。OpenFlow版本从OFP1.0发展到OFP1.2。主要扩展了多控制器、多流表、组表等几个重要特性。多流表的使得controller可以将不同的业务划分到不同的表来处理。同时多流表的特性也增加了硬件实现快速转发的难度,以及转发延时。主要原因是:1、多个流表间有先后顺序的要求;2、每个数据报文在标间流转的时候,匹配域会发生变化。(apply instruction+set field、write metadata);3、以上关系导致多个表无法解耦然后并发查找。在主机中运行一个OpenFlow的交换机软件,支持和Controller之间的信息交互,流表管理。同时,数据面的部分数据查表转发功能下放到一个现场可编程门阵列(FPGA,Field-Programmable Gate Array)板卡中。利用到硬件的三态内容寻址存储器(TCAM,ternary content addressable memory)查找功能以及硬件的并发处理能力,有效的提高了系统的能力。该方案虽然将交换机流表的一个子集放在硬件板卡中工作。但是由于TCAM资源的限制,它支持的流表项数量有限。同时,直接使用方法来多流表的硬件加速需要的增加多个查表和执行引擎,成本比较高。
技术实现思路
本专利技术实施例提供了一种数据报文转发方法及装置,用于提高数据报文在进行流表匹配时的匹配效率。本专利技术实施例第一方面提供的数据报文转发方法,包括:获取数据报文的属性标识;根据所述属性标识在第一流表中查找第一流表项,所述第一流表项包括:动作集合,所述动作集合为一种数据报文的各个属性标识在多级流表中对应的指定操作的集合;若所述第一流表项查找成功,则根据与所述属性标识匹配的第一流表项对应的动作集合对所述数据报文进行转发。在第一方面的第一种可能的实现方式中,所述第一流表项还包括:精确匹配域;所述根据属性标识在第一流表中查找第一流表项,包括:在第一流表中查找与所述数据报文的各个属性标识都匹配的精确匹配域,所述精确匹配域对应的第一流表项为所要查找的第一流表项。在第一方面的第二种可能的实现方式中,所述根据属性标识在第一流表中查找第一流表项之后,包括:若所述第一流表项查找失败,则根据所述属性标识依次在多级第二流表中查找第二流表项,依次根据各个所述第二流表项中的指定操作对所述数据报文进行转发,并根据查找到的各个所述第二流表项生成所述第一流表项,将所述第一流表项记录在所述第一流表中。结合第一方面的第二种可能实现方式,在第一方面的第三种可能的实现方式中,所述第二流表项包括:通配匹配域和指定操作;所述根据查找到的各个第二流表项生成第一流表项,包括:在依次根据各个所述第二流表项中的指定操作对所述数据报文进行转发之后,记录执行过的所述指定操作,得到所述数据报文的动作集合;分析所述数据报文,获得所述数据报文的精确匹配域;根据所述数据报文的动作集合和所述精确匹配域生成所述数据报文对应的第一流表项。结合第一方面的第二种可能实现方式,在第一方面的第四种可能的实现方式中,所述根据查找到的各个所述第二流表项生成所述第一流表项之后,包括:当第二流表中的第二流表项被老化时,删除第一流表中与所述第二流表项相关联的第一流表项;或,当第二流表中的第二流表项被修改时,删除第一流表中与所述第二流表项相关联的第一流表项;或,当第二流表中的第二流表项被删除时,删除第一流表中与所述第二流表项相关联的第一流表项;或,当第二流表中添加新的第二流表项时,检测第一流表中与所述第二流表相关联的第一流表项的优先级是否比新增第二流表项低,若是,则删除第一流表中与所述第二流表相关联的第一流表项。结合第一方面的第二种可能实现方式,在第一方面的第五种可能的实现方式中,所述根据查找到的各个所述第二流表项生成所述第一流表项之后,包括:实时或定时向所述第二流表发送所述第一流表的流量统计消息,使得所述第二流表根据所述流量统计消息来记录所述数据报文的流量,并更新相应的第二流表项的空闲时间idel time。本专利技术实施例第二方面提供的交换机,包括:数据获取单元,用于获取数据报文的属性标识;匹配查找单元,用于根据所述属性标识在第一流表中查找第一流表项,所述第一流表项包括:动作集合,所述动作集合为一种数据报文的各个属性标识在多级流表中对应的指定操作的集合;转发单元,用于若所述第一流表项查找成功,则根据与所述属性标识匹配的第一流表项对应的动作集合对所述数据报文进行转发。在第二方面的第一种可能的实现方式中,所述匹配查找单元具体用于:在第一流表中查找与所述数据报文的各个属性标识都匹配的精确匹配域,所述精确匹配域对应的第一流表项为所要查找的第一流表项。在第二方面的第二种可能的实现方式中,所述交换机还包括:流表生成单元,用于若所述第一流本文档来自技高网
...
一种数据报文转发方法及装置

【技术保护点】
一种数据报文转发方法,其特征在于,包括:获取数据报文的属性标识;根据所述属性标识在第一流表中查找第一流表项,所述第一流表项包括:动作集合,所述动作集合为一种数据报文的各个属性标识在多级流表中对应的指定操作的集合;若所述第一流表项查找成功,则根据与所述属性标识匹配的第一流表项对应的动作集合对所述数据报文进行转发。

【技术特征摘要】
1.一种数据报文转发方法,其特征在于,包括:
获取数据报文的属性标识;
根据所述属性标识在第一流表中查找第一流表项,所述第一流表项包括:
动作集合,所述动作集合为一种数据报文的各个属性标识在多级流表中对应
的指定操作的集合;
若所述第一流表项查找成功,则根据与所述属性标识匹配的第一流表项
对应的动作集合对所述数据报文进行转发。
2.根据权利要求1所述的方法,其特征在于,
所述第一流表项还包括:精确匹配域;
所述根据属性标识在第一流表中查找第一流表项,包括:
在第一流表中查找与所述数据报文的各个属性标识都匹配的精确匹配
域,所述精确匹配域对应的第一流表项为所要查找的第一流表项。
3.根据权利要求1所述的方法,其特征在于,所述根据属性标识在第一
流表中查找第一流表项之后,包括:
若所述第一流表项查找失败,则根据所述属性标识依次在多级第二流表
中查找第二流表项,依次根据各个所述第二流表项中的指定操作对所述数据
报文进行转发,并根据查找到的各个所述第二流表项生成所述第一流表项,
将所述第一流表项记录在所述第一流表中。
4.根据权利要求3所述的方法,其特征在于,所述第二流表项包括:通
配匹配域和指定操作;
所述根据查找到的各个第二流表项生成第一流表项,包括:
在依次根据各个所述第二流表项中的指定操作对所述数据报文进行转发
之后,记录执行过的所述指定操作,得到所述数据报文的动作集合;
分析所述数据报文,获得所述数据报文的精确匹配域;
根据所述数据报文的动作集合和所述精确匹配域生成所述数据报文对应
的第一流表项。
5.根据权利要求3所述的方法,其特征在于,所述根据查找到的各个所
述第二流表项生成所述第一流表项之后,包括:
当第二流表中的第二流表项被老化时,删除第一流表中与所述第二流表

\t项相关联的第一流表项;
或,
当第二流表中的第二流表项被修改时,删除第一流表中与所述第二流表
项相关联的第一流表项;
或,
当第二流表中的第二流表项被删除时,删除第一流表中与所述第二流表
项相关联的第一流表项;
或,
当第二流表中添加新的第二流表项时,检测第一流表中与所述第二流表
相关联的第一流表项的优先级是否比新增第二流表项低,若是,则删除第一
流表中与所述第二流表相关联的第一流表项。
6.根据权利要求3所述的方法,其特征在于,所述根据查找到的各个所
述第二流表项生成所述第一流表项之后,包括:
实时或定时向所述第二流表发送所述第一流表的流量统计消息,使得所
述第二流表根据所述流量统计消息来记录所述数据报...

【专利技术属性】
技术研发人员:沈伟锋周在福吴祖光
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1