一种组播流量控制方法及装置与流程

文档序号:12917378阅读:195来源:国知局
一种组播流量控制方法及装置与流程

本申请涉及计算机技术领域,尤其涉及一种组播流量控制方法及装置。



背景技术:

目前的组播路由协议中,pim(protocolindependentmulticast,协议无关组播)协议可借助rpf(reversepathforwarding,逆向路径转发)机制实现对组播报文的转发。具体的,当组播报文到达路由器时,路由器首先在单播路由表中查找组播源或rp(rendezvouspoint,汇集点)对应的rpf接口。组播源对应的rpf接口是指从路由器向该组播源地址发送报文时的出接口。rp对应的rpf接口是指从路由器向该rp地址发送报文时的出接口。如果组播报文是从路由器的rpf接口接收到的,则rpf检查通过,路由器从而将组播报文向组播转发表项中的下游接口(即出接口)转发。

随着组播业务的增加,在pim网络中会出现多条不同组播组的组播报文同时汇聚到同一路由器的情况,这种情况下,如果路由器能力不够,则无法及时处理接收到的组播报文。目前,可以通过在路由器中配置接收策略来对组播报文进行拦截,当路由器确定接收到的组播报文为被接收策略限制的组播报文时,可以直接将组播报文进行丢弃。然而,路由器在判断接收到的组播报文是否满足接收策略的过程中,已经对路由器的资源造成了消耗,因此这种限流方法并不能有效减小路由器的负荷。



技术实现要素:

本申请实施例提供一种组播流量控制方法及装置,有助于在接收到组播报文之前对组播报文进行拦截,从而避免组播报文对网络设备的冲击导致的网络 崩溃。

第一方面,提供一种组播流量控制方法,包括:

第一网络设备接收第二网络设备发送的第一pim加入报文,所述第一网络设备为所述第二网络设备的上游网络设备,所述第一pim加入报文包括所述第二网络设备的健康度量指标;

所述第一网络设备根据所述健康度量指标确定所述第二网络设备处于高负荷状态,禁止所述第二网络设备作为下游网络设备。

根据本申请实施例提供的方法,第一网络设备根据第二网络设备的健康度量指标确定第二网络设备处于高负荷状态之后,禁止所述第二网络设备作为下游网络设备,从而在接收到组播报文之后不再向第二网络设备发送组播报文,从而实现在第二网络设备的上游对组播报文进行拦截,减小了组播报文对第二网络设备的冲击,有效减小了第二网络设备的负荷。

可选的,还包括:

所述第一网络设备根据所述健康度量指标确定所述第二网络设备处于低负荷状态,将所述第二网络设备添加为所述下游网络设备。

其中,所述第一网络设备将所述第二网络设备添加为所述下游网络设备包括:所述第一网络设备确定组播转发表项中不存在指向所述第二网络设备的出接口,在所述组播转发表项中添加所述指向所述第二网络设备的出接口。

根据本申请实施例提供的方法,第一网络设备每次在组播转发表项中添加出接口时,能够保证每个出接口所指向的网络设备处于低负荷状态,从而提高了网络抗冲击的能力。

可选的,所述第一网络设备禁止所述第二网络设备作为下游网络设备包括:

所述第一网络设备确定组播转发表项中存在指向所述第二网络设备的出接口,删除所述出接口;或者

所述第一网络设备确定组播转发表项中不存在指向所述第二网络设备的出接口,忽略所述第一pim加入报文。

可选的,第一网络设备接收第二网络设备发送的第一协议无关组播pim加入报文之前,还包括:

所述第一网络设备向所述第一网络设备所处的pim网络中的所有网络设备发送pimhello报文,所述pimhello报文包括第一预设值,所述第一预设值用于协商支持健康度量指标;

所述第一网络设备确定接收到所述pim网络中每个网络设备发送的包括第一预设值的pimhello报文后,执行接收第二网络设备发送的第一pim加入报文。

可选的,所述第一pim加入报文为所述第二网络设备周期性发送的;或者,

所述第一pim加入报文为所述第二网络设备确定所述健康度量指标发生变化后发送的。

可选的,所述第一网络设备与所述第二网络设备处于共享网络;

所述第一网络设备根据所述健康度量指标确定所述第二网络设备处于高负荷状态之后,还包括:

所述第一网络设备接收所述共享网络中的第三网络设备发送的第二pim加入报文,所述第二pim加入报文包括所述第三网络设备的健康度量指标,所述第一网络设备为所述第三网络设备的上游网络设备;

所述第一网络设备禁止所述第三网络设备作为下游网络设备。

