一种软件定义网络中报文处理方法和装置转让专利

申请号 : CN201410505928.5

文献号 : CN104243340B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 宋小恒王锋

申请人 : 新华三技术有限公司

摘要 :

本发明提供了一种软件定义网络中报文处理方法,所述方法包括:接收到数据报文时,进行转发流表匹配;当匹配到的转发流表中存在组表标识时,计算该数据报文的QoS值,并根据计算的QoS值在该组表标识对应的组表中的各指令桶中匹配权重值;按照预设哈希算法,以及在各指令桶中匹配到的权重值进行负载计算,并使用负载计算结果对应的指令桶转发该数据报文。基于同样的发明构思,本申请还提出一种软件定义网络中报文处理装置,提高了利用网络带宽的效率,并为不同QoS报文提供不同的数据传输质量。

权利要求 :

1.一种软件定义网络中报文处理方法,其特征在于,所述方法包括:

交换设备接收到控制设备下发的组表并在本地存储,该组表中的各指令桶中携带控制设备配置的服务质量QoS值与权重值的对应关系,且在该组表中的各指令桶中同一QoS值对应的权重值的和为1;

该交换设备接收到数据报文时,进行转发流表匹配;

当匹配到的转发流表中存在组表标识时,计算该数据报文的QoS值,并根据计算的QoS值在该组表标识对应的组表中的各指令桶中匹配权重值;

该交换设备按照预设哈希算法,以及在各指令桶中匹配到的权重值进行负载计算,并使用负载计算结果对应的指令桶转发该数据报文。

2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:

该交换设备计算QoS值的规则同控制设备配置QoS值的规则相同。

3.一种软件定义网络中报文处理方法,其特征在于,所述方法包括:

控制设备对存在等价路径的交换设备配置组表时,在该组表中携带配置的服务质量QoS值与权重值的对应关系,且在该组表中的各指令桶中同一QoS值对应的权重值的和为1;

并将该组表下发给该交换设备,使该交换设备若确定该组表中的指令桶中携带扩展权重域字段,且本交换设备支持扩展组表能力,则存储该组表;

该控制设备接收到该交换设备上送的数据报文,并下发转发流表时,在该转发流表中携带为该交换设备配置的组表的组表标识,使该交换设备计算该数据报文的QoS值,并按照预设哈希算法,以及根据计算的QoS值在该组表标识对应的组表中各指令桶中匹配到的权重值进行负载计算,使用负载计算结果对应的指令桶转发该数据报文。

4.根据权利要求3所述的方法,其特征在于,该控制设备配置组表之后,向该交换设备下发组表之前,所述方法进一步包括:该控制设备是否接收到该交换设备发送的是否支持扩展组表能力的特征消息;

当接收到该交换设备发送的特征消息,且该交换设备支持扩展组表能力;或未接收到该交换设备发送的特征消息时,向该交换设备下发组表时携带配置的QoS值与权重值的对应关系;

当接收到该交换设备发送的特征消息,且该交换设备不支持扩展组表能力时,向该交换设备下发组表时不携带QoS值与权重值的对应关系;

该控制设备当接收到该交换设备发送的错误消息时,向该交换设备再次下发组表,且不携带QoS值与权重值的对应关系;其中,所述错误消息为该交换设备在接收到控制设备下发的组表时,若确定该组表中的指令桶中不携带扩展权重域字段,和/或本交换设备不支持扩展组表能力时,发送的错误消息。

5.根据权利要求3或4所述的方法,其特征在于,所述方法进一步包括:

该控制设备在生成任一等价路径对应的组表时,按用户类型生成不同的组表;

该控制设备在下发转发流表需携带组表标识时,根据接收到的数据报文确定该数据报文的用户类型,并将确定的用户类型对应的组表标识携带在转发流表中下发。

6.根据权利要求3或4所述的方法,其特征在于,所述方法进一步包括:

该控制设备根据交换设备的配置信息和流量转发状态,周期统计等价路径中的每条路径上的平均传输速率、最小剩余带宽,累计丢弃报文数量,链路的传输质量确定该交换设备上的等价路径中的每条路径的质量,并确定任一条路径的质量是否提高,如果是,将该条路径对应的指令桶中对应高QoS的权重值调大,低QoS的权重值调小;否则,将该条路径对应的指令桶中对应高QoS的权重值调小,低QoS的权重值调大;

