Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR CONTROLLING QUALITY OF SERVICE OF SOFTWARE DEFINED NETWORK
Document Type and Number:
WIPO Patent Application WO/2015/196403
Kind Code:
A1
Abstract:
Embodiments of the present invention provide a method and device for controlling QoS of an SDN. A control plane device comprises: a determining unit, used for determining a flow table entry, wherein the flow table entry comprises QoS information, the QoS information is used for indicating a QoS processing rule, the QoS processing rule comprises a QoS parameter, and the QoS processing rule is used for instructing to perform QoS control on a data packet according to the QoS parameter; and a sending unit, used for sending the flow table entry to a forwarding plane device, so that the forwarding plane device obtains the QoS processing rule and performs QoS control on a target packet according to the QoS parameter in the QoS processing rule, wherein the target packet is a data packet matching with the flow table entry. By means of the embodiments of the present invention, the QoS information comprised in the flow table entry is used for indicating the QoS processing rule, so the forwarding plane device is enabled to perform QoS control on the target packet according to the QoS processing rule, and therefore the QoS control function in the SDN can be realized.

Inventors:
TAN SHIYONG (CN)
Application Number:
PCT/CN2014/080791
Publication Date:
December 30, 2015
Filing Date:
June 26, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
International Classes:
H04L47/80; H04L45/42; H04L47/32; H04L47/56
Domestic Patent References:
WO2014082590A12014-06-05
Foreign References:
CN103250383A2013-08-14
CN103051629A2013-04-17
Other References:
EGILMEZ, E.H. ET AL.: "OpenQos: an OpenFlow Controller Design for Multimedia Delivery with End-to-End Quality of Service over Software-Defined Networks", SIGNAL & INFORMATION PROCESSING ASSOCIATION ANNUAL SUMMIT AND CONFERENCE (APSIPAASC, 3 December 2012 (2012-12-03), pages 1 - 8, XP032309843
See also references of EP 3148129A4
Attorney, Agent or Firm:
LONGSUN LEAD IP LTD. (CN)
北京龙双利达知识产权代理有限公司 (CN)
Download PDF:
Claims:
权利要求

1. 一种控制面设备, 其特征在于, 包括:

确定单元, 用于确定流表表项, 所述流表表项包括 QoS信息, 所述 QoS 信息用于指示 QoS处理规则; 其中, 所述 QoS处理规则包括 QoS参数, 所 述 QoS处理规则用于指示根据所述 QoS参数对数据报文进行 QoS控制; 发送单元, 用于向转发面设备发送所述流表表项, 以使所述转发面设备 获取所述 QoS处理规则, 并根据所述 QoS处理规则中的所述 QoS参数对目 标报文进行 QoS控制; 其中,所述目标报文为与所述流表表项相匹配的数据 报文。

2. 根据权利要求 1所述的方法, 其特征在于,

所述 QoS参数包括以下至少一种: 丟包率参数、 时延参数、抖动参数和 限速参数;

相应地, 所述 QoS处理规则用于指示以下至少一种:

根据所述丟包率参数对所述目标报文进行丟包控制;

根据所述时延参数对所述目标报文进行时延控制;

根据所述抖动参数对所述目标报文进行抖动控制; 和

根据所述限速参数对所述目标报文进行限速控制。

3. 根据权利要求 1或 2所述的控制面设备, 其特征在于, 所述 QoS信 息包括所述 QoS处理规则。

4. 根据权利要求 3所述的控制面设备, 其特征在于, 所述 QoS处理规 则包括以下至少一条指令:

第一指令, 所述第一指令包括丟包率参数, 所述第一指令用于指示根据 所述丟包率参数对所述目标报文进行丟包控制;

第二指令, 所述第二指令包括时延参数, 所述第二指令用于指示根据所 述时延参数对所述目标报文进行时延控制;

第三指令, 所述第三指令包括抖动参数, 所述第三指令用于指示根据所 述抖动参数对所述目标报文进行抖动控制;

第四指令, 所述第四指令包括限速参数, 所述第四指令用于指示根据所 述限速参数对所述目标报文进行限速控制。

5. 根据权利要求 1或 2所述的控制面设备, 其特征在于, 所述发送单 元还用于: 向所述转发面设备发送配置信息, 所述配置信息包括所述 QoS 处理规则以及与所述 QoS处理规则对应的索引标识;

所述 QoS信息包括所述索引标识。

6. 根据权利要求 5所述的控制面设备, 其特征在于,

所述配置信息包括计量器 Meter表项,所述 Meter表项的计量器带 Meter Band包括所述 QoS处理规则, 所述索引标识为所述 Meter表项的标识; 相应地,所述 QoS信息包括 Meter指令,所述 Meter指令包括所述 Meter 表项的标识;

或者,

所述配置信息包括队列信息,所述队列信息中的队列包括所述 QoS处理 规则, 所述索引标识为所述队列的标识;

相应地,所述 QoS信息包括队列指令,所述队列指令包括所述队列的标 识;

或者,

所述 QoS信息包括自定义 QoS处理指令, 所述自定义 QoS处理指令包 括所述索引标识,所述自定义 QoS处理指令用于指示根据所述索引标识从所 述配置信息中获取所述 QoS处理规则。

7. 一种转发面设备, 其特征在于, 包括:

接收单元, 用于接收数据报文, 以及接收控制面设备发送的流表表项; 处理单元, 用于:

根据所述流表表项确定所述数据报文为目标报文; 其中, 所述目标报文 为匹配所述流表表项的数据报文, 所述流表表项包括 QoS信息, 所述 QoS 信息用于指示 QoS处理规则; 其中, 所述 QoS处理规则包括 QoS参数; 根据所述 QoS信息获取所述 QoS处理规则;

根据所述 QoS处理规则, 基于所述 QoS参数对所述目标报文进行 QoS 控制。

8. 根据权利要求 7所述的转发面设备, 其特征在于, 所述 QoS参数包 括以下至少一种: 丟包率参数、 时延参数、 抖动参数和限速参数;

相应地, 所述处理单元用于根据所述 QoS处理规则, 基于所述 QoS参 数对所述目标报文进行 QoS控制, 包括以下至少一种:

所述处理单元用于根据所述 QoS处理规则,基于所述丟包率参数对所述 目标报文进行丟包控制; 所述处理单元用于根据所述 QoS处理规则,基于所述时延参数对所述目 标报文进行时延控制;

所述处理单元用于根据所述 QoS处理规则,基于所述抖动参数对所述目 标才艮文进行抖动控制; 和

所述处理单元用于根据所述 QoS处理规则,基于所述限速参数对所述目 标报文进行限速控制。

9. 根据权利要求 7或 8所述的转发面设备, 其特征在于, 所述 QoS信 息包括所述 QoS处理规则;

所述处理单元用于根据所述 QoS信息获取所述 QoS处理规则包括: 所述处理单元用于从所述 QoS信息中获取所述 QoS处理规则。

10. 根据权利要求 9所述的转发面设备, 其特征在于, 所述 QoS处理规 则包括以下至少一条指令:

第一指令, 所述第一指令包括丟包率参数;

第二指令, 所述第二指令包括时延参数;

第三指令, 所述第三指令包括抖动参数;

第四指令, 所述第四指令包括限速参数;

相应地, 所述处理单元用于根据所述 QoS处理规则, 基于所述 QoS参 数对所述目标报文进行 QoS控制, 包括以下至少一种:

所述处理单元用于根据所述第一指令,基于所述丟包率参数对所述目标 报文进行丟包控制;

所述处理单元用于根据所述第二指令,基于所述时延参数对所述目标报 文进行时延控制;

所述处理单元用于根据所述第三指令,基于所述抖动参数对所述目标报 文进行抖动控制; 和

所述处理单元用于根据所述第四指令,基于所述限速参数对所述目标报 文进行限速控制。

11. 根据权利要求 7或 8所述的转发面设备, 其特征在于, 所述处理单 元存储有配置信息, 所述配置信息包括所述 QoS处理规则以及与所述 QoS 处理规则对应的索引标识;

所述 QoS信息包括所述索引标识;

所述处理单元用于根据所述 QoS信息获取所述 QoS处理规则包括: 所述处理单元用于根据所述索引标识从所述配置信息中获取所述 QoS 处理规则。

12. 根据权利要求 11 所述的转发面设备, 其特征在于, 所述配置信息 包括计量器 Meter表项, 所述 Meter表项的计量器带 Meter Band包括所述 QoS处理规则, 所述索引标识为所述 Meter表项的标识, 所述 QoS信息包括 Meter指令, 所述 Meter指令包括所述 Meter表项的标识;

相应地, 所述处理单元用于根据所述索引标识从所述配置信息中获取所 述 QoS处理规则包括:

所述处理单元用于根据所述 Meter指令获取与所述 Meter表项的标识对 应的所述 Meter表项, 并从所述 Meter表项的所述 Meter Band中获取所述 QoS处理规则;

或者,

所述配置信息包括队列信息,所述队列信息中的队列包括所述 QoS处理 规则, 所述索引标识为所述队列的标识, 所述 QoS信息包括队列指令, 所述 队列指令包括所述队列的标识;

相应地, 所述处理单元用于根据所述索引标识从所述配置信息中获取所 述 QoS处理规则包括:

所述处理单元用于根据所述队列指令,从所述队列信息中获取与所述队 列的标识对应的所述队列, 并从所述队列中获取所述 QoS处理规则;

或者,

所述 QoS信息包括自定义 QoS处理指令, 所述自定义 QoS处理指令包 括所述索引标识;

相应地, 所述处理单元用于根据所述索引标识从所述配置信息中获取所 述 QoS处理规则包括: 取与所述索引标识对应的所述 QoS处理规则。

13. 一种软件定义网络的服务质量 QoS控制方法, 其特征在于, 包括: 控制面设备确定流表表项, 所述流表表项包括 QoS信息, 所述 QoS信 息用于指示 QoS处理规则; 其中, 所述 QoS处理规则包括 QoS参数, 所述 QoS处理规则用于指示根据所述 QoS参数对数据报文进行 QoS控制;

所述控制面设备向转发面设备发送所述流表表项, 以使所述转发面设备 获取所述 QoS处理规则, 并根据所述 QoS处理规则中的所述 QoS参数对目 标报文进行 QoS控制; 其中,所述目标报文为与所述流表表项相匹配的数据 报文。

14. 根据权利要求 13所述的方法, 其特征在于,

所述 QoS参数包括以下至少一种: 丟包率参数、 时延参数、抖动参数和 限速参数;

相应地, 所述 QoS处理规则用于指示以下至少一种:

根据所述丟包率参数对所述目标报文进行丟包控制;

根据所述时延参数对所述目标报文进行时延控制;

根据所述抖动参数对所述目标报文进行抖动控制; 和

根据所述限速参数对所述目标报文进行限速控制。

15. 根据权利要求 13或 14所述的方法, 其特征在于, 所述 QoS信息包 括所述 QoS处理规则。

16. 根据权利要求 15所述的方法, 其特征在于, 所述 QoS处理规则包 括以下至少一条指令:

第一指令, 所述第一指令包括丟包率参数, 所述第一指令用于指示根据 所述丟包率参数对所述目标报文进行丟包控制;

第二指令, 所述第二指令包括时延参数, 所述第二指令用于指示根据所 述时延参数对所述目标报文进行时延控制;

第三指令, 所述第三指令包括抖动参数, 所述第三指令用于指示根据所 述抖动参数对所述目标报文进行抖动控制; 和

第四指令, 所述第四指令包括限速参数, 所述第四指令用于指示根据所 述限速参数对所述目标报文进行限速控制。

17. 根据权利要求 13或 14所述的方法, 其特征在于, 还包括: 所述控制面设备向所述转发面设备发送配置信息, 所述配置信息包括所 述 QoS处理规则以及与所述 QoS处理规则对应的索引标识;

所述 QoS信息包括所述索引标识。

18. 根据权利要求 17所述的方法, 其特征在于,

所述配置信息包括计量器 Meter表项,所述 Meter表项的计量器带 Meter Band包括所述 QoS处理规则, 所述索引标识为所述 Meter表项的标识; 相应地,所述 QoS信息包括 Meter指令,所述 Meter指令包括所述 Meter 表项的标识;

或者,

所述配置信息包括队列信息,所述队列信息中的队列包括所述 QoS处理 规则, 所述索引标识为所述队列的标识;

相应地,所述 QoS信息包括队列指令,所述队列指令包括所述队列的标 识;

或者,

所述 QoS信息包括自定义 QoS处理指令, 所述自定义 QoS处理指令包 括所述索引标识,所述自定义 QoS处理指令用于指示根据所述索引标识从所 述配置信息中获取所述 QoS处理规则。

19. 一种软件定义网络的服务质量 QoS控制方法, 其特征在于, 包括: 转发面设备接收数据报文, 以及接收控制面设备发送的流表表项; 所述转发面设备根据所述流表表项确定所述数据报文为目标报文; 其 中, 所述目标报文为匹配所述流表表项的数据报文, 所述流表表项包括 QoS 信息, 所述 QoS信息用于指示 QoS处理规则; 其中, 所述 QoS处理规则包 括 QoS参数;

所述转发面设备根据所述 QoS信息获取所述 QoS处理规则;

所述转发面设备根据所述 QoS处理规则, 基于所述 QoS参数对所述目 标报文进行 QoS控制。

20. 根据权利要求 19所述的方法, 其特征在于,

所述 QoS参数包括以下至少一种: 丟包率参数、 时延参数、抖动参数和 限速参数;

相应地, 所述转发面设备根据所述 QoS处理规则, 基于所述 QoS参数 对所述目标报文进行 QoS控制包括以下至少一种:

所述转发面设备根据所述 QoS处理规则,基于所述丟包率参数对所述目 标报文进行丟包控制;

所述转发面设备根据所述 QoS处理规则,基于所述时延参数对所述目标 报文进行时延控制;

所述转发面设备根据所述 QoS处理规则,基于所述抖动参数对所述目标 报文进行抖动控制; 和

所述转发面设备根据所述 QoS处理规则,基于所述限速参数对所述目标 报文进行限速控制。

21. 根据权利要求 19或 20所述的方法, 其特征在于, 所述 QoS信息包 括所述 QoS处理规则;

所述转发面设备根据所述 QoS信息获取所述 QoS处理规则包括: 所述转发面设备从所述 QoS信息中获取所述 QoS处理规则。

22. 根据权利要求 21所述的方法, 其特征在于, 所述 QoS处理规则包 括以下至少一条指令:

第一指令, 所述第一指令包括丟包率参数;

第二指令, 所述第二指令包括时延参数;

第三指令, 所述第三指令包括抖动参数; 和

第四指令, 所述第四指令包括限速参数;

相应地, 所述转发面设备根据所述 QoS处理规则, 基于所述 QoS参数 对所述目标报文进行 QoS控制包括以下至少一种:

所述转发面设备根据所述第一指令,基于所述丟包率参数对所述目标报 文进行丟包控制;

所述转发面设备根据所述第二指令,基于所述时延参数对所述目标报文 进行时延控制;

所述转发面设备根据所述第三指令,基于所述抖动参数对所述目标报文 进行抖动控制; 和

所述转发面设备根据所述第四指令,基于所述限速参数对所述目标报文 进行限速控制。

23. 根据权利要求 19或 20所述的方法, 其特征在于,

所述转发面设备上存有配置信息,所述配置信息包括所述 QoS处理规则 以及与所述 QoS处理规则对应的索引标识;

所述 QoS信息包括所述索引标识;

所述转发面设备根据所述 QoS信息获取所述 QoS处理规则包括: 所述转发面设备根据所述索引标识从所述配置信息中获取所述 QoS 处 理规则。

24. 根据权利要求 23所述的方法, 其特征在于,

所述配置信息包括计量器 Meter表项,所述 Meter表项的计量器带 Meter

Band包括所述 QoS处理规则, 所述索引标识为所述 Meter表项的标识, 所 述 QoS信息包括 Meter指令, 所述 Meter指令包括所述 Meter表项的标识; 相应地, 所述转发面设备根据所述索引标识从所述配置信息中获取所述 QoS处理规则包括: 所述转发面设备根据所述 Meter指令获取与所述 Meter 表项的标识对应的所述 Meter表项, 并从所述 Meter表项的所述 Meter Band 中获取所述 QoS处理规则;

或者,

所述配置信息包括队列信息,所述队列信息中的队列包括所述 QoS处理 规则, 所述索引标识为所述队列的标识, 所述 QoS信息包括队列指令, 所述 队列指令包括所述队列的标识;

相应地, 所述转发面设备根据所述索引标识从所述配置信息中获取所述

QoS处理规则包括: 所述转发面设备根据所述队列指令, 从所述队列信息中 获取与所述队列的标识对应的所述队列,并从所述队列中获取所述 QoS处理 规则; 或者,

所述 QoS信息包括自定义 QoS处理指令, 所述自定义 QoS处理指令包 括所述索引标识;

相应地, 所述转发面设备根据所述索引标识从所述配置信息中获取所述 QoS处理规则包括: 所述转发面设备根据所述自定义 QoS处理指令, 从所 述配置信息中获取与所述索引标识对应的所述 QoS处理规则。

Description:
软件定义网络的服务质量控制方法及设备 技术领域

本发明涉及通信领域,并且具体地,涉及软件 定义网络( Software Defined Network, SDN ) 的服务质量( Quality of Service, QoS )控制方法及设备。 背景技术

在当前的网络中, 存在多种网络设备, 如路由器、 网关、 交换机、 防火 墙和各类服务器等。这些实现各种网络功能的 设备通常都包含各自独立的控 制模块, 这种分布式的控制模块导致网络的部署非常复 杂。

为提升网络部署的灵活性和可管理性, 业界提出了软件定义网络 ( Software Defined Network, SDN ) 的概念。 在 SDN中, 控制面设备实现 网络的控制管理功能,转发面设备实现网络的 转发功能。开放流(OpenFlow ) 是当前主流的 SDN网络的控制协议。在 OpenFlow中,控制面设备通过流表 表项来控制转发面设备的行为。 流表表项可以指示需要处理的数据报文以及 相应的操作。

QoS是指网络提供更高优先服务的一种能力。通 过对数据报文进行 QoS 控制, 能够提高网络的服务质量。 在传统网络中, 由于各个网元自身集成了 控制功能, 因此很容易实现对数据报文的 QoS控制。但是, 对于 SDN网络, 目前尚没有实现 QoS控制功能的机制。 发明内容

本发明实施例提供 SDN的 QoS控制方法及设备, 能够实现 SDN中的 QoS控制功能。

第一方面, 提供了一种控制面设备, 包括: 确定单元, 用于确定流表表 项, 所述流表表项包括 QoS信息, 所述 QoS信息用于指示 QoS处理规则; 其中, 所述 QoS处理规则包括 QoS参数, 所述 QoS处理规则用于指示根据 所述 QoS参数对数据报文进行 QoS控制; 发送单元, 用于向转发面设备发 送所述流表表项, 以使所述转发面设备获取所述 QoS处理规则,并根据所述 标报文为与所述流表表项相匹配的数据报文。 结合第一方面,在第一种可能的实现方式中, 所述 QoS参数包括以下至 少一种: 丟包率参数、 时延参数、 抖动参数和限速参数;

相应地,所述 QoS处理规则用于指示以下至少一种:根据所述 丟包率参 数对所述目标报文进行丟包控制; 根据所述时延参数对所述目标报文进行时 延控制; 根据所述抖动参数对所述目标报文进行抖动控 制; 和根据所述限速 参数对所述目标报文进行限速控制。

结合第一方面或第一方面的第一种可能的实现 方式,在第二种可能的实 现方式中, 所述 QoS信息包括所述 QoS处理规则。

结合第一方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述 QoS处理规则包括以下至少一条指令: 第一指令,所述第一指令包括丟 包率参数, 所述第一指令用于指示根据所述丟包率参数对 所述目标报文进行 丟包控制; 第二指令, 所述第二指令包括时延参数, 所述第二指令用于指示 根据所述时延参数对所述目标报文进行时延控 制; 第三指令, 所述第三指令 包括抖动参数, 所述第三指令用于指示根据所述抖动参数对所 述目标报文进 行抖动控制; 第四指令, 所述第四指令包括限速参数, 所述第四指令用于指 示根据所述限速参数对所述目标报文进行限速 控制。

结合第一方面或第一种可能的实现方式, 在第四种可能的实现方式中, 所述发送单元还用于: 向所述转发面设备发送所述配置信息, 所述配置信息 包括所述 QoS处理规则以及与所述 QoS处理规则对应的索引标识;

所述 QoS信息包括所述索引标识。

结合第一方面的第四种可能的实现方式, 在第五种可能的实现方式中, 所述配置信息包括计量器 Meter表项,所述 Meter表项的计量器带 Meter Band 包括所述 QoS处理规则, 所述索引标识为所述 Meter表项的标识; 相应地, 所述 QoS信息包括 Meter指令,所述 Meter指令包括所述 Meter表项的标识; 或者, 所述配置信息包括队列信息, 所述队列信息中的队列包括所述

QoS处理规则, 所述索引标识为所述队列的标识; 相应地, 所述 QoS信息 包括队列指令, 所述队列指令包括所述队列的标识;

或者, 所述 QoS信息包括自定义 QoS处理指令, 所述自定义 QoS处理 指令包括所述索引标识,所述自定义 QoS处理指令用于指示根据所述索引标 识从所述配置信息中获取所述 QoS处理规则。

第二方面, 提供了一种转发面设备, 包括: 接收单元, 用于接收数据报 文, 以及接收控制面设备发送的流表表项; 处理单元, 用于: 根据所述流表 表项确定所述数据报文为目标报文; 其中, 所述目标报文为匹配所述流表表 项的数据报文, 所述流表表项包括 QoS信息, 所述 QoS信息用于指示 QoS 处理规则; 其中, 所述 QoS处理规则包括 QoS参数; 根据所述 QoS信息获 取所述 QoS处理规则; 根据所述 QoS处理规则, 基于所述 QoS参数对所述 目标报文进行 QoS控制。

结合第二方面,在第一种可能的实现方式中, 所述 QoS参数包括以下至 少一种: 丟包率参数、 时延参数、 抖动参数和限速参数;

相应地, 所述处理单元用于根据所述 QoS处理规则, 基于所述 QoS参 数对所述目标报文进行 QoS控制, 包括以下至少一种: 所述处理单元用于根 据所述 QoS处理规则, 基于所述丟包率参数对所述目标报文进行丟包 控制; 所述处理单元用于根据所述 QoS处理规则,基于所述时延参数对所述目标报 文进行时延控制; 所述处理单元用于根据所述 QoS处理规则,基于所述抖动 参数对所述目标报文进行抖动控制;和所述处 理单元用于根据所述 QoS处理 规则, 基于所述限速参数对所述目标报文进行限速控 制。

结合第二方面或第二方面的第一种可能的实现 方式,在第二种可能的实 现方式中, 所述 QoS信息包括所述 QoS处理规则; 所述处理单元用于根据 所述 QoS信息获取所述 QoS处理规则包括: 所述处理单元用于从所述 QoS 信息中获取所述 QoS处理规则。

结合第二方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述 QoS处理规则包括以下至少一条指令: 第一指令,所述第一指令包括丟 包率参数; 第二指令, 所述第二指令包括时延参数; 第三指令, 所述第三指 令包括抖动参数; 第四指令, 所述第四指令包括限速参数;

相应地, 所述处理单元用于根据所述 QoS处理规则, 基于所述 QoS参 数对所述目标报文进行 QoS控制, 包括以下至少一种: 所述处理单元用于根 据所述第一指令, 基于所述丟包率参数对所述目标报文进行丟包 控制; 所述 处理单元用于根据所述第二指令,基于所述时 延参数对所述目标报文进行时 延控制; 所述处理单元用于根据所述第三指令, 基于所述抖动参数对所述目 标报文进行抖动控制; 和所述处理单元用于根据所述第四指令, 基于所述限 速参数对所述目标报文进行限速控制。

结合第二方面或第二方面的第一种可能的实现 方式,在第四种可能的实 现方式中,所述处理单元存储有配置信息,所 述配置信息包括所述 QoS处理 规则以及与所述 QoS处理规则对应的索引标识; 所述 QoS信息包括所述索 引标识;

所述处理单元用于根据所述 QoS信息获取所述 QoS处理规则包括: 所 述处理单元用于根据所述索引标识从所述配置 信息中获取所述 QoS 处理规 则。

结合第二方面的第四种可能的实现方式, 在第五种可能的实现方式中, 所述配置信息包括计量器 Meter表项,所述 Meter表项的计量器带 Meter Band 包括所述 QoS处理规则, 所述索引标识为所述 Meter表项的标识, 所述 QoS 信息包括 Meter指令, 所述 Meter指令包括所述 Meter表项的标识; 相应地, 所述处理单元用于根据所述索引标识从所述配 置信息中获取所述 QoS 处理 规则包括: 所述处理单元用于根据所述 Meter指令获取与所述 Meter表项的 标识对应的所述 Meter表项,并从所述 Meter表项的所述 Meter Band中获取 所述 QoS处理规则;

或者, 所述配置信息包括队列信息, 所述队列信息中的队列包括所述

QoS处理规则, 所述索引标识为所述队列的标识, 所述 QoS信息包括队列 指令, 所述队列指令包括所述队列的标识; 相应地, 所述处理单元用于根据 所述索引标识从所述配置信息中获取所述 QoS处理规则包括:所述处理单元 用于根据所述队列指令,从所述队列信息中获 取与所述队列的标识对应的所 述队列, 并从所述队列中获取所述 QoS处理规则;

或者, 所述 QoS信息包括自定义 QoS处理指令, 所述自定义 QoS处理 指令包括所述索引标识; 相应地, 所述处理单元用于根据所述索引标识从所 述配置信息中获取所述 QoS处理规则包括:所述处理单元用于根据所述 自定 义 QoS处理指令, 从所述配置信息中获取与所述索引标识对应的 所述 QoS 处理规则。

第三方面, 提供了一种 SDN的 QoS控制方法, 包括: 控制面设备确定 流表表项, 所述流表表项包括 QoS信息, 所述 QoS信息用于指示 QoS处理 规则; 其中, 所述 QoS处理规则包括 QoS参数, 所述 QoS处理规则用于指 示根据所述 QoS参数对数据报文进行 QoS控制; 所述控制面设备向转发面 设备发送所述流表表项,以使所述转发面设备 获取所述 QoS处理规则,并根 所述目标报文为与所述流表表项相匹配的数据 报文。

结合第三方面,在第一种可能的实现方式中, 所述 QoS参数包括以下至 少一种: 丟包率参数、 时延参数、 抖动参数和限速参数;

相应地,所述 QoS处理规则用于指示以下至少一种:根据所述 丟包率参 数对所述目标报文进行丟包控制; 根据所述时延参数对所述目标报文进行时 延控制; 根据所述抖动参数对所述目标报文进行抖动控 制; 和根据所述限速 参数对所述目标报文进行限速控制。

结合第三方面或第三方面的第一种可能的实现 方式,在第二种可能的实 现方式中, 所述 QoS信息包括所述 QoS处理规则。

结合第三方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述 QoS处理规则包括以下至少一条指令: 第一指令,所述第一指令包括丟 包率参数, 所述第一指令用于指示根据所述丟包率参数对 所述目标报文进行 丟包控制; 第二指令, 所述第二指令包括时延参数, 所述第二指令用于指示 根据所述时延参数对所述目标报文进行时延控 制; 第三指令, 所述第三指令 包括抖动参数, 所述第三指令用于指示根据所述抖动参数对所 述目标报文进 行抖动控制; 和第四指令, 所述第四指令包括限速参数, 所述第四指令用于 指示根据所述限速参数对所述目标报文进行限 速控制。

结合第三方面或第三方面的第一种可能的实现 方式,在第四种可能的实 现方式中, 所述控制面设备向所述转发面设备发送配置信 息, 所述配置信息 包括所述 QoS处理规则以及与所述 QoS处理规则对应的索引标识;

所述 QoS信息包括所述索引标识。

结合第三方面的第四种可能的实现方式, 在第五种可能的实现方式中, 所述配置信息包括计量器 Meter表项,所述 Meter表项的计量器带 Meter Band 包括所述 QoS处理规则, 所述索引标识为所述 Meter表项的标识; 相应地, 所述 QoS信息包括 Meter指令,所述 Meter指令包括所述 Meter表项的标识; 或者, 所述配置信息包括队列信息, 所述队列信息中的队列包括所述 QoS处理规则, 所述索引标识为所述队列的标识; 相应地, 所述 QoS信息 包括队列指令, 所述队列指令包括所述队列的标识;

或者, 所述 QoS信息包括自定义 QoS处理指令, 所述自定义 QoS处理 指令包括所述索引标识,所述自定义 QoS处理指令用于指示根据所述索引标 识从所述配置信息中获取所述 QoS处理规则。 第四方面, 提供了一种 SDN的 QoS控制方法, 包括: 转发面设备接收 数据报文, 以及接收控制面设备发送的流表表项; 所述转发面设备根据所述 流表表项确定所述数据报文为目标报文; 其中, 所述目标报文为匹配所述流 表表项的数据报文, 所述流表表项包括 QoS信息, 所述 QoS信息用于指示 QoS处理规则; 其中, 所述 QoS处理规则包括 QoS参数; 所述转发面设备 根据所述 QoS信息获取所述 QoS处理规则; 所述转发面设备根据所述 QoS 处理规则, 基于所述 QoS参数对所述目标报文进行 QoS控制。

结合第四方面,在第一种可能的实现方式中, 所述 QoS参数包括以下至 少一种: 丟包率参数、 时延参数、 抖动参数和限速参数;

相应地, 所述转发面设备根据所述 QoS处理规则, 基于所述 QoS参数 对所述目标报文进行 QoS控制包括以下至少一种:所述转发面设备根 据所述 QoS处理规则, 基于所述丟包率参数对所述目标报文进行丟包 控制; 所述转 发面设备根据所述 QoS处理规则,基于所述时延参数对所述目标报 文进行时 延控制; 所述转发面设备根据所述 QoS处理规则,基于所述抖动参数对所述 目标报文进行抖动控制; 和所述转发面设备根据所述 QoS处理规则,基于所 述限速参数对所述目标报文进行限速控制。

结合第四方面或第四方面的第一种可能的实现 方式,在第二种可能的实 现方式中, 所述 QoS信息包括所述 QoS处理规则;

所述转发面设备根据所述 QoS信息获取所述 QoS处理规则包括: 所述 转发面设备从所述 QoS信息中获取所述 QoS处理规则。

结合第四方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述 QoS处理规则包括以下至少一条指令: 第一指令,所述第一指令包括丟 包率参数; 第二指令, 所述第二指令包括时延参数; 第三指令, 所述第三指 令包括抖动参数; 和第四指令, 所述第四指令包括限速参数;

相应地, 所述转发面设备根据所述 QoS处理规则, 基于所述 QoS参数 对所述目标报文进行 QoS控制包括以下至少一种:所述转发面设备根 据所述 第一指令, 基于所述丟包率参数对所述目标报文进行丟包 控制; 所述转发面 设备根据所述第二指令, 基于所述时延参数对所述目标报文进行时延控 制; 所述转发面设备根据所述第三指令,基于所述 抖动参数对所述目标报文进行 抖动控制; 和所述转发面设备根据所述第四指令, 基于所述限速参数对所述 目标报文进行限速控制。 结合第四方面或第四方面的第一种可能的实现 方式,在第四种可能的实 现方式中, 所述转发面设备上存有配置信息, 所述配置信息包括所述 QoS 处理规则以及与所述 QoS处理规则对应的索引标识; 所述 QoS信息包括所 述索引标识;

所述转发面设备根据所述 QoS信息获取所述 QoS处理规则包括: 所述 转发面设备根据所述索引标识从所述配置信息 中获取所述 QoS处理规则。

结合第四方面的第四种可能的实现方式, 在第五种可能的实现方式中, 所述配置信息包括计量器 Meter表项,所述 Meter表项的计量器带 Meter Band 包括所述 QoS处理规则, 所述索引标识为所述 Meter表项的标识, 所述 QoS 信息包括 Meter指令, 所述 Meter指令包括所述 Meter表项的标识; 相应地, 所述转发面设备根据所述索引标识从所述配置 信息中获取所述 QoS 处理规 则包括: 所述转发面设备根据所述 Meter指令获取与所述 Meter表项的标识 对应的所述 Meter表项, 并从所述 Meter表项的所述 Meter Band中获取所述 QoS处理规则;

或者, 所述配置信息包括队列信息, 所述队列信息中的队列包括所述

QoS处理规则, 所述索引标识为所述队列的标识, 所述 QoS信息包括队列 指令, 所述队列指令包括所述队列的标识; 相应地, 所述转发面设备根据所 述索引标识从所述配置信息中获取所述 QoS处理规则包括:所述转发面设备 根据所述队列指令,从所述队列信息中获取与 所述队列的标识对应的所述队 列, 并从所述队列中获取所述 QoS处理规则;

或者, 所述 QoS信息包括自定义 QoS处理指令, 所述自定义 QoS处理 指令包括所述索引标识; 相应地, 所述转发面设备根据所述索引标识从所述 配置信息中获取所述 QoS 处理规则包括: 所述转发面设备根据所述自定义 QoS处理指令, 从所述配置信息中获取与所述索引标识对应的 所述 QoS处 理规则。

本发明实施例, 由于控制面设备向转发面设备发送的流表表项 所包括的 QoS信息用于指示 QoS处理规则, 使得转发面设备能够根据 QoS处理规则 所包括的 QoS参数对目标报文进行 QoS控制,从而能够实现 SDN中的 QoS 控制功能。 附图说明 为了更清楚地说明本发明实施例的技术方案, 下面将对本发明实施例中 所需要使用的附图作简单地介绍, 显而易见地, 下面所描述的附图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的 前提下, 还可以根据这些附图获得其他的附图。

图 1是可应用本发明实施例的场景的举例的示意 。

图 2是本发明实施例提供的控制面设备的示意框 。

图 3是本发明实施例提供的转发面设备的示意框 。

图 4是本发明实施例提供的控制面设备的示意框 。

图 5是本发明实施例提供的转发面设备的示意框 。

图 6是本发明实施例提供的 SDN的 QoS控制方法的示意性流程图。 图 7是本发明实施例提供的 SDN的 QoS控制方法的示意性流程图。 图 8是本发明实施例提供的 SDN的 QoS控制方法的过程的示意性流程 图。

图 9是本发明实施例提供的另一 SDN的 QoS控制方法的过程的示意性 流程图。

图 10是本发明实施例提供的又一 SDN的 QoS控制方法的示意性流程 图。

图 11是本发明实施例提供的又一 SDN的 QoS控制方法的过程的示意性 流程图。

图 12是本发明实施例的一种网络拓朴的例子的示 图。

图 13是根据图 12所示的网络拓朴的实际组网的示意图。 具体实施方式

下面将结合本发明实施例中的附图,对本发明 实施例中的技术方案进行 清楚、 完整地描述, 显然, 所描述的实施例是本发明的一部分实施例, 而不 是全部实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做出创 造性劳动的前提下所获得的所有其他实施例, 都应属于本发明保护的范围。

本发明的技术方案, 可以应用于各种控制面与转发面解耦的网络中 , 例 如, 各种 SDN网络。 此外, 本发明的技术方案还可以应用于策略与计费控 制 (Policy andControl, PCC ) 系统。 对于 PCC系统而言, 策略和计费规则 功能( Policy and Charging Rules Function, PCRF )模块可以执行控制面功能, 网关可以执行转发面功能, PCRF可以对网关进行控制。

图 1是可应用本发明实施例的场景的举例的示意 。

在图 1中, 以使用 Openflow协议的场景为例进行说明。 如图 1所示, 控制面设备 110可以控制多个转发面设备,例如图 1所示的转发面设备 120a、 转发面设备 120b和转发面设备 120c (下面可以统称为转发面设备 120 )。 控 制面设备 110与转发面设备 120之间可以釆用 Openflow协议进行通信。 应 理解, 在 Openflow 协议中, 控制面设备 110 可以称为 Openflow控制器 ( Openflow Controller ) , 转发面设备 120 可以称为 Openflow 交换机 ( Openflow Switch )。

控制面设备 110可以通过流表 ( Flow Table )控制转发面设备 120的行 为。 下面将描述流表表项的内容。

流表表项 (Flow Entry )通常可以包括匹配域 ( Match Fields ), 优先级 ( Priority ), 计数器( Counters )、 指令( Instructions )、 老化时间 ( Timeouts ) 和 Cookie等。

匹配域中指定的值可以用来与报文的头域以及 接收端口号等信息进行 匹配, 以确定该报文是否为要处理的报文, 通常也将要处理的报文称为目标 报文。 报文的头域可以包括网际协议(Internet Protocol, IP )五元组(即源 IP地址、 目的 IP地址、 协议类型、 源端口号、 目的端口号), 或者以太网帧 头中的各种头域等。 以太网帧头中的头域可以包括媒体接入控制 (Media Access Control, MAC )地址、 目的 MAC地址等。 上述的匹配可以是精确匹 配, 也可以是掩码匹配。

指令域可以包括多种指令, 例如动作(Action )相关的指令、 Goto-Table (跳转 -表)指令、 Meter (计量器)指令、 Write-Metadata (写元数据)指令 等。 由于对 Meter指令的没有规范的中文表述, 计量器指令、 计量指令、 或 者计量表指令等都可以指代本申请中的 Meter指令。

动作( Action )相关的指令: 在 Openflow协议中, 动作指令可以分为两 大类, 一个大类是立刻执行的动作, 对应的指令为 Apply-Actions, 另一个大 类是先存放在动作集中, 直到流水线结束时才执行的动作。 向动作集里写动 作的指令为 Write- Actions, 清除动作集中所有动作的指令为 Clear- Actions。 不论是立刻执行的动作, 还是存放在动作集中的动作, 都包含多种类别, 包 括用于指示如何对报文进行操作的动作, 比如转发、 丟弃、 修改报文头、 封 装、 解封装、 发送给控制面设备 110等。

动作相关的指令还可以包括设置队列的指令 Set-Queue (设置队列;)。 当 通过某个端口转发数据报文时, 可以通过该指令设置该端口对应的队列标识 ( Identity, ID )。

Goto-Table指令: 即流水线控制指令, 指示报文在流表之间进行跳转, 即从一个流表跳转到另一个流表。

Meter指令: 指示利用 Meter表项对报文进行简单 QoS处理。

Write-Metadata指令:指示写元数据。元数据是 OpenFlow流表之间传递 信息的机制, 报文对应的元数据的内容可以传递到后续的流 表。

控制面设备 110可以实现网络业务的控制逻辑,确定对什么 样的报文进 行什么样的操作,从而制定流表表项, 并将流表表项下发给转发面设备 120。 转发面设备 120保存流表表项,根据流表表项中的匹配域对 接收到的报文进 行匹配, 对匹配的报文, 即目标报文执行对应的指令, 从而实现各种报文的 处理。

具体地, 转发面设备 120可以保存有一个或多个流表。 可以从第一个流 表对接收到的报文开始匹配。 如果匹配成功, 则执行匹配成功的流表表项中 的指令, 其中如果包含跳转到其他流表的指令, 则跳转到其他流表继续进行 匹配和处理; 如果匹配失败, 则根据 Table-Miss (表缺失 )表项进行处理(比 如可以丟弃或者送给控制面设备 110处理), 如果没有 Table-Miss表项, 则 根据流表的属性决定对如何对报文进行处理( 比如可以配置为丟弃或者发送 给控制面设备 110处理)。

通过各流表对报文处理的整个流程可以称为流 水线( Pipeline )。 当报文 在流表之间跳转时, 报文内容、 接收端口 ( ingress port )、 元数据、 动作集这 四种信息也相应地在流表之间传递。

上述提到的 Table-Miss表项是 OpenFlow流表中的一个特殊表项, 这个 表项没有匹配域(即和所有报文都能匹配成功 ), 匹配优先级最低, 用于指 示和流表中其他流表表项都匹配失败的报文如 何处理。如果 Table-Miss表项 是某个流表中的唯一表项, 则意味着该流表对所有报文都按照 Table-Miss表 项进行处理。

下面将详细描述上面提到的 Meter表。 Meter表与 Meter指令相对应, 二者配合可以完成简单的 QoS控制功能。通过 Meter指令可以指定用于处理 数据报文的 Meter表项。 多个数据流可以共享一个 Meter表项, 一个数据流 也可以经过多个 Meter表项进行处理。

Meter表包含一个或者多个 Meter表项,每个 Meter表项可以包括 Meter 标识 ( Meter Identifier, Meter ID )、 一个或多个 Meter Band (计量器带)和 Counters (计数器)。 由于不存在对于 Meter Band规范的中文表述, 计量器 带、 计量带、 计量线、 计量器线等都可以指代本申请中的 Meter Band。

Meter ID可以唯一标识一个 Meter表项。 Meter表项中的 Counters可以 记录 Meter表项的统计信息。

Meter Band可以包括以下内容: Band类型 ( Band Type )、 速率( Rate )、 哭发流量 ( Burst Size )、 计数器 ( Counters )和 Type specific arguments (类型 特定参数 ) 0

下面描述 Meter Band中的各项内容。

Band Type: 指定报文的处理方式, 协议中只定义了两种, 包括: 丟弃 ( Drop )和重置差分服务代码点( DSCP ( Differentiated Services Code Point ) Remark )。

Rate:指定 Meter Band生效的速率值,如果当前速率大于多个 Meter Band 中指定的速率, 则速率值最大的 Meter Band真正生效,单位可以是 kbps (千 位 /秒)或者 PPS (包 /秒)。

Burst Size: 指定突发流量的大小(即可以緩存的流量), 单位可以和 "速 率" 相同。

Counters: 记录 Meter Band的统计信息。

Type specific arguments: 与 B and类型有关, 当 B and类型为丟弃时, 不 需要携带其他参数, 类型为重置 DSCP时, 需要携带要设置的 DSCP值。

下面将详细描述上面提到的队列 (Queue )机制。 队列是和端口绑定的, 一个端口可以对应一个或者多个队列, 每个队列由队列 ID ( Queue ID )唯一 标识。

每个队列可以定义不同的队列属性, 除了队列长度外, 目前已定义的队 列属性可以包括最大速率(MinRate )和最小速率( MaxRate )。

最小速率, 可以以端口速率的千分之一为单位。 最大速率可以以端口速 率的千分之一为单位。

上述 Set-Queue指令可以用于指定报文要进入的队列, 从而可以利用该队 列的属性信息对报文进行处理。

上面描述了 Openflow协议中相关的机制。 但在 Openflow协议中, 还没 有有效的机制实现报文的 QoS处理。下面将结合本发明实施例详细描述 SDN 网络的 QoS控制方法及设备。

图 2是本发明实施例提供的控制面设备的示意框 ,主要示出了该控制 面设备中用于实现报文的 QoS处理的相关功能部件。 图 2的控制面设备 200 包括确定单元 210和发送单元 220。 该控制面设备 200可以实现图 1中控制 面设备 110的功能。

确定单元 210用于确定流表表项, 流表表项包括 QoS信息, QoS信息 用于指示 QoS处理规则; 其中, QoS处理规则包括 QoS参数, 该 QoS处理 规则用于指示根据 QoS参数对数据报文进行 QoS控制。

发送单元 220用于向转发面设备发送流表表项。

通过向转发面设备发送该流表表项可以使转发 面设备根据 QoS 处理规 则对目标报文进行 QoS控制; 其中, 目标报文为与流表表项相匹配的数据报 文。

本发明实施例中,由于向转发面设备发送的流 表表项所包括的 QoS信息 用于指示 QoS处理规则, 而 QoS处理规则包括 QoS参数, 使得转发面设备 能够根据 QoS处理规则对目标报文进行 QoS控制,从而能够实现 SDN网络 中的 QoS控制功能。

作为一种可选的实施方式, QoS参数可以包括以下至少一种: 丟包率参 数、 时延参数、 抖动参数和限速参数;

相应地, QoS处理规则用于指示以下至少一种: 根据丟包率参数对目标 报文进行丟包控制; 根据时延参数对目标报文进行时延控制; 根据抖动参数 对目标报文进行抖动控制; 和根据限速参数对目标报文进行限速控制。

由于 QoS处理规则可以包括丟包率参数、 时延参数或抖动参数等参数, 因此能够实现 SDN网络中复杂的 QoS控制功能。

作为一种可选的实施方式,可以通过通用处理 器或者专用处理器来实现 图 2中确定单元 210的功能, 还可以通过通信器件(例如: 发送机、 网卡, 串口设备等) 实现图 2中发送单元 220的功能。

可选地, 作为一种实施方式, QoS信息可以包括 QoS处理规则。 换而 言之, 在这种情况下, 流表表项中直接包括了 QoS处理规则。 可选地, 作为另一种可选的实施方式, QoS处理规则可以包括以下至少 一条指令: 第一指令、 第二指令、 第三指令和第四指令。 其中, 第一指令可 以包括丟包率参数, 第一指令可以用于指示根据丟包率参数对目标 报文进行 丟包控制。 第二指令可以包括时延参数, 第二指令可以用于指示根据时延参 数对目标报文进行时延控制。 第三指令可以包括抖动参数, 第三指令可以用 于指示根据抖动参数对目标报文进行抖动控制 。 第四指令可以包括限速参 数, 第四指令用于指示根据限速参数对目标报文进 行限速控制。

这里的第一指令、第二指令或者第三指令的实 现可以在 openflow现有的 指令的基础上, 新增上述三个指令来实现。 例如新增第一指令, 第一指令的 输入参数为丟包率参数, 并在转发面设备上新增执行该第一指令的功能 逻 辑。

可选地, 作为另一种实施方式, 发送单元 220还可以用于向转发面设备 发送配置信息。 配置信息可以包括 QoS处理规则以及与 QoS处理规则对应 的索引标识。 QoS信息可以包括上述索引标识。 根据该标识, 可以在配置信 息中定位相应的 QoS处理规则。换而言之, 在这种情况下, 流表项中包括了 该 QoS处理规则的标识,可以减轻控制面设备和转 发面设备之间传递流表表 项的负载。

可选地, 作为另一种实施方式, 配置信息可以包括 Meter表项, Meter 表项的 Meter Band包括 QoS处理规则, 索引标识为 Meter表项的标识。 相 应地, QoS信息包括 Meter指令, Meter指令包括 Meter表项的标识。 即, 通过 Meter Band来承载 QoS处理规则。 通过 Meter表项的标识可以定位对 应的 Meter表项, 即可以获得对应的 QoS处理规则。

可选地, 作为另一种实施方式, 配置信息可以包括队列信息, 队列信息 中的队列包括 QoS处理规则, 索引标识为队列的标识。 相应地, QoS信息 包括队列指令, 队列指令包括队列的标识。 即, 可以通过队列来承载 QoS 处理规则。通过队列标识可以定位对应的队列 , 即可以获得对应的 QoS处理 规则。

可选地, 作为另一种实施方式, QoS信息可以包括自定义 QoS处理指 令, 自定义 QoS处理指令包括索引标识, 自定义 QoS处理指令用于指示根 据索引标识从配置信息中获取 QoS 处理规则。 转发面设备可以根据获取的 QoS处理规则进行 QoS控制。 图 3是本发明实施例提供的转发面设备的示意框 ,主要示出了该转发 面设备中用于实现报文的 QoS处理的相关功能部件。 图 3的转发面设备 300 包括接收单元 310和处理单元 320。 图 3所示的转发面设备 300可以实现图 1中转发面设备 120a, 转发面设备 120b或者转发面设备 120c的功能。 图 3 所示的转发面设备可以和图 2所示的控制面设备相互配合,以进行 QoS的控 制。

接收单元 310用于接收数据报文,以及接收控制面设备发 送的流表表项。 处理单元 320用于: 根据该流表表项确定数据报文为目标报文; 其中, 目标报文为匹配流表表项的数据报文, 流表表项包括 QoS信息, QoS信息 用于指示 QoS处理规则; 其中, QoS处理规则包括 QoS参数; 根据 QoS信 息获取 QoS处理规则; 根据 QoS处理规则, 基于 QoS参数对目标报文进行 QoS控制。

本发明实施例中,由于从控制面设备接收的流 表表项所包括的 QoS信息 用于指示 QoS处理规则,使得转发面设备能够根据 QoS处理规则,基于 QoS 参数对目标报文进行 QoS控制,从而能够实现 SDN网络中的 QoS控制功能。

作为一种可选的实施方式,可以通过通用处理 器或者专用处理器来实现 图 3中处理单元 320的功能, 还可以通过通信器件(例如: 接收机、 网卡, 串口设备等) 实现图 3中发送单元 310的功能。

可选地, 作为一种实施方式, QoS参数可以包括以下至少一种: 丟包率 参数、 时延参数、 抖动参数和限速参数;

相应地, 处理单元 320用于根据 QoS处理规则, 基于 QoS参数对目标 报文进行 QoS控制, 可以包括以下至少一种:

处理单元 320用于根据 QoS处理规则,基于丟包率参数对目标报文进行 丟包控制;

处理单元 320用于根据 QoS处理规则,基于时延参数对目标报文进行时 延控制;

处理单元 320用于根据 QoS处理规则,基于抖动参数对目标报文进行抖 动控制; 和

处理单元 320用于根据 QoS处理规则,基于限速参数对目标报文进行限 速控制。

本发明实施例中, 由于 QoS参数包括丟包率参数、时延参数或抖动参数 等, 使得转发面设备能够根据丟包率参数对目标报 文进行丟包控制, 根据时 延参数对目标报文进行时延控制或根据抖动参 数对目标报文进行抖动控制, 因此能够实现 SDN网络中复杂的 QoS控制功能。 可选地, 作为另一种实施 方式, QoS信息可以包括 QoS处理规则。 换而言之, 在这种情况下, 流表 表项中直接包括了 QoS处理规则。

处理单元 320可以用于从 QoS信息中获取 QoS处理规则。

可选地, 作为另一种实施方式, QoS处理规则可以包括以下至少一种指 令: 第一指令、 第二指令、 第三指令和第四指令。 第一指令、 第二指令、 第 三指令和第四指令的相关内容可参考图 2所示实施例的相关内容, 此处不做 赘述。

相应地, 处理单元 320用于根据 QoS处理规则, 基于 QoS参数对目标 报文进行 QoS控制, 可以包括以下至少一种:

处理单元 320用于根据第一指令,基于丟包率参数对目标 报文进行丟包 控制;

处理单元 320用于根据第二指令,基于时延参数对目标报 文进行时延控 制;

处理单元 320用于根据第三指令,基于抖动参数对目标报 文进行抖动控 制; 和

处理单元 320用于根据第四指令,基于限速参数对目标报 文进行限速控 制。

可选地, 作为另一种实施方式, 处理单元 320可以存储有配置信息, 配 置信息包括 QoS处理规则以及与 QoS处理规则对应的索引标识。 QoS信息 可以包括索引标识。 该标识的相关内容可参考图 2所示实施例的相关内容, 此处不做赞述。

处理单元 320可以用于根据索引标识从配置信息中获取 QoS处理规则。 可选地, 作为另一种实施方式, 配置信息可以包括 Meter表项, Meter 表项的 Meter Band包括 QoS处理规则, 索引标识为 Meter表项的标识。 QoS 信息可以包括 Meter指令, Meter指令包括 Meter表项的标识。 Meter表项及 Meter Band的相关内容可参考图 2所示实施例的相关内容, 此处不做赘述。

处理单元 320可以用于根据 Meter指令获取与 Meter表项的标识对应的

Meter表项, 并从 Meter表项的 Meter Band中获取 QoS处理规则。 可选地, 作为另一种实施方式, 配置信息可以包括队列信息, 队列信息 中的队列包括 QoS处理规则, 索引标识为队列的标识。 QoS信息可以包括 队列指令, 队列指令包括队列的标识。 队列的相关内容可以参考图 2所示实 施例的相关内容, 此处不 #支赞述。

处理单元 320可以用于根据队列指令,从队列信息中获取 与队列的标识 对应的队列, 并从队列中获取 QoS处理规则。

可选地, 作为另一种实施方式, QoS信息可以包括自定义 QoS处理指 令, 自定义 QoS处理指令包括索引标识。 对应地, 处理单元 320可以用于根 据自定义 QoS处理指令, 从配置信息中获取与索引标识对应的 QoS处理规 则。

图 4是本发明实施例提供的控制面设备的示意框 。 图 4的控制面设备 400包括处理器 410和发送器 420。

处理器 410用于实现图 2的控制面设备 200的确定单元 210的功能。发 送器 420用于实现图 2的控制面设备 200的发送单元 220的功能。此处不再 赘述。

本发明实施例中,由于向转发面设备发送的流 表表项所包括的 QoS信息 用于指示 QoS处理规则, 而 QoS处理规则包括 QoS参数, 使得转发面设备 能够根据 QoS处理规则对目标报文进行 QoS控制,从而能够实现 SDN网络 中的 QoS控制功能。

更进一步地, 由于 QoS参数可以包括丟包率参数、时延参数和抖动 参数 等参数, 因此能够实现 SDN网络中复杂的 QoS控制功能。

图 5是本发明实施例提供的转发面设备的示意框 。 图 5的转发面设备 500包括接收器 510和处理器 520。

接收器 510用于实现图 3的转发面设备 300的接收单元 310的功能。处 理器 520用于实现图 3的转发面设备 300的控制单元 320的功能。此处不再 赘述。

本发明实施例中,由于从控制面设备接收的流 表表项所包括的 QoS信息 用于指示 QoS处理规则, 而 QoS处理规则包括 QoS参数, 使得转发面设备 能够根据 QoS处理规则对目标报文进行 QoS控制,从而能够实现 SDN网络 中的 QoS控制功能。 更进一步地, 由于 QoS参数可以包括丟包率参数、 时 延参数和抖动参数中至少一个, 因此能够实现 SDN网络中复杂的 QoS控制 功能。

以下将从控制面设备的角度介绍本发明实施例 提供的实现 SDN的 QoS 控制的方法。该方法适用于图 2中的控制面设备 200或者图 4中的控制面设 备 400。

图 6是本发明实施例提供的 SDN的 QoS控制方法的示意性流程图。 图

6的方法由上述控制面设备 200或控制面设备 400执行。

610, 控制面设备确定流表表项, 流表表项包括 QoS信息, QoS信息用 于指示 QoS处理规则; QoS处理规则包括 QoS参数, 该 QoS处理规则用于 指示根据 QoS参数对数据报文进行 QoS控制。

620, 控制面设备向转发面设备发送流表表项。

其中,控制面设备通过下发该流表表项可以使 转发面设备根据 QoS处理 规则对目标报文进行 QoS控制; 其中, 目标报文为与流表表项相匹配的数据 报文。

本发明实施例中, 由于控制面设备向转发面设备发送的流表表项 所包括 的 QoS信息用于指示 QoS处理规则, 而 QoS处理规则包括 QoS参数, 使得 转发面设备能够根据 QoS处理规则对目标报文进行 QoS控制, 从而能够实 现 SDN网络中的 QoS控制功能。

此外,通过控制面设备向转发面设备发送用于 指示 QoS处理规则的 QoS 信息, 能够灵活地对业务进行 QoS控制, 因此对于非友好业务而言, 能够通 过对其进行 QoS控制来降低非友好业务的 QoS特性, 从而能够降低非友好 业务的用户体验。

可选地, 作为一种实施方式, QoS参数可以包括以下至少一种: 丟包率 参数、 时延参数、 抖动参数和限速参数;

相应地, QoS处理规则可以用于指示以下至少一种:

根据丟包率参数对目标报文进行丟包控制;

根据时延参数对目标报文进行时延控制;

根据抖动参数对目标报文进行抖动控制; 和

根据限速参数对目标报文进行限速控制。

本发明实施例中, 由于 QoS参数包括丟包率参数、时延参数或抖动参数 等参数, QoS 处理规则能够指示根据上述任一参数对目标报 文进行相应的 QoS控制, 因此能够实现 SDN网络中复杂的 QoS控制功能。 本发明实施例中, 丟包率可以指对数据报文的丟弃比例。 时延可以指数 据报文经过转发面设备延迟的时间。 抖动(jitter ) 可以指同一业务流中的不 同数据报文的时延不同。例如,一个业务流中 第一个数据报文的时延为 10ms, 第二个数据报文的时延为 12ms, 第三个数据报文的时延为 8ms, 说明存在 抖动。 如果每个数据报文的时延都完全相同, 则不存在抖动, 或者说抖动为 0。 这里对于丟包率、 时延和抖动的举例说明, 同样适用于本发明的其他实 施例。

可选地,作为一种实施方式,如果流表表项包 含匹配域,上述目标报文, 可以是指与匹配域相匹配的目标报文。 如果流表表项不包含匹配域, 即 Table-Miss表项, 则上述目标报文可以是与流表中其它流表表项 匹配失败的 数据报文。 如果 Table-Miss表项是流表中唯一表项, 则目标报文可以是接收 到的所有数据报文。

可选地,作为另一种实施方式, 在步骤 610中, 上述 QoS信息可以包含 在流表表项的指令域中。

可选地, 作为另一种实施方式, 在步骤 610中, 控制面设备可以根据从 转发面设备接收的数据报文确定流表表项。 例如, Table-Miss表项可以指示 将匹配的报文转发至控制面设备, 当转发面设备接收到的数据报文与 Table-Miss表项匹配时, 转发面设备可以将该数据报文转发至控制面设 备。 控制面设备可以根据该数据报文进行相应的决 策, 从而确定流表表项。

可选地,作为另一种实施方式, 在步骤 610中, 上述 QoS信息可以包括

QoS处理规则。

具体而言,控制面设备可以通过流表表项为转 发面设备配置 QoS处理规 贝' J。 QoS处理规则可以放在流表表项的指令域中。 例如, QoS处理规则可以 包括丟包率、 时延或抖动等参数。 这样, 通过在流表表项中携带包括 QoS 参数的 QoS处理规则, 对现有协议的改动较小, 能够更好地兼容现有协议。

可选地, 作为另一种实施方式, 对于 QoS信息包括 QoS处理规则的情 况, QoS处理规则可以包括以下至少一条指令: 第一指令、 第二指令、 第三 指令和第四指令。 第一指令可以包括丟包率参数, 第一指令可以用于指示根 据该丟包率参数对目标报文进行丟包控制。 第二指令可以包括时延参数, 第 二指令可以用于指示根据时延参数对目标报文 进行时延控制。第三指令可以 包括抖动参数, 第三指令可以用于指示根据该抖动参数对目标 报文进行抖动 控制。 第四指令可以包括限速参数, 第四指令用于指示根据限速参数对目标 报文进行限速控制。

上述第一指令、 第二指令和第三指令可以为动作指令。 这三个指令可以 用于 "Apply-Actions" 指令中, 也可以用于 "Write- Actions" 指令中。

可选地, 作为另一种实施方式, 在步骤 610之前, 控制面设备可以向转 发面设备发送配置信息, 配置信息可以包括 QoS处理规则以及与 QoS处理 规则对应的索引标识。 QoS信息可以包括上述索引标识。

本发明实施例中, 控制面设备可以预先为转发面设备配置 QoS 处理规 贝 1 J。 这样, 流表表项可以携带 QoS处理规则对应的索引标识。相对于流表表 项直接携带 QoS处理规则的方案而言, 能够减少信令开销。 可选地, 作为另一种实施方式, 配置信息可以包括 Meter表项, Meter 表项的 Meter Band包括 QoS处理规则, 索引标识为 Meter表项的标识。 相 应地, QoS信息包括 Meter指令, Meter指令包括 Meter表项的标识。

具体而言, 可以釆用现有的 Meter机制来配置 QoS处理规则。 例如, 可 以在 Meter表项的每个 Band中, 增力。 QoS参数。 这样, 可以结合 Meter指 令来实现 QoS控制功能。 例如, 流表表项的指令域可以包括 Meter指令, Meter指令的参数为 Meter表项 ID。 本发明实施例中, 利用现有的 Meter机 制来配置 QoS处理规则, 能够更好地兼容现有协议。

可选地, 作为另一种实施方式, 配置信息可以包括队列信息, 队列信息 中的队列包括 QoS处理规则, 索引标识为队列的标识。 相应地, QoS信息 可以包括队列指令, 队列指令包括队列的标识。

具体地, 可以釆用现有的队列机制来配置 QoS处理规则。 例如, 可以在 队列的属性中增加 QoS参数, 比如丟包率、 时延、 抖动等参数。 每个队列有 相应的队列 ID。

这样, 可以结合设置队列指令, 来实现 QoS控制功能。 例如, 流表表项 的指令域中可以包括 "Set-Queue" 指令, Set-Queue指令的参数为队列 ID。 本发明实施例中,利用现有的队列机制来配置 QoS处理规则, 能够更好地兼 容现有协议。

控制面设备可以通过 Openflow消息将队列信息下发至转发面设备, 也 可以通过 OF-Cofig 消息将队列信息下发给转发面设备, 或者也可以通过转 发面设备的网管系统将队列信息配置给转发面 设备。

除了通过 Meter机制和队列机制实现 QoS 控制之外, 还可以通过在 OpenFlow中定义新元素来实现 QoS控制。 举例如下:

可选地, 作为另一种实施方式, QoS信息可以包括自定义 QoS处理指 令, 自定义 QoS处理指令包括索引标识, 自定义 QoS处理指令用于指示根 据索引标识从配置信息中获取 QoS处理规则。

具体而言, 可以定义新的 QoS元素来配置 QoS处理规则。

例如, 本发明实施例中, 可以以 "QoSElement" 表示该 QoS元素。 每 个 "QoSElement" 有相应的 ID来标识, 例如可以表示为 QoSElement ID"。 该 QoS元素可以包括如下参数:

最小速率(MinRate ): 表示可以保障的最小带宽。

最大速率(MaxRate ): 表示资源允许时的最大带宽。

丟包率(DropRate ): 表示丟弃报文的比例。

时延( Delay Time ): 表示延迟多长时间。

抖动 ( JitterTime ): 表示抖动的大小。

元素 "QoSElement" 可以模拟一段物理链路的 QoS特性, 也可以用于 模拟一个网络节点的 QoS特性, 从而很容易实现网络仿真。

此外, 可以为元素 "QoSElement" 定义相应的动作指令, 此处可以以 "QoSHandle"表示自定义 QoS处理指令。这个自定义 QoS处理指令的参数 可以为 "QoSElement"。 这样, 可以在流表表项中携带 "QoSHandle"指令来 实现 QoS控制。

本发明实施例中, 通过定义新的元素为转发面设备配置 QoS处理规则, 能够灵活地实现限速、 丟包、 时延、 抖动等各种 QoS控制功能。

以下将从转发面设备的角度介绍本发明实施例 提供的实现 SDN的 QoS 控制的方法。该方法适用于图 3中的转发面设备 200或者图 4中的转发面设 备 400。

图 7是本发明实施例提供的 SDN的 QoS控制方法的示意性流程图。 图 7的方法由转发面设备执行, 例如图 1中的转发面设备 120a、 120b或 120c, 图 3中的转发面设备 300, 图 5中的转发面设备 500等。 图 7的方法与图 6 的方法相对应。 本领域技术人员应知, 图 6所示实施例中的描述同样适用于 图 7所示的方法, 因此部分内容不再赘述。 710, 转发面设备接收数据报文, 以及接收控制面设备发送的流表表项。 720, 转发面设备根据该流表表项确定该数据报文为 目标报文; 其中目 标报文为匹配该流表表项的数据报文, 流表表项包括 QoS信息, QoS信息 用于指示 QoS处理规则; 其中, QoS处理规则包括 QoS参数。

730, 转发面设备根据 QoS信息获取 QoS处理规则。

740, 转发面设备根据 QoS处理规则, 基于该 QoS参数对目标报文进行 QoS控制。

本发明实施例中,由于控制面设备发送的流表 表项所包括的 QoS信息用 于指示 QoS处理规则, 而 QoS处理规则包括 QoS参数, 使得转发面设备能 够根据 QoS处理规则, 基于 QoS参数对目标报文进行 QoS控制, 从而能够 实现 SDN网络中的 QoS控制功能。

可选地, 作为一种实施例方式, QoS参数可以包括以下至少一种: 丟包 率参数、 时延参数、 抖动参数和限速参数。

相应地, 在步骤 740中, 转发面设备根据 QoS处理规则, 基于 QoS参 数对目标报文进行 QoS控制可以包括以下至少一种:

转发面设备根据 QoS处理规则,基于丟包率参数对目标报文进行 丟包控 制;

转发面设备根据 QoS 处理规则, 基于时延参数对目标报文进行时延控 制;

转发面设备根据 QoS 处理规则, 基于抖动参数对目标报文进行抖动控 制; 和

转发面设备根据 QoS 处理规则, 基于限速参数对目标报文进行限速控 制。

本发明实施例, 由于 QoS参数包括丟包率参数、时延参数或抖动参数 等 参数, 使得转发面设备能够根据上述任一参数对目标 报文进行相应的 QoS 控制、 因此能够实现 SDN网络中复杂的 QoS控制功能。

可选地, 作为另一种实施方式, QoS信息可以包括 QoS处理规则。 在 步骤 730中, 转发面设备可以 QoS信息中获取 QoS处理规则。

这样, 通过在流表表项中携带包括 QoS参数的 QoS处理规则, 对现有 协议的改动较小, 能够更好地兼容现有协议。

可选地, 作为另一种实施方式, 对于 QoS信息包括 QoS处理规则的情 况, QoS处理规则可以包括以下至少一条指令: 第一指令、 第二指令、 第三 指令和第四指令。 第一指令可以包括丟包率参数。 第二指令可以包括时延参 数。 第三指令可以包括抖动参数。 第四指令可以包括限速参数。

相应地, 在步骤 740中, 转发面设备根据 QoS处理规则, 基于 QoS参 数对目标报文进行 QoS控制可以包括以下至少一种:

转发面设备根据第一指令, 基于丟包率参数对目标报文进行丟包控制; 转发面设备根据第二指令, 基于时延参数对目标报文进行时延控制; 转发面设备根据第三指令, 基于抖动参数对目标报文进行抖动控制; 和 转发面设备根据第四指令, 基于限速参数对目标报文进行限速控制。 可选地, 作为另一种实施方式, 转发面设备上可以存有配置信息, 配置 信息包括 QoS处理规则以及与 QoS处理规则对应的索引标识。 上述 QoS信 息可以包括索引标识。 在步骤 730中, 转发面设备可以根据索引标识从配置 信息中获取 QoS处理规则。 本发明实施例中, 通过预先配置 QoS处理规则 和 QoS处理规则对应的索引标识, 能够减少信令开销。

可选地, 作为另一种实施方式, 配置信息可以包括 Meter表项, Meter 表项的 Meter Band包括 QoS处理规则, 索引标识为 Meter表项的标识。 QoS 信息可以包括 Meter指令, Meter指令包括 Meter表项的标识。

相应地, 在步骤 730中, 转发面设备可以根据 Meter指令获取与 Meter 表项的标识对应的 Meter表项, 并从 Meter表项的 Meter Band中获取 QoS 处理规则。 本发明实施例中, 利用现有的 Meter机制来配置 QoS处理规则, 能够更好地兼容现有协议。

可选地, 作为另一种实施方式, 配置信息可以包括队列信息, 队列信息 中的队列包括 QoS处理规则, 索引标识为队列的标识。 QoS信息可以包括 队列指令, 队列指令包括队列的标识。

相应地, 在步骤 730中, 转发面设备根据队列指令, 从队列信息中获取 与队列的标识对应的队列, 并从队列中获取 QoS处理规则。

本发明实施例中,利用现有的队列机制来配置 QoS处理规则,能够更好 地兼容现有协议。

可选地, 作为另一种实施方式, QoS信息可以包括自定义 QoS处理指 令, 自定义 QoS处理指令包括索引标识。

相应地, 在步骤 730中, 转发面设备可以根据自定义 QoS处理指令, 从 配置信息中获取与索引标识对应的 QoS处理规则。

本发明实施例中, 通过定义新的元素为转发面设备配置 QoS处理规则, 能够灵活地实现限速、 丟包、 时延、 抖动等各种 QoS控制功能。

下面将结合具体例子详细描述本发明实施例提 供的 SDN的 QoS控制的 施例, 而非限制本发明实施例的范围。 上述图 1-图 7中关于本发明实施例中 提供的 SDN的 QoS控制方法、 转发面设备和控制面设备的描述, 同样适用 于以下的具体示例, 部分内容不再赘述。

图 8是本发明实施例提供的 SDN的 QoS控制方法的过程的示意性流程 图。

在图 8所示的方法中, 可以通过扩展流表表项中的动作相关的指令实 现 控制面设备对转发面设备的丟包、 时延和抖动控制。

具体地, 可以定义三个动作指令, 即第一指令、 第二指令和第三指令, 从而实现控制面设备对转发面设备的丟包、 时延和抖动控制。

本发明实施例中, 可以以 "RamdomDrop" 表示第一指令。 第一指令可 以包括丟包率参数, 丟包率参数可以表示丟弃报文的比例。 第一指令可以用 于指示根据该丟包率参数对数据报文进行丟包 控制。丟包率参数可以表示为 "DropRate"。

另外, 可以以 "Delay" 表示第二指令。 第二指令可以携带时延参数, 时延参数可以表示对数据报文延迟的时间。 第二指令可以用于指示根据该时 延参数对数据报文进行时延控制。 时延参数可以表示为 "DelayTime"。

此外, 可以以 "Jitter" 表示第三指令。 第三指令可以携带抖动参数, 抖 动参数可以表示引入的抖动的大小。 第三指令可以用于指示根据该抖动参数 对数据报文进行抖动控制。 抖动参数可以表示为 " JitterTime"。

在使用方面, 上述定义的三个新动作指令和 OpenFlow中现有的动作指 令类似。 例如, 这三个新动作指令可以在 "Apply-Actions" 指令中使用, 也 可以在 "Write-Actions" 指令中使用。 另外, 上述三个新动作指令可以任意 组合使用, 也可以单独使用。

801, 控制面设备确定第一流表表项。

例如, 第一流表表项的具体内容可以如下:

Table ID=X, Match(SRC IP=1.1.1.1, DST IP=2.2.2.2), Instructions(Apply-Actions(RandomDrop(10%), Delay(lOms), Jitter(5ms), Output(Port 1)))。

具体而言, 第一流表表项所在的流表的 ID可以为 X。 第一流表表项可 以与源 IP地址为 1.1.1.1且目的 IP地址为 2.2.2.2的数据报文匹配。第一流表 表项的指令域可以包括动作指令。 其中, "RandomDrop(10%),, 可以指示对 所匹配的数据报文随机丟弃 10%。 "Delay(lOms)" 可以指示对所匹配的数据 报文延时 20ms。 "Jitter(5ms)"可以指示对所匹配的数据报文引入 5ms抖动。

" Output(Port 1) " 可以指示将所匹配的数据报文从端口 1 发出去。 "Apply-Actions" 可以表示立即执行上述这些指令。

802, 控制面设备向转发面设备发送第一流表表项。

803, 转发面设备根据第一流表表项处理第一数据报 文。

第一数据报文为与第一流表表项匹配的报文。 具体地, 第一数据报文可 以是源 IP地址为 1.1.1.1且目的 IP地址为 2.2.2.2的报文。转发面设备可以对 第一数据报文随机丟弃 10%、 延时 20ms以及引入 5ms抖动, 然后将第一数 据报文从端口 1发送出去。

804, 控制面设备确定第二流表表项。

例如, 第二流表表项的具体内容可以如下:

Table ID=Y, Table-Miss, Instructions(Apply-Actions(RandomDrop(2%), Output(Port 2)))。

具体地, 第二流表表项所在的流表的 ID可以为 Y。 第二流表表项没有 匹配域,可以匹配所有数据报文。第二流表表 项的指令域可以包括动作指令。 其中, "RandomDrop(2%),, 可以指示对所匹配的数据 4艮文随机丟弃 2%。

"Output(Port 2) " 可以指示对所匹配的数据报文从端口 2 发送出去。 Apply-Actions" 可以表示立即执行上述这些指令。

805, 控制面设备向转发面设备发送第二流表表项。

806, 转发面设备根据第二流表表项处理第二数据报 文。

第二数据报文可以为与第二流表表项匹配的报 文。 具体而言, 第二数据 报文可以为与转发面设备中存储的其它流表表 项匹配失败的数据报文。转发 面设备可以对第二数据报文随机丟弃 2%, 然后将第二数据报文从端口 2发 送出去。

807, 控制面设备确定第三流表表项。 例如, 第三流表表项的具体内容可以如下:

Table ID=Z, Table-Miss, Instructions (Output(CONTROLLER)) 0

具体地, 第三流表表项所在的流表的 ID可以为 Z。 第三流表表项没有 匹配域,可以匹配所有数据报文。第二流表表 项的指令域可以包括动作指令。 其中, "Output(CONTROLLER)" 可以指示将所匹配的数据报文转发给控制 面设备。

808, 控制面设备向转发面设备发送第三流表表项。

809, 转发面设备根据第三流表表项向控制面设备发 送与第三流表表项 所匹配的第三数据报文。

第三数据报文可以为与转发面设备中存储的其 它流表表项匹配失败的 数据报文。

810, 控制面设备根据第三数据报文, 确定第四流表表项。

例如, 第四流表表项的具体内容可以如下:

Table ID=Z, Match(DST IP=3.3.3.3) ),

