流处理方法和装置

阅读: 评论:0

著录项
  • CN201510366414.0
  • 20150626
  • CN106330753A
  • 20170111
  • 中兴通讯股份有限公司
  • 毕以峰;王姝懿;潘云波;汪军;李响;冉泳屹;岳阳
  • H04L12/813
  • H04L12/813 H04L12/851 H04L12/761

  • 广东省深圳市南山区科技南路55号
  • 广东(44)
  • 北京康信知识产权代理有限责任公司
  • 江舟;李灵洁
摘要
本发明提供了一种流处理方法和装置,其中,该方法包括:接收对OpenFlow协议计量器中计量带的类型的配置,其中,该类型包括:入队列申请,入队列申请用于指示对应速率的流应加入的端口和端口的队列;根据计量带的类型,对通过计量带的流进行处理。通过本发明,解决了相关技术无法保障组播业务的服务质量的问题,保障了组播业务的服务质量。
权利要求

1.一种流处理方法,其特征在于,包括:

接收对OpenFlow协议计量器中计量带的类型的配置,其中,所述类型包括: 入队列申请,所述入队列申请用于指示对应速率的流应加入的端口和所述端口的队 列;

根据所述计量带的类型,对通过所述计量带的流进行处理。

2.根据权利要求1所述的方法,其特征在于,所述入队列申请至少包括:

流的配置速率、与流的配置速率对应的端口、与流的配置速率对应的端口的队 列。

3.根据权利要求1所述的方法,其特征在于,所述类型还包括以下至少之一:

丢弃、差分服务代码点DSCP重标记。

4.根据权利要求3所述的方法,其特征在于,在根据所述多个计量带的类型,对通过 所述计量带的流进行处理之前,所述方法还包括:

接收对流表的配置,其中,所述流表的配置用于指示具有对应DSCP值的流应 加入的计量器;

根据所述流表的配置,将具有预设DSCP值的所述流加入所述计量器中,其中, 所述预设DSCP值的所述流在所述流表的配置中被配置为应加入所述计量器。

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

所述流的所述预设DSCP值用于指示所述流的内容,其中,所述内容至少包括: 视频、音频、文本。

6.根据权利要求5所述的方法,其特征在于,在所述预设DSCP值指示所述流的内容 为视频的情况下,根据所述计量带的类型,对通过所述计量带的流进行处理包括:

将所述流中具有第一速率的流加入第一计量带,并根据所述第一计量带的类型, 对通过所述第一计量带的流进行处理;

将所述流中具有第二速率的流加入第二计量带,并根据所述第二计量带的类型, 对通过所述第二计量带的流进行处理。

7.根据权利要求6所述的方法,其特征在于,根据所述第一计量带的类型,对通过所 述第一计量带的流进行处理包括:

在所述第一计量带的类型为入队列申请的情况下,将具有所述第一速率的流加 入第一端口的第一队列。

8.根据权利要求6所述的方法,其特征在于,根据所述第二计量带的类型,对通过所 述第二计量带的流进行处理包括:

在所述第二计量带的类型为入队列申请的情况下,将具有所述第二速率的流加 入第二端口的第二队列;

在所述第二计量带的类型为丢弃的情况下,将具有所述第二速率的流丢弃;

其中,所述第一速率小于所述第二速率。

9.根据权利要求5所述的方法,其特征在于,在所述预设DSCP值指示所述流的内容 为音频的情况下,根据所述计量带的类型,对通过所述计量带的流进行处理包括:

将所述流中具有第三速率的流加入所述第三计量带;

在所述第三计量带的类型为入队列申请的情况下,将具有所述第三速率的流加 入第三端口的第三队列。

10.根据权利要求5所述的方法,其特征在于,在所述预设DSCP值指示所述流的内容 为文本的情况下,根据所述计量带的类型,对通过所述计量带的流进行处理包括:

将所述流中具有第四速率的流加入所述第四计量带;

在所述第四计量带的类型为入队列申请的情况下,将具有所述第四速率的流加 入第四端口的第四队列。

11.一种流处理装置,其特征在于,包括:

第一配置模块,用于接收对OpenFlow协议计量器中计量带的类型的配置,其 中,所述类型包括:入队列申请,所述入队列申请用于指示对应速率的流应加入的 端口和所述端口的队列;

第一处理模块,用于根据所述计量带的类型,对通过所述计量带的流进行处理。

12.根据权利要求11所述的装置,其特征在于,所述入队列申请至少包括:

流的配置速率、与流的配置速率对应的端口、与流的配置速率对应的端口的队 列。

13.根据权利要求11所述的装置,其特征在于,所述类型还包括以下至少之一:

丢弃、差分服务代码点DSCP重标记。

14.根据权利要求13所述的装置,其特征在于,所述装置还包括:

第二配置模块,用于接收对流表的配置,其中,所述流表的配置用于指示具有 对应DSCP值的流应加入的计量器;

第二处理模块,用于根据所述流表的配置,将具有预设DSCP值的所述流加入 所述计量器中,其中,所述预设DSCP值的所述流在所述流表的配置中被配置为应 加入所述计量器。

