Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METADATA TRANSMISSION AND RECEIVING METHOD, AND OFLS
Document Type and Number:
WIPO Patent Application WO/2015/027738
Kind Code:
A1
Abstract:
A metadata transmission and receiving method, and an openflow logical switch (OFLS). The metadata transmission method applies to a software-defined network (SDN), and comprises: an OFLS on a current openflow capable switch (OFCS) inserting metadata into a first packet or modifying the metadata, to generate a second packet carrying the metadata; and the current OFCS delivering the second packet to a next-level OFCS according to an action indicated by a matching flow table entry. In the foregoing technical solution, a packet delivered between OFLSs carries metadata, which can avoid a next OFLS from repeating an operation performed by the last OFLS, thereby saving some resources.

Inventors:
LIANG QIANDENG (CN)
YOU JIANJIE (CN)
JIAO XINWEN (CN)
Application Number:
PCT/CN2014/080387
Publication Date:
March 05, 2015
Filing Date:
June 20, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ZTE CORP (CN)
International Classes:
H04L12/701; H04L12/801; H04L12/931
Foreign References:
CN102957603A2013-03-06
CN103051629A2013-04-17
Other References:
"OpenFlow Switch Specification Version 1.3.2", OPEN NETWORKING FOUNDATION, 25 April 2013 (2013-04-25), Retrieved from the Internet [retrieved on 20140818]
"OpenFlow Switch Specification Version 1.3.2", OPEN NETWORKING FOUNDATION, 25 April 2013 (2013-04-25), Retrieved from the Internet [retrieved on 20140818]
Attorney, Agent or Firm:
AFD CHINA INTELLECTUAL PROPERTY LAW OFFICE (CN)
北京安信方达知识产权代理有限公司 (CN)
Download PDF:
Claims:
权 利 要 求 书

1、 一种传输元数据的方法, 应用于软件定义网络 SDN, 该方法包括: 当前开放流能力交换机 OFCS上的开放流逻辑交换机 OFLS在第一报文 中插入或修改元数据, 生成携带所述元数据的第二报文;

当前 OFCS根据与所述第二报文匹配的流表条目指示的动作将所述第二 报文传递给下一级 0FCS。

2、 如权利要求 1所述的传输元数据的方法, 其中:

所述元数据包含: 特性部分和内容部分;

所述特性部分包含: 携带所述元数据的所述第二报文的传输方式信息和 所述元数据的识别方式信息; 其中, 所述传输方式信息用于确定第二报文传 输元数据时的承载方式; 所述识别方式信息用于确定所述承载方式下 OFCS 预期的承载类型的标识值;

所述元数据的内容部分包含业务属性信息。

3、 如权利要求 2所述的传输元数据的方法, 其中:

所述传输方式信息表示所述第二报文传输的元数据承载于以太层, 所述 识别方式信息为 OFCS预期的以太类型的值; 或者,

所述传输方式信息表示所述第二报文传输的元数据承载于 IP层, 所述识 别方式信息为 OFCS预期的 IP协议类型的值; 或者,

所述传输方式信息表示所述第二报文传输的元数据承载于 UDP层,所述 识别方式信息为 OFCS预期的 UDP目的端口类型的值。

4、 如权利要求 2或 3所述的传输元数据的方法, 其中:

所述 SDN中的 OFCS支持多种不同格式的元数据,所述元数据的内容部 分包含第一标识字段, 所述第一标识字段的值根据所述元数据的格式确定。

5、 如权利要求 4所述的传输元数据的方法, 其中:

所述元数据的内容部分包含第二标识字段, 在所述第二标识字段中保存 所述第一报文承载头的标识字段的值。

6、 如权利要求 5所述的传输元数据的方法, 其中, 所述 OFLS在第一报 文中插入元数据之前, 该方法还包括:

所述 OFLS接收 OF控制器下发的第一流表条目, 该第一流表条目的写- 动作指令的动作参数集中包含扩展动作, 所述扩展动作包括推入元数据, 所 述推入元数据动作包括以下参数: 携带元数据的第二报文的承载方式、 所述 承载方式下 OFCS预期的承载类型的标识值和所述元数据的格式标识;

所述 OFLS在第一报文中插入元数据的步骤包括:

所述 OFLS将所述第一报文匹配到所述第一流表条目, 根据所述参数中 的承载方式在第一报文中对应的位置插入所述元数据的内容部分, 在内容部 分的第二标识字段中写入第一报文承载头的标识字段的值, 然后将第一报文 承载头的标识字段的值修改为所述参数中 0FCS预期的承载类型的标识值。

7、 如权利要求 6所述的传输元数据的方法, 其中:

所述扩展动作还包括设置元数据字段, 所述设置元数据字段动作包括以 下参数: 字段偏移、 字段大小、 待设置值类型和数值;

所述 OFLS在第一报文中修改元数据的步骤包括:

所述 OFLS将所述字段偏移参数指向的元数据字段的数值设置为所述数 值参数。

8、 一种信息配置方法, 应用于软件定义网络 SDN, 该方法包括: 所述 SDN中的开放流能力交换机 0FCS接收第一节点对元数据格式的配 置;

所述 0FCS上的开放流逻辑交换机 OFLS接收所述第一节点对所述 OFLS 绑定的元数据格式的配置。 9、 如权利要求 8所述的信息配置方法, 其中:

所述第一节点包括: OF配置点、 OF控制器、网络管理系统 NMS和 0FCS 本地;

在所述绑定的元数据格式由所述 OF配置点、 网络管理系统或 OFCS本 地配置时, 所述方法还包括: 所述 OFLS向与该 OFLS建链的 OF控制器上才艮 该 OFLS绑定的元数据格式。 10、 如权利要求 9所述的信息配置方法, 其中, 所述 OFLS向与该 OFLS 建链的 OF控制器上报该 OFLS绑定的元数据格式的步骤包括:

所述 OFLS通过扩展的专用异步消息将绑定的元数据格式主动上报给所 述建链的 OF控制器。

11、 如权利要求 9所述的信息配置方法, 其中, 所述 OFLS向与该 OFLS 建链的 OF控制器上报该 OFLS绑定的元数据格式的步骤包括:

所述 OFLS与 OF控制器之间通过 Multipart消息中扩展的一组元数据格 式查询请求消息和元数据格式查询应答消息, 进行 OFLS绑定的元数据格式 的查询和上才艮。

12、 一种接收元数据的方法, 应用于软件定义网络 SDN, 该方法包括: 所述 SDN中的开放流能力交换机 OFCS接收到报文后,识别报文中携带 的元数据, 解析元数据的内容部分, 将报文和 /或所述元数据的内容部分引导 到所述 OFCS上的逻辑服务节点进行处理。

13、 如权利要求 12所述的接收元数据的方法, 其中, 所述 OFCS解析元 数据的内容部分的步骤包括:

所述 OFCS 根据元数据内容部分中的第一标识字段指示的元数据的格 式, 对元数据内容部分进行解析。

14、 如权利要求 13所述的接收元数据的方法, 其中, 所述 OFCS将报文 和 /或所述元数据的内容部分引导到所述 OFCS 上的逻辑服务节点的步骤包 括:

所述 OFCS在所述元数据的内容部分包含开放流逻辑交换机 OFLS标识 字段时, 根据所述 OFLS标识字段确定将所述报文和 /或元数据的内容部分引 导到的 OFLS; 或者,

所述 OFCS在所述元数据的内容部分包含流分类标识字段时, 根据已配 置的流映射策略将所述"¾文和 /或元数据的内容部分引导到 OFLS上; 或者, 所述 OFCS在所述元数据的内容部分包含服务节点标识字段时, 将所述 报文和 /或元数据的内容部分引导到服务节点标识字段指向的服务实例上。

15、 如权利要求 12所述的接收元数据的方法, 其中, 所述逻辑服务节点 进行处理之前, 该方法还包括:

所述逻辑服务节点接收 OF控制器下发第二流表条目, 该第二流表条目 的匹配域中包含扩展的元数据字段;

所述逻辑服务节点进行处理的步骤包括:

所述逻辑服务节点在流表管道的流表上釆用元数据的内容部分包含的流 分类标识字段作为匹配键值。

16、 如权利要求 15所述的接收元数据的方法, 其中:

在所述第二流表条目的写 -动作指令的动作参数集中包含扩展动作, 所述 扩展动作包括弹出元数据, 所述弹出元数据动作包括以下参数: 元数据的承 载类型和第二标识字段;

所述逻辑服务节点进行处理的步骤还包括:

所述逻辑服务节点从报文中剥离元数据, 并将元数据的内容部分的第二 标识字段的值回填报文的承载头的标识字段。

17、 一种开放流逻辑交换机, 包括: 第一单元, 其中:

所述第一单元设置成: 在第一报文中插入或修改元数据, 生成携带所述 元数据的第二报文。

18、 如权利要求 17所述的开放流逻辑交换机, 其中:

所述元数据包含: 特性部分和内容部分; 所述特性部分包含: 携带元数据的第二报文的传输方式信息和元数据的 识别方式信息; 其中, 所述传输方式信息确定第二报文传输元数据时的承载 方式; 所述识别方式信息确定所述承载方式下开放流能力交换机 OFCS预期 的承载类型的标识值;

所述元数据的内容部分包含业务属性信息。

19、 如权利要求 18所述的开放流逻辑交换机, 其中: 所述元数据的内容部分包含第一标识字段, 所述第一标识字段的值根据 所述元数据的格式确定; 所述元数据的内容部分还包含第二标识字段, 在所 述第二标识字段中保存所述第一报文承载头的标识字段的值。 20、如权利要求 19所述的开放流逻辑交换机, 所述开放流逻辑交换机还 包括接收单元, 其中: 所述接收单元设置成: 接收 OF控制器下发的第一流表条目, 该第一流 表条目的写-动作指令的动作参数集中包含扩展动作, 所述扩展动作包括推入 元数据, 所述推入元数据动作包括以下参数: 携带元数据的第二报文的承载 方式、 所述承载方式下 OFCS预期的承载类型的标识值和所述元数据的格式 标识;

所述第一单元设置成按照如下方式在第一报文中插入元数据: 将所述第 一报文匹配到所述第一流表条目, 根据所述参数中的承载方式在第一报文中 对应的位置插入所述元数据的内容部分, 在内容部分的第二标识字段中写入 第一报文承载头的标识字段的值, 然后将第一报文承载头的标识字段的值修 改为所述参数中 OFCS预期的承载类型的标识值。

21、 如权利要求 20所述的开放流逻辑交换机, 其中: 所述扩展动作还包括设置元数据字段, 所述设置元数据字段动作包括以 下参数: 字段偏移、 字段大小、 待设置值类型和数值;

所述第一单元设置成按照如下方式在第一报文中修改元数据: 将所述字 段偏移参数指向的元数据字段的数值设置为所述数值参数。

22、 如权利要求 20或 21所述的开放流逻辑交换机, 所述开放流逻辑交 换机还包括匹配单元, 其中:

所述接收单元还设置成: 接收 OF控制器下发第二流表条目, 该第二流 表条目的匹配域中包含扩展的元数据字段;

所述匹配单元设置成: 在流表管道的流表上釆用元数据的内容部分包含 的流分类标识字段作为匹配键值。

23、 如权利要求 22所述的开放流逻辑交换机, 其中, 所述开放流逻辑交 换机还包括第二单元, 其中:

在所述第二流表条目的写-动作指令的动作参数集中包含扩展动作, 所述 扩展动作包括弹出元数据, 所述弹出元数据动作包括以下参数: 元数据的承 载类型和第二标识字段;

所述第二单元设置成: 从报文中剥离元数据, 并将元数据的内容部分的 第二标识字段的值回填报文的承载头的标识字段。

24、 一种开放流能力交换机, 包括: 识别解析单元和引导单元, 其中: 所述识别解析单元设置成: 识别接收到的报文中携带的元数据, 解析元 数据的内容部分;

所述引导单元设置成: 将报文和 /或所述元数据的内容部分引导到所述开 放流能力交换机 OFCS上的逻辑服务节点进行处理。

25、 如权利要求 24所述的开放流能力交换机, 其中, 所述识别解析单元 设置成按照如下方式解析元数据的内容部分: 根据元数据内容部分中的第一标识字段指示的元数据的格式, 对元数据 内容部分进行解析。