当本地组表更新时,将更新后的组表再次下发给对应的交换设备使该交换设备更新本地存储的对应组表。

7.一种软件定义网络中报文处理装置,其特征在于,所述装置包括:接收单元、存储单元、处理单元和发送单元;

所述接收单元,用于接收组表;

所述存储单元,用于将所述接收单元接收到的组表在本地存储;该组表中的各指令桶中携带控制设备配置的服务质量QoS值与权重值的对应关系,且在该组表中的各指令桶中同一QoS值对应的权重值的和为1;

所述处理单元,用于当所述接收单元接收到数据报文,根据该数据报文进行转发流表匹配;当匹配到的转发流表中存在组表标识时,计算该数据报文的QoS值,并根据计算的QoS值在该组表标识在所述存储单元中对应的组表中的各指令桶中匹配权重值;按照预设哈希算法,以及在各指令桶中匹配到的权重值进行负载计算;

所述发送单元,用于使用所述处理单元计算的负载计算结果对应的指令桶转发该数据报文。

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

所述处理单元,具体用于计算QoS值的规则同控制设备配置QoS值的规则相同。

9.一种软件定义网络中报文处理装置,其特征在于,所述装置包括:配置单元、发送单元和接收单元;

所述配置单元,用于对存在等价路径的交换设备配置组表,并在该组表中携带配置的服务质量QoS值与权重值的对应关系,且在该组表中的各指令桶中同一QoS值对应的权重值的和为1;

所述发送单元,用于向该交换设备下发所述配置单元配置的组表,使该交换设备若确定该组表中的指令桶中携带扩展权重域字段,且本交换设备支持扩展组表能力,则存储该组表;当所述接收单元接收到数据报文时,下发转发流表,并在该转发流表中携带为该交换设备配置的组表的组表标识,使该交换设备计算该数据报文的QoS值,并按照预设哈希算法,以及根据计算的QoS值在该组表标识对应的组表中各指令桶中匹配到的权重值进行负载计算,使用负载计算结果对应的指令桶转发该数据报文;

所述接收单元,用于接收交换设备上送的数据报文。

10.根据权利要求9所述的装置,其特征在于,该装置进一步包括:确定单元;

所述接收单元,用于接收交换设备发送的特征消息、错误消息;

所述确定单元,用于当所述配置单元对该交换设备配置组表之后,确定所述接收单元是否接收到该交换设备发送的是否支持扩展组表能力的特征消息;当接收到该交换设备发送的特征消息,且该交换设备支持扩展组表能力;或未接收到该交换设备发送的特征消息时,触发所述发送单元向该交换设备下发组表时携带配置的QoS值与权重值的对应关系;当接收到该交换设备发送的特征消息,且该交换设备不支持扩展组表能力时,触发所述发送单元向该交换设备下发组表时不携带QoS值与权重值的对应关系;

所述发送单元,进一步用于当所述接收单元接收到该交换设备发送的错误消息时,向该交换设备再次下发组表,且不携带QoS值与权重值的对应关系,其中,所述错误消息为该交换设备在接收到控制设备下发的组表时,若确定该组表中的指令桶中不携带扩展权重域字段,和/或本交换设备不支持扩展组表能力时,发送的错误消息。

11.根据权利要求9或10所述的装置,其特征在于,

所述配置单元,具体用于在为该交换设备配置组表时,按用户类型配置不同的组表;

所述发送单元,进一步用于在下发转发流表需携带组表标识时,根据接收到的数据报文确定该数据报文的用户类型,并将确定的用户类型对应的组表标识携带在转发流表中下发。

12.根据权利要求9或10所述的装置,其特征在于,该装置进一步包括:统计单元;

所述统计单元,用于根据交换设备的配置信息和流量转发状态,周期统计等价路径中的每条路径上的平均传输速率、最小剩余带宽,累计丢弃报文数量,链路的传输质量确定该交换设备上的等价路径中的每条路径的质量是否提高;

所述配置单元,进一步用于当所述统计单元确定任一条路径的质量提高时,将该条路径对应的指令桶中对应高QoS的权重值调大,低QoS的权重值调小;否则,将该条路径对应的指令桶中对应高QoS的权重值调小,低QoS的权重值调大;