15.根据权利要求14所述的装置,其特征在于,

所述流的所述预设DSCP值用于指示所述流的内容,其中,所述内容至少包括: 视频、音频、文本。

16.根据权利要求15所述的装置,其特征在于,所述第一处理模块包括:

第一处理单元,用于在所述预设DSCP值指示所述流的内容为视频的情况下, 将所述流中具有第一速率的流加入第一计量带,并根据所述第一计量带的类型,对 通过所述第一计量带的流进行处理;

第二处理单元,用于在所述预设DSCP值指示所述流的内容为视频的情况下, 将所述流中具有第二速率的流加入第二计量带,并根据所述第二计量带的类型,对 通过所述第二计量带的流进行处理。

17.根据权利要求16所述的装置,其特征在于,

所述第一处理单元,用于在所述第一计量带的类型为入队列申请的情况下,将 具有所述第一速率的流加入第一端口的第一队列。

18.根据权利要求16所述的装置,其特征在于,

所述第二处理单元,用于在所述第二计量带的类型为入队列申请的情况下,将 具有所述第二速率的流加入第二端口的第二队列;以及在所述第二计量带的类型为 丢弃的情况下,将具有所述第二速率的流丢弃,其中,所述第一速率小于所述第二 速率。

19.根据权利要求15所述的装置,其特征在于,所述第一处理模块还包括:

第三处理单元,用于在所述预设DSCP值指示所述流的内容为音频的情况下, 将所述流中具有第三速率的流加入所述第三计量带;在所述第三计量带的类型为入 队列申请的情况下,将具有所述第三速率的流加入第三端口的第三队列。

20.根据权利要求15所述的装置,其特征在于,所述第一处理模块还包括:

第四处理单元,用于在所述预设DSCP值指示所述流的内容为文本的情况下, 将所述流中具有第四速率的流加入所述第四计量带;在所述第四计量带的类型为入 队列申请的情况下,将具有所述第四速率的流加入第四端口的第四队列。

21.一种扩展的计量带类型,其特征在于,

所述计量带类型包括下列参数:配置速率rate、入队列动作个数 enqueue_number、端口号port及队列号queue_id;

其中,所述计量带类型用于指示计量带根据流的速率将数据转入一个或多个端 口的相应队列。

说明书
技术领域

本发明涉及通信领域,具体而言,涉及一种流处理方法、装置以及扩展的计量带类 型。

OpenFlow是一种交换技术。OpenFlow v1.3版本增加了计量表(Meter Table)。其 中,一个计量表包含若干计量表项,一个表项定义了一个计量器。每个计量器可以使 OpenFlow实现一些简单的服务质量(Quality of Service,简称为QoS)业务,并且可以 结合每个端口队列来实现更复杂的QoS。

流表可以通过指令Meter meter_id将数据流转入到标号为meter_id的计量器进行处 理。

每个计量表项可能有一个或多个计量带(Meter Band),每个计量带配置相应的速率 和指定数据被处理的方式。每个计量器测量出指定给它的数据流的速率,然后根据测量 速率,在配置速率低于该测量速率的计量带中选取一个配置速率最高的计量带,对数据 流进行处理。如果当前的测量速率的比任何配置的计量带速率都低,那么计量器就无任 何操作。

目前,计量带只用两种可选的(optional)计量带类型:丢弃(drop)和差分服务代 码点重标记(Differentiated Services Code Point remark,简称为DSCP remark)。其中, drop类型将丢弃数据包,可以用来定义带宽速率限制;DSCP remark类型可以减少数据 包的因特网协议(IP)头中的DSCP字段丢弃的优先级,可用于定义一个简单的差分策 略。

同时,OpenFlow交换机端口可以设置队列。一个转发端口可以设置多个队列,每 个队列可以配置最大速率(max_rate)、最小速率(min_rate)等,可以通过OF-Config 来进行配置。其中,OF-Config是OpenFlow的一个辅助协议,用来配置和管理网络设 备资源。在OpenFlow v1.3中,流表指令可以向动作集中添加设置队列(Set-queue)动 作,即向指定队列(queue_id)转发数据,在OpenFlow v1.0中,则通过入队列(enqueue) 动作,向指定端口(port)的指定队列(queue_id)转发数据。

研究过程中发现,随着网络技术和多媒体技术的高速发展,音/视频会议、视频点 播、多人游戏、协同工作和远程教学等基于组播的应用不断出现,对组播的服务质量需 求也越来越强烈。然而,一个组播应用中可能同时存在多种形式的内容流,如视频、音 频、文本等,不同的内容流的数据量大小、对数据完整性的要求等不同。

针对相关技术无法保障组播业务的服务质量的问题,目前尚未提出有效的解决方案。

本发明提供了一种流处理方法、装置以及扩展的计量带类型,以至少解决相关技术 无法保障组播业务的服务质量的问题。