其中,所述第一网络设备禁止所述第三网络设备作为下游网络设备包括:所述第一网络设备忽略所述第二pim加入报文。

根据本申请实施例提供的方法,第一网络设备在确定共享网络中存在至少一个处于高负荷状态的网络设备之后,忽略所述共享网络中其它网络设备发送的pim加入报文,从而实现在共享网络的上游对组播报文进行拦截,减小了组播报文对共享网络的冲击。

第二方面,提供一种组播流量控制方法,该方法包括:

第二网络设备获得所述第二网络设备的健康度量指标;

所述第二网络设备向第一网络设备发送第一pim加入报文,所述第一网络设备为所述第二网络设备的上游网络设备,所述第一pim加入报文包括所述健康度量指标。

根据本申请实施例提供的方法,第二网络设备获得第二网络设备的健康度量指标之后,可以通过第一pim加入报文向第一网络设备发送所述健康度量指标,从而使得第一网络设备确定第二网络设备的网络负荷状态。

可选的,所述第二网络设备向第一网络设备发送第一pim加入报文,包括:

所述第二网络设备周期性向所述第一网络设备发送所述第一pim加入报文;或者,

所述第二网络设备确定所述第二网络设备的健康度量指标发生变化后向所述第一网络设备发送所述第一pim加入报文,所述第一pim加入报文包括变化后的健康度量指标。

第三方面,提供一种组播流量控制装置,该装置包括:

收发单元,用于接收第二网络设备发送的第一pim加入报文,所述装置为所述第二网络设备的上游网络设备,所述第一pim加入报文包括所述第二网络设备的健康度量指标;

处理单元,用于根据所述健康度量指标确定所述第二网络设备处于高负荷状态,则禁止所述第二网络设备作为下游网络设备。

可选地,所述第三方面提供的组播流量控制装置可设于路由器、具有路由功能的交换机等转发设备中。

可选的,所述处理单元还用于:

根据所述健康度量指标确定所述第二网络设备处于低负荷状态,将所述第二网络设备添加为所述下游网络设备。

其中,所述处理单元将所述第二网络设备添加为所述下游网络设备的具体方法可以为:所述处理单元确定组播转发表项中不存在指向所述第二网络设备的出接口,在所述组播转发表项中添加所述指向所述第二网络设备的出接口。

可选的,所述处理单元禁止所述第二网络设备作为下游网络设备的具体方法可以为:

所述处理单元确定组播转发表项中存在指向所述第二网络设备的出接口,删除所述出接口;或者

所述处理单元确定组播转发表项中不存在所述出接口,忽略所述第一pim加入报文。

可选的,所述收发单元还用于向所述第一网络设备所处的pim网络中的所有网络设备发送pimhello报文,所述pimhello报文包括第一预设值,所述第一预设值用于协商支持健康度量指标;

所述处理单元还用于,确定接收到所述pim网络中每个网络设备发送的包括所述第一预设值的pimhello报文后,执行接收第二网络设备发送的第一pim加入报文。

可选的,所述第一pim加入报文为所述第二网络设备周期性发送的;或者,

所述第一pim加入报文为所述第二网络设备确定所述健康度量指标发生变化后发送的。

可选的,所述装置与所述第二网络设备处于共享网络;

所述收发单元还用于接收所述共享网络中的第三网络设备发送的第二pim加入报文,所述第二pim加入报文包括所述第三网络设备的健康度量指标,所述装置为所述第三网络设备的上游网络设备;

所述处理单元还用于确定所述第二网络设备处于高负荷状态之后,禁止所述第三网络设备作为下游网络设备。

其中,所述处理单元禁止所述第三网络设备作为下游网络设备的方法与禁止所述第二网络设备作为下游网络设备的方法相同,在此不再赘述。。

第四方面,提供一种组播流量控制装置,该装置包括:

处理单元,用于获得所述装置的健康度量指标;

收发单元,用于向第一网络设备发送第一pim加入报文,所述第一网络设 备为所述装置的上游网络设备,所述第一pim加入报文包括所述健康度量指标。

可选的,所述收发单元具体用于:

周期性向所述第一网络设备发送所述第一pim加入报文;或者,

确定健康度量指标发生变化后向所述第一网络设备发送所述第一pim加入报文,所述第一pim加入报文包括变化后的健康度量指标。

第五方面,提供一种组播流量控制装置,该装置包括:处理器、通信接口和用于存储程序的存储器;

所述处理器从所述存储器中读取程序对应的指令,执行如下操作:

通过所述通信接口,接收第二网络设备发送的第一协议无关组播pim加入报文,所述装置为所述第二网络设备的上游网络设备,所述第一pim加入报文包括所述第二网络设备的健康度量指标;

根据所述健康度量指标确定所述第二网络设备处于高负荷状态,禁止所述第二网络设备作为下游网络设备。

可选的,所述处理器还用于:

根据所述健康度量指标确定所述第二网络设备处于低负荷状态,将所述第二网络设备添加为所述下游网络设备。

其中,所述处理器还用于根据所述健康度量指标确定所述第二网络设备处于低负荷状态,则在组播转发表项中不存在所述出接口时,在所述组播转发表项中添加指向所述第二网络设备的出接口。

可选的,所述处理器具体用于:

确定组播转发表项中存在指向所述第二网络设备的出接口,删除所述出接口;或者

确定组播转发表项中不存指向所述第二网络设备的出接口,忽略所述第一pim加入报文。

可选的,接收第二网络设备发送的第一pim加入报文之前,所述处理器还用于:

通过所述通信接口向所述第一网络设备所处的pim网络中的所有网络设备发送pimhello报文,所述pimhello报文包括的选项类型字段的值为第一预设值;

确定接收到所述pim网络中每个网络设备发送的选项类型字段的值为第一预设值的pimhello报文后,执行接收第二网络设备发送的第一pim加入报文。

可选的,所述第一pim加入报文为所述第二网络设备周期性发送的;或者,

所述第一pim加入报文为所述第二网络设备确定所述健康度量指标发生变化后发送的。

可选的,所述装置与所述第二网络设备处于共享网络;

根据所述健康度量指标确定所述第二网络设备处于高负荷状态之后,所述处理器还用于:

通过所述通信接口接收所述共享网络中的第三网络设备发送的第二pim加入报文,所述第二pim加入报文包括所述第三网络设备的健康度量指标,所述装置为所述第三网络设备的上游网络设备;

所述处理单元还用于确定所述第二网络设备处于高负荷状态之后,禁止所述第三网络设备作为下游网络设备。

第六方面,提供一种组播流量控制装置,该装置包括:处理器、通信接口和用于存储程序的存储器;

所述处理器从所述存储器中读取程序对应的指令,执行如下操作:

获得所述装置的健康度量指标;

通过所述通信接口向第一网络设备发送包括所述健康度量指标的第一协议无关组播pim加入报文;其中,所述第一网络设备为所述装置的上游网络设备。

可选的,所述处理器具体用于:

通过所述通信接口周期性向所述第一网络设备发送所述第一pim加入报 文;或者,

确定所述健康度量指标发生变化后通过所述通信接口向所述第一网络设备发送所述第一pim加入报文。

可选地,上述实施例中的所述健康度量指标根据以下至少一项确定:

所述第二网络设备的中央处理器cpu使用率;

所述第二网络设备的内存使用率;

所述第二网络设备的带宽使用率;

所述第二网络设备的cpu的内核数量;

所述第二网络设备的cpu的主频;

所述第二网络设备的线程数量;

所述第二网络设备的内存容量。

可选地,上述实施例中的所述健康度量指标位于所述第一pim加入报文中加入属性的value字段、且所述第一pim加入报文中加入属性的属性类型字段为第二预设值。

附图说明

图1为本申请实施例提供的一种组播流量控制方法流程示意图;

图2为本申请实施例提供的一种pimhello报文结构示意图;

图3为本申请实施例提供的一种pim加入报文中的加入属性扩展示意图;

图4为本申请实施例提供的一种pim网络示意图;

图5为本申请实施例提供的一种共享网络示意图;

图6为本申请实施例提供的一种组播流量控制装置结构示意图;

图7为本申请实施例提供的一种组播流量控制装置结构示意图;

图8为本申请实施例提供的一种组播流量控制装置结构示意图;

图9为本申请实施例提供的一种组播流量控制装置结构示意图。

具体实施方式

根据接收者对组播源处理方式的不同,pim协议分为ssm(source-specificmulticast,指定信源组播)模型和asm(any-sourcemulticast,任意信源组播)模型。ssm模型为指定组播源,即接收者已经通过其它渠道(如广告咨询等)知道了组播源的具体位置,因此在ssm模型中无需通过数据触发建立组播转发表项。在asm模型中,接收者无法预先知道组播源的位置,因此在asm模型中需要通过数据触发建立组播转发表项。

本申请实施例提供的方法,可以应用于ssm模型或asm模型中。当然本申请实施例提供的方法还可以应用于其他类型的pim协议中,在此不再逐一举例说明。

