具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例中提出一种SPB网络中的流量控制方法,本地BEB设备对每个PW侧进入的流量进行监控,结合本地下行链路带宽进行流量调节。
参见图2,图2为本发明实施例提供流量控制方法的流程示意图,其包括以下步骤:
步骤21、在第一BEB设备与其他对端BEB设备建立对应虚链路(PW)之后,第一BEB设备向其他对端BEB设备发送以第一BEB设备为目的设备的对应PW的带宽信息,将对应PW的带宽信息作为流量从对端BEB设备转发到对应PW连接上的带宽阈值;
其中,第一BEB设备与其他对端BEB设备建立对应PW,为现有技术,即第一BEB设备与其他对端BEB设备通过PW隧道确定邻居关系,在此不再赘述。
步骤22、第一BEB设备接收其他对端BEB设备发送的不超过对应PW连接上的带宽阈值的PW报文后,检测每个PW连接的平均流量,如果各个PW连接的平均流量之和大于下行链路带宽,则根据每个PW连接的优先级计算对应的拥塞系数,向各个PW连接的对端BEB设备发送对应的拥塞系数,以使对端各BEB设备根据对应拥塞系数调整自身进入对应PW的流量。
这里,拥塞系数用于指示拥塞的严重程度,对端BEB设备根据对应拥塞系数调整自身进入对应PW的流量,其中,在第一拥塞系数指示的拥塞程度严重于第二拥塞系数指示的拥塞程度时,根据第一拥塞系数减少自身进入对应PW的流量的数值,大于根据第二拥塞系数减少自身进入对应PW的流量的数值。
本实施例中,运营商可以根据各个对端BEB设备所连接的用户网络的属性,在第一BEB设备上配置PW连接优先级,相对重要的用户网络,对应的PW连接优先级就高。进一步地,本发明通过拥塞系数这个参数反映优先级的高低,这样,第一BEB设备根据高优先级计算的拥塞系数就低,指示对端BEB设备进行自身流量调整的值就小。也就是说,优先级高,说明对应的用户网络比较重要,发送的拥塞系数就低,需要自身调整的流量就少,这样才能确保优先级高的流量尽可能地通过。
具体的,根据优先级计算拥塞系数的方法,有多种实现方式,本领域技术人员可以根据具体场景很容易地进行应用,在此不再赘述。
下面结合具体实施例对本发明进行详细说明。
实施例一
仍然以图1的组网为例,BEB1和BEB2之间基于实例1建立PW连接为PW1,BEB1和BEB3之间基于实例1建立PW连接为PW2。
步骤31,运营商根据BEB1设备所连接的用户网络,在BEB1上配置下行链路带宽,假设在BEB1上所配置的下行链路带宽为1.5G;同时,运营商根据对端BEB设备,即BEB2和BEB3,分别所连接的用户网络的属性,在BEB1上配置PW1和PW2的优先级,假设在BEB1上所配置的PW1的优先级高于PW2的优先级。
步骤32,BEB1分别通过PW1和PW2向BEB2和BEB3发送以BEB1为目的设备的对应PW的带宽信息,例如,BEB1通过PW1通告BEB2:BEB2向BEB1发送的PW1报文,其带宽阈值为1G;BEB1通过PW2通告BEB3:BEB3向BEB1发送的PW2报文,其带宽阈值为1G。其中,BEB1分别通过PW1和PW2向BEB2和BEB3发送以BEB1为目的设备的对应PW的带宽阈值可以相同,也可以不相同。
需要说明的是,BEB设备通过Hello报文中的类型长度值(TLV)字段携带以自身为目的设备的PW带宽信息,且只要下行链路稳定,则BEB设备只需要向建立有PW连接的各个对端BEB设备发送一次PW带宽信息即可。本发明实施例具有PW带宽信息的TLV字段结构示意图如图3所示。图3中,代码值表示TLV的类型(Type)值,Type值和长度(Length)值可以选择合适的数值进行定义。PW带宽信息分为单播带宽(Unicast Width)、组播带宽(Multicast Width)、广播带宽(Broadcast Width),以及单播带宽、组播带宽和广播带宽的三者之和的总带宽(Total Width)。
步骤33,BEB2按照BEB1的指示向BEB1发送不超过带宽阈值1G的PW1报文,同时,BEB3按照BEB1的指示向BEB1发送不超过带宽阈值1G的PW2报文。
需要说明的是,大量用户报文从BEB2进入PW1侧,如何确保BEB2能够按照BEB1的指示向BEB1发送不超过带宽阈值1G的PW1报文;同理,大量用户报文从BEB3进入PW2侧,如何确保BEB3能够按照BEB1的指示向BEB1发送不超过带宽阈值1G的PW2报文,这就需要在BEB2和BEB3上,对来自自身用户侧的用户报文进行处理转发,具体方法为:
在BEB2上根据用户报文的属性,对用户报文进行优先级的标识,并将用户报文根据所标识的优先级高低确定是否优先进入PW1转发,对于超过带宽阈值1G的流量按照用户报文优先级进行丢弃;其中,所述用户报文的属性可以包括:用户虚拟局域网标识(VLAN ID)、源目的媒体访问控制MAC地址和源目的IP地址;
同理,在BEB3上根据用户报文的属性,对用户报文进行优先级的标识,并将用户报文根据所标识的优先级高低确定是否优先进入PW2转发,对于超过带宽阈值1G的流量按照用户报文优先级进行丢弃。
步骤34,在每个检测周期内,BEB1检测PW1和PW2的平均流量,假设检测周期为50秒,BEB1检测到PW1的平均流量为Q1,PW2的平均流量为Q2,将Q1+Q2之和与下行链路带宽1.5G相比较,如果Q1+Q2<1.5G,则说明下行链路的处理速度大于各个PW侧流量之和,此时分别给BEB2和BEB3发送的拥塞系数为0,通告BEB2和BEB3不需要调整自身进入对应PW的流量。如果Q1+Q2>或=1.5G,说明需要对PW侧的流量进行控制,此时,BEB1根据所配置的对应PW的优先级限制流量。具体地,BEB1根据每个PW连接的优先级计算对应的拥塞系数,优先级高的PW1,其拥塞系数低;优先级低的PW2,其拥塞系数高;然后,BEB1分别向BEB2和BEB3发送对应的拥塞系数。
需要说明的是,BEB设备通过Hello报文中的TLV字段向各个PW连接的对端BEB设备发送对应的拥塞系数;所述拥塞系数与运营商配置的PW连接优先级成反比。由于BEB设备在一定时间内检测各PW连接的平均流量,所以BEB设备执行检测平均流量的操作具有一定检测频率,相应地,BEB设备向各个PW连接的对端BEB设备发送对应的拥塞系数也具有与检测频率相同的时间间隔。本发明实施例具有拥塞系数信息的TLV字段结构示意图如图4所示。图4中,代码值表示TLV的Type值,Type值和长度(Length)值可以选择合适的数值进行定义。拥塞系数分为单播拥塞系数(Unicast BlockParameter)、组播拥塞系数(Multicast Block Parameter)、广播拥塞系数(Broadcast Block Parameter)。
步骤35,BEB2和BEB3在接收到对应的拥塞系数时,分别调整自身进入对应PW的流量,使得后续BEB1接收到各个PW连接的平均流量之和小于等于下行链路带宽。这样BEB1设备上从PW侧到用户侧的拥塞现象消失,从而达到了BEB1、BEB2和BEB3之间的精确流量控制。
在步骤34和35中,假设BEB1检测到PW1的平均流量Q1为0.6G,PW2的平均流量为Q2为1G,0.6G+1G>1.5G,由于PW1的优先级高于PW2的优先级,所以BEB1通告给BEB2的拥塞系数相比于BEB3低,例如:BEB1通告给BEB2的拥塞系数为0,BEB1通告给BEB3的拥塞系数为:(1.6-1.5)/1=0.1,因此,BEB2和BEB3分别根据各自的拥塞系数进行流量调整,BEB3接收到值为0.1的拥塞系数后,将进入PW2的平均流量在原来的基础上减少0.1*100%,即调整为1G(1-10%)=0.9G,从而满足各个PW连接的平均流量之和等于下行链路带宽。
至此,本发明第一实施例已经清楚地说明了:用户报文从用户侧进入PW,然后从PW对端进入另一用户侧的端到端的流量控制方法。
为清楚说明本发明,下面列举实施例二对本发明的流量控制方法作进一步地说明。
仍然以图1的组网为例,BEB1和BEB2之间基于实例1建立PW连接为PW1,BEB1和BEB3之间基于实例1建立PW连接为PW2。
步骤41,运营商根据BEB1设备所连接的用户网络,在BEB1上配置下行链路带宽,假设在BEB1上所配置的下行链路带宽为1.5G;同时,运营商根据对端BEB设备,即BEB2和BEB3,分别所连接的用户网络的属性,在BEB1上配置PW1和PW2的优先级,假设在BEB1上所配置的PW1的优先级等于PW2的优先级。
步骤42,BEB1分别通过PW1和PW2向BEB2和BEB3发送以BEB1为目的设备的对应PW的带宽信息,例如,BEB1通过PW1通告BEB2:BEB2向BEB1发送的PW1报文,其带宽阈值为1G;BEB1通过PW2通告BEB3:BEB3向BEB1发送的PW2报文,其带宽阈值为1G。其中,BEB1分别通过PW1和PW2向EB2和BEB3发送以BEB1为目的设备的对应PW的带宽阈值可以相同,也可以不相同。
步骤43,BEB2按照BEB1的指示向BEB1发送不超过带宽阈值1G的PW1报文,同时,BEB3按照BEB1的指示向BEB1发送不超过带宽阈值1G的PW2报文。
步骤44、在检测周期50秒内,BEB1检测到PW1的平均流量Q1为1G,PW2的平均流量为Q2为1G,1G+1G>1.5G,由于PW1的优先级等于PW2的优先级,所以BEB1通告给BEB2和BEB3的拥塞系数相同,例如拥塞系数等于[(1+1)-1.5]/2=0.25。
步骤45,BEB2和BEB3分别根据各自的拥塞系数0.25进行流量调整,BEB2将进入PW1的平均流量在原来的基础上减少0.25*100%,即调整为1G(1-25%)=0.75G;BEB3将进入PW2的平均流量在原来的基础上减少0.25*100%,即调整为1G(1-25%)=0.75G,从而满足各个PW连接的平均流量之和等于下行链路带宽。
需要说明的是,本发明实施例对拥塞系数的具体计算方法有多种,只要能够实现拥塞系数与PW优先级成反比的计算方法,都包含在本发明之内。
基于同样的发明构思,本发明还提出一种骨干网边缘网桥设备,应用于SPB网络,参见图5,图5为本发明具体实施例中应用于上述方法的骨干网边缘网桥设备的结构示意图。该骨干网边缘网桥设备包括:
收发单元501,用于在该BEB设备与其他对端BEB设备建立对应虚链路PW之后,分别向其他对端BEB设备发送以该BEB设备为目的设备的对应PW的带宽信息,将对应PW的带宽信息作为流量从对端BEB设备转发到对应PW连接上的带宽阈值;
处理单元502,用于接收对端BEB设备发送的不超过对应PW连接上的带宽阈值的PW报文后,检测每个PW连接的平均流量,如果各个PW连接的平均流量之和大于下行链路带宽,则根据每个PW连接的优先级计算对应的拥塞系数,向各个PW连接的对端BEB设备发送对应的拥塞系数,以使对端各BEB设备根据对应拥塞系数调整自身进入对应PW的流量。
进一步地,所述处理单元502,还用于在各个PW连接的平均流量之和小于等于下行链路带宽时,向各个PW连接的对端BEB设备发送的拥塞系数为0,通告各个对端BEB设备不需要调整自身进入对应PW的流量。
进一步地,所述收发单元501,还用于接收对端BEB设备发送的以对端BEB设备为目的设备的PW带宽信息,将该PW带宽信息作为流量从该BEB设备转发到该PW连接上的带宽阈值;
所述处理单元502,还用于接收来自自身用户侧的用户报文后,根据流量从该BEB设备转发到该PW连接上的带宽阈值,对用户报文进行处理转发。
优选地,所述处理单元502进一步包括:
用户报文解析单元1,用于对来自自身用户侧的用户报文进行属性解析;
报文优先级标识单元2,用于根据用户报文的属性进行优先级的标识;
处理子单元3,用于将用户报文根据所标识的优先级高低确定是否优先进入该PW转发,同时确保从该BEB设备转发到该PW连接上的用户报文流量不超过该PW连接上的带宽阈值。
综上所述,本发明具体实施例中在PW两侧的BEB设备上设置优先级,如果流量从BEB2到BEB1,则根据BEB2所连接的用户网络的属性在BEB1上设置PW1的优先级;同时在BEB2上设置用户报文的优先级,对进入BEB2的流量进行限制,确保BEB2发送给BEB1的流量不超过PW1的带宽阈值。流量到达BEB1后,BEB1对每个PW侧进入的流量进行监控,结合本地下行链路带宽进行流量调节。这样,PW两侧的BEB1和BEB2都对流量进行监控限制,实现了PW连接上用户流量的端到端的动态通告,达到了对用户流量的精确控制。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。