26、 如权利要求 24所述的开放流能力交换机, 其中, 所述引导单元设置 成按照如下方式将报文和 /或所述元数据的内容部分引导到所述 OFCS上的逻 辑服务节点:

在所述元数据的内容部分包含开放流逻辑交换机 OFLS标识字段时, 根 据所述 OFLS 标识字段确定将所述报文和 /或元数据的内容部分引导到的 OFLS; 或者,

在所述元数据的内容部分包含流分类标识字段时, 根据已配置的流映射 策略将所述报文和 /或元数据的内容部分引导到 OFLS上; 或者,

在所述元数据的内容部分包含服务节点标识字段时, 将所述报文和 /或元 数据的内容部分引导到服务节点标识字段指向的服务实例上。

Description:
一种传输、 接收元数据的方法、 开放流逻辑交换机

技术领域

本发明涉及软件定义网络(SDN, Software Defined Network ) 架构通信 领域, 尤其涉及一种传输、 接收元数据的方法、 开放流逻辑交换机。

背景技术

由于现在的网络暴露出了越来越多的弊病以及 人们对网络性能的需求越 来越高, 研究人员不得不把很多复杂功能加入到路由器 的体系结构当中, 例 如 OSPF、 BGP、 组播、 区分服务、 流量工程、 NAT、 防火墙、 MPLS等等。 这就使得路由器等交换设备越来越臃肿而且性 能提升的空间越来越小。

然而, 与网络领域的困境截然不同的是, 计算机领域实现了日新月异的 发展。 仔细回顾计算机领域的发展, 不难发现其关键在于计算机领域找到了 一种简单可用的硬件底层 (x86 指令集) 。 由于有了这样一种公用的硬件底 层, 所以在软件方面, 不论是应用程序还是操作系统都取得了飞速的 发展。 现在很多主张重新设计计算机网络体系结构的 人士认为: 网络可以复制计算 机领域的成功来解决现在网络所遇到的所有问 题。 在这种思想的指导下, 将 来的网络必将是这样的: 底层的数据通路(交换机、 路由器)是"哑的、 简单 的、 最小的", 并定义一个对外开放的关于流表的公用的 API, 同时釆用控制 器来控制整个网络。 未来的研究人员就可以在控制器上自由的调用 底层的 API来编程, 从而实现网络的创新。

基于上述的理念, 出现了 SDN, 其最初是由美国斯坦福大学 clean slate 研究组提出的一种新型网络创新架构。 目前, 其核心技术开放流 OpenFlow 协议(请参考图 1 )通过将网络设备控制面与数据面分离开来, 从而实现了 网络流量的灵活控制, 为核心网络及应用的创新提供了良好的平台。 控制面 包含 OF 控制器 (OpenFlow Controller ) , 数据面包含开放流能力交换机 ( OFCS , OpenFlow Capable Switch )

OpenFlow协议用来描述控制器和交换机之间交互 用信息的标准, 以 及控制器和交换机的接口标准。 协议的核心部分是用于 OpenFlow协议信息 结构的集合。

如图 2所示为 OpenFlow流表和基于流表的报文处理流程, 流表中包含多 个流表条目, 流表条目由匹配字段、 计数器和指令集等如下几个字段构成:

其中 , Match Fields是报文匹配的输入关键字, 用于匹配一条流表项; 计数器 Counters是管理用的各种统计信息;

指令集(Instructions )是指对报文的操作指令, 包括丟弃、 转发报文到指 定端口、 设置报文头部字段值、 增加封装标签等。

动作集( Action Set )和每个报文相关联, 它在流水线的多个流表之间传 递并被各流表的指令所修改, 直到流水线处理结束, 形成最终的动作集。

如图 3所示, 经过编排的多个流表级联成流表管道, 用来配置交换机转 发路径, 管道内相邻流表间釆用 metadata (元数据)携带数据(例如 tunnel id ) , 以便当前流表继承利用上一级流程的处理成果 , 简化匹配域或避免重 复工作, 有效的让管道内关联的流表协同工作, 让管道上的流表更简单。

当多个 OF交换机形成一个 SDN网络时, 流量在该网络上流经多个 OF 交换机, 相当于将多个 OF 交换机的流表管道连接成一个更长的虚拟管道 。 由于一般 SDN 网络的中间节点会汇聚交换边缘节点的流量, 导致中间节点 需要更多的流表条目信息来实现流转发, 需要消耗更多的资源来重复进行流 分类的工作。

发明内容

本发明实施例要解决的技术问题是提供一种传 输、 接收元数据的方法、 开放流逻辑交换机, 减少 SDN网络的节点间的重复工作。

为解决上述技术问题, 釆用如下技术方案:

一种传输元数据的方法, 应用于软件定义网络 SDN, 该方法包括: 当前开放流能力交换机 OFCS上的开放流逻辑交换机 OFLS在第一报文 中插入或修改元数据, 生成携带所述元数据的第二报文;

当前 OFCS根据与所述第二报文匹配的流表条目指示 动作将所述第二 报文传递给下一级 OFCS。

可选地, 所述元数据包含: 特性部分和内容部分;

所述特性部分包含: 携带所述元数据的所述第二报文的传输方式信 息和 所述元数据的识别方式信息; 其中, 所述传输方式信息用于确定第二报文传 输元数据时的承载方式; 所述识别方式信息用于确定所述承载方式下 OFCS 预期的承载类型的标识值;

所述元数据的内容部分包含业务属性信息。

可选地, 所述传输方式信息表示所述第二报文传输的元 数据承载于以太 层, 所述识别方式信息为 OFCS预期的以太类型的值; 或者,

所述传输方式信息表示所述第二报文传输的元 数据承载于 IP层, 所述识 别方式信息为 OFCS预期的 IP协议类型的值; 或者,

所述传输方式信息表示所述第二报文传输的元 数据承载于 UDP层,所述 识别方式信息为 OFCS预期的 UDP目的端口类型的值。

可选地, 所述 SDN中的 OFCS支持多种不同格式的元数据, 所述元数据 的内容部分包含第一标识字段, 所述第一标识字段的值根据所述元数据的格 式确定。

可选地, 所述元数据的内容部分包含第二标识字段, 在所述第二标识字 段中保存所述第一报文承载头的标识字段的值 。