Instructions(Write-Actions(Delay(10ms), Goto-Table(W)))。

具体地, 第四流表表项所在的流表的 ID可以为 Z。 第四流表表项可以 与目的 IP地址为 2.2.2.2的数据报文匹配。 第四流表表项的指令域可以包括 动作指令。 其中, "Delay(lOms)" 可以指示对所匹配的数据报文延时 10ms。

"Goto-Table(W)" 可以指示跳转至流表表项 W继续处理。 "Write- Actions" 可以指示将上述这些指令写入数据报文对应的 动作集中,在流水线结束的时 候再执行。

811, 控制面设备向转发面设备发送第四流表表项。

812, 转发面设备根据第四流表表项处理第四数据报 文。

第四数据报文可以为与第四流表表项匹配的数 据报文。 具体地, 第四数 据报文可以为目的 IP地址为 2.2.2.2的报文。 转发面设备可以对第四数据报 文延时 10ms, 然后跳转至流表表项 W继续处理。

本发明实施例中,控制面设备通过流表表项向 转发面设备发送 QoS处理 规则, 使得转发面设备能够根据 QoS处理规则对目标报文进行 QoS控制, 从而能够实现 SDN网络中的 QoS控制功能。

图 9是本发明实施例提供的另一 SDN的 QoS控制方法的过程的示意性 流程图。 在图 9所示的方法中, 可以通过扩展 Meter表项实现控制面设备对 转发面设备的丟包、 时延和抖动控制。