本申请实施例中,网络设备可以是指路由器,或者具有路由器功能的设备。

基于上面的描述,如图1所示,为本申请实施例提供一种组播流量控制方法流程示意图。参见图1,该方法包括:

s101:第二网络设备获得所述第二网络设备的健康度量指标。

s102:所述第二网络设备向第一网络设备发送包括所述健康度量指标的第一pim加入报文;其中,所述第一网络设备为所述第二网络设备的上游网络设备。

s103:第一网络设备接收第二网络设备发送的包括健康度量指标的第一pim加入报文;其中,所述第一网络设备为所述第二网络设备的上游网络设备。

s104:所述第一网络设备根据所述健康度量指标确定所述第二网络设备处于高负荷状态,则所述第一网络设备禁止所述第二网络设备作为下游网络设备。

s101中,第二网络设备的上游网络设备是指所述第二网络设备接收组播报文的接口所指向的网络设备。相应的,所述第二网络设备的下游网络设备是指所述第二网络设备发送组播报文的接口所指向的网络设备。

健康度量指标用于表示第二网络设备在控制平面中处理组播报文能力的强弱。因此,所述第二网络设备可以通过所述健康度量指标向位于所述第二网 络设备上游的网络设备指示出其处理组播报文能力。

本申请实施例中,所述第二网络设备可以根据以下至少一项获得健康度量指标:

所述第二网络设备的cpu(centralprocessingunit,中央处理器)使用率;

所述第二网络设备的内存使用率;

所述第二网络设备的带宽使用率;

所述第二网络设备的cpu的内核数量;

所述第二网络设备的cpu的主频;

所述第二网络设备的线程数量;和

所述第二网络设备的内存容量。

一种可能的实现方式中,所述第二网络设备直接将所述第二网络设备的cpu使用率或者所述第二网络设备的内存使用率或者所述第二网络设备的带宽使用率确定为所述健康度量指标。举例来说,第二网络设备的cpu使用率为50%,此时所述第二网络设备将健康度量指标确定为50%。再举例来说,第二网络设备的内存使用率为60%,此时所述第二网络设备将健康度量指标确定为60%。

一种可能的实现方式中,所述第二网络设备将以下至少一项中最高的使用率确定为所述健康度量指标:cpu;内存和带宽。举例来说,第二网络设备的cpu使用率为50%,所述第二网络设备的内存使用率为60%,此时所述第二网络设备将健康度量指标确定为60%。再举例来说,第二网络设备的cpu使用率为40%,所述第二网络设备的内存使用率为50%,所述第二网络设备的带宽使用率为60%,此时所述第二网络设备将健康度量指标确定为60%。

一种可能的实现方式中,所述第二网络设备根据cpu使用率、内存使用率、带宽使用率、cpu的内核数量、线程数量等进行加权运算,获得所述健康度量指标。具体的,所述第二网络设备可以根据以下公式确定所述健康度量指标:

p=a1×u1+a2×u2+a3×u3+a4×u4+a5×u5+a6×u6+a7×u7(1)

其中,p为所述健康度量指标,a1为cpu使用率对应的加权系数,u1为cpu使用率;a2为内存使用率对应的加权系数,u2为内存使用率;a3为带宽使用率对应的加权系数,u3为带宽使用率;a4为cpu的内核数量对应的加权系数,u4为cpu的内核数量;a5为线程数量对应的加权系数,u5为线程数量;a6为cpu的主频对应的加权系数,u6为cpu的主频;a7为内存容量对应的加权系数,u7为内存容量。其中,a1至a7的取值可以根据实际情况确定,在此不再赘述。

当然以上只是示例,所述第二网络设备还可以通过其他方式获得所述健康度量指标,在此不再逐一举例说明。

s102中,第二网络设备向所述第一网络设备发送所述第一pim加入报文之前,还可能需要同所述第二网络设备所处的pim网络中的网络设备进行协议协商,并在确定协议协商成功后向所述第一网络设备发送所述第一pim加入报文。

协议协商成功需要满足两个条件:第一个条件,所述第二网络设备向所述第二网络设备所处的pim网络中的所有网络设备发送pimhello报文,所述pimhello报文包括的选项类型字段的值为第一预设值;第二个条件,所述第二网络设备确定接收到所述pim网络中每个网络设备发送的选项类型字段的值为第一预设值的pimhello报文。其中,所述第一预设值可以根据实际情况确定,在此不再赘述。当以上两个条件均满足时,所述第二网络设备可以确定协议协商成功,从而可以执行s102。需要说明的是,本申请实施例中,pimhello报文中包括的其他字段可以参考rfc4601等文献中的描述。