可选地, 所述 0FLS在第一报文中插入元数据之前, 该方法还包括: 所述 0FLS接收 OF控制器下发的第一流表条目, 该第一流表条目的写- 动作指令的动作参数集中包含扩展动作, 所述扩展动作包括推入元数据, 所 述推入元数据动作包括以下参数: 携带元数据的第二报文的承载方式、 所述 承载方式下 OFCS预期的承载类型的标识值和所述元数据的 式标识;

所述 0FLS在第一报文中插入元数据的步骤包括: 所述 OFLS将所述第一报文匹配到所述第一流表条目 根据所述参数中 的承载方式在第一报文中对应的位置插入所述 元数据的内容部分, 在内容部 分的第二标识字段中写入第一报文承载头的标 识字段的值, 然后将第一报文 承载头的标识字段的值修改为所述参数中 0FCS预期的承载类型的标识值。

可选地, 所述扩展动作还包括设置元数据字段, 所述设置元数据字段动 作包括以下参数: 字段偏移、 字段大小、 待设置值类型和数值;

所述 OFLS在第一报文中修改元数据的步骤包括:

所述 OFLS将所述字段偏移参数指向的元数据字段的 值设置为所述数 值参数。

一种信息配置方法, 应用于软件定义网络 SDN, 该方法包括:

所述 SDN中的开放流能力交换机 0FCS接收第一节点对元数据格式的配 置;

所述 0FCS上的开放流逻辑交换机 OFLS接收所述第一节点对所述 OFLS 绑定的元数据格式的配置。

可选地,所述第一节点包括: OF配置点、 OF控制器、网络管理系统 NMS 和 0FCS本地;

在所述绑定的元数据格式由所述 OF配置点、 网络管理系统或 0FCS本 地配置时, 所述方法还包括: 所述 OFLS向与该 OFLS建链的 OF控制器上才艮 该 OFLS绑定的元数据格式。

可选地, 所述 OFLS向与该 OFLS建链的 OF控制器上报该 OFLS绑定的 元数据格式的步骤包括:

所述 OFLS通过扩展的专用异步消息将绑定的元数据 式主动上报给所 述建链的 OF控制器。

可选地, 所述 OFLS向与该 OFLS建链的 OF控制器上报该 OFLS绑定的 元数据格式的步骤包括:

所述 OFLS与 OF控制器之间通过 Multipart消息中扩展的一组元数据格 式查询请求消息和元数据格式查询应答消息, 进行 OFLS绑定的元数据格式 的查询和上才艮。

一种接收元数据的方法, 应用于软件定义网络 SDN, 该方法包括: 所述 SDN中的开放流能力交换机 OFCS接收到报文后,识别报文中携带 的元数据, 解析元数据的内容部分, 将报文和 /或所述元数据的内容部分引导 到所述 OFCS上的逻辑服务节点进行处理。

可选地, 所述 OFCS解析元数据的内容部分的步骤包括:

所述 OFCS 根据元数据内容部分中的第一标识字段指示的 元数据的格 式, 对元数据内容部分进行解析。

可选地,所述 OFCS将报文和 /或所述元数据的内容部分引导到所述 OFCS 上的逻辑服务节点的步骤包括:

所述 OFCS在所述元数据的内容部分包含开放流逻辑 换机 OFLS标识 字段时, 根据所述 OFLS标识字段确定将所述报文和 /或元数据的内容部分引 导到的 OFLS; 或者,

所述 OFCS在所述元数据的内容部分包含流分类标识 段时, 根据已配 置的流映射策略将所述"¾文和 /或元数据的内容部分引导到 OFLS上; 或者, 所述 OFCS在所述元数据的内容部分包含服务节点标 字段时, 将所述 报文和 /或元数据的内容部分引导到服务节点标识字 指向的服务实例上。

可选地, 所述逻辑服务节点进行处理之前, 该方法还包括:

所述逻辑服务节点接收 OF控制器下发第二流表条目, 该第二流表条目 的匹配域中包含扩展的元数据字段;

所述逻辑服务节点进行处理的步骤包括:

所述逻辑服务节点在流表管道的流表上釆用元 数据的内容部分包含的流 分类标识字段作为匹配键值。

可选地, 在所述第二流表条目的写-动作指令的动作参 集中包含扩展动 作, 所述扩展动作包括弹出元数据, 所述弹出元数据动作包括以下参数: 元 数据的承载类型和第二标识字段;

所述逻辑服务节点进行处理的步骤还包括:

所述逻辑服务节点从报文中剥离元数据, 并将元数据的内容部分的第二 标识字段的值回填报文的承载头的标识字段。

一种开放流逻辑交换机, 包括: 第一单元, 其中:

所述第一单元设置成: 在第一报文中插入或修改元数据, 生成携带所述 元数据的第二报文。

可选地, 所述元数据包含: 特性部分和内容部分;

所述特性部分包含: 携带元数据的第二报文的传输方式信息和元数 据的 识别方式信息; 其中, 所述传输方式信息确定第二报文传输元数据时 的承载 方式; 所述识别方式信息确定所述承载方式下开放流 能力交换机 OFCS预期 的承载类型的标识值;

所述元数据的内容部分包含业务属性信息。

可选地, 所述元数据的内容部分包含第一标识字段, 所述第一标识字段 的值根据所述元数据的格式确定; 所述元数据的内容部分还包含第二标识字 段, 在所述第二标识字段中保存所述第一报文承载 头的标识字段的值。

可选地, 所述开放流逻辑交换机还包括接收单元, 其中:

所述接收单元设置成: 接收 OF控制器下发的第一流表条目, 该第一流 表条目的写 -动作指令的动作参数集中包含扩展动作, 所述扩展动作包括推入 元数据, 所述推入元数据动作包括以下参数: 携带元数据的第二报文的承载 方式、 所述承载方式下 OFCS预期的承载类型的标识值和所述元数据的 式 标识;

所述第一单元设置成按照如下方式在第一报文 中插入元数据: 将所述第 一报文匹配到所述第一流表条目, 根据所述参数中的承载方式在第一报文中 对应的位置插入所述元数据的内容部分, 在内容部分的第二标识字段中写入 第一报文承载头的标识字段的值, 然后将第一报文承载头的标识字段的值修 改为所述参数中 OFCS预期的承载类型的标识值。 可选地, 所述扩展动作还包括设置元数据字段, 所述设置元数据字段动 作包括以下参数: 字段偏移、 字段大小、 待设置值类型和数值;