根据本发明的一个方面,提供了一种流处理方法,包括:接收对OpenFlow协议计 量器中计量带的类型的配置,其中,所述类型包括:入队列申请,所述入队列申请用于 指示对应速率的流应加入的端口和所述端口的队列;根据所述计量带的类型,对通过所 述计量带的流进行处理。

优选地,所述入队列申请至少包括:流的配置速率、与流的配置速率对应的端口、 与流的配置速率对应的端口的队列。

优选地,所述类型还包括以下至少之一:丢弃、差分服务代码点DSCP重标记。

优选地,在根据所述多个计量带的类型,对通过所述计量带的流进行处理之前,所 述方法还包括:接收对流表的配置,其中,所述流表的配置用于指示具有对应DSCP值 的流应加入的计量器;根据所述流表的配置,将具有预设DSCP值的所述流加入所述计 量器中,其中,所述预设DSCP值的所述流在所述流表的配置中被配置为应加入所述计 量器。

优选地,所述流的所述预设DSCP值用于指示所述流的内容,其中,所述内容至少 包括:视频、音频、文本。

优选地,在所述预设DSCP值指示所述流的内容为视频的情况下,根据所述计量带 的类型,对通过所述计量带的流进行处理包括:将所述流中具有第一速率的流加入第一 计量带,并根据所述第一计量带的类型,对通过所述第一计量带的流进行处理;将所述 流中具有第二速率的流加入第二计量带,并根据所述第二计量带的类型,对通过所述第 二计量带的流进行处理。

优选地,根据所述第一计量带的类型,对通过所述第一计量带的流进行处理包括: 在所述第一计量带的类型为入队列申请的情况下,将具有所述第一速率的流加入第一端 口的第一队列。

优选地,根据所述第二计量带的类型,对通过所述第二计量带的流进行处理包括: 在所述第二计量带的类型为入队列申请的情况下,将具有所述第二速率的流加入第二端 口的第二队列;在所述第二计量带的类型为丢弃的情况下,将具有所述第二速率的流丢 弃;其中,所述第一速率小于所述第二速率。

优选地,在所述预设DSCP值指示所述流的内容为音频的情况下,根据所述计量带 的类型,对通过所述计量带的流进行处理包括:将所述流中具有第三速率的流加入所述 第三计量带;在所述第三计量带的类型为入队列申请的情况下,将具有所述第三速率的 流加入第三端口的第三队列。

优选地,在所述预设DSCP值指示所述流的内容为文本的情况下,根据所述计量带 的类型,对通过所述计量带的流进行处理包括:将所述流中具有第四速率的流加入所述 第四计量带;在所述第四计量带的类型为入队列申请的情况下,将具有所述第四速率的 流加入第四端口的第四队列。

根据本发明的另一个方面,还提供了一种流处理装置,包括:第一配置模块,用于 接收对OpenFlow协议计量器中计量带的类型的配置,其中,所述类型包括:入队列申 请,所述入队列申请用于指示对应速率的流应加入的端口和所述端口的队列;第一处理 模块,用于根据所述计量带的类型,对通过所述计量带的流进行处理。

优选地,所述入队列申请至少包括:流的配置速率、与流的配置速率对应的端口、 与流的配置速率对应的端口的队列。

优选地,所述类型还包括以下至少之一:丢弃、差分服务代码点DSCP重标记。

优选地,所述装置还包括:第二配置模块,用于接收对流表的配置,其中,所述流 表的配置用于指示具有对应DSCP值的流应加入的计量器;第二处理模块,用于根据所 述流表的配置,将具有预设DSCP值的所述流加入所述计量器中,其中,所述预设DSCP 值的所述流在所述流表的配置中被配置为应加入所述计量器。

优选地,所述流的所述预设DSCP值用于指示所述流的内容,其中,所述内容至少 包括:视频、音频、文本。

优选地,所述第一处理模块包括:第一处理单元,用于在所述预设DSCP值指示所 述流的内容为视频的情况下,将所述流中具有第一速率的流加入第一计量带,并根据所 述第一计量带的类型,对通过所述第一计量带的流进行处理;第二处理单元,用于在所 述预设DSCP值指示所述流的内容为视频的情况下,将所述流中具有第二速率的流加入 第二计量带,并根据所述第二计量带的类型,对通过所述第二计量带的流进行处理。

优选地,所述第一处理单元,用于在所述第一计量带的类型为入队列申请的情况下, 将具有所述第一速率的流加入第一端口的第一队列。

优选地,所述第二处理单元,用于在所述第二计量带的类型为入队列申请的情况下, 将具有所述第二速率的流加入第二端口的第二队列;以及在所述第二计量带的类型为丢 弃的情况下,将具有所述第二速率的流丢弃,其中,所述第一速率小于所述第二速率。

优选地,所述第一处理模块还包括:第三处理单元,用于在所述预设DSCP值指示 所述流的内容为音频的情况下,将所述流中具有第三速率的流加入所述第三计量带;在 所述第三计量带的类型为入队列申请的情况下,将具有所述第三速率的流加入第三端口 的第三队列。