举例来说,结合上面的描述,如图2所示,为本申请实施例提供的一种pimhello报文结构示意图。图2中,pimhello报文中包括版本(version)字段、类型(type)字段、保留(reserved)字段、校验和(checksum)字段、选项类型(optiontype)字段以及选项长度(optionlength)字段。其中,版本字段占 用4个比特,表示pim协议的版本;类型字段占用4个比特,表示报文的类型,类型字段的值为0时表示该报文为pimhello报文;保留字段占用8个比特,一般设置为全0;校验和字段占用16个比特;选项类型字段占用16个比特;选项长度字段占用16个比特,本申请实施例中,所述pimhello报文中的选项长度字段的值可以为0。

本申请实施例中,所述第二网络设备可以周期性向所述第一网络设备发送所述第一pim加入报文。其中,周期时长可以根据实际情况确定,在此不再赘述。

所述第二网络设备还可以在确定所述健康度量指标发生变化后向所述第一网络设备发送所述第一pim加入报文。进一步的,所述第二网络设备可以在确定所述健康度量指标的变化超过预设阈值后,向所述第一网络设备发送所述第一pim加入报文。

本申请实施例中,所述第二网络设备发送的所述第一pim加入报文为对所述第一pim加入报文中的加入属性进行了扩展的报文,其中,加入属性的格式定义可以参考rfc5384等文献。

如图3所示,为本申请实施例提供的一种pim加入报文中的加入属性扩展示意图。图3中,对加入属性进行扩展后的第一pim加入报文中包括f字段、e字段、属性类型(attributetype)字段、长度(length)字段以及值(value)字段。其中,f字段占用1比特,该字段的值为1时表示传输属性,为0时表示非传输属性,本申请实施例中,所述第一pim加入报文中加入属性的f字段的值为0;e字段占用1比特,该字段的值为1时表示为报文中的最后一个加入属性;属性类型字段,占用6个比特;长度字段,占用8个比特,指示出值字段的长度;值字段,占用16个比特。

结合上面的描述,本申请实施例中,所述第二网络设备发送的所述健康度量指标可以位于所述第一pim加入报文中加入属性的值字段、且所述第一pim加入报文中加入属性的属性类型字段可以为第二预设值。其中,所述第二预设 值可以根据实际情况确定,例如,第二预设值可以为3。需要说明的是,所述第一pim加入报文中包含的其他内容可以参考rfc4601等文献中的描述,在此不再赘述。

s103中,第一网络设备接收所述第二网络设备发送的所述第一pim加入报文之前,可以进行协议协商,并在协商成功后执行s103。

协议协商成功需要满足两个条件:第一个条件,所述第一网络设备向所述第一网络设备所处的pim网络中的所有网络设备发送pimhello报文,所述pimhello报文包括的选项类型字段的值为第一预设值;第二个条件,所述第一网络设备确定接收到所述pim网络中每个网络设备发送的选项类型字段的值为第一预设值的pimhello报文。

当以上两个条件均满足时,所述第一网络设备可以确定协议协商成功,从而可以执行s103。

需要说明的是,关于pimhello报文的具体内容可以参考图2以及与图2相关的描述,在此不再赘述。相应的,所述第一pim加入报文的具体内容可以参考图3以及与图3相关的描述,在此不再赘述。

可选的,第一网络设备接收到的所述第一pim加入报文可以为所述第二网络设备周期性发送的。第一网络设备接收到的所述第一pim加入报文还可以为所述第二网络设备确定所述健康度量指标发生变化后发送的。具体可以参考前面的描述,在此不再赘述。

s104中,所述第一网络设备接收到所述第一pim加入报文后,通过解析所述第一pim加入报文可以获得所述健康度量指标,所述健康度量指标的确定方法可以参考前面的描述,在此不再赘述。

所述第一网络设备获得所述健康度量指标之后,若根据所述健康度量指标确定所述第二网络设备处于低负荷状态,则在组播转发表项中不存在所述出接口时,在所述组播转发表项中添加指向所述第二网络设备的出接口。

相应的,所述第一网络设备若根据所述健康度量指标确定所述第二网络设 备处于高负荷状态,则禁止所述第二网络设备作为所述第一网络设备的下游网络设备。其中,所述第一网络设备禁止所述第二网络设备作为所述第一网络设备的下游网络设备包括:所述第一网络设备确定组播转发表项中存在指向所述第二网络设备的出接口时,删除所述出接口。或者所述第一网络设备确定组播转发表项中不存在所述出接口时,忽略所述第一pim加入报文。具体的,所述第一网络设备可以先判断组播转发表项中是否存在指向所述第二网络设备的出接口,若存在,则删除所述出接口;若不存在,则忽略所述第一pim加入报文,不在组播转发表项中添加指向所述第二网络设备的出接口。