所述第一单元设置成按照如下方式在第一报文 中修改元数据: 将所述字 段偏移参数指向的元数据字段的数值设置为所 述数值参数。

可选地, 所述开放流逻辑交换机还包括匹配单元, 其中:

所述接收单元还设置成: 接收 OF控制器下发第二流表条目, 该第二流 表条目的匹配域中包含扩展的元数据字段;

所述匹配单元设置成: 在流表管道的流表上釆用元数据的内容部分包 含 的流分类标识字段作为匹配键值。

可选地, 所述开放流逻辑交换机还包括第二单元, 其中:

在所述第二流表条目的写-动作指令的动作参 集中包含扩展动作, 所述 扩展动作包括弹出元数据, 所述弹出元数据动作包括以下参数: 元数据的承 载类型和第二标识字段;

所述第二单元设置成: 从报文中剥离元数据, 并将元数据的内容部分的 第二标识字段的值回填报文的承载头的标识字 段。

一种开放流能力交换机, 包括: 识别解析单元和引导单元, 其中: 所述识别解析单元设置成: 识别接收到的报文中携带的元数据, 解析元 数据的内容部分;

所述引导单元设置成: 将报文和 /或所述元数据的内容部分引导到所述开 放流能力交换机 OFCS上的逻辑服务节点进行处理。

可选地,所述识别解析单元设置成按照如下方 式解析元数据的内容部分: 根据元数据内容部分中的第一标识字段指示的 元数据的格式, 对元数据 内容部分进行解析。

可选地, 所述引导单元设置成按照如下方式将报文和 /或所述元数据的内 容部分引导到所述 OFCS上的逻辑服务节点:

在所述元数据的内容部分包含开放流逻辑交换 机 OFLS标识字段时, 根 据所述 OFLS 标识字段确定将所述报文和 /或元数据的内容部分引导到的 OFLS; 或者,

在所述元数据的内容部分包含流分类标识字段 时, 根据已配置的流映射 策略将所述报文和 /或元数据的内容部分引导到 OFLS上; 或者,

在所述元数据的内容部分包含服务节点标识字 段时, 将所述报文和 /或元 数据的内容部分引导到服务节点标识字段指向 的服务实例上。

综上所述, 上述技术方案通过在 OFLS之间传递的报文中携带元数据, 可以减少下一个 OFLS进行与上一个 OFLS相重复的工作, 从而节省部分资 源。 附图概述

图 1是相关技术中 OF-Config协议和 OpenFlow协议的示意图; 图 2是相关技术中基于每个流表的报文处理的示 图;

图 3是相关技术的报文流通过 OpenFlow处理管道的示意图;

图 4是本发明实施方式的传输元数据的方法的流 图;

图 5是本发明实施方式的信息配置方法的流程图

图 6是本发明实施方式的接收元数据的方法的流 图;

图 7是根据本发明实施例的 metadata在 OFCS间传递的网络架构图; 图 8是根据本发明实施例的 metadata应用不同承载方式承载时的报文封 装格式;

图 9是根据本发明实施例的 metadata穿越三层网络的传递示例; 图 10是本发明实施方式的开放流逻辑交换机的架 图;

图 11是本发明实施方式的开放流能力交换机的架 图。 本发明的较佳实施方式 本申请中考虑到, 在多个 OFCS形成一个 SDN网络时, 例如针对流分类 等问题, 如果中间节点不能利用边缘节点的流分类处理 的成果, 就需要消耗 更多的资源来重复进行流分类的工作, 所以本申请在 OFCS 间传递元数据 metadata,解决因中间节点不能利用边缘节点的流 分类处理的成果, 需要消耗 更多的资源来重复进行流分类的工作的问题。

本申请中, 在转发节点间传输 metadata, 可以在 metadata无感知的中间 网络上携带 metadata进行交互, 携带彼此感兴趣的信息。

目前, 在 SDN网络中, 在转发节点间传递 metadata存在以下问题(传递 灵活、 有弹性的 metadata尤其如此) , 因此目前并没有在转发节点间实现 metadata的传输:

( 1 )交换 metadata的两个 OFCS对于所处理的 metadata的理解无法达成 共识。

( 2 ) metadata不能被 OFCS的报文解析模块识别并解析。

( 3 ) metadata和 4艮文无法融为一体。

本发明实施例旨在解决上述问题, 提供 OFCS间传递 metadata的解决方 案。

如图 4所示, 本实施方式的传输元数据的方法, 包括:

步骤 401 :当前 OFCS上的开放流逻辑交换机 OFLS在第一报文中插入或 修改元数据, 生成携带元数据的第二报文;

其中, 所述第一报文是其他的逻辑题发送给当前 OFCS的。

步骤 402: 当前 OFCS根据与所述第二报文匹配的流表条目指示 动作 将第二报文传递给下一级 OFCS。 其中, 流表条目指: 在 OFCS中的 flow table中的流表项, 每一项称为一 个流表条目。

当前 OFCS和下一级 OFCS之间可以存在其他 OFCS或传统转发设备, 但中间的 OFCS 或传统转发设备应不感知或不关注在当前 OFCS 和下一级 OFCS之间传递报文所携带的元数据 metadata,例如这些中间的 OFCS或传统 转发设备仅关注 MAC头信息, 而报文携带的 metadata承载于 UDP层上。

元数据包含: 特性部分和内容部分; 特性部分包含: 携带元数据的第二 报文的传输方式信息和元数据的识别方式信息 ; 其中, 传输方式信息确定第 二报文传输元数据时的承载方式; 识别方式信息确定所述承载方式下 OFCS 预期的承载类型的标识值; 元数据的内容部分包含业务属性信息。

传输方式信息表示第二报文传输的元数据是承 载于以太层, 识别方式信 息为 OFCS预期的以太类型的值; 或者, 传输方式信息表示第二报文传输的 元数据是承载于 IP层,识别方式信息为 OFCS预期的 IP协议类型的值;或者, 传输方式信息表示第二报文传输的元数据是承 载于 UDP层,识别方式信息为 OFCS预期的 UDP目的端口类型的值。