优选地,所述第一处理模块还包括:第四处理单元,用于在所述预设DSCP值指示 所述流的内容为文本的情况下,将所述流中具有第四速率的流加入所述第四计量带;在 所述第四计量带的类型为入队列申请的情况下,将具有所述第四速率的流加入第四端口 的第四队列。

根据本发明的另一个方面,还提供了一种扩展的计量带类型,所述计量带类型包括 下列参数:配置速率(rate)、入队列动作个数(enqueue_number)、端口号(port)及队 列号(queue_id);其中,所述计量带类型用于指示计量带根据流的速率将数据转入一个 或多个端口的相应队列。

通过本发明,采用接收对OpenFlow协议计量器中计量带的类型的配置,其中,类 型包括:入队列申请,入队列申请用于指示对应速率的流应加入的端口和端口的队列; 根据计量带的类型,对通过计量带的流进行处理的方式,解决了相关技术无法保障组播 业务的服务质量的问题,保障了组播业务的服务质量。

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明 的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的流处理方法的流程图;

图2是根据本发明实施例的流处理装置的结构框图;

图3是根据本发明实施例的流处理装置的优选结构示意图;

图4是根据本发明优选实施例的OpenFlow实施组播QoS系统框架图;

图5是根据本发明优选实施例的简易的OpenFlow组播网络拓扑示意图;

图6是根据本发明优选实施例的QoS保障实施的流程图。

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情 况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二” 等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本发明实施例提供了一种扩展的计量带类型,计量带类型包括下列参数:配置速率 rate、入队列动作个数enqueue_number、端口号port及队列号queue_id;该扩展的计量 带类型用于指示计量带根据流的速率将数据转入一个或多个端口的相应队列。

本实施例还提供了一种流处理方法,图1是根据本发明实施例的流处理方法的流程 图,如图1所示,该流程包括如下步骤:

步骤S102,接收对OpenFlow协议计量器中计量带的类型的配置,其中,类型包括: 入队列申请,入队列申请用于指示对应速率的流应加入的端口和端口的队列;

步骤S104,根据计量带的类型,对通过计量带的流进行处理。

通过上述步骤,在计量带中采用入队列申请类型,使得计量带可以将通过该计量带 的流根据速率转发流至对应的端口及端口的队列,从而使得不同速率的流可以分别实现 各自需求的QoS要求。这样,对于组播业务中进入相同计量器的不同速率的流可以实 现差异化的QoS要求;相对于相关技术中无法根据流的速率对通过计量带的流进一步 处理(只能进行drop或者DSCP remark)的方式,通过上述步骤,解决了相关技术无法 保障组播业务的服务质量的问题,保障了组播业务的服务质量。

优选地,入队列申请中配置的项目至少包括:流的配置速率、与流的配置速率对应 的端口、与流的配置速率对应的端口的队列。例如,对于一个计量器而言,可以有一个 或者多个计量带,在计量带被配置为入队申请类型时,需要配置流的配置速率、与流的 配置速率对应的端口、与流的配置速率对应的端口的队列。从而使得对应速率的流可以 分别进入相应的计量带,进而加入对应的端口的队列中处理。这些端口的队列可以配置 有最低速率,还可以配置有最高速率。例如0~100kbps的流,进入最低速率为100kbps 的队列即可保障其QoS。此外,虽然0~100kbps的流,进入最低速率为500kbps的队列 也可以保障其QoS,但可能造成资源的浪费,并且占用较高速的队列。因此,流在根据 速率送入计量带处理时,进入配置速率中能够满足该流的速率要求的最小配置速率对应 的计量带处理。

优选地,计量带的类型还可以包括以下至少之一:dorp、DSCP remark。即在应用 上述方法时,计量器中计量带还可以结合dorp、DSCP remark类型实现流的QoS保障。

优选地,在组播业务中,包含视频、音频、文本内容;而这些内容的流具有各自的 特征。例如,视频流速率较大,速率的变化范围也大;为了对不同内容的流进行差异化 的QoS保障,在本发明实施例中通过在组播源封装流时,通过IP投中的DSCP值对流 的内容进行标记。这样,流可以根据DSCP值的不同(也即流的内容的不同)进入不同 的计量器,进而被不同的计量器中的计量带处理。例如,接收对流表的配置,其中,流 表的配置用于指示具有对应DSCP值的流应加入的计量器;根据流表的配置,将具有预 设DSCP值的流加入计量器中,其中,预设DSCP值的流在流表的配置中被配置为应加 入计量器。

优选地,上述流的预设DSCP值用于指示流的内容,其中,内容至少包括:视频、 音频、文本。在本发明实施例中并不限于上述三种内容;在流的内容导致流的速率、流 的速率的变化呈现一定特征的情况下,可以采用对应的DSCP值进行标记,进而进入不 同的流表进行差异化的处理。

优选地,在预设DSCP值指示流的内容为视频的情况下,根据计量带的类型,对通 过计量带的流进行处理包括:将流中具有第一速率的流加入第一计量带,并根据第一计 量带的类型,对通过第一计量带的流进行处理;将流中具有第二速率的流加入第二计量 带,并根据第二计量带的类型,对通过第二计量带的流进行处理。