具体地,可以定义新的 Meter Band类型来实现控制面设备对转发面设备 的丟包、 时延和抖动控制。 例如, 该 Meter Band类型可以以 "QoS Adjust" 表示。

该 Meter Band可以包括以下至少一个参数:丟包率参数 时延参数和抖 动参数。

例:^,丟包率参数可以以 "DropRate"表示。时延参数可以以 "DelayTime" 表示。 抖动参数可以以 "JitterTime" 表示。

在使用方面所定义的新 Meter Band类型和现有的 Meter Band类似。 此 夕卜, 新 Meter Band类型也可以和现有的 Meter Band类型一起配合使用。

901, 控制面设备生成 Meter表项。 项的具体内容可以如下:

Meter ID=1,

Band Type=DSCP Remark, Rate= 1Mbps, Burst Size=lMb, DSCP=2;

Band Type=QoS Adjust, Rate=2Mbps, Burst Size=lMb, DelayTime=10ms; Band Type=QoS Adjust, Rate=3Mbps, Burst Size=2Mb, DelayTime=20ms, JitterTime=5ms;

Band Type=QoSAdjust, Rate=4Mbps, Burst Size=2Mb, DropRate=20%, Delay Time=40ms, JitterTime= 10ms;

Band Type=Drop, Rate=5Mbps, Burst Size=3Mb。