SDN中的 OFCS支持多种不同格式的元数据, 元数据的内容部分包含第 一标识字段(metadata ID ) , 第一标识字段的值根据元数据的格式确定。 不 同元数据格式的元数据的内容部分包含一个或 多个不同类型的字段。 第一标 识字段用于标识元数据釆用的格式。

元数据的内容部分包含第二标识字段, 在第二标识字段中保存插入 metadata前第一报文承载头的标识字段的值。在 一级 OFCS上的 0FLS剥离 metadata时, 可用 metadata中第二标识字段的值回填第二报文承载 的标识 字段。 例如, metadata承载于以太头上, 第一报文原始的以太头的以太类型 是 0x0800, 该 metadata预期的以太类型的值为 0xa811 , 则在第一报文上插入 metadata后, 以太头的以太类型为 0xa811 , metadata的第二标识字段和以太 类型大小保持一致, 填充的值为 0x0800; 在下一级 OFCS上的 0FLS 剥离 metadata时, 用 metadata的第二标识字段数值回填以太头的以太 型, 这样 以太头的以太类型恢复成 0x0800。

OF控制器根据业务部署的要求决定在当前 OFCS上的 0FLS和下一级

OFCS之间通过报文稍带 metadata时, 捎带的 metadata满足下一级 OFCS支 持的 metadata格式。

当前 OFCS上的 0FLS在第一报文中插入元数据之前, 包括: OFLS接收 OF控制器下发的第一流表条目, 第一流表条目用于处理一类 报文, 该第一流表条目的写-动作指令的动作参数集 包含扩展动作, 扩展动 作包括推入元数据( push-metadata ) , 指示向流表条目匹配命中的报文的指 定位置插入 metadata, 推入元数据动作包括以下参数: 携带元数据的第二报 文的承载方式、 承载方式下 0FCS预期的承载类型的标识值和元数据的格式 标识 ( metadata ID ) ;

OFLS在第一报文中插入元数据, 包括:

0FLS将第一报文匹配到第一流表条目,根据参 中的承载方式在第一报 文中对应的位置插入 metadata ID指定格式的元数据的内容部分,在内容部分 的第二标识字段中写入第一报文承载头的标识 字段的值, 然后将第一报文承 载头的标识字段的值修改为参数中 0FCS预期的承载类型的标识值。

扩展动作还包括设置元数据字段(set-metadata-fi eld ) , 设置元数据字段 动作包括以下参数: 字段偏移、 字段大小、 待设置值类型和数值;

OFLS在第一报文中修改元数据, 包括:

OFLS将所述字段偏移参数指向的元数据字段的 值设置为数值参数。

如图 5所示, 本实施方式还提供了一种信息配置方法, 应用于 SDN, 包 括:

步骤 501 : SDN中的 0FCS接收第一节点对元数据格式的配置; 步骤 502: 0FCS上的 OFLS接收所述第一节点对 OFLS绑定的元数据格 式的配置。

第一节点包括: OF配置点、 OF控制器、 网络管理系统 NMS和 0FCS 本地。

0FCS对上述来源的 metadata格式的配置进行检查, 当发现配置错误或 不能识别解析 metadata格式时, 回应配置错误信息。

在所述绑定的元数据格式由所述 OF配置点、 网络管理系统或 0FCS本 地配置时, 所述方法还包括: OFLS向与该 OFLS建链的 OF控制器上报该 OFLS绑定的元数据格式。 OFLS向与该 OFLS建链的 OF控制器上报该 OFLS绑定的元数据格式, 包括: OFLS通过扩展的专用异步消息将绑定的元数据 式主动上报给建链的 OF控制器; 或者, OFLS与 OF控制器之间通过 Multipart消息中扩展的一组 元数据格式查询请求消息和元数据格式查询应 答消息, 进行 OFLS绑定的元 数据格式的查询和上报。

如图 6所示,本实施方式还提供了一种接收元数据 方法,应用于 SDN, 包括:

步骤 601 : SDN中的 OFCS接收到报文后, 识别报文中携带的元数据, 解析元数据的内容部分;

步骤 602: OFCS将报文和 /或元数据的内容部分引导到 OFCS上的逻辑 服务节点进行处理。

OFCS解析元数据的内容部分, 包括: OFCS根据元数据内容部分中的第 一标识字段指示的元数据的格式, 对元数据内容部分进行解析。

OFCS将报文和 /或元数据的内容部分引导到 OFCS上的逻辑服务节点, 包括: OFCS在元数据的内容部分包含 OFLS标识(OFLS-ID )字段时, 根据 OFLS标识字段确定将报文和 /或元数据的内容部分引导到的 OFLS; 或者,

OFCS在元数据的内容部分包含流分类标识(Fl ow-ID )字段时, 根据已 配置的流映射策略将所述 文和 /或元数据的内容部分引导到 OFLS上;或者, OFCS在元数据的内容部分包含服务节点标识( Server-node-ID )字段时, 将所述报文和 /或元数据的内容部分引导到服务节点标识字 指向的服务实 例上。

逻辑服务节点进行处理之前, 包括:

逻辑服务节点接收 OF控制器下发第二流表条目,用于处理上一级 OFCS 上的 OFLS传递过来的携带 metadata的报文, 该第二流表条目的匹配域中包 含扩展的元数据字段做匹配键值, 例如 metadata-field [id] , 该 ID为 metadata 的字段标识;

逻辑服务节点进行处理, 包括: 逻辑服务节点在流表管道的流表 (该流表的条目 匹配域包括匹配 metadata 的流分类标识字段) 上釆用元数据的内容部分包含的流分类标识 ( Flow-ID )字段作为匹配键值。

在第二流表条目的写-动作指令的动作参数集 包含扩展动作: 弹出元数 据( pop-metadata ) , 弹出元数据动作包括以下参数: 元数据的承载类型和第 二标识字段;

逻辑服务节点进行处理, 还包括:

逻辑服务节点从报文中剥离元数据, 并将元数据的内容部分的第二标识 字段的值回填报文的承载头的标识字段。

下面将结合附图和实施例对本发明进行详细 描述。