所述发送单元,进一步用于当所述配置单元配置的组表更新时,将更新后的组表再次下发给对应的交换设备,并使该交换设备更新本地存储的对应组表。

说明书 :

一种软件定义网络中报文处理方法和装置

技术领域

[0001] 本发明涉及通信技术领域,特别涉及一种软件定义网络中报文处理方法和装置。

背景技术

[0002] 在软件定义网络(Soft Define Network,SDN)中,控制设备和交换设备之间采用开放流(Openflow)协议作为控制层和转发层的信令通道,控制设备通过该信道配置和管理交换设备。
[0003] 控制设备向交换设备下发转发流表以指导报文转发,组修正(Group Mod)可以提供转发流表中的额外动作指令,比如,哈希选择定义了等价路径实现报文的负载分担。支持报文负载分担的组(Group)表类型为选择(Select)类型,该Group表中存在多个指令桶,每个指令桶中包含了用于报文修改和转发的一系列动作指令。交换设备可以根据一定的哈希(Hash)算法和Group表中指定的权重进行负载分担。

发明内容

[0004] 有鉴于此,本申请提供一种软件定义网络中报文处理方法和装置,以解决仅依靠指定权重值实现负载分担的局限性。
[0005] 为解决上述技术问题,本申请的技术方案是这样实现的:
[0006] 一种软件定义网络中报文处理方法,所述方法包括:
[0007] 接收到控制设备下发的组表并在本地存储,该组表中的各指令桶中携带控制设备配置的QoS值与权重值的对应关系,且在该组表中的各指令桶中同一QoS值对应的权重值的和为1;
[0008] 接收到数据报文时,进行转发流表匹配;
[0009] 当匹配到的转发流表中存在组表标识时,计算该数据报文的QoS值,并根据计算的QoS值在该组表标识对应的组表中的各指令桶中匹配权重值;
[0010] 按照预设哈希算法,以及在各指令桶中匹配到的权重值进行负载计算,并使用负载计算结果对应的指令桶转发该数据报文。
[0011] 一种软件定义网络中报文处理方法,所述方法包括:
[0012] 控制设备对存在等价路径的交换设备配置组表时,在该组表中携带配置的QoS值与权重值的对应关系,且在该组表中的各指令桶中同一QoS值对应的权重值的和为1;并将该组表下发给该交换设备,使该交换设备存储该组表;
[0013] 该控制设备接收到该交换设备上送的数据报文,并下发转发流表时,在该转发流表中携带为该交换设备配置的组表的组表标识,使该交换设备计算该数据报文的QoS值,并按照预设哈希算法,以及根据计算的QoS值在该组表标识对应的组表中各指令桶中匹配到的权重值进行负载计算,使用负载计算结果对应的指令桶转发该数据报文。
[0014] 一种软件定义网络中报文处理装置,所述装置包括:接收单元、存储单元、处理单元和发送单元;
[0015] 所述接收单元,用于接收组表;
[0016] 所述存储单元,用于将所述接收单元接收到的组表在本地存储;该组表中的各指令桶中携带控制设备配置的QoS值与权重值的对应关系,且在该组表中的各指令桶中同一QoS值对应的权重值的和为1;
[0017] 所述处理单元,用于当所述接收单元接收到数据报文,根据该数据报文进行转发流表匹配;当匹配到的转发流表中存在组表标识时,计算该数据报文的QoS值,并根据计算的QoS值在该组表标识在所述存储单元中对应的组表中的各指令桶中匹配权重值;按照预设哈希算法,以及在各指令桶中匹配到的权重值进行负载计算;
[0018] 所述发送单元,用于使用所述处理单元计算的负载计算结果对应的指令桶转发该数据报文。
[0019] 一种软件定义网络中报文处理装置,所述装置包括:配置单元、发送单元和接收单元;
[0020] 所述配置单元,用于对存在等价路径的交换设备配置组表,并在该组表中携带配置的QoS值与权重值的对应关系,且在该组表中的各指令桶中同一QoS值对应的权重值的和为1;
[0021] 所述发送单元,用于向该交换设备下发所述配置单元配置的组表,使该交换设备存储该组表;当所述接收单元接收到数据报文时,下发转发流表,并在该转发流表中携带为该交换设备配置的组表的组表标识,使该交换设备计算该数据报文的QoS值,并按照预设哈希算法,以及根据计算的QoS值在该组表标识对应的组表中各指令桶中匹配到的权重值进行负载计算,使用负载计算结果对应的指令桶转发该数据报文;
[0022] 所述接收单元,用于接收交换设备上送的数据报文。
[0023] 由上面的技术方案可知,本申请中通过扩展组表的选择能力,引入数据报文的QoS值对应不同的权重值,从而实现不同QoS的报文进行负载分担,提高了利用网络带宽的效率,为不同QoS报文提供不同的数据传输质量。