举例来说,健康度量指标越大,表示第二网络设备的负荷越高。此时,第一网络设备获得所述健康度量指标之后,若确定所述健康度量指标大于第一阈值,则确定所述第二网络设备处于高负荷状态。第一网络设备确定所述第二网络设备处于高负荷状态之后,判断组播转发表项中是否存在指向所述第二网络设备的出接口,若存在,则删除所述出接口;若不存在,则忽略所述第一pim加入报文,不在组播转发表项中添加指向所述第二网络设备的出接口。所述第一网络若确定所述健康度量指标小于或等于所述第一阈值,则确定所述第二网络设备处于低负荷状态。第一网络设备确定所述第二网络设备处于低负荷状态之后,在组播转发表项中不存在所述出接口时,在所述组播转发表项中添加指向所述第二网络设备的出接口。

再举例来说,健康度量指标越小,表示第二网络设备的负荷越高。此时,第一网络设备获得所述健康度量指标之后,若确定所述健康度量指标小于第二阈值,则确定所述第二网络设备处于高负荷状态。第一网络设备确定所述第二网络设备处于高负荷状态之后,判断组播转发表项中是否存在指向所述第二网络设备的出接口,若存在,则删除所述出接口;若不存在,则忽略所述第一pim加入报文,不在组播转发表项中添加指向所述第二网络设备的出接口。所述第一网络若确定所述健康度量指标大于或等于所述第二阈值,则确定所述第二网络设备处于低负荷状态。第一网络设备确定所述第二网络设备处于低负荷状态 之后,在组播转发表项中不存在所述出接口时,在所述组播转发表项中添加指向所述第二网络设备的出接口。

需要说明的是,本申请实施例中,组播转发表项可以为(s,g)表项,也可以为(*,g)表项。其中,“s”代表特定组播源s,“g”代表特定组播组g,“*”代表任意组播源。

本申请实施例中,所述第一网络设备与所述第二网络设备可以处于共享网络。此时,在所述第一网络设备根据所述健康度量指标确定所述第二网络设备处于高负荷状态之后,所述第一网络设备若接收到所述共享网络中的第三网络设备发送的第二pim加入报文,则禁止所述第三网络设备作为所述第一网络设备的下游网络设备。其中,所述第一网络设备禁止所述第三网络设备作为所述第一网络设备的下游网络设备包括:所述第一网络设备忽略所述第二pim加入报文,不在所述组播转发表项中添加指向所述第三网络设备的出接口。其中,所述第二pim加入报文包括所述第三网络设备的健康度量指标。所述第一网络设备禁止所述第三网络设备作为下游网络设备的方法与禁止所述第二网络设备作为下游网络设备的方法相同,在此不再赘述。

本申请实施例中,所述第一网络设备从所述组播转发表项中删除所述出接口,或者,忽略所述第一pim加入报文之后,不再将接收到的组播报文转发给所述第二网络设备,从而减轻了所述第二网络设备的负荷。

下面结合实施例详细描述上面的过程。

如图4所示,为本申请实施例提供的一种pim网络示意图。图4中,rta为rtb以及rtc的上游网络设备。其中,rta指向rtc的出接口与rta指向rtb的出接口不同。rta可以是上述实施例中的第一网络设备,rtb和rtc可以是上述实施例中的第二网络设备。

rtb、rtc以及rta之间可以通过发送选项类型字段的值为第一预设值的pimhello报文来进行协议协商。其中,协议协商属于可选地流程,rtb、rtc以及rta也可通过静态配置的方式来确定pim网络中的网络设备支持健 康度量指标。

rtb、rtc以及rta在协议协商成功后,rtb、rtc分别向rta发送pim加入报文。rtc和rtb发送的pim加入报文中均包括各自的健康度量指标。

若rta根据rtb的健康度量指标确定rtb处于高负荷状态,则在组播转发表项中存在指向rtb的出接口时,删除所述出接口,或者,在组播转发表项中不存在指向rtb的出接口时,忽略rtb发送的pim加入报文。

若rta根据rtc的健康度量指标确定rtc处于低负荷状态,则在组播转发表项中不存在指向rtc的出接口时,在所述组播转发表项中添加指向rtc的出接口。

最后,rta接收到组播报文之后,向rtc转发接收到的组播报文,但并不向rtb转发接收到的组播报文。