实施例 1 :

实施例 1是根据本发明的 metadata定义的 XML示例。 metadata定义包含 feature和 content两部分:

feature表示定义传输或 i只另 1 J metadata的方式: 口示例 ( 1 )表示 metadata 承载于以太上;可选地,在 feature域中还可指定由 metadata封装的报文类型, 如示例 (1 ) 中设置由 metadata封装的报文类型为 ethertype。 示例 (2 )表示 metadata 载于 IP上; 示例 ( 3 )表示 metadata 载于 UDP上。

content是 metadata的正文, 一般建议第一个 IByte定义为 metadata格式 ID (即每种 feature类型 metadata最多可以定义 256种格式 ) ; 第二个 IByte 定义为 metadata 的长度, metadata 长度不超过 64Byte; 其他字段均以 <size,name>二元组的方式定义。

( 1 )

<metadata>

<feature>

<type>ether<type>; 载层为以太头

<value>0xa811 </value>; 识别 metadata的以太类型为 0xa811 </feature>

<content>

<field>

<size>8bit</size>; 该字段长度为 8bit

<name>id</name>; 该字段名称 ID, 该 ID表示 metadata类型的 ID

</field>

<field>

<size>8bit</size>

<name>length</name>

</field>

<field>

<size>32bit</size>

<name>flow-id</name>; 流分类标识

</field>

<field>

<size> 16bit</size>

<name> etherType </name>; 保存插入 metadata前原以太头的以太类型 字段的值

</field>

<content>

</metadata>

( 2 )

<metadata>

<feature> <type>ip<type>; 承载层为 IP头

<value>0x0a47</value>; 识别 metadata的 IP头协议类型为 0x0a47 </feature>

<content>

<field>

<size>8bit</ size>

<name>id</name>; metadata格式的 ID

</field>

<field>

<size>8bit</size>

<name>length</name>

</field>

<field>

<size>32bit</ size>

<name> OFLS-id</name>; OFLS的唯一标识

</field>

<field>

<size> 16bit</ size>

<name> protocol-type </name>;保存插入 metadata前原 IP头的协议类型 字段的值

</field>

<content>

</metadata> ( 3 ) <metadata>

<feature>

<type>udp<type>; 7?i载层为 UDP头

<value>0x6047</value>; 识别 metadata的 UDP头目的端口为 0x6047

</feature>

<content>

<field>

<size>8bit</ size>

<name>id</name>; 表示 metadata类型的 ID

</field>

<field>

<size>8bit</ size>

<name>length</name>

</field>

<field>

<size>32bit</ size>

<name> service-node-id </name>

</field>

<field>

<size> 16bit</ size>

<name>udp-dport</name>; 保存插入前原 UDP头的目的端口字段的值

</field>

<content>

</metadata> 实施例 2: 实施例 2是根据本发明扩展的 OF controller对 OFLS的流表的 action动作: metadata ^ push-metadata、 pop-metadata和 set-metadata-field动作。

push metadata <type> <value> <id> pop metadata <type> <id> type表示 metadata的特征类型, 取值为

enum