具体地, 该 Meter表项的 ID为 1。 在数据报文的速率为 0-lMbps时, 对该数据 文不进行 QoS 控制。 "Band Type=DSCP Remark, Rate=lMbps, Burst Size=lMb, DSCP=2" 可以指示当数据报文速率为 1 -2Mbps时, 将数据 报文的 DSCP 设置为 2。 " Band Type=QoSAdjust, Rate=2Mbps, Burst Size=lMb, DelayTime=10ms" 可以指示当数据报文速率为 2-3Mbps时, 将该 数据报文延时 10ms。 "Band Type=QoS Adjust, Rate=3Mbps, Burst Size=2Mb, Delay Time=20ms, JitterTime=5ms" 可以指示当数据才艮文速率为 3-4Mbps时, 将该数据报文延延时 20ms, 引入抖动 5ms。 " Band Type=QoS Adj ust, Rate=4Mbps, Burst Size=2Mb, DropRate=20%, Delay Time=40ms, JitterTime=10ms" 可以指示当数据报文速率为 4-5Mbps时, 将该数据报文随 机丟弃 20%,延时 40ms,并引入抖动 10ms。 "Band Type=Drop, Rate=5Mbps, Burst Size=3Mb" 可以指示当数据报文速率超过 5Mbps时, 将该数据报文丟 弃。