如图5所示,为本申请实施例提供的一种共享网络示意图。图5中,rtd为rte以及rtf的上游网络设备。其中,rta指向rtc的出接口与rta指向rtb的出接口相同。rtd可以是上述实施例中的第一网络设备,rte可以是上述实施例中的第二网络设备,rtf可以是上述实施例中的第三网络设备。

rte、rtf以及rtd之间可以通过发送选项类型字段的值为第一预设值的pimhello报文来进行协议协商,其中,协议协商属于可选地流程,rte、rtf以及rtd也可通过静态配置的方式来确定pim网络中的网络设备支持健康度量指标。

rte、rtf以及rtd在协议协商成功后,rte、rtf分别向rtd发送pim加入报文。rte和rtf发送的pim加入报文中均包括各自的健康度量指标。

若rtd根据rte的健康度量指标确定rte处于高负荷状态,且根据rtf的健康度量指标确定rtf处于低负荷状态,则在组播转发表项中存在指向rte以及rtf的出接口时,删除指向rte以及rtf的出接口,或者,在组播转发表项中不存在指向rte以及rtf的出接口时,忽略rte以及rtf发送的pim加入报文。rtd接收到组播报文之后,不再向rte以及rtf转发接收到的组 播报文。

该实施例中,处于共享网络中的多个网络设备,比如rtd、rte和rtf,若上游网络设备,比如rtd,确定rte和rtf中至少有一个网络设备存在高负荷状态,则禁止rte和rtf作为下游网络端口,即从组播转发表项中删除指向rte和rtf的出接口,或者不在组播转发表项中添加指向rte和rtf的出接口。

如图6所示,为本申请实施例提供一种组播流量控制装置结构示意图。本实施例提供的组播流量控制装置可设置于上述实施例中的第一网络设备。本实施例提供的组播流量控制装置可执行上述第一网络设备所执行的方法。在该实施例中不再对与上述实施例重复的内容进行赘述。该装置包括:

收发单元601,用于接收第二网络设备发送的包括健康度量指标的第一协议无关组播pim加入报文;其中,所述装置为所述第二网络设备的上游网络设备;

处理单元602,用于根据所述健康度量指标确定所述第二网络设备处于高负荷状态,则禁止所述第二网络设备作为下游网络设备。

可选的,所述处理单元602还用于:根据所述健康度量指标确定所述第二网络设备处于低负荷状态,则将所述第二网络设备添加为所述下游网络设备。其中,所述处理单元602具体用于在组播转发表项中不存在所述出接口时,在所述组播转发表项中添加指向所述第二网络设备的出接口,以将所述第二网络设备添加为所述下游网络设备。

可选的,所述处理单元602禁止所述第二网络设备作为下游网络设备的具体方法可以为:所述处理单元602确定组播转发表项中存在指向所述第二网络设备的出接口时,删除所述出接口。或者所述处理单元602确定组播转发表项中不存在所述出接口时,忽略所述第一pim加入报文。

可选的,所述收发单元601接收第二网络设备发送的包括健康度量指标的第一协议无关组播pim加入报文之前,所述收发单元601还用于:向所述第一 网络设备所处的pim网络中的所有网络设备发送pimhello报文,所述pimhello报文包括的选项类型字段的值为第一预设值。所述处理单元602还用于,确定接收到所述pim网络中每个网络设备发送的选项类型字段的值为第一预设值的pimhello报文后,从所述收发单元601获得第二网络设备发送的第一pim加入报文。

可选的,所述第一pim加入报文为所述第二网络设备周期性发送的;或者所述第一pim加入报文为所述第二网络设备确定所述健康度量指标发生变化后发送的。

可选的,所述装置与所述第二网络设备处于共享网络;所述收发单元601还用于接收所述共享网络中的第三网络设备发送的第二pim加入报文,所述第二pim加入报文包括所述第三网络设备的健康度量指标,所述装置为所述第三网络设备的上游网络设备。所述处理单元602还用于确定所述第二网络设备处于高负荷状态之后,禁止所述第三网络设备作为下游网络设备。

如图7所示,为本申请实施例提供一种组播流量控制装置结构示意图。本实施例提供的组播流量控制装置可设置于上述实施例中的第二网络设备。本实施例提供的组播流量控制装置可执行上述第二网络设备所执行的方法。在该实施例中不再对与上述实施例重复的内容进行赘述。该装置包括:

处理单元701,用于获得所述装置的健康度量指标;

收发单元702,用于向第一网络设备发送包括所述健康度量指标的第一协议无关组播pim加入报文;其中,所述第一网络设备为所述装置的上游网络设备。