1、 {

ETHER— TYPE, IP— PROTOCOL, UDP DPORT, TCP DPORT

size表示 metadata的空间大小;

value表示 metadata的特征值。

set metadata <offset> <size> <source-type> <target-value> offset表示选定字段相对于 metadata内容起始位置的偏移, 以 Byte为单 位。

size表示选定字段的大小。 source-type表示 metadata的内容字段数据来源类型, 取值为

enum

FIX, PACKET, LOCAL, METADATA

其中:

FIX表示该值由控制器设定, 即将 target-value写入指定的偏移位置。 PACKET表示该值来自报文的某个字段, 该取值的字段由控制器设定。

LOCAL表示该值由 OFLS转发面本地产生, 例如 32bit的随机值或 64bit 的时间戳(或格式化的时间戳) 。

METADATA表示该值来自上一级 OFLS传递来的 metadata中的某一字 段。

target-value:表示待填充到选定字段上的值,可 是控制器设置的固定值, 也可以是控制器指定的收到报文的某个设定字 段的值。

实施例 3:

实施例 3是根据本发明的 metadata在 OFCS上做流映射策略的操作示例。 当前 OFCS接收上一级 OFCS上的 OFLS传递来的携带 metadata的报文 后, 才艮据约定的 metadata的格式, 读取 metadata的 content (如 OFLS-id ) , 并进行相应的操作。

假设 OFCS的可编程报文解析模块识别并解析的 metadata ,获知 OFLS-id 字段的值(例如该值对应 OFLS1 ) , 然后由映射模块根据该 OFLS-id字段的 值将所述>¾文引导到 OFLS1进行流表管道的处理。

实施例 4:

实施例 4是根据本发明的 metadata在 OFCS间传递的网络架构图 (如图 7所示) 。

OpenFlow边缘转发节点收到来自传统网络的报文 经过本地处理后, 生 成 metadata , 并按照约定的 metadata的格式, PDU使用 metadata进行封装, 然后承载在 L2/L3/L4传输协议上进行传输。 可选地, 当另一 OpenFlow边缘转发节点收到来自 OpenFlow网络的报文 时, 按照约定的 metadata的格式, 从报文中剥离 metadata, 然后发送给传统 网络的转发设备。

实施例 5:

如图 8所示, 实施例 5是根据本发明的 metadata应用不同承载方式承载 时的报文封装格式。

当 metadata使用以太进行 载时, 设置才艮文的 Ethertype头的 Ethertype 为 Oxyyyy, 表示 metadata使用以太进行 装。

当 metadata使用 IP进行承载时,设置报文的 IP头的 Protocol Type为 χχχ , 表示 metadata使用 IP进行封装。

当 metadata使用 UDP进行承载时,设置报文的 UDP头的 Dport为 xxxxx, 表示 metadata使用 UDP进行封装。

实施例 6:

如图 9所示, 实施例 6是根据本发明的 metadata穿越三层网络的传递示 例。

OpenFlow边缘转发节点收到来自 OpenFlow 网络的报文后, 若携带了 metadata,则才艮据约定的 metadata的格式,读取 metadata 1的 content( ^口 flow-id、 next-OFLS-id、 dpi-instance-id等) , 并进行相应的操作。

OpenFlow 边缘转发节点将经过本地处理后生成的 metadata2 , 按模拟 VXLAN隧道的方式, 将 metadata2承载在模拟 VXLAN隧道的外层 UDP头 上进行传输, 同时设置 UDP的目的 port为 zzzzz。

可选地, PDU由 VLAN (可选) 、 Ethernet封装, 然后再由 metadata2封 装。 所述报文封装完成后发送给对端 OpenFlow边缘转发节点。

当对端 OpenFlow边缘转发节点收到此报文后,按模拟 VXLAN隧道的方 式从报文中剥离 metadata2、 并同步在该模拟 VXLAN隧道的虚接口上剥离外 层 UDP头、 IP头、 以太头等封装, 获得租户的原始二层报文, 并对报文进行 相应的处理。经过本地处理后,若生成新的 metadata3 ,则按照约定的 metadata 的定义, 即 PDU使用 metadata3进行封装, 然后承载在 L2传输协议上进行 传输。

如图 10所示, 本实施方式提供了一种开放流逻辑交换机, 包括: 第一单 元 1001 , 其中:

第一单元 1001设置成: 在第一报文中插入或修改元数据, 生成携带元数 据的第二报文。 元数据包含: 特性部分和内容部分;

特性部分包含: 携带元数据的第二报文的传输方式信息和元数 据的识别 方式信息; 其中, 传输方式信息确定第二报文传输元数据时的承 载方式; 识 别方式信息确定承载方式下开放流能力交换机 OFCS预期的承载类型的标识 值;

元数据的内容部分包含业务属性信息。

元数据的内容部分包含第一标识字段, 第一标识字段的值根据元数据的 格式确定; 元数据的内容部分还包含第二标识字段, 在第二标识字段中保存 第一报文承载头的标识字段的值。

传输方式信息表示第二报文传输元数据时承载 于以太层, 识别方式信息 为 OFCS预期的以太类型的值; 或者, 传输方式信息表示第二报文传输元数 据时承载于 IP层, 识别方式信息为 OFCS预期的 IP协议类型的值; 或者, 传 输方式信息表示第二报文传输元数据时承载于 UDP层, 识别方式信息为 OFCS预期的 UDP目的端口类型的值。

开放流逻辑交换机还包括接收单元 1002 , 其中:

接收单元 1002设置成: 接收 OF控制器下发的第一流表条目, 该第一流 表条目的写-动作指令的动作参数集中包含扩 动作: 推入元数据, 推入元数 据动作包括以下参数:携带元数据的第二报文 的承载方式、承载方式下 OFCS 预期的承载类型的标识值和元数据的格式标识 ; 第一单元 1001设置成按照如下方式在第一报文中插入元 据:将第一报 文匹配到第一流表条目, 根据参数中的承载方式在第一报文中对应的位 置插 入元数据的内容部分, 在内容部分的第二标识字段中写入第一报文承 载头的 标识字段的值, 然后将第一报文承载头的标识字段的值修改为 参数中 OFCS 预期的承载类型的标识值。 扩展动作还包括: 设置元数据字段,设置元数据字段动作包括以 下参数: 字段偏移、 字段大小、 待设置值类型和数值;

第一单元设置成按照如下方式在第一报文中修 改元数据: 将字段偏移参 数指向的元数据字段的数值设置为数值参数。

开放流逻辑交换机还包括匹配单元 1003 , 其中:

接收单元 1002还设置成: 接收 OF控制器下发第二流表条目, 该第二流 表条目的匹配域中包含扩展的元数据字段; 匹配单元 1003设置成:在流表管道的流表上釆用元数据 内容部分包含 的流分类标识字段作为匹配键值。

开放流逻辑交换机还包括第二单元 1004, 其中: 在第二流表条目的写-动作指令的动作参数集 包含扩展动作: 弹出元数 据, 弹出元数据动作包括以下参数: 元数据的承载类型和第二标识字段; 第二单元 1004设置成: 从报文中剥离元数据, 并将元数据的内容部分的 第二标识字段的值回填报文的承载头的标识字 段。

如图 11所示, 本实施方式还提供了一种开放流能力交换机, 包括: 识别 解析单元 1101和引导单元 1102, 其中: 识别解析单元 1101设置成: 识别接收到的报文中携带的元数据, 解析元 数据的内容部分;

引导单元 1102设置成: 报文和 /或元数据的内容部分引导到开放流能力 交换机 OFCS上的逻辑服务节点进行处理。

识别解析单元 1101设置成按照如下方式解析元数据的内容部 :根据元 数据内容部分中的第一标识字段指示的元数据 的格式, 对元数据内容部分进 行解析。

引导单元 1102设置成按照如下方式将报文和 /或元数据的内容部分引导 到 OFCS上的逻辑服务节点:

在元数据的内容部分包含开放流逻辑交换机 OFLS 标识字段时, 根据

OFLS标识字段确定将报文和 /或元数据的内容部分引导到的 OFLS; 或者, 在元数据的内容部分包含流分类标识字段时, 根据已配置的流映射策略 将报文和 /或元数据的内容部分引导到 OFLS上; 或者,

在元数据的内容部分包含服务节点标识字段时 , 将报文和 /或元数据的内 容部分引导到服务节点标识字段指向的服务实 例上。

本领域普通技术人员可以理解上述方法中的 全部或部分步骤可通过程序 来指令相关硬件完成, 所述程序可以存储于计算机可读存储介质中, 如只读 存储器、 磁盘或光盘等。 可选地, 上述实施例的全部或部分步骤也可以使用 一个或多个集成电路来实现, 相应地, 上述实施例中的各模块 /单元可以釆用 硬件的形式实现, 也可以釆用软件功能模块的形式实现。 本申请不限制于任 何特定形式的硬件和软件的结合。

以上所述仅为本申请的优选实施例而已, 并不用于限制本申请, 对于本 领域的技术人员来说, 本申请可以有各种更改和变化。 凡在本申请的精神和 原则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本申请的保护 范围之内。

工业实用性

综上所述, 上述技术方案通过在 OFLS之间传递的报文中携带元数据, 可以减少下一个 OFLS进行与上一个 OFLS相重复的工作, 从而节省部分资 源。 因此本发明具有很强的工业实用性。