优选地,根据第一计量带的类型,对通过第一计量带的流进行处理包括:在第一计 量带的类型为入队列申请的情况下,将具有第一速率的流加入第一端口的第一队列。

优选地,根据第二计量带的类型,对通过第二计量带的流进行处理包括:在第二计 量带的类型为入队列申请的情况下,将具有第二速率的流加入第二端口的第二队列;在 第二计量带的类型为丢弃的情况下,将具有第二速率的流丢弃;其中,第一速率小于第 二速率。通过结合丢弃类型的计量带,可以实现视频流的限速。

优选地,在预设DSCP值指示流的内容为音频的情况下,根据计量带的类型,对通 过计量带的流进行处理包括:将流中具有第三速率的流加入第三计量带;在第三计量带 的类型为入队列申请的情况下,将具有第三速率的流加入第三端口的第三队列。

优选地,在预设DSCP值指示流的内容为文本的情况下,根据计量带的类型,对通 过计量带的流进行处理包括:将流中具有第四速率的流加入第四计量带;在第四计量带 的类型为入队列申请的情况下,将具有第四速率的流加入第四端口的第四队列。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例 的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多 情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现 有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个 存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可 以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了一种流处理装置,该装置用于实现上述实施例及优选实施方 式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软 件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件, 或者软件和硬件的组合的实现也是可能并被构想的。

图2是根据本发明实施例的流处理装置的结构框图,如图2所示,该装置包括:第 一配置模块22和第一处理模块24,其中,第一配置模块22,用于接收对OpenFlow协 议计量器中计量带的类型的配置,类型包括:入队列申请,入队列申请用于指示对应速 率的流应加入的端口和端口的队列;第一处理模块24,耦合至第一配置模块22,用于 根据计量带的类型,对通过计量带的流进行处理。

通过上述模块的综合作用,解决了相关技术无法保障组播业务的服务质量的问题, 保障了组播业务的服务质量。

优选地,入队列申请至少包括:流的配置速率、与流的配置速率对应的端口、与流 的配置速率对应的端口的队列。

优选地,类型还包括以下至少之一:丢弃、差分服务代码点重标记。

图3是根据本发明实施例的流处理装置的优选结构示意图,如图3所示,优选地, 装置还包括:第二配置模块32,用于接收对流表的配置,其中,流表的配置用于指示具 有对应DSCP值的流应加入的计量器;第二处理模块34,耦合至第二配置模块32,用 于根据流表的配置,将具有预设DSCP值的流加入计量器中,其中,预设DSCP值的流 在流表的配置中被配置为应加入计量器。

优选地,流的预设DSCP值用于指示流的内容,其中,内容至少包括:视频、音频、 文本。

优选地,第一处理模块24包括:第一处理单元241,用于在预设DSCP值指示流的 内容为视频的情况下,将流中具有第一速率的流加入第一计量带,并根据第一计量带的 类型,对通过第一计量带的流进行处理;第二处理单元242,用于在预设DSCP值指示 流的内容为视频的情况下,将流中具有第二速率的流加入第二计量带,并根据第二计量 带的类型,对通过第二计量带的流进行处理。

优选地,第一处理单元241,用于在第一计量带的类型为入队列申请的情况下,将 具有第一速率的流加入第一端口的第一队列。

优选地,第二处理单元242,用于在第二计量带的类型为入队列申请的情况下,将 具有第二速率的流加入第二端口的第二队列;以及在第二计量带的类型为丢弃的情况下, 将具有第二速率的流丢弃,其中,第一速率小于第二速率。

优选地,第一处理模块24还包括:第三处理单元243,用于在预设DSCP值指示流 的内容为音频的情况下,将流中具有第三速率的流加入第三计量带;在第三计量带的类 型为入队列申请的情况下,将具有第三速率的流加入第三端口的第三队列。

优选地,第一处理模块24还包括:第四处理单元244,用于在预设DSCP值指示流 的内容为文本的情况下,将流中具有第四速率的流加入第四计量带;在第四计量带的类 型为入队列申请的情况下,将具有第四速率的流加入第四端口的第四队列。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通 过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位 于多个处理器中。

本发明的实施例还提供了一种软件,该软件用于执行上述实施例及优选实施方式中 描述的技术方案。

本发明的实施例还提供了一种存储介质。在本实施例中,上述存储介质可以被设置 为存储用于执行以下步骤的程序代码:

步骤S1,接收对OpenFlow协议计量器中计量带的类型的配置,其中,类型包括: 入队列申请,入队列申请用于指示对应速率的流应加入的端口和端口的队列;