可选的,所述收发单元702具体用于:周期性向所述第一网络设备发送所述第一pim加入报文;或者确定所述健康度量指标发生变化后向所述第一网络设备发送所述第一pim加入报文。

如图8所示,为本申请实施例提供一种组播流量控制装置结构示意图。该实施例提供的组播流量控制装置可设置于上述实施例中的第一网络设备。本实 施例提供的组播流量控制装置可执行上述第一网络设备所执行的方法。在该实施例中不再对与上述实施例重复的内容进行赘述。该装置包括:处理器801、通信接口802和存储器803;

通信接口802可以是以太网接口。以太网接口可以是光接口,电接口或其组合。处理器801可以是中央处理器(英文:centralprocessingunit,缩写:cpu),网络处理器(英文:networkprocessor,缩写:np)或者cpu和np的组合。处理器801还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specificintegratedcircuit,缩写:asic),可编程逻辑器件(英文:programmablelogicdevice,缩写:pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complexprogrammablelogicdevice,缩写:cpld),现场可编程逻辑门阵列(英文:field-programmablegatearray,缩写:fpga),通用阵列逻辑(英文:genericarraylogic,缩写:gal)或其任意组合。存储器803可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-accessmemory,缩写:ram);存储器803也可以包括非易失性存储器(英文:non-volatilememory),例如只读存储器(英文:read-onlymemory,缩写:rom),快闪存储器(英文:flashmemory),硬盘(英文:harddiskdrive,缩写:hdd)或固态硬盘(英文:solid-statedrive,缩写:ssd);存储器803还可以包括上述种类的存储器的组合。

存储器803可以用来存储程序。所述处理器801从所述存储器803中读取程序对应的指令,执行如下操作:

通过所述通信接口802接收第二网络设备发送的包括健康度量指标的第一协议无关组播pim加入报文;其中,所述装置为所述第二网络设备的上游网络设备;

根据所述健康度量指标确定所述第二网络设备处于高负荷状态,则禁止所述第二网络设备作为下游网络设备。

可选的,所述处理器801还用于:根据所述健康度量指标确定所述第二网 络设备处于低负荷状态,则在组播转发表项中不存在所述出接口时,在所述组播转发表项中添加指向所述第二网络设备的出接口。

可选的,所述处理器801具体用于:在组播转发表项中存在指向所述第二网络设备的出接口时,删除所述出接口;或者在组播转发表项中不存在所述出接口时,忽略所述第一pim加入报文。

可选的,接收第二网络设备发送的包括健康度量指标的第一协议无关组播pim加入报文之前,所述处理器801还用于:通过所述通信接口802向所述第一网络设备所处的pim网络中的所有网络设备发送pimhello报文,所述pimhello报文包括的选项类型字段的值为第一预设值;确定接收到所述pim网络中每个网络设备发送的选项类型字段的值为第一预设值的pimhello报文后,执行接收第二网络设备发送的第一pim加入报文。

可选的,所述装置与所述第二网络设备处于共享网络;根据所述健康度量指标确定所述第二网络设备处于高负荷状态之后,所述处理器801还用于:通过所述通信接口802接收所述共享网络中的第三网络设备发送的第二pim加入报文,所述第二pim加入报文包括所述第三网络设备的健康度量指标;忽略所述第二pim加入报文。

其中,图8中还可以包括总线接口,总线接口可以包括任意数量的互联的总线和桥,具体由处理器代表的一个或多个处理器和存储器代表的存储器的各种电路链接在一起。总线接口还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,本文不再对其进行进一步描述。

如图9所示,为本申请实施例提供一种组播流量控制装置结构示意图,该装置包括:处理器901、通信接口902和存储器903;

所述存储器903可以用来存储程序。所述处理器901从所述存储器903中读取程序对应的指令,执行如下操作:

获得所述装置的健康度量指标;

通过所述通信接口902向第一网络设备发送包括所述健康度量指标的第一 协议无关组播pim加入报文;其中,所述第一网络设备为所述装置的上游网络设备。

可选的,所述处理器901具体用于:通过所述通信接口902周期性向所述第一网络设备发送所述第一pim加入报文;或者确定所述健康度量指标发生变化后通过所述通信接口902向所述第一网络设备发送所述第一pim加入报文。

其中,图9中还可以包括总线接口,总线接口可以包括任意数量的互联的总线和桥,具体由处理器代表的一个或多个处理器和存储器代表的存储器的各种电路链接在一起。总线接口还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,本文不再对其进行进一步描述。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求的范围之 内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1