附图说明

[0024] 图1为本申请实施例中的一个组表中的一个指令桶的示意图;
[0025] 图2为SDN组网示意图;
[0026] 图3为本申请实施例中SDN中交换设备处理报文流程示意图;
[0027] 图4为本申请实施例中SDN中控制设备处理报文流程示意图;
[0028] 图5为本申请实施例中应用于上述技术的交换设备中的装置结构示意图;
[0029] 图6为本申请实施例中应用于上述技术的控制设备中的装置结构示意图。

具体实施方式

[0030] 为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图并据实施例,对本发明的技术方案进行详细说明。
[0031] 在SDN中,交换设备可以通过特征(features)消息通告控制设备本交换设备是否支持扩展组表能力。本申请实施例中的扩展组表能力是否能够识别并使用本申请实施例中指令桶中新增的扩展权重域字段。
[0032] 控制设备接收到该特征消息后,确定该交换设备是否支持扩展组表能力。
[0033] 当该交换设备存在到其他交换设备的等价路径,为该交换设备配置组表,并在该组表中的每个指令桶中增加扩展权重域字段,用于携带服务质量(Quality of Service,QoS)值与权重值的对应关系,且一个组表中各指令桶中同一QoS值对应的权重值的和为1。若确定该交换设备支持扩展组表能力,则将该组表下发给该交换设备。
[0034] 在具体实现时,权重值可以使用百分制实现,则一个组表中各指令桶中同一QoS值对应的权重值的和为100%。
[0035] 控制设备在针对该交换设备的一个等价路径时,可以下发多个组表,如按用户类型划分,且每个组表的标识不同,一起下发给该交换设备。
[0036] 若确定该交换设备不支持扩展组表能力,则为该交换设备下发组表时,按现有实现,即不增加本申请实施例中的扩展权重域字段。
[0037] 当该交换设备存在到其他交换设备的等价路径,需要为该交换设备下发组表时,若不能确定该交换设备是否支持扩展组表能力,即没有接收到该交换设备发送的特征消息时,则默认该交换设备支持扩展组表能力,在下发的组表中的每个指令桶中增加扩展权重域字段,用于携带QoS值与权重值的对应关系。
[0038] 交换设备接收到控制设备下发的组表时,若该组表中的指令桶中携带扩展权重域字段,且本交换设备支持扩展组表能力,则在本地进行存储;否则,通过错误消息通知控制设备本交换设备不支持扩展组表能力。
[0039] 控制设备接收到交换设备发送的错误信息时,重新按现有实现为该交换设备下发组表,并记录该交换设备不支持扩展组表能力。
[0040] 控制设备在初始时按一定规则下发组表,由于初始时各交换设备上无任何流量,可以配置各QoS在各指令桶对应的权重值相同。
[0041] 控制设备根据交换设备的配置信息和流量转发状态,周期统计等价路径中的每条路径上的平均传输速率、最小剩余带宽,累计丢弃报文数量,链路的传输质量确定每条条路径的质量是否提高,如果是,将该条路径对应的指令桶中对应高QoS的权重值调大,低QoS的权重值调小;否则,将该条路径对应的指令桶中对应高QoS的权重值调小,低QoS的权重值调大。
[0042] 本申请具体实现时,一个组表中的各指令桶中同一QoS值对应的权重值的和为1,因此,在一个组表中无论如何调整指令桶中的QoS对应的权重值,但是调整后的组表中,同一QoS值在各指令桶中对应的权重值的和要为1。
[0043] 本申请实施例中能够动态调整QoS值与权重值的对应关系,从而达到适时调整不同QoS的报文的实时分担,最大限度的优化了网络的传输性能。
[0044] 参见图2,图2为SDN组网示意图。图2中交换设备1到交换设备2之间存在两条等价路径,分别为:交换设备1-交换设备2-交换设备3;交换设备1-交换设备4-交换设备3。
[0045] 在初始情况下,由于SDN中还未存在流量转发,可以在两个指令桶中的同一QoS值对应的权重值分别设置为50%。举个简单的例子:
[0046] 在指令桶1(对应的路径为交换设备1-交换设备2-交换设备3)中存在2组QoS值与权重值的对应关系,如QoS值1:权重值50%;QoS值2:权重值50%。
[0047] 在指令桶2(对应的路径为交换设备1-交换设备4-交换设备3)中存在2组QoS值与权重值的对应关系,如QoS值1:权重值50%;QoS值2:权重值50%。
[0048] 控制设备在周期确定每条路径的质量时,确定指令桶1对应的路径质量变优,而指令桶2对应的路径质量变劣时,将指令桶1中QoS值1对应的权重值调大,如由50%调大到80%,而QoS值2对应的权重值调小,如由50%调到30%;将指令桶2中QoS值1对应的权重值调小,如由50%调小到20%,而QoS值2对应的权重值调大,如由50%调大到70%。
[0049] 本实施例中以QoS值越小,表明QoS越高为例。在具体实现时,如路径质量的优劣可以配置阈值确定,并配置质量参数同权重值的对应关系,从而自动调整权重值的大小;也可以根据质量的优劣手工调节权重值的大小,对于调节的幅度,本申请实施例不做限制,可以根据实际应用进行配置。
[0050] 无论该组表中各指令桶中的权重值如何调整,各指令桶中的同一QoS值对应的权重值的和为1。
[0051] 控制设备将更新后的组表下发给交换设备,使交换设备更新本地对应的组表;当周期到时,若未更新本地的组表,则可以向交换设备再次下发组表,也可以不下发。
[0052] 本申请具体实现时,控制设备和交换设备都可以根据用户优先级(802.1P)、试用(EXP)或区分服务编码点(DSCP)确定QoS值。其中,EXP为MPLS网络中的预留以备试用字段,常用来作为MPLS标签的优先级,计算QoS时使用。
[0053] 控制设备在下发组表时,使用802.1P确定的QoS值,则为使用802.1P计算QoS值的数据报文下发转发流表时,则在转发流表中携带对应的组表标识。总之,保证对于同一业务或用户的数据报文,控制设备和交换设备使用同一优先级信息同一规则能够计算出相同的QoS值,以保证数据报文计算出的QoS值在组表中能够匹配到对应的权重值即可。
[0054] 参见图1,图1为本申请实施例中的一个组表中的一个指令桶的示意图。图1中的扩展权重域(Extended Weight Field)为本申请实施例中新增字段,其他字段均同现有实现。
[0055] Extended weight field字段,包含扩展权重长度(Extended weight length),是整个Extened Weight Field字段的长度,还包括成对出现的QoS值和权重值,即QoS值和权重值的对应关系。
[0056] 指令桶中原有的Weight字段仍然可以存在,当Extended Weight Field字段不生效或不存在时,该指令桶中原有的权重字段作为该动作指令桶进行负载计算时的权重值。
[0057] 由上可见,控制设备根据实际需要,以及周期检测检链路质量不同的组表中可以有相同的动作指令集(Bucket Actions),相同的动作指令集在不同的组表中可以有不同的权重值,即等价路径中的一条路径可以在不同的组表中存在,且可以有不同的权重值,在该路径上可以针对匹配到相同流表,且计算出不同QoS值的报文对应不同的权重值,从而可以有不同的比重分担。
[0058] 报文的QoS值相同但匹配到不同的转发流表的报文在该路径上也可以对应到不同的权重值,从而可以有不同的比重分担,只要保证每个转发流表引用组表中的权重值不同就可实现。
[0059] 参见图3,图3为本申请实施例中SDN中交换设备处理报文流程示意图。具体步骤为:
[0060] 步骤301,交换设备接收到数据报文时,进行转发流表匹配。
[0061] 本步骤中交换设备接收到数据报文时,根据数据报文的相关信息进行转发流表匹配,如果未匹配到对应的转发流表,则将该数据报文或数据报文的相关信息上报控制器,再根据控制器下发的转发流表进行流表匹配并进行数据报文的转发。
[0062] 步骤302,当匹配到的转发流表中存在组表标识时,计算该数据报文的QoS值,并根据计算的QoS值在该组表标识对应的组表中的各指令桶中匹配权重值。
[0063] 当匹配到的转发流表,且该转发流表中存在组表标识,说明到达目的设备存在等价路径,需要进行负载分担确定转发路径。
[0064] 交换设备需要根据该数据报文进行QoS值计算,在计算QoS值时,同控制设备使用相同的优先级信息(UP、EXP、DSCP)且使用同一规则确定QoS值,如控制设备使用第一规则并使用UP值计算Qos值,则本交换设备也使用第一规则并使用数据报文中携带的UP值计算Qos值,以保证在指令桶中匹配到对应的权重值。
[0065] 该交换设备使用计算出的QoS在该组表中的各指令桶中的扩展权重域中匹配到对应的权重值。
[0066] 若该扩展权重域中的权重长度值为0,则说明该字段无效,使用各指令桶中权重字段中的权重值进行负载计算,即按现有实现即可。
[0067] 步骤303,该交换设备按照预设哈希算法,以及在各指令桶中匹配到的权重值进行负载计算,并使用负载计算结果对应的指令桶转发该数据报文。
[0068] 本申请具体实施例中对负载计算规则并不做限制,仅在进行负载计算时使用计算出的QoS值在各指令桶中对应的权重值计算即可。
[0069] 参见图4,图4为本申请实施例中SDN中控制设备处理报文流程示意图。具体步骤为:
[0070] 步骤401,控制设备接收到交换设备上送的数据报文。
[0071] 步骤402,该控制设备接收到该交换设备上送的数据报文,并下发转发流表时,在该转发流表中携带为该交换设备配置的组表的组表标识,使该交换设备计算该数据报文的QoS值,并按照预设哈希算法,以及根据计算的QoS值在该组表标识对应的组表中各指令桶中匹配到的权重值进行负载计算,使用负载计算结果对应的指令桶转发该数据报文。
[0072] 该控制设备在生成任一等价路径对应的组表时,可以按用户类型生成不同的组表。
[0073] 该控制设备在接收到数据报文下发转发流表需携带组表标识时,根据接收到的数据报文确定该数据报文的用户类型,并将确定的用户类型对应的组表标识携带在转发流表中下发。
[0074] 本申请实施例中用户类型可以使用IP地址、端口号或VLAN标识进行标识。
[0075] 如使用VLAN标识进行标识,则VLAN1-VLAN100对应的组表标识为1,VLAN101-VLAN200对应的组表标识为2;VLAN201-VLAN300对应的组表标识为3。
[0076] 当接收到交换设备上送的数据报文,为该数据报文下发转发流表时,由于到目的设备存在等价路径,则需要携带组表标识,则根据该数据报文携带的VLAN标识确定其所属的VLAN范围,从而确定对应的组表标识,从而将对应的组表标识携带在下发的转发流表中。
[0077] 该控制设备在生成任一等价路径对应的组表时,按业务类型或用户标识生成不同标识的组表;因此,在下发转发流表时需要携带对应组表标识,具体如下:
[0078] 当按业务类型生成组表时,该控制设备在下发的转发流表中携带的组表标识根据接收到的数据报文的类型确定;
[0079] 当按用户标识生成组表时,该控制设备在下发的转发流表中携带的组表标识根据接收到的数据报文的源IP地址确定。
[0080] 基于同样的发明构思,本申请还提出一种软件定义网络中报文处理装置。参见图5,图5为本申请实施例中应用于上述技术的交换设备中的装置结构示意图。该装置包括:接收单元501、存储单元502、处理单元503和发送单元504;
[0081] 接收单元501,用于接收组表;
[0082] 存储单元502,用于将接收单元501接收到的组表在本地存储;该组表中的各指令桶中携带控制设备配置的QoS值与权重值的对应关系,且在该组表中的各指令桶中同一QoS值对应的权重值的和为1;
[0083] 处理单元503,用于当接收单元501接收到数据报文,根据该数据报文进行转发流表匹配;当匹配到的转发流表中存在组表标识时,计算该数据报文的QoS值,并根据计算的QoS值在该组表标识在存储单元502中对应的组表中的各指令桶中匹配权重值;按照预设哈希算法,以及在各指令桶中匹配到的权重值进行负载计算;
[0084] 发送单元504,用于使用处理单元503计算的负载计算结果对应的指令桶转发该数据报文。
[0085] 较佳地,
[0086] 处理单元503,具体用于计算QoS值的规则同控制设备配置QoS值的规则相同。
[0087] 基于同样的发明构思,本申请还提出一种软件定义网络中报文处理装置。参见图6,图6为本申请实施例中应用于上述技术的控制设备中的装置结构示意图。该装置包括:配置单元601、发送单元602和接收单元603。
[0088] 配置单元601,用于对存在等价路径的交换设备配置组表,并在该组表中携带配置的QoS值与权重值的对应关系,且在该组表中的各指令桶中同一QoS值对应的权重值的和为1;
[0089] 发送单元602,用于向该交换设备下发配置单元601配置的组表,使该交换设备存储该组表;当接收单元603接收到数据报文时,下发转发流表,并在该转发流表中携带为该交换设备配置的组表的组表标识,使该交换设备计算该数据报文的QoS值,并按照预设哈希算法,以及根据计算的QoS值在该组表标识对应的组表中各指令桶中匹配到的权重值进行负载计算,使用负载计算结果对应的指令桶转发该数据报文;
[0090] 接收单元603,用于接收交换设备上送的数据报文。
[0091] 较佳地,该装置进一步包括:确定单元604;
[0092] 接收单元603,用于接收交换设备发送的特征消息、错误消息;
[0093] 确定单元604,用于当配置单元601对该交换设备配置组表之后,确定接收单元603是否接收到该交换设备发送的是否支持扩展组表能力的特征消息;当接收到该交换设备发送的特征消息,且该交换设备支持扩展组表能力;或未接收到该交换设备发送的特征消息时,触发发送单元602向该交换设备下发组表时携带配置的QoS值与权重值的对应关系;当接收到该交换设备发送的特征消息,且该交换设备不支持扩展组表能力时,触发发送单元602向该交换设备下发组表时不携带QoS值与权重值的对应关系;
[0094] 发送单元602,进一步用于当接收单元603接收到该交换设备发送的错误消息时,向该交换设备再次下发组表,且不携带QoS值与权重值的对应关系。
[0095] 较佳地,
[0096] 配置单元601,具体用于在为该交换设备配置组表时,按用户类型配置不同的组表;
[0097] 发送单元602,进一步用于在下发转发流表需携带组表标识时,根据接收到的数据报文确定该数据报文的用户类型,并将确定的用户类型对应的组表标识携带在转发流表中下发。
[0098] 较佳地,该装置进一步包括:统计单元605;
[0099] 统计单元605,用于根据交换设备的配置信息和流量转发状态,周期统计等价路径中的每条路径上的平均传输速率、最小剩余带宽,累计丢弃报文数量,链路的传输质量确定该交换设备上的等价路径中的每条路径的质量是否提高;
[0100] 配置单元601,进一步用于当统计单元605确定任一条路径的质量提高时,将该条路径对应的指令桶中对应高QoS的权重值调大,低QoS的权重值调小;否则,将该条路径对应的指令桶中对应高QoS的权重值调小,低QoS的权重值调大;
[0101] 发送单元602,进一步用于当配置单元601配置的组表更新时,将更新后的组表再次下发给对应的交换设备,并使该交换设备更新本地存储的对应组表。
[0102] 上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
[0103] 综上所述,本申请通过扩展组表的选择能力,引入数据报文的QoS值对应不同的权重值,从而实现不同QoS的报文进行负载分担,提高了利用网络带宽的效率,为不同QoS报文提供不同的数据传输质量。
[0104] 本申请具体实施例中还能动态调整QoS值与权重值的对应关系,从而达到适时调整不同QoS的报文的实时分担,最大限度的优化了网络的传输性能。
[0105] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。