步骤S2,根据计量带的类型,对通过计量带的流进行处理。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器 (Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称 为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示 例,本实施例在此不再赘述。

为了使本发明实施例的描述更加清楚,下面结合优选实施例进行描述和说明。

本发明优选实施例提供了一种基于OpenFlow计量器的组播流差分服务机制,涉及 利用OpenFlow计量器和端口队列实现组播流差分服务机制。

在本优选实施例中,采用差分服务模型(Diff-Serv)来对组播的不同内容进行QoS 保障。差分服务一般在IP包头的ToS字段中设置不同的DSCP值来区分不同的内容流, 然后对不同流执行不同的服务策略。OpenFlow网络的出现增加了对网络管理的灵活性 和可扩展性,因此运用OpenFlow对内容流进行识别具有很好的灵活性,对交换机进行 资源策略配置具有很好的管理性,有助于实现更复杂细致的差分服务。

为了提供一种组播QoS机制来保障组播的带宽,同时提高资源利用率,本发明优 选实施例对现有的OpenFlow协议的计量表进行扩展,增加一种计量带类型(Band Type): 入队列申请(enqueue apply),该类型计量带执行一个或多个enqueue动作。利用该类型 计量带建立的计量器可以让不同速率的流进入组播端口的不同队列。

优选地,为了在OpenFlow网络中实现组播QoS保障,本发明优选实施例在 OpenFlow控制器上设计了组播管理模块和QoS保障模块。

优选地,组播管理模块的任务包括:组播组成员管理、组播树建立以及为交换机下 发相应组播识别流表,根据组播树结构向QoS模块提供每个交换机的组播转出端口信 息。

优选地,QoS保障模块负责:建立内容识别流表和相应的计量表,通过OF-Config 配置相应的端口队列。在内容识别流表中通过不同的DSCP值来区分不同的内容流。在 计量表中建立多个计量器来实现不同的QoS保障。根据不同内容流的特点对不同内容 实施不同QoS策略。

其中,为了保障视频流、音频流、文本流的流畅传输,本发明优选实施例分别了建 立相应的计量器和端口队列来保障带宽。

优选地,视频流传输速率大,同时速率变化大,因此可以将视频流的速率分成多个 等级,然后在每个组播转发端口都给每个等级配置相应的具有最小速率的端口队列,最 后建立含多个enqueue apply类型的计量带的计量器,将每个等级速率的视频流分别发 送到组播端口各自对应的队列,来保障其流畅传输。这样可以避免低速的流占据高带宽 资源,可以节约网络的带宽。同时,为了防止视频流占用太多的网络带宽,还可以在计 量器中增加一个drop类型的计量带来对视频流进行限速。

优选地,音频流、文本流的传输速率相对较小,变化也较小,因此可以不进行速率 的分级,它们都只有一个等级速率,只需各自在每个组播端口建立一个具有最小速率的 队列。然后给这两种内容流分别建立只含一个enqueue apply类型的计量带的计量器, 将这两种流分别发送到组播端口各自对应队列来保障流畅传输。

可见,本发明优选实施例扩展了OpenFlow协议的计量表,增加了新的计量带类型 enqueue apply,利用该类型计量带建立的计量器可以使数据流根据不同的速率进入不同 的队列。相应地,本发明优选实施例在OpenFlow控制器上设计了组播管理和QoS保障 两个模块,来分别负责数据组播和各内容的QoS保障。最后,利用扩展的计量带和端 口队列对各内容流实施了更细致的差分服务,在保障流畅传输的同时可以减小网络带宽 开销。

下面结合附图对本发明优选实施例进行描述和说明。

本发明在为了实现组播的流差分服务,首先拓展了现有的OpenFlow计量带,增加 了新的计量带类型enqueue apply。然后在OpenFlow控制器上设计了组播管理和组播 QoS两个模块,来分别负责数据组播和各内容的QoS保障。最后利用enqueue apply计 量带分别为各内容设计相应的计量器,来实现细致的组播流差分服务。

下面仅以在一个简单的网络拓扑环境下实现组播的视频、音频、文本的流差分服务 为例对本方法进行说明,实际中,网络拓扑可能更复杂和数据内容划分可能会根据具体 情况变化,然而,这些不同的应用场景均可使用于本发明优选实施例。

优选实施例一:

本发明优选实施例中新增的计量带enqueue apply类型的结构体如下所示:

struct ofp_meter_band_enqueue_apply{

uint16_t type; /*计量带类型*/

uint16_t len; /*该计量带的字节长度.*/

uint32_t rate; /*该计量带的配置速率*/

uint8_t enqueue_number /*队列的总个数*/

struct enqueue_parameter*list /*队列参数*/

uint8_t pad[32];

};

其中

struct enqueue_parameter{

uint32_t port; /*端口号*/

uint32_t queue_id; /*队列id*/

}

本发明优选实施例中定义的上述计量带enqueue apply类型是一种“可选的 (optional)”类型。该类型计量带执行一个或多个enqueue动作,该计量带的参数包括 相应的配置速率(rate)、enqueue动作个数(enqueue_number)、端口号(port)及队列 号(queue_id)。该计量带可以根据流速率将数据转入一个或多个端口的相应队列。该计 量带的执行伪代码如下所示:

/*****************

函数名:enqueue_apply

输入参数:ofp_meter_band_enqueue_apply结构体的实例enqueue_apply_band,待 处理的数据流pkt。

输出参数:void

实现功能:执行计量带enqueue_apply_band的操作,将数据流pkt的执行enqueue 操作。即先从enqueue_apply_band中提取出添加enqueue动作的个数N,然后依次将N 个队列参数对,建立成enqueue动作的标准ofp_enqueue_action结构体实例,然后运用 apply-actions直接执行这N个enqueue动作,将数据发送到相应端口的相应队列。



需要说明的是,利用该计量带时,在多级流表设计时不能有output动作,以避免和 enqueue动作造成重复发送,同时所有动作采用使用Apply-actions指令,而非 Write-actions指令,这样可以保障相关动作的执行在数据流通过该计量带进入队列之前 完成。

利用该扩展的计量带可以设计一个让不同速率的流进入不同端口队列的计量器。给 具有不同配置速率rate的enqueue apply类型计量带设置不同queue_id参数,则可以实 现根据不同速率将流调整进入组播端口中的不同队列,以利于后面实现组播QoS保障。 下表1为利用enqueue apply计量带建立的计量器1:

表1


数据流经过该计量器的处理:当通过该计量带的流速率在0~b kbps时,将进入p1端 口的队列q11和p2端口的队列q21;当流速率超过b kbps时,将进入p1端口的队列q12和p2 端口的队列q22。

优选实施例二:

图4是根据本发明优选实施例的OpenFlow实施组播QoS系统框架图,如图4所示, 为了实现组播的QoS保障,本发明优选实施例在控制器上设计两个模块:组播管理模 块和QoS保障模块,其中:

组播管理模块,用于组播组成员管理、组播树建立以及为交换机建下发相应组播识 别流表(即流表0),根据组播树结构向QoS模块提供每个交换机的组播转出端口。

QoS保障模块,负责建立内容识别流表(流表1)和相应的计量表,通过OF-Config 配置相应的端口队列。QoS保障模块将根据选择的QoS策略,在计量表中建立相应的 计量器。其中,流表0由组播管理模块建立并下发到交换机,用于实现交换机的组播识 别;流表1由QoS保障模块建立并下发到交换机,用于各内容流的区分识别,并转到 计量表中相应的计量器进行处理;计量表由QoS保障模块建立并下发到交换机,包含 多个计量器来实现不同的QoS保障,通过每个计量器包含一个或多个enqueue_apply计 量带,根据速率的流进入不同的队列;队列由OF-Config来配置,可以设置队列最大速 率、队列最小速率等来辅助实现QoS保障。

结合图4所示,数据进入OpenFlow交换机的执行过程,包括如下步骤:

步骤S401,当数据流进入OpenFlow交换机后,将进入流水线,在流表0中进行匹 配,将执行匹配成功的流表项的相应指令,即转到流表1。

步骤S402,数据流在流表1中继续匹配,以识别流的内容,匹配成功后转到相应 计量器。

步骤S403,数据流进入相应的计量器后,计量器选择计量带的配置速率低于流当 前速率中最大的那个计量带进行处理,处理方式包括:drop、DSCP remark和enqueue apply。其中,enqueue_apply计量带会将数据流会转发到指定端口的指定队列。

步骤S404,数据经过队列转发出端口,队列配置相应的最大或最小速率来限制或 保障速率。

优选实施例三:

图5是根据本发明优选实施例的简易的OpenFlow组播网络拓扑示意图,如图5所 示,假设组播源的多媒体接入控制(MAC)地址为00:00:00:00:00:00,组播使用的用户 数据报(UDP)端口为100。本发明优选实施例在OpenFlow的控制器建立了一个组播 管理模块,负责管理组播成员的加入、组播树建立、为相应的交换机建立下发组播识别 流表、向QoS模块提供每个交换机的组播转出端口。结合图5所示,该流程的步骤包 括:

步骤S501,当需要一个组播应用建立时,组播各成员向OpenFlow控制器的组播管 理模块发送申请,OpenFlow控制器中的组播管理模块对组成员进行管理。

步骤S502,组播组管理模块将根据网络拓扑、链路状态以及选择的生成树算法, 为该组播建立一个组播树,图5粗黑线表示组播树。

步骤S503,组播树建立后,组播管理模块将根据组播源MAC地址、UDP端口以 及组播树进出交换机的端口为各交换机建立并下发相应的组播识别流表,即流表0。流 表0的匹配域是Ether_Src=源MAC地址、Src_Port=UDP端口、Ingress_port=组播树进 入交换机的端口,相应指令是进入流区分识别流表(即流表1)。例如,交换机1建立的 组播识别流表如表2所示:

表2


步骤S504,组播管理模块还需要根据组播树结构向QoS模块提供每个交换机的组 播转出端口。例如,交换机1的组播出端口是端口3和端口4,该模块需要将该信息提 供给QoS模块,QoS将利用该信息辅助建立相应的enqueue_apply计量带。

优选实施例四:

图6是根据本发明优选实施例的QoS保障实施的流程图,QoS保障模块将根据所 选择的QoS保障策略,建立相应的流表1和计量表,并结合OF-Config来配置相应的端 口队列。在此,使用差分服务模型(DiffServ),将一个基于组播的应用的视频、音频、 文本等内容的传输进行差分服务,因此需要对不同的内容流进行识别,如图6所示,该 流程包括如下步骤:

步骤S601,为了实现差分服务,利用IP头部中ToS字段的DSCP值,通过设置不 同DSCP值来标明不同内容。组播源封装数据包时,对不同的内容设置不同的DSCP值。 例如,可以将文本、音频、视频、其他格式内容的DSCP值分别设置为4、3、2、1。

步骤S602,为了识别不同的内容流,QoS保障模块需要建立相应的流表1来识别 不同的内容流。由于不同的内容设置不同的DSCP值,因此可以通过匹配IP_DSCP值 来识别不同的内容流,匹配成功后转入相应的计量器实现相应的QoS保障。内容识别 流表如表3所示:

表3

Match Fields Priority Counters Instruction Timeouts Cookie

IP_DSCP=2 Meter meter_id=2

IP_DSCP=3 Meter meter_id=3

IP_DSCP=4 Meter meter_id=4

当数据流的DSCP值为2时,数据流将转向计量器2进行处理;DSCP值为3时, 则转向计量器3处理;DSCP值为4时,则转向计量器4处理。不同的计量器将根据不 同的服务策略来设计,从而实现对不同内容流的差分服务。

上面阐述了内容识别流表的设计,将视频、音频、文本不同的内容流进行了分离识 别。QoS模块收到组播管理模块提供的各交换机的组播转出端口信息后,还需要在各交 换机为各种内容流设计相应的计量器和配置相应的端口队列。为了实现各内容传输的流 畅,可以对各内容流流进行带宽保障。可以根据各内容流的特点,本发明优选实施例中, 对各内容速率进行等级划分,设置相应队列,建立相应计量器。下面以视频流为例阐述 步骤S603至步骤S605:

步骤S603,根据视频速率的特点和划分的颗粒度,将视频速率划分几个等级。例 如,对于一个传输速率主要在0~1000kbps之间的变化的视频流,可以将速率划分成3 个等级:0~100kbps、100~500kbps、500~1000kbps。

步骤S604,通过OF-Config协议在每个组播转发端口为各等级的速率建立相应的队 列,为各队列设置相应的最小速率。例如,给每个组播转出端口设置3个队列,如在图 5所示的交换机1的端口3的队列1和端口4的队列2均有min_rate=100kbps、端 口3队列3和端口4的队列4均有min_rate=500kbps、端口3队列5和端口4的队 列6均有min_rate=1000kbps,分别实现低、中、高三种转发速率。

步骤S605,利用enqueue apply计量带建立相应的计量器,例如表4中的Meter id 为2的计量器(即计量器2):

表4



利用计量器2,可以将不同等级速率的视频流调整进入每个组播端口的不同的队列。 当视频流经过计量器2处理,若视频流的速率在0~100kbps时,则进入端口3的队列1 和端口4的队列2,其最小转发速率是100kbps,完全能保障其流畅的传输;同样速率 在100~500kbps时,进入端口3的队列3和端口4的队列4;速率在500~1000kbps时, 进入端口3的队列5和端口4的队列6。该方法的优势是,使视频流进入可以充分满足 其速率要求的队列,同时又不占用过多的资源。如当视频流速率较大时,则将其转发进 入高速队列,当速率降低至低速队列可满足其要求时,将其转发进入低速队列,以免低 速流占用高速队列造成资源浪费。为了防止视频流瞬时速率过大占用太多的网络带宽, 还可以在计量器通过增加一个drop类型的计量带,设置该计量带的配置速率为高速队 列的速率,当速率超过高速的速率时,计量表将会丢弃数据,以达到限制速率的目的。 如表4中的计量器2的限速为1000kbps,当大于1000kbps则丢弃数据。

音频流、文本流的传输速率相对较小,变化也较小,因此可以不进行速率的分级, 都只有一个等级速率,只需各自在每个组播端口建立一个队列,队列设置相应的最小速 率。然后给这两种内容流分别建立只含一个enqueue apply类型的计量带的计量器,将 这两种流分别发送到每个组播端口的各自对应队列来保障流畅传输。

例如,如表4中Meter id为3的计量器(即计量器3)所示,对于一个传输速率主 要在0~100kbps之间的变化的音频,在每个组播端口设置一个队列,端口3的队列7 和端口4的队列8均有min_rate=100kbps。然后在计量表中建立计量器3,只含一 个配置速率为0kbps的enqueue apply类型计量带,则音频流经过该计量器都转发到端口 3的队列7和端口4的队列8。

又例如,如表4中Meter id为4的计量器(即计量器4)所示,对于一个传输速率 主要在0~200kbps之间的变化的文本,在每个组播端口设置一个队列,端口3的队列9 和端口4的队列10均有min_rate=200kbps。然后在计量表中建立计量器4,只含一 个配置速率为0kbps的enqueue apply类型计量带,则文本流经过该计量器都转发到端口 3的队列9和端口4的队列10。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的 计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们 存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执 行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多 个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件 和软件结合。

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

本文发布于:2023-04-14 17:29:46,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/86748.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图