902, 控制面设备向转发面设备发送 Meter表项。

903, 控制面设备确定流表表项。

由于通过 Meter表项来进行 QoS控制,因此可以在流表表项中可以包括 Meter指令。 例如, 针对上述示例的 Meter表项, 流表表项的内容可以如下: Table ID=X, Match(SRC IP=1.1.1.1, IP Protocol=TCP) ,

Instructions (Meter 1, Apply- Actions (Output(Port 1))。

其中, 该流表表项所在的流表的 ID可以为 X。 该流表表项可以与源 IP 地址为 1.1.1.1的 TCP数据报文匹配。 "Meter Γ 为 Meter指令, 用于指示利 用 ID为 1的 Meter表项对所匹配的数据报文进行 QoS控制。 "Output(Port 1)" 可以指示将所匹配的数据报文从端口 1发送出去。 "Apply-Actions" 可以指 示立即执行指令 "Output(Port 1)"。

904, 控制面设备向转发面设备发送流表表项。

905, 转发面设备根据流表表项和 Meter表项, 对与流表表项匹配的数 据报文进行处理。

例如, 在上述的示例中, 源 IP地址为 1.1.1.1的 TCP数据报文与流表表 项相匹配。转发面设备可以利用 ID为 1的 Meter表项对该数据报文进行 QoS 控制, 并从端口 1发送出去。

本发明实施例中,通过利用 Meter表项预先配置 QoS处理规则, 并通过 流表表项携带 Meter表项的标识, 使得转发面设备能够根据 Meter表项中的 QoS处理规则对目标报文进行 QoS控制, 从而能够实现 SDN网络中的 QoS 控制功能。

图 10是本发明实施例提供的又一 SDN的 QoS控制方法的示意性流程 图。 在图 10所示的方法中, 可以通过扩展队列信息实现控制面设备对转发 面设备的丟包率、 时延和抖动的控制。

具体地, 可以定义三个新的队列属性, 即丟包率参数、 时延参数和抖动 参数。

例如,丟包率参数可以以 "DropRate"表示。时延参数可以以 "DelayTime" 表示。 抖动参数可以以 "JitterTime" 表示。 每个队列可以包括上述至少一个参数。 此外, 这些参数也可以和其他队 列属性(比如最大速率、 最小速率等)组合使用。

在本实施例中 H没在端口 1有四个队列, 四个队列的 ID分别为 1、 2、 3和 4。

1001 , 控制面设备生成队列信息。

队列信息中的每个队列可以包括上述定义的新 参数。

例如, 队列信息的具体内容可以如下:

Port ID=l :

Queue ID=1, MinRate=100%。, MaxRate=250%。, DropRate=10%;

Queue ID=2, MinRate=100%。, MaxRate=250%。, DelayTime=10ms;

Queue ID=3, MinRate=100 %。, MaxRate=250 %。, DelayTime=10ms, JitterTime=5ms;

Queue ID=4, MinRate=100 %。 , MaxRate=250 %。 , DropRate=5%, DelayTime=10ms, JitterTime=5ms。

具体地, "MinRate=100%。, MaxRate=250%。, DropRate=10%"可以指示队 列 1中的数据报文的最小带宽为 100%。, 最大带宽为 250%。, 并丟弃 10%。

"MinRate=100%。, MaxRate=250%。, DelayTime=10ms,, 可以指示队列 2中的 数据报文的最小带宽为 100 %。, 最大带宽为 250 %。, 并延时 10ms。

"MinRate=100%。, MaxRate=250%。, DelayTime=10ms, JitterTime=5ms,,可以指 示队列 3中的数据报文的最小带宽为 100%。,最大带宽为 250%。,延时 10ms, 并引入抖动 5ms。

1002, 控制面设备向转发面设备发送队列信息。

例如, 控制面设备可以通过 OpenFlow消息或者 OF-config消息发送队 列信息。 或者, 控制面设备还可以通过转发面设备的网管系统 向转发面设备 发送队列信息。

1003 , 控制面设备基于队列信息, 确定第一流表表项、 第二流表表项、 第三流表表项和第四流表表项。

假设第一流表表项、 第二流表表项、 第三流表表项和第四流表表项均可 以属于同一流表, 并且假设该流表的 ID为 X。 基于上述的队列信息, 第一 流表表项的具体内容可以如下:

Table ID=X, Match(SRC IP=1.1.1.1) , Instructions (Apply- Actions (S et-Queue( 1 ), Output(Port 1))。

具体地, 第一流表表项可以与源 IP 地址为 1.1.1.1 的数据报文匹配。 "Set-Queue(l)"可以指示利用 ID为 1的队列对所匹配的数据报文进行 QoS 控制。 "Output(Port 1)" 可以指示将所匹配的报文从端口 1发送出去。

第二流表表项的具体内容可以如下:

Table ID=X, Match(SRC IP=2.2.2.2) ,

Instructions(Apply-Actions(Set-Queue(2), Output(Port 1))

具体地, 第二流表表项可以与源 IP 地址为 2.2.2.2 的数据报文匹配。 "Set-Queue(2)"可以指示利用 ID为 2的队列对所匹配的数据报文进行 QoS 控制。

第三流表表项的具体内容可以如下:

Table ID=X, Match(SRC IP=3.3.3.3),

Instructions (Apply- Actions (S et-Queue(3 ), Output(Port 1))。

具体地, 第三流表表项可以与源 IP 地址为 3.3.3.3 的数据报文匹配。 "Set-Queue(3)"可以指示利用 ID为 3的队列对所匹配的数据报文进行 QoS 控制。

第四流表表项的具体内容可以如下:

Table ID=X, Match(SRC IP=4.4.4.4) ,

Instructions (Apply- Actions (S et-Queue(4), Output(Port 1))。

具体地, 第四流表表项可以与源 IP 地址为 4.4.4.4 的数据报文匹配。

"Set-Queue(4)"可以指示利用 ID为 4的队列对所匹配的数据报文进行 QoS 控制。

1004, 控制面设备向转发面设备发送第一流表表项、 第二流表表项、 第 三流表表项和第四流表表项。

1005, 转发面设备根据第一流表表项对第一数据报文 进行处理, 根据第 二流表表项对第二数据报文进行处理,根据第 三流表表项对第三数据报文进 行处理, 根据第四流表表项对第四数据报文进行处理。

具体地, 第一数据报文可以与第一流表表项相匹配。 第二数据报文可以 与第二流表表项相匹配。 第三数据报文可以与第三流表表项相匹配。 第四数 据报文可以与第四流表表项相匹配。

转发面设备可以使第一数据报文进入队列 1, 第二数据报文进入队列 2, 第三数据报文进入队列 3, 第四数据报文进入队列 4。转发面设备利用队列 1 至队列 4对相应的数据报文进行处理后,可以将数据 文从端口 1发送出去。

本发明实施例中,通过利用队列预先配置 QoS处理规则,并通过流表表 项携带队列的标识,使得转发面设备能够根据 队列中的 QoS处理规则对目标 报文进行 QoS控制, 从而能够实现 SDN网络中的 QoS控制功能。

图 11是本发明实施例提供的又一 SDN的 QoS控制方法的过程的示意性 流程图。

在图 11所示的方法中,可以为 OpenFlow定义新元素来实现控制面设备 对转发面设备的限速、 丟包率、 时延或抖动控制。 例如, 该元素可以称为 QoS元素。 该新 QoS元素可以以 "QoSElement" 表示。 "QoSElement" 可以 包括如下参数:

最小速率(MinRate ): 表示可以保障的最小带宽。

最大速率(MaxRate ): 表示资源允许时的最大带宽。

丟包率(DropRate ): 表示丟弃报文的比例。

时延( Delay Time ): 表示延迟多长时间。

抖动 ( JitterTime ): 表示抖动的大小。

元素 "QoSElement" 可以模拟一段物理链路的 QoS特性, 也可以用于 模拟一个网络节点的 QoS特性, 从而很容易实现网络仿真。

此外, 可以为元素 "QoSElement" 定义相应的动作指令, 可以称为 QoS 处理指令, 此处可以以 " QoSHandle " 表示。 这个指令的参数可以为 "QoSElement ID"。

为了更清楚理解图 11所示的方法, 下面将结合图 12所示的网络拓朴进 行说明。

图 12是本发明实施例的一种网络拓朴示例的示意 。

如图 12所示, 4叚设主机 A通过网元 C、 网元 D、 网元 E和网元 F与主 机 B相连接。 网元 C与网元 D之间的链路可以为卫星链路, 网元 D与网元 E之间的链路可以为光纤链路。网元 E与网元 F之间的链路可以为 3G链路。 主机 A与网元 C之间可以通过以太网通信, 网元 F与主机 B之间可以通过 以太网通信。

通过上述新元素 "QoSElement" 可以模拟主机 A与主机 B之间的网络, 即图 12中的虚线框中的网络。 图 13是根据图 12所示的网络拓朴的实际组 网的示意图。如图 13所示,主机 A可以通过转发面设备与主机 B进行通信。 控制面设备可以通过 OpenFlow协议控制转发面设备。

为简便起见,假设主机 A与主机 B之间可以直接通过 IP地址进行通信。 假设主机 A的 IP地址为 1.1.1.1, 主机 B的 IP地址可以为 2.2.2.2。 下面将详 细描述控制面设备与转发面设备之间的交互流 程。

1101 , 控制面设备生成 QoS元素。

具体地, 该 QoS元素仍以 "QoSElement" 表示。

例如, 控制面设备可以生成七个 "QoSElement"。 每个 "QoSElement" 具有相应的 ID。 比如, 这七个 "QoSElement" 的具体内容可以如下:

QoSElement ID=1, MinRate=lGbps, MaxRate=lGbps, DropRate=0.01%,

DelayTime=10ms, JitterTime=2ms;

QoSElement ID=2, MinRate=20Mbps, MaxRate: 100Mbps, DropRate=5%, Delay Time: 100ms, JitterTime: 10ms;

QoSElement ID=3 , MinRate=10Gbps , MaxRate=10Gbps , DropRate=0.001 %, Delay Time=5ms, JitterTime=lms;

QoSElement ID=4, MinRate=lGbps, MaxRate=lGbps, DropRate=0.01%, Delay Time=5ms, JitterTime=lms;

QoSElement ID=5 , MinRate=40Gbps , MaxRate=40Gbps , DropRate=0.001 %, Delay Time=5ms, JitterTime=lms;

QoSElement ID=6 , MinRate= 1Mbps , MaxRate=10MGbps ,

DropRate=0.01%, Delay Time=20ms, JitterTime= 10ms;

QoSElement ID=7, MinRate=lGbps, MaxRate=lGbps, DropRate=0.001%, Delay Time=5ms, JitterTime=lms。

其 中 , " MinRate=lGbps , MaxRate=lGbps , DropRate=0.01%, DelayTime=10ms, JitterTime=2ms" 可以指示数据报文最小带宽为 IGbps, 最 大带宽为 lGbps, 将数据报文随机丟弃 0.01%, 延时 10ms, 引入抖动 2ms。

以此类推, 其它元素的含义类似, 不再赘述。

应理解, 七个 "QoSElement" 分别对应网元 C、 卫星链路、 网元 D、 光 纤链路、 网元 E、 3G链路和网元 F的 QoS特性。 其中, 卫星链路和 3G链 路的 "MinRate" 小于 "MaxRate" , 可以表示这两条链路的带宽是变化的。 网元 C的 "MinRate" 等于 "MaxRate" , 均为 IGbps, 可以表示网元 C的吞 吐量是恒定的。

然后,控制面设备可以通过流表表项向转发面 指示对数据报文进行处理 的 QoS元素。 流表表项可以包括 QoS处理指令以及 "QoSElement" 的 ID。 假设第一流表表项和第二流表表项属于同一流 表,并假设该流表的 ID为 X。

1103 , 控制面设备确定第一流表表项。

例如, 针对上述示例的 "QoSElement" , 第一流表表项的内容可以如下: Table ID=X, Match(SRC IP=1.1.1.1, DST IP=2.2.2.2) ,

Instructions(Apply-Actions(QoSHandle(l), QoSHandle(2), QoSHandle(3), QoSHandle(4), QoSHandle(5), QoSHandle(6), QoSHandle(7)), Output(Port 2))。

其中,第一流表表项与源 IP地址为 1.1.1.1且目的 IP地址为 2.2.2.2的数 据才艮文相匹配。 "QosHandle(l)" 可以指示利用 ID为 1的 "QoSElement" 对 所匹配的数据报文进行 QoS 控制。 其它 QoS 处理指令的含义与 "QosHandle(l)" 类似, 不再赘述。

1104 , 控制面设备向转发面设备发送第一流表表项。

1105 , 控制面设备确定第二流表表项。

例如, 针对上述示例的 "QoSElement" , 第二流表表项的内容可以如下: Table ID=X, Match(SRC IP=2.2.2.2, DST IP=1.1.1.1) ,

Instructions(Apply-Actions(QoSHandle(7), QoSHandle(6), QoSHandle(5), QoSHandle(4), QoSHandle(3), QoSHandle(2), QoSHandle(l)), Output(Port 1)) 其中,第二流表表项与源 IP地址为 2.2.2.2且目的 IP地址为 1.1.1.1的数 据报文相匹配。第二流表表项中的 QoS处理指令的含义与上述第一流表表项 中的 "QosHandle(l)" 类似, 不再赘述。

1106 , 转发面设备根据第一流表表项对第一数据报文 进行处理, 根据第 二流表表项对第二数据报文进行处理。

例如, 第一数据报文可以为与第一流表表项相匹配的 数据报文, 即源 IP 地址为 1.1.1.1且目的 IP地址为 2.2.2.2的数据报文。 第二数据报文可以为与 第二流表表项相匹配的数据报文, 即源 IP地址为 2.2.2.2且目的 IP地址为 1.1.1.1的数据报文。 转发面设备可以依次利用 QoS元素 1至 QoS元素 7对 第一数据报文进行处理, 然后将第一数据报文从端口 2发送出去。 转发面设 备可以依次利用 QoS元素 7至 1对第二数据报文进行处理,然后将第二数据 报文从端口 1发送出去。 本发明实施例中, 通过利用所定义的新 QoS元素预先配置 QoS处理规 贝 1 J, 并通过流表表项携带 QoS元素的标识, 使得转发面设备能够根据 QoS 元素中的 QoS处理规则对目标报文进行 QoS控制,从而能够实现 SDN网络 中的 QoS控制功能。

此外, 本发明实施例中, 通过控制面设备集中控制, 使得转发面设备的 实现简单, 从而能够模拟各种 QoS特性的网元和链路, 便于实现网络仿真。 因此, 利于专业人员进行各种网络实验, 例如 QoS测试实验等。

本领域普通技术人员可以意识到, 结合本文中所公开的实施例描述的各 示例的单元及算法步骤, 能够以电子硬件、 或者计算机软件和电子硬件的结 合来实现。 这些功能究竟以硬件还是软件方式来执行, 取决于技术方案的特 定应用和设计约束条件。 专业技术人员可以对每个特定的应用来使用不 同方 法来实现所描述的功能, 但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到, 为描述的方便和简洁, 上述描 述的系统、 装置和单元的具体工作过程, 可以参考前述方法实施例中的对应 过程, 在此不再赘述。

在本申请所提供的几个实施例中, 应该理解到, 所揭露的系统、 装置和 方法, 可以通过其它的方式实现。 例如, 以上所描述的装置实施例仅仅是示 意性的, 例如, 所述单元的划分, 仅仅为一种逻辑功能划分, 实际实现时可 以有另外的划分方式, 例如多个单元或组件可以结合或者可以集成到 另一个 系统, 或一些特征可以忽略, 或不执行。 另一点, 所显示或讨论的相互之间 的耦合或直接辆合或通信连接可以是通过一些 接口, 装置或单元的间接耦合 或通信连接, 可以是电性, 机械或其它的形式。 为单元显示的部件可以是或者也可以不是物理 单元, 即可以位于一个地方, 或者也可以分布到多个网络单元上。可以根据 实际的需要选择其中的部分或 者全部单元来实现本实施例方案的目的。

另外, 在本发明各个实施例中的各功能单元可以集成 在一个处理单元 中, 也可以是各个单元单独物理存在, 也可以两个或两个以上单元集成在一 个单元中。

所述功能如果以软件功能单元的形式实现并作 为独立的产品销售或使 用时, 可以存储在一个计算机可读取存储介质中。 基于这样的理解, 本发明 的技术方案本质上或者说对现有技术做出贡献 的部分或者该技术方案的部 分可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质 中, 包括若干指令用以使得一台计算机设备(可以 是个人计算机, 服务器, 或者网络设备等)执行本发明各个实施例所述 方法的全部或部分步骤。 而前 述的存储介质包括: U盘、移动硬盘、只读存储器( ROM, Read-Only Memory )、 随机存取存储器(RAM, Random Access Memory ), 磁碟或者光盘等各种可 以存储程序代码的介质。

以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露 的技术范围内, 可轻易 想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护 范围应以所述权利要求的保护范围为准。