本申請涉及計算機(jī)技術(shù)領(lǐng)域,尤其涉及一種組播流量控制方法及裝置。
背景技術(shù):
目前的組播路由協(xié)議中,pim(protocolindependentmulticast,協(xié)議無關(guān)組播)協(xié)議可借助rpf(reversepathforwarding,逆向路徑轉(zhuǎn)發(fā))機(jī)制實(shí)現(xiàn)對組播報文的轉(zhuǎn)發(fā)。具體的,當(dāng)組播報文到達(dá)路由器時,路由器首先在單播路由表中查找組播源或rp(rendezvouspoint,匯集點(diǎn))對應(yīng)的rpf接口。組播源對應(yīng)的rpf接口是指從路由器向該組播源地址發(fā)送報文時的出接口。rp對應(yīng)的rpf接口是指從路由器向該rp地址發(fā)送報文時的出接口。如果組播報文是從路由器的rpf接口接收到的,則rpf檢查通過,路由器從而將組播報文向組播轉(zhuǎn)發(fā)表項中的下游接口(即出接口)轉(zhuǎn)發(fā)。
隨著組播業(yè)務(wù)的增加,在pim網(wǎng)絡(luò)中會出現(xiàn)多條不同組播組的組播報文同時匯聚到同一路由器的情況,這種情況下,如果路由器能力不夠,則無法及時處理接收到的組播報文。目前,可以通過在路由器中配置接收策略來對組播報文進(jìn)行攔截,當(dāng)路由器確定接收到的組播報文為被接收策略限制的組播報文時,可以直接將組播報文進(jìn)行丟棄。然而,路由器在判斷接收到的組播報文是否滿足接收策略的過程中,已經(jīng)對路由器的資源造成了消耗,因此這種限流方法并不能有效減小路由器的負(fù)荷。
技術(shù)實(shí)現(xiàn)要素:
本申請實(shí)施例提供一種組播流量控制方法及裝置,有助于在接收到組播報文之前對組播報文進(jìn)行攔截,從而避免組播報文對網(wǎng)絡(luò)設(shè)備的沖擊導(dǎo)致的網(wǎng)絡(luò) 崩潰。
第一方面,提供一種組播流量控制方法,包括:
第一網(wǎng)絡(luò)設(shè)備接收第二網(wǎng)絡(luò)設(shè)備發(fā)送的第一pim加入報文,所述第一網(wǎng)絡(luò)設(shè)備為所述第二網(wǎng)絡(luò)設(shè)備的上游網(wǎng)絡(luò)設(shè)備,所述第一pim加入報文包括所述第二網(wǎng)絡(luò)設(shè)備的健康度量指標(biāo);
所述第一網(wǎng)絡(luò)設(shè)備根據(jù)所述健康度量指標(biāo)確定所述第二網(wǎng)絡(luò)設(shè)備處于高負(fù)荷狀態(tài),禁止所述第二網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備。
根據(jù)本申請實(shí)施例提供的方法,第一網(wǎng)絡(luò)設(shè)備根據(jù)第二網(wǎng)絡(luò)設(shè)備的健康度量指標(biāo)確定第二網(wǎng)絡(luò)設(shè)備處于高負(fù)荷狀態(tài)之后,禁止所述第二網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備,從而在接收到組播報文之后不再向第二網(wǎng)絡(luò)設(shè)備發(fā)送組播報文,從而實(shí)現(xiàn)在第二網(wǎng)絡(luò)設(shè)備的上游對組播報文進(jìn)行攔截,減小了組播報文對第二網(wǎng)絡(luò)設(shè)備的沖擊,有效減小了第二網(wǎng)絡(luò)設(shè)備的負(fù)荷。
可選的,還包括:
所述第一網(wǎng)絡(luò)設(shè)備根據(jù)所述健康度量指標(biāo)確定所述第二網(wǎng)絡(luò)設(shè)備處于低負(fù)荷狀態(tài),將所述第二網(wǎng)絡(luò)設(shè)備添加為所述下游網(wǎng)絡(luò)設(shè)備。
其中,所述第一網(wǎng)絡(luò)設(shè)備將所述第二網(wǎng)絡(luò)設(shè)備添加為所述下游網(wǎng)絡(luò)設(shè)備包括:所述第一網(wǎng)絡(luò)設(shè)備確定組播轉(zhuǎn)發(fā)表項中不存在指向所述第二網(wǎng)絡(luò)設(shè)備的出接口,在所述組播轉(zhuǎn)發(fā)表項中添加所述指向所述第二網(wǎng)絡(luò)設(shè)備的出接口。
根據(jù)本申請實(shí)施例提供的方法,第一網(wǎng)絡(luò)設(shè)備每次在組播轉(zhuǎn)發(fā)表項中添加出接口時,能夠保證每個出接口所指向的網(wǎng)絡(luò)設(shè)備處于低負(fù)荷狀態(tài),從而提高了網(wǎng)絡(luò)抗沖擊的能力。
可選的,所述第一網(wǎng)絡(luò)設(shè)備禁止所述第二網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備包括:
所述第一網(wǎng)絡(luò)設(shè)備確定組播轉(zhuǎn)發(fā)表項中存在指向所述第二網(wǎng)絡(luò)設(shè)備的出接口,刪除所述出接口;或者
所述第一網(wǎng)絡(luò)設(shè)備確定組播轉(zhuǎn)發(fā)表項中不存在指向所述第二網(wǎng)絡(luò)設(shè)備的出接口,忽略所述第一pim加入報文。
可選的,第一網(wǎng)絡(luò)設(shè)備接收第二網(wǎng)絡(luò)設(shè)備發(fā)送的第一協(xié)議無關(guān)組播pim加入報文之前,還包括:
所述第一網(wǎng)絡(luò)設(shè)備向所述第一網(wǎng)絡(luò)設(shè)備所處的pim網(wǎng)絡(luò)中的所有網(wǎng)絡(luò)設(shè)備發(fā)送pimhello報文,所述pimhello報文包括第一預(yù)設(shè)值,所述第一預(yù)設(shè)值用于協(xié)商支持健康度量指標(biāo);
所述第一網(wǎng)絡(luò)設(shè)備確定接收到所述pim網(wǎng)絡(luò)中每個網(wǎng)絡(luò)設(shè)備發(fā)送的包括第一預(yù)設(shè)值的pimhello報文后,執(zhí)行接收第二網(wǎng)絡(luò)設(shè)備發(fā)送的第一pim加入報文。
可選的,所述第一pim加入報文為所述第二網(wǎng)絡(luò)設(shè)備周期性發(fā)送的;或者,
所述第一pim加入報文為所述第二網(wǎng)絡(luò)設(shè)備確定所述健康度量指標(biāo)發(fā)生變化后發(fā)送的。
可選的,所述第一網(wǎng)絡(luò)設(shè)備與所述第二網(wǎng)絡(luò)設(shè)備處于共享網(wǎng)絡(luò);
所述第一網(wǎng)絡(luò)設(shè)備根據(jù)所述健康度量指標(biāo)確定所述第二網(wǎng)絡(luò)設(shè)備處于高負(fù)荷狀態(tài)之后,還包括:
所述第一網(wǎng)絡(luò)設(shè)備接收所述共享網(wǎng)絡(luò)中的第三網(wǎng)絡(luò)設(shè)備發(fā)送的第二pim加入報文,所述第二pim加入報文包括所述第三網(wǎng)絡(luò)設(shè)備的健康度量指標(biāo),所述第一網(wǎng)絡(luò)設(shè)備為所述第三網(wǎng)絡(luò)設(shè)備的上游網(wǎng)絡(luò)設(shè)備;
所述第一網(wǎng)絡(luò)設(shè)備禁止所述第三網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備。
其中,所述第一網(wǎng)絡(luò)設(shè)備禁止所述第三網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備包括:所述第一網(wǎng)絡(luò)設(shè)備忽略所述第二pim加入報文。
根據(jù)本申請實(shí)施例提供的方法,第一網(wǎng)絡(luò)設(shè)備在確定共享網(wǎng)絡(luò)中存在至少一個處于高負(fù)荷狀態(tài)的網(wǎng)絡(luò)設(shè)備之后,忽略所述共享網(wǎng)絡(luò)中其它網(wǎng)絡(luò)設(shè)備發(fā)送的pim加入報文,從而實(shí)現(xiàn)在共享網(wǎng)絡(luò)的上游對組播報文進(jìn)行攔截,減小了組播報文對共享網(wǎng)絡(luò)的沖擊。
第二方面,提供一種組播流量控制方法,該方法包括:
第二網(wǎng)絡(luò)設(shè)備獲得所述第二網(wǎng)絡(luò)設(shè)備的健康度量指標(biāo);
所述第二網(wǎng)絡(luò)設(shè)備向第一網(wǎng)絡(luò)設(shè)備發(fā)送第一pim加入報文,所述第一網(wǎng)絡(luò)設(shè)備為所述第二網(wǎng)絡(luò)設(shè)備的上游網(wǎng)絡(luò)設(shè)備,所述第一pim加入報文包括所述健康度量指標(biāo)。
根據(jù)本申請實(shí)施例提供的方法,第二網(wǎng)絡(luò)設(shè)備獲得第二網(wǎng)絡(luò)設(shè)備的健康度量指標(biāo)之后,可以通過第一pim加入報文向第一網(wǎng)絡(luò)設(shè)備發(fā)送所述健康度量指標(biāo),從而使得第一網(wǎng)絡(luò)設(shè)備確定第二網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)負(fù)荷狀態(tài)。
可選的,所述第二網(wǎng)絡(luò)設(shè)備向第一網(wǎng)絡(luò)設(shè)備發(fā)送第一pim加入報文,包括:
所述第二網(wǎng)絡(luò)設(shè)備周期性向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送所述第一pim加入報文;或者,
所述第二網(wǎng)絡(luò)設(shè)備確定所述第二網(wǎng)絡(luò)設(shè)備的健康度量指標(biāo)發(fā)生變化后向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送所述第一pim加入報文,所述第一pim加入報文包括變化后的健康度量指標(biāo)。
第三方面,提供一種組播流量控制裝置,該裝置包括:
收發(fā)單元,用于接收第二網(wǎng)絡(luò)設(shè)備發(fā)送的第一pim加入報文,所述裝置為所述第二網(wǎng)絡(luò)設(shè)備的上游網(wǎng)絡(luò)設(shè)備,所述第一pim加入報文包括所述第二網(wǎng)絡(luò)設(shè)備的健康度量指標(biāo);
處理單元,用于根據(jù)所述健康度量指標(biāo)確定所述第二網(wǎng)絡(luò)設(shè)備處于高負(fù)荷狀態(tài),則禁止所述第二網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備。
可選地,所述第三方面提供的組播流量控制裝置可設(shè)于路由器、具有路由功能的交換機(jī)等轉(zhuǎn)發(fā)設(shè)備中。
可選的,所述處理單元還用于:
根據(jù)所述健康度量指標(biāo)確定所述第二網(wǎng)絡(luò)設(shè)備處于低負(fù)荷狀態(tài),將所述第二網(wǎng)絡(luò)設(shè)備添加為所述下游網(wǎng)絡(luò)設(shè)備。
其中,所述處理單元將所述第二網(wǎng)絡(luò)設(shè)備添加為所述下游網(wǎng)絡(luò)設(shè)備的具體方法可以為:所述處理單元確定組播轉(zhuǎn)發(fā)表項中不存在指向所述第二網(wǎng)絡(luò)設(shè)備的出接口,在所述組播轉(zhuǎn)發(fā)表項中添加所述指向所述第二網(wǎng)絡(luò)設(shè)備的出接口。
可選的,所述處理單元禁止所述第二網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備的具體方法可以為:
所述處理單元確定組播轉(zhuǎn)發(fā)表項中存在指向所述第二網(wǎng)絡(luò)設(shè)備的出接口,刪除所述出接口;或者
所述處理單元確定組播轉(zhuǎn)發(fā)表項中不存在所述出接口,忽略所述第一pim加入報文。
可選的,所述收發(fā)單元還用于向所述第一網(wǎng)絡(luò)設(shè)備所處的pim網(wǎng)絡(luò)中的所有網(wǎng)絡(luò)設(shè)備發(fā)送pimhello報文,所述pimhello報文包括第一預(yù)設(shè)值,所述第一預(yù)設(shè)值用于協(xié)商支持健康度量指標(biāo);
所述處理單元還用于,確定接收到所述pim網(wǎng)絡(luò)中每個網(wǎng)絡(luò)設(shè)備發(fā)送的包括所述第一預(yù)設(shè)值的pimhello報文后,執(zhí)行接收第二網(wǎng)絡(luò)設(shè)備發(fā)送的第一pim加入報文。
可選的,所述第一pim加入報文為所述第二網(wǎng)絡(luò)設(shè)備周期性發(fā)送的;或者,
所述第一pim加入報文為所述第二網(wǎng)絡(luò)設(shè)備確定所述健康度量指標(biāo)發(fā)生變化后發(fā)送的。
可選的,所述裝置與所述第二網(wǎng)絡(luò)設(shè)備處于共享網(wǎng)絡(luò);
所述收發(fā)單元還用于接收所述共享網(wǎng)絡(luò)中的第三網(wǎng)絡(luò)設(shè)備發(fā)送的第二pim加入報文,所述第二pim加入報文包括所述第三網(wǎng)絡(luò)設(shè)備的健康度量指標(biāo),所述裝置為所述第三網(wǎng)絡(luò)設(shè)備的上游網(wǎng)絡(luò)設(shè)備;
所述處理單元還用于確定所述第二網(wǎng)絡(luò)設(shè)備處于高負(fù)荷狀態(tài)之后,禁止所述第三網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備。
其中,所述處理單元禁止所述第三網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備的方法與禁止所述第二網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備的方法相同,在此不再贅述。。
第四方面,提供一種組播流量控制裝置,該裝置包括:
處理單元,用于獲得所述裝置的健康度量指標(biāo);
收發(fā)單元,用于向第一網(wǎng)絡(luò)設(shè)備發(fā)送第一pim加入報文,所述第一網(wǎng)絡(luò)設(shè) 備為所述裝置的上游網(wǎng)絡(luò)設(shè)備,所述第一pim加入報文包括所述健康度量指標(biāo)。
可選的,所述收發(fā)單元具體用于:
周期性向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送所述第一pim加入報文;或者,
確定健康度量指標(biāo)發(fā)生變化后向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送所述第一pim加入報文,所述第一pim加入報文包括變化后的健康度量指標(biāo)。
第五方面,提供一種組播流量控制裝置,該裝置包括:處理器、通信接口和用于存儲程序的存儲器;
所述處理器從所述存儲器中讀取程序?qū)?yīng)的指令,執(zhí)行如下操作:
通過所述通信接口,接收第二網(wǎng)絡(luò)設(shè)備發(fā)送的第一協(xié)議無關(guān)組播pim加入報文,所述裝置為所述第二網(wǎng)絡(luò)設(shè)備的上游網(wǎng)絡(luò)設(shè)備,所述第一pim加入報文包括所述第二網(wǎng)絡(luò)設(shè)備的健康度量指標(biāo);
根據(jù)所述健康度量指標(biāo)確定所述第二網(wǎng)絡(luò)設(shè)備處于高負(fù)荷狀態(tài),禁止所述第二網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備。
可選的,所述處理器還用于:
根據(jù)所述健康度量指標(biāo)確定所述第二網(wǎng)絡(luò)設(shè)備處于低負(fù)荷狀態(tài),將所述第二網(wǎng)絡(luò)設(shè)備添加為所述下游網(wǎng)絡(luò)設(shè)備。
其中,所述處理器還用于根據(jù)所述健康度量指標(biāo)確定所述第二網(wǎng)絡(luò)設(shè)備處于低負(fù)荷狀態(tài),則在組播轉(zhuǎn)發(fā)表項中不存在所述出接口時,在所述組播轉(zhuǎn)發(fā)表項中添加指向所述第二網(wǎng)絡(luò)設(shè)備的出接口。
可選的,所述處理器具體用于:
確定組播轉(zhuǎn)發(fā)表項中存在指向所述第二網(wǎng)絡(luò)設(shè)備的出接口,刪除所述出接口;或者
確定組播轉(zhuǎn)發(fā)表項中不存指向所述第二網(wǎng)絡(luò)設(shè)備的出接口,忽略所述第一pim加入報文。
可選的,接收第二網(wǎng)絡(luò)設(shè)備發(fā)送的第一pim加入報文之前,所述處理器還用于:
通過所述通信接口向所述第一網(wǎng)絡(luò)設(shè)備所處的pim網(wǎng)絡(luò)中的所有網(wǎng)絡(luò)設(shè)備發(fā)送pimhello報文,所述pimhello報文包括的選項類型字段的值為第一預(yù)設(shè)值;
確定接收到所述pim網(wǎng)絡(luò)中每個網(wǎng)絡(luò)設(shè)備發(fā)送的選項類型字段的值為第一預(yù)設(shè)值的pimhello報文后,執(zhí)行接收第二網(wǎng)絡(luò)設(shè)備發(fā)送的第一pim加入報文。
可選的,所述第一pim加入報文為所述第二網(wǎng)絡(luò)設(shè)備周期性發(fā)送的;或者,
所述第一pim加入報文為所述第二網(wǎng)絡(luò)設(shè)備確定所述健康度量指標(biāo)發(fā)生變化后發(fā)送的。
可選的,所述裝置與所述第二網(wǎng)絡(luò)設(shè)備處于共享網(wǎng)絡(luò);
根據(jù)所述健康度量指標(biāo)確定所述第二網(wǎng)絡(luò)設(shè)備處于高負(fù)荷狀態(tài)之后,所述處理器還用于:
通過所述通信接口接收所述共享網(wǎng)絡(luò)中的第三網(wǎng)絡(luò)設(shè)備發(fā)送的第二pim加入報文,所述第二pim加入報文包括所述第三網(wǎng)絡(luò)設(shè)備的健康度量指標(biāo),所述裝置為所述第三網(wǎng)絡(luò)設(shè)備的上游網(wǎng)絡(luò)設(shè)備;
所述處理單元還用于確定所述第二網(wǎng)絡(luò)設(shè)備處于高負(fù)荷狀態(tài)之后,禁止所述第三網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備。
第六方面,提供一種組播流量控制裝置,該裝置包括:處理器、通信接口和用于存儲程序的存儲器;
所述處理器從所述存儲器中讀取程序?qū)?yīng)的指令,執(zhí)行如下操作:
獲得所述裝置的健康度量指標(biāo);
通過所述通信接口向第一網(wǎng)絡(luò)設(shè)備發(fā)送包括所述健康度量指標(biāo)的第一協(xié)議無關(guān)組播pim加入報文;其中,所述第一網(wǎng)絡(luò)設(shè)備為所述裝置的上游網(wǎng)絡(luò)設(shè)備。
可選的,所述處理器具體用于:
通過所述通信接口周期性向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送所述第一pim加入報 文;或者,
確定所述健康度量指標(biāo)發(fā)生變化后通過所述通信接口向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送所述第一pim加入報文。
可選地,上述實(shí)施例中的所述健康度量指標(biāo)根據(jù)以下至少一項確定:
所述第二網(wǎng)絡(luò)設(shè)備的中央處理器cpu使用率;
所述第二網(wǎng)絡(luò)設(shè)備的內(nèi)存使用率;
所述第二網(wǎng)絡(luò)設(shè)備的帶寬使用率;
所述第二網(wǎng)絡(luò)設(shè)備的cpu的內(nèi)核數(shù)量;
所述第二網(wǎng)絡(luò)設(shè)備的cpu的主頻;
所述第二網(wǎng)絡(luò)設(shè)備的線程數(shù)量;
所述第二網(wǎng)絡(luò)設(shè)備的內(nèi)存容量。
可選地,上述實(shí)施例中的所述健康度量指標(biāo)位于所述第一pim加入報文中加入屬性的value字段、且所述第一pim加入報文中加入屬性的屬性類型字段為第二預(yù)設(shè)值。
附圖說明
圖1為本申請實(shí)施例提供的一種組播流量控制方法流程示意圖;
圖2為本申請實(shí)施例提供的一種pimhello報文結(jié)構(gòu)示意圖;
圖3為本申請實(shí)施例提供的一種pim加入報文中的加入屬性擴(kuò)展示意圖;
圖4為本申請實(shí)施例提供的一種pim網(wǎng)絡(luò)示意圖;
圖5為本申請實(shí)施例提供的一種共享網(wǎng)絡(luò)示意圖;
圖6為本申請實(shí)施例提供的一種組播流量控制裝置結(jié)構(gòu)示意圖;
圖7為本申請實(shí)施例提供的一種組播流量控制裝置結(jié)構(gòu)示意圖;
圖8為本申請實(shí)施例提供的一種組播流量控制裝置結(jié)構(gòu)示意圖;
圖9為本申請實(shí)施例提供的一種組播流量控制裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
根據(jù)接收者對組播源處理方式的不同,pim協(xié)議分為ssm(source-specificmulticast,指定信源組播)模型和asm(any-sourcemulticast,任意信源組播)模型。ssm模型為指定組播源,即接收者已經(jīng)通過其它渠道(如廣告咨詢等)知道了組播源的具體位置,因此在ssm模型中無需通過數(shù)據(jù)觸發(fā)建立組播轉(zhuǎn)發(fā)表項。在asm模型中,接收者無法預(yù)先知道組播源的位置,因此在asm模型中需要通過數(shù)據(jù)觸發(fā)建立組播轉(zhuǎn)發(fā)表項。
本申請實(shí)施例提供的方法,可以應(yīng)用于ssm模型或asm模型中。當(dāng)然本申請實(shí)施例提供的方法還可以應(yīng)用于其他類型的pim協(xié)議中,在此不再逐一舉例說明。
本申請實(shí)施例中,網(wǎng)絡(luò)設(shè)備可以是指路由器,或者具有路由器功能的設(shè)備。
基于上面的描述,如圖1所示,為本申請實(shí)施例提供一種組播流量控制方法流程示意圖。參見圖1,該方法包括:
s101:第二網(wǎng)絡(luò)設(shè)備獲得所述第二網(wǎng)絡(luò)設(shè)備的健康度量指標(biāo)。
s102:所述第二網(wǎng)絡(luò)設(shè)備向第一網(wǎng)絡(luò)設(shè)備發(fā)送包括所述健康度量指標(biāo)的第一pim加入報文;其中,所述第一網(wǎng)絡(luò)設(shè)備為所述第二網(wǎng)絡(luò)設(shè)備的上游網(wǎng)絡(luò)設(shè)備。
s103:第一網(wǎng)絡(luò)設(shè)備接收第二網(wǎng)絡(luò)設(shè)備發(fā)送的包括健康度量指標(biāo)的第一pim加入報文;其中,所述第一網(wǎng)絡(luò)設(shè)備為所述第二網(wǎng)絡(luò)設(shè)備的上游網(wǎng)絡(luò)設(shè)備。
s104:所述第一網(wǎng)絡(luò)設(shè)備根據(jù)所述健康度量指標(biāo)確定所述第二網(wǎng)絡(luò)設(shè)備處于高負(fù)荷狀態(tài),則所述第一網(wǎng)絡(luò)設(shè)備禁止所述第二網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備。
s101中,第二網(wǎng)絡(luò)設(shè)備的上游網(wǎng)絡(luò)設(shè)備是指所述第二網(wǎng)絡(luò)設(shè)備接收組播報文的接口所指向的網(wǎng)絡(luò)設(shè)備。相應(yīng)的,所述第二網(wǎng)絡(luò)設(shè)備的下游網(wǎng)絡(luò)設(shè)備是指所述第二網(wǎng)絡(luò)設(shè)備發(fā)送組播報文的接口所指向的網(wǎng)絡(luò)設(shè)備。
健康度量指標(biāo)用于表示第二網(wǎng)絡(luò)設(shè)備在控制平面中處理組播報文能力的強(qiáng)弱。因此,所述第二網(wǎng)絡(luò)設(shè)備可以通過所述健康度量指標(biāo)向位于所述第二網(wǎng) 絡(luò)設(shè)備上游的網(wǎng)絡(luò)設(shè)備指示出其處理組播報文能力。
本申請實(shí)施例中,所述第二網(wǎng)絡(luò)設(shè)備可以根據(jù)以下至少一項獲得健康度量指標(biāo):
所述第二網(wǎng)絡(luò)設(shè)備的cpu(centralprocessingunit,中央處理器)使用率;
所述第二網(wǎng)絡(luò)設(shè)備的內(nèi)存使用率;
所述第二網(wǎng)絡(luò)設(shè)備的帶寬使用率;
所述第二網(wǎng)絡(luò)設(shè)備的cpu的內(nèi)核數(shù)量;
所述第二網(wǎng)絡(luò)設(shè)備的cpu的主頻;
所述第二網(wǎng)絡(luò)設(shè)備的線程數(shù)量;和
所述第二網(wǎng)絡(luò)設(shè)備的內(nèi)存容量。
一種可能的實(shí)現(xiàn)方式中,所述第二網(wǎng)絡(luò)設(shè)備直接將所述第二網(wǎng)絡(luò)設(shè)備的cpu使用率或者所述第二網(wǎng)絡(luò)設(shè)備的內(nèi)存使用率或者所述第二網(wǎng)絡(luò)設(shè)備的帶寬使用率確定為所述健康度量指標(biāo)。舉例來說,第二網(wǎng)絡(luò)設(shè)備的cpu使用率為50%,此時所述第二網(wǎng)絡(luò)設(shè)備將健康度量指標(biāo)確定為50%。再舉例來說,第二網(wǎng)絡(luò)設(shè)備的內(nèi)存使用率為60%,此時所述第二網(wǎng)絡(luò)設(shè)備將健康度量指標(biāo)確定為60%。
一種可能的實(shí)現(xiàn)方式中,所述第二網(wǎng)絡(luò)設(shè)備將以下至少一項中最高的使用率確定為所述健康度量指標(biāo):cpu;內(nèi)存和帶寬。舉例來說,第二網(wǎng)絡(luò)設(shè)備的cpu使用率為50%,所述第二網(wǎng)絡(luò)設(shè)備的內(nèi)存使用率為60%,此時所述第二網(wǎng)絡(luò)設(shè)備將健康度量指標(biāo)確定為60%。再舉例來說,第二網(wǎng)絡(luò)設(shè)備的cpu使用率為40%,所述第二網(wǎng)絡(luò)設(shè)備的內(nèi)存使用率為50%,所述第二網(wǎng)絡(luò)設(shè)備的帶寬使用率為60%,此時所述第二網(wǎng)絡(luò)設(shè)備將健康度量指標(biāo)確定為60%。
一種可能的實(shí)現(xiàn)方式中,所述第二網(wǎng)絡(luò)設(shè)備根據(jù)cpu使用率、內(nèi)存使用率、帶寬使用率、cpu的內(nèi)核數(shù)量、線程數(shù)量等進(jìn)行加權(quán)運(yùn)算,獲得所述健康度量指標(biāo)。具體的,所述第二網(wǎng)絡(luò)設(shè)備可以根據(jù)以下公式確定所述健康度量指標(biāo):
p=a1×u1+a2×u2+a3×u3+a4×u4+a5×u5+a6×u6+a7×u7(1)
其中,p為所述健康度量指標(biāo),a1為cpu使用率對應(yīng)的加權(quán)系數(shù),u1為cpu使用率;a2為內(nèi)存使用率對應(yīng)的加權(quán)系數(shù),u2為內(nèi)存使用率;a3為帶寬使用率對應(yīng)的加權(quán)系數(shù),u3為帶寬使用率;a4為cpu的內(nèi)核數(shù)量對應(yīng)的加權(quán)系數(shù),u4為cpu的內(nèi)核數(shù)量;a5為線程數(shù)量對應(yīng)的加權(quán)系數(shù),u5為線程數(shù)量;a6為cpu的主頻對應(yīng)的加權(quán)系數(shù),u6為cpu的主頻;a7為內(nèi)存容量對應(yīng)的加權(quán)系數(shù),u7為內(nèi)存容量。其中,a1至a7的取值可以根據(jù)實(shí)際情況確定,在此不再贅述。
當(dāng)然以上只是示例,所述第二網(wǎng)絡(luò)設(shè)備還可以通過其他方式獲得所述健康度量指標(biāo),在此不再逐一舉例說明。
s102中,第二網(wǎng)絡(luò)設(shè)備向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送所述第一pim加入報文之前,還可能需要同所述第二網(wǎng)絡(luò)設(shè)備所處的pim網(wǎng)絡(luò)中的網(wǎng)絡(luò)設(shè)備進(jìn)行協(xié)議協(xié)商,并在確定協(xié)議協(xié)商成功后向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送所述第一pim加入報文。
協(xié)議協(xié)商成功需要滿足兩個條件:第一個條件,所述第二網(wǎng)絡(luò)設(shè)備向所述第二網(wǎng)絡(luò)設(shè)備所處的pim網(wǎng)絡(luò)中的所有網(wǎng)絡(luò)設(shè)備發(fā)送pimhello報文,所述pimhello報文包括的選項類型字段的值為第一預(yù)設(shè)值;第二個條件,所述第二網(wǎng)絡(luò)設(shè)備確定接收到所述pim網(wǎng)絡(luò)中每個網(wǎng)絡(luò)設(shè)備發(fā)送的選項類型字段的值為第一預(yù)設(shè)值的pimhello報文。其中,所述第一預(yù)設(shè)值可以根據(jù)實(shí)際情況確定,在此不再贅述。當(dāng)以上兩個條件均滿足時,所述第二網(wǎng)絡(luò)設(shè)備可以確定協(xié)議協(xié)商成功,從而可以執(zhí)行s102。需要說明的是,本申請實(shí)施例中,pimhello報文中包括的其他字段可以參考rfc4601等文獻(xiàn)中的描述。
舉例來說,結(jié)合上面的描述,如圖2所示,為本申請實(shí)施例提供的一種pimhello報文結(jié)構(gòu)示意圖。圖2中,pimhello報文中包括版本(version)字段、類型(type)字段、保留(reserved)字段、校驗和(checksum)字段、選項類型(optiontype)字段以及選項長度(optionlength)字段。其中,版本字段占 用4個比特,表示pim協(xié)議的版本;類型字段占用4個比特,表示報文的類型,類型字段的值為0時表示該報文為pimhello報文;保留字段占用8個比特,一般設(shè)置為全0;校驗和字段占用16個比特;選項類型字段占用16個比特;選項長度字段占用16個比特,本申請實(shí)施例中,所述pimhello報文中的選項長度字段的值可以為0。
本申請實(shí)施例中,所述第二網(wǎng)絡(luò)設(shè)備可以周期性向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送所述第一pim加入報文。其中,周期時長可以根據(jù)實(shí)際情況確定,在此不再贅述。
所述第二網(wǎng)絡(luò)設(shè)備還可以在確定所述健康度量指標(biāo)發(fā)生變化后向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送所述第一pim加入報文。進(jìn)一步的,所述第二網(wǎng)絡(luò)設(shè)備可以在確定所述健康度量指標(biāo)的變化超過預(yù)設(shè)閾值后,向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送所述第一pim加入報文。
本申請實(shí)施例中,所述第二網(wǎng)絡(luò)設(shè)備發(fā)送的所述第一pim加入報文為對所述第一pim加入報文中的加入屬性進(jìn)行了擴(kuò)展的報文,其中,加入屬性的格式定義可以參考rfc5384等文獻(xiàn)。
如圖3所示,為本申請實(shí)施例提供的一種pim加入報文中的加入屬性擴(kuò)展示意圖。圖3中,對加入屬性進(jìn)行擴(kuò)展后的第一pim加入報文中包括f字段、e字段、屬性類型(attributetype)字段、長度(length)字段以及值(value)字段。其中,f字段占用1比特,該字段的值為1時表示傳輸屬性,為0時表示非傳輸屬性,本申請實(shí)施例中,所述第一pim加入報文中加入屬性的f字段的值為0;e字段占用1比特,該字段的值為1時表示為報文中的最后一個加入屬性;屬性類型字段,占用6個比特;長度字段,占用8個比特,指示出值字段的長度;值字段,占用16個比特。
結(jié)合上面的描述,本申請實(shí)施例中,所述第二網(wǎng)絡(luò)設(shè)備發(fā)送的所述健康度量指標(biāo)可以位于所述第一pim加入報文中加入屬性的值字段、且所述第一pim加入報文中加入屬性的屬性類型字段可以為第二預(yù)設(shè)值。其中,所述第二預(yù)設(shè) 值可以根據(jù)實(shí)際情況確定,例如,第二預(yù)設(shè)值可以為3。需要說明的是,所述第一pim加入報文中包含的其他內(nèi)容可以參考rfc4601等文獻(xiàn)中的描述,在此不再贅述。
s103中,第一網(wǎng)絡(luò)設(shè)備接收所述第二網(wǎng)絡(luò)設(shè)備發(fā)送的所述第一pim加入報文之前,可以進(jìn)行協(xié)議協(xié)商,并在協(xié)商成功后執(zhí)行s103。
協(xié)議協(xié)商成功需要滿足兩個條件:第一個條件,所述第一網(wǎng)絡(luò)設(shè)備向所述第一網(wǎng)絡(luò)設(shè)備所處的pim網(wǎng)絡(luò)中的所有網(wǎng)絡(luò)設(shè)備發(fā)送pimhello報文,所述pimhello報文包括的選項類型字段的值為第一預(yù)設(shè)值;第二個條件,所述第一網(wǎng)絡(luò)設(shè)備確定接收到所述pim網(wǎng)絡(luò)中每個網(wǎng)絡(luò)設(shè)備發(fā)送的選項類型字段的值為第一預(yù)設(shè)值的pimhello報文。
當(dāng)以上兩個條件均滿足時,所述第一網(wǎng)絡(luò)設(shè)備可以確定協(xié)議協(xié)商成功,從而可以執(zhí)行s103。
需要說明的是,關(guān)于pimhello報文的具體內(nèi)容可以參考圖2以及與圖2相關(guān)的描述,在此不再贅述。相應(yīng)的,所述第一pim加入報文的具體內(nèi)容可以參考圖3以及與圖3相關(guān)的描述,在此不再贅述。
可選的,第一網(wǎng)絡(luò)設(shè)備接收到的所述第一pim加入報文可以為所述第二網(wǎng)絡(luò)設(shè)備周期性發(fā)送的。第一網(wǎng)絡(luò)設(shè)備接收到的所述第一pim加入報文還可以為所述第二網(wǎng)絡(luò)設(shè)備確定所述健康度量指標(biāo)發(fā)生變化后發(fā)送的。具體可以參考前面的描述,在此不再贅述。
s104中,所述第一網(wǎng)絡(luò)設(shè)備接收到所述第一pim加入報文后,通過解析所述第一pim加入報文可以獲得所述健康度量指標(biāo),所述健康度量指標(biāo)的確定方法可以參考前面的描述,在此不再贅述。
所述第一網(wǎng)絡(luò)設(shè)備獲得所述健康度量指標(biāo)之后,若根據(jù)所述健康度量指標(biāo)確定所述第二網(wǎng)絡(luò)設(shè)備處于低負(fù)荷狀態(tài),則在組播轉(zhuǎn)發(fā)表項中不存在所述出接口時,在所述組播轉(zhuǎn)發(fā)表項中添加指向所述第二網(wǎng)絡(luò)設(shè)備的出接口。
相應(yīng)的,所述第一網(wǎng)絡(luò)設(shè)備若根據(jù)所述健康度量指標(biāo)確定所述第二網(wǎng)絡(luò)設(shè) 備處于高負(fù)荷狀態(tài),則禁止所述第二網(wǎng)絡(luò)設(shè)備作為所述第一網(wǎng)絡(luò)設(shè)備的下游網(wǎng)絡(luò)設(shè)備。其中,所述第一網(wǎng)絡(luò)設(shè)備禁止所述第二網(wǎng)絡(luò)設(shè)備作為所述第一網(wǎng)絡(luò)設(shè)備的下游網(wǎng)絡(luò)設(shè)備包括:所述第一網(wǎng)絡(luò)設(shè)備確定組播轉(zhuǎn)發(fā)表項中存在指向所述第二網(wǎng)絡(luò)設(shè)備的出接口時,刪除所述出接口?;蛘咚龅谝痪W(wǎng)絡(luò)設(shè)備確定組播轉(zhuǎn)發(fā)表項中不存在所述出接口時,忽略所述第一pim加入報文。具體的,所述第一網(wǎng)絡(luò)設(shè)備可以先判斷組播轉(zhuǎn)發(fā)表項中是否存在指向所述第二網(wǎng)絡(luò)設(shè)備的出接口,若存在,則刪除所述出接口;若不存在,則忽略所述第一pim加入報文,不在組播轉(zhuǎn)發(fā)表項中添加指向所述第二網(wǎng)絡(luò)設(shè)備的出接口。
舉例來說,健康度量指標(biāo)越大,表示第二網(wǎng)絡(luò)設(shè)備的負(fù)荷越高。此時,第一網(wǎng)絡(luò)設(shè)備獲得所述健康度量指標(biāo)之后,若確定所述健康度量指標(biāo)大于第一閾值,則確定所述第二網(wǎng)絡(luò)設(shè)備處于高負(fù)荷狀態(tài)。第一網(wǎng)絡(luò)設(shè)備確定所述第二網(wǎng)絡(luò)設(shè)備處于高負(fù)荷狀態(tài)之后,判斷組播轉(zhuǎn)發(fā)表項中是否存在指向所述第二網(wǎng)絡(luò)設(shè)備的出接口,若存在,則刪除所述出接口;若不存在,則忽略所述第一pim加入報文,不在組播轉(zhuǎn)發(fā)表項中添加指向所述第二網(wǎng)絡(luò)設(shè)備的出接口。所述第一網(wǎng)絡(luò)若確定所述健康度量指標(biāo)小于或等于所述第一閾值,則確定所述第二網(wǎng)絡(luò)設(shè)備處于低負(fù)荷狀態(tài)。第一網(wǎng)絡(luò)設(shè)備確定所述第二網(wǎng)絡(luò)設(shè)備處于低負(fù)荷狀態(tài)之后,在組播轉(zhuǎn)發(fā)表項中不存在所述出接口時,在所述組播轉(zhuǎn)發(fā)表項中添加指向所述第二網(wǎng)絡(luò)設(shè)備的出接口。
再舉例來說,健康度量指標(biāo)越小,表示第二網(wǎng)絡(luò)設(shè)備的負(fù)荷越高。此時,第一網(wǎng)絡(luò)設(shè)備獲得所述健康度量指標(biāo)之后,若確定所述健康度量指標(biāo)小于第二閾值,則確定所述第二網(wǎng)絡(luò)設(shè)備處于高負(fù)荷狀態(tài)。第一網(wǎng)絡(luò)設(shè)備確定所述第二網(wǎng)絡(luò)設(shè)備處于高負(fù)荷狀態(tài)之后,判斷組播轉(zhuǎn)發(fā)表項中是否存在指向所述第二網(wǎng)絡(luò)設(shè)備的出接口,若存在,則刪除所述出接口;若不存在,則忽略所述第一pim加入報文,不在組播轉(zhuǎn)發(fā)表項中添加指向所述第二網(wǎng)絡(luò)設(shè)備的出接口。所述第一網(wǎng)絡(luò)若確定所述健康度量指標(biāo)大于或等于所述第二閾值,則確定所述第二網(wǎng)絡(luò)設(shè)備處于低負(fù)荷狀態(tài)。第一網(wǎng)絡(luò)設(shè)備確定所述第二網(wǎng)絡(luò)設(shè)備處于低負(fù)荷狀態(tài) 之后,在組播轉(zhuǎn)發(fā)表項中不存在所述出接口時,在所述組播轉(zhuǎn)發(fā)表項中添加指向所述第二網(wǎng)絡(luò)設(shè)備的出接口。
需要說明的是,本申請實(shí)施例中,組播轉(zhuǎn)發(fā)表項可以為(s,g)表項,也可以為(*,g)表項。其中,“s”代表特定組播源s,“g”代表特定組播組g,“*”代表任意組播源。
本申請實(shí)施例中,所述第一網(wǎng)絡(luò)設(shè)備與所述第二網(wǎng)絡(luò)設(shè)備可以處于共享網(wǎng)絡(luò)。此時,在所述第一網(wǎng)絡(luò)設(shè)備根據(jù)所述健康度量指標(biāo)確定所述第二網(wǎng)絡(luò)設(shè)備處于高負(fù)荷狀態(tài)之后,所述第一網(wǎng)絡(luò)設(shè)備若接收到所述共享網(wǎng)絡(luò)中的第三網(wǎng)絡(luò)設(shè)備發(fā)送的第二pim加入報文,則禁止所述第三網(wǎng)絡(luò)設(shè)備作為所述第一網(wǎng)絡(luò)設(shè)備的下游網(wǎng)絡(luò)設(shè)備。其中,所述第一網(wǎng)絡(luò)設(shè)備禁止所述第三網(wǎng)絡(luò)設(shè)備作為所述第一網(wǎng)絡(luò)設(shè)備的下游網(wǎng)絡(luò)設(shè)備包括:所述第一網(wǎng)絡(luò)設(shè)備忽略所述第二pim加入報文,不在所述組播轉(zhuǎn)發(fā)表項中添加指向所述第三網(wǎng)絡(luò)設(shè)備的出接口。其中,所述第二pim加入報文包括所述第三網(wǎng)絡(luò)設(shè)備的健康度量指標(biāo)。所述第一網(wǎng)絡(luò)設(shè)備禁止所述第三網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備的方法與禁止所述第二網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備的方法相同,在此不再贅述。
本申請實(shí)施例中,所述第一網(wǎng)絡(luò)設(shè)備從所述組播轉(zhuǎn)發(fā)表項中刪除所述出接口,或者,忽略所述第一pim加入報文之后,不再將接收到的組播報文轉(zhuǎn)發(fā)給所述第二網(wǎng)絡(luò)設(shè)備,從而減輕了所述第二網(wǎng)絡(luò)設(shè)備的負(fù)荷。
下面結(jié)合實(shí)施例詳細(xì)描述上面的過程。
如圖4所示,為本申請實(shí)施例提供的一種pim網(wǎng)絡(luò)示意圖。圖4中,rta為rtb以及rtc的上游網(wǎng)絡(luò)設(shè)備。其中,rta指向rtc的出接口與rta指向rtb的出接口不同。rta可以是上述實(shí)施例中的第一網(wǎng)絡(luò)設(shè)備,rtb和rtc可以是上述實(shí)施例中的第二網(wǎng)絡(luò)設(shè)備。
rtb、rtc以及rta之間可以通過發(fā)送選項類型字段的值為第一預(yù)設(shè)值的pimhello報文來進(jìn)行協(xié)議協(xié)商。其中,協(xié)議協(xié)商屬于可選地流程,rtb、rtc以及rta也可通過靜態(tài)配置的方式來確定pim網(wǎng)絡(luò)中的網(wǎng)絡(luò)設(shè)備支持健 康度量指標(biāo)。
rtb、rtc以及rta在協(xié)議協(xié)商成功后,rtb、rtc分別向rta發(fā)送pim加入報文。rtc和rtb發(fā)送的pim加入報文中均包括各自的健康度量指標(biāo)。
若rta根據(jù)rtb的健康度量指標(biāo)確定rtb處于高負(fù)荷狀態(tài),則在組播轉(zhuǎn)發(fā)表項中存在指向rtb的出接口時,刪除所述出接口,或者,在組播轉(zhuǎn)發(fā)表項中不存在指向rtb的出接口時,忽略rtb發(fā)送的pim加入報文。
若rta根據(jù)rtc的健康度量指標(biāo)確定rtc處于低負(fù)荷狀態(tài),則在組播轉(zhuǎn)發(fā)表項中不存在指向rtc的出接口時,在所述組播轉(zhuǎn)發(fā)表項中添加指向rtc的出接口。
最后,rta接收到組播報文之后,向rtc轉(zhuǎn)發(fā)接收到的組播報文,但并不向rtb轉(zhuǎn)發(fā)接收到的組播報文。
如圖5所示,為本申請實(shí)施例提供的一種共享網(wǎng)絡(luò)示意圖。圖5中,rtd為rte以及rtf的上游網(wǎng)絡(luò)設(shè)備。其中,rta指向rtc的出接口與rta指向rtb的出接口相同。rtd可以是上述實(shí)施例中的第一網(wǎng)絡(luò)設(shè)備,rte可以是上述實(shí)施例中的第二網(wǎng)絡(luò)設(shè)備,rtf可以是上述實(shí)施例中的第三網(wǎng)絡(luò)設(shè)備。
rte、rtf以及rtd之間可以通過發(fā)送選項類型字段的值為第一預(yù)設(shè)值的pimhello報文來進(jìn)行協(xié)議協(xié)商,其中,協(xié)議協(xié)商屬于可選地流程,rte、rtf以及rtd也可通過靜態(tài)配置的方式來確定pim網(wǎng)絡(luò)中的網(wǎng)絡(luò)設(shè)備支持健康度量指標(biāo)。
rte、rtf以及rtd在協(xié)議協(xié)商成功后,rte、rtf分別向rtd發(fā)送pim加入報文。rte和rtf發(fā)送的pim加入報文中均包括各自的健康度量指標(biāo)。
若rtd根據(jù)rte的健康度量指標(biāo)確定rte處于高負(fù)荷狀態(tài),且根據(jù)rtf的健康度量指標(biāo)確定rtf處于低負(fù)荷狀態(tài),則在組播轉(zhuǎn)發(fā)表項中存在指向rte以及rtf的出接口時,刪除指向rte以及rtf的出接口,或者,在組播轉(zhuǎn)發(fā)表項中不存在指向rte以及rtf的出接口時,忽略rte以及rtf發(fā)送的pim加入報文。rtd接收到組播報文之后,不再向rte以及rtf轉(zhuǎn)發(fā)接收到的組 播報文。
該實(shí)施例中,處于共享網(wǎng)絡(luò)中的多個網(wǎng)絡(luò)設(shè)備,比如rtd、rte和rtf,若上游網(wǎng)絡(luò)設(shè)備,比如rtd,確定rte和rtf中至少有一個網(wǎng)絡(luò)設(shè)備存在高負(fù)荷狀態(tài),則禁止rte和rtf作為下游網(wǎng)絡(luò)端口,即從組播轉(zhuǎn)發(fā)表項中刪除指向rte和rtf的出接口,或者不在組播轉(zhuǎn)發(fā)表項中添加指向rte和rtf的出接口。
如圖6所示,為本申請實(shí)施例提供一種組播流量控制裝置結(jié)構(gòu)示意圖。本實(shí)施例提供的組播流量控制裝置可設(shè)置于上述實(shí)施例中的第一網(wǎng)絡(luò)設(shè)備。本實(shí)施例提供的組播流量控制裝置可執(zhí)行上述第一網(wǎng)絡(luò)設(shè)備所執(zhí)行的方法。在該實(shí)施例中不再對與上述實(shí)施例重復(fù)的內(nèi)容進(jìn)行贅述。該裝置包括:
收發(fā)單元601,用于接收第二網(wǎng)絡(luò)設(shè)備發(fā)送的包括健康度量指標(biāo)的第一協(xié)議無關(guān)組播pim加入報文;其中,所述裝置為所述第二網(wǎng)絡(luò)設(shè)備的上游網(wǎng)絡(luò)設(shè)備;
處理單元602,用于根據(jù)所述健康度量指標(biāo)確定所述第二網(wǎng)絡(luò)設(shè)備處于高負(fù)荷狀態(tài),則禁止所述第二網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備。
可選的,所述處理單元602還用于:根據(jù)所述健康度量指標(biāo)確定所述第二網(wǎng)絡(luò)設(shè)備處于低負(fù)荷狀態(tài),則將所述第二網(wǎng)絡(luò)設(shè)備添加為所述下游網(wǎng)絡(luò)設(shè)備。其中,所述處理單元602具體用于在組播轉(zhuǎn)發(fā)表項中不存在所述出接口時,在所述組播轉(zhuǎn)發(fā)表項中添加指向所述第二網(wǎng)絡(luò)設(shè)備的出接口,以將所述第二網(wǎng)絡(luò)設(shè)備添加為所述下游網(wǎng)絡(luò)設(shè)備。
可選的,所述處理單元602禁止所述第二網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備的具體方法可以為:所述處理單元602確定組播轉(zhuǎn)發(fā)表項中存在指向所述第二網(wǎng)絡(luò)設(shè)備的出接口時,刪除所述出接口。或者所述處理單元602確定組播轉(zhuǎn)發(fā)表項中不存在所述出接口時,忽略所述第一pim加入報文。
可選的,所述收發(fā)單元601接收第二網(wǎng)絡(luò)設(shè)備發(fā)送的包括健康度量指標(biāo)的第一協(xié)議無關(guān)組播pim加入報文之前,所述收發(fā)單元601還用于:向所述第一 網(wǎng)絡(luò)設(shè)備所處的pim網(wǎng)絡(luò)中的所有網(wǎng)絡(luò)設(shè)備發(fā)送pimhello報文,所述pimhello報文包括的選項類型字段的值為第一預(yù)設(shè)值。所述處理單元602還用于,確定接收到所述pim網(wǎng)絡(luò)中每個網(wǎng)絡(luò)設(shè)備發(fā)送的選項類型字段的值為第一預(yù)設(shè)值的pimhello報文后,從所述收發(fā)單元601獲得第二網(wǎng)絡(luò)設(shè)備發(fā)送的第一pim加入報文。
可選的,所述第一pim加入報文為所述第二網(wǎng)絡(luò)設(shè)備周期性發(fā)送的;或者所述第一pim加入報文為所述第二網(wǎng)絡(luò)設(shè)備確定所述健康度量指標(biāo)發(fā)生變化后發(fā)送的。
可選的,所述裝置與所述第二網(wǎng)絡(luò)設(shè)備處于共享網(wǎng)絡(luò);所述收發(fā)單元601還用于接收所述共享網(wǎng)絡(luò)中的第三網(wǎng)絡(luò)設(shè)備發(fā)送的第二pim加入報文,所述第二pim加入報文包括所述第三網(wǎng)絡(luò)設(shè)備的健康度量指標(biāo),所述裝置為所述第三網(wǎng)絡(luò)設(shè)備的上游網(wǎng)絡(luò)設(shè)備。所述處理單元602還用于確定所述第二網(wǎng)絡(luò)設(shè)備處于高負(fù)荷狀態(tài)之后,禁止所述第三網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備。
如圖7所示,為本申請實(shí)施例提供一種組播流量控制裝置結(jié)構(gòu)示意圖。本實(shí)施例提供的組播流量控制裝置可設(shè)置于上述實(shí)施例中的第二網(wǎng)絡(luò)設(shè)備。本實(shí)施例提供的組播流量控制裝置可執(zhí)行上述第二網(wǎng)絡(luò)設(shè)備所執(zhí)行的方法。在該實(shí)施例中不再對與上述實(shí)施例重復(fù)的內(nèi)容進(jìn)行贅述。該裝置包括:
處理單元701,用于獲得所述裝置的健康度量指標(biāo);
收發(fā)單元702,用于向第一網(wǎng)絡(luò)設(shè)備發(fā)送包括所述健康度量指標(biāo)的第一協(xié)議無關(guān)組播pim加入報文;其中,所述第一網(wǎng)絡(luò)設(shè)備為所述裝置的上游網(wǎng)絡(luò)設(shè)備。
可選的,所述收發(fā)單元702具體用于:周期性向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送所述第一pim加入報文;或者確定所述健康度量指標(biāo)發(fā)生變化后向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送所述第一pim加入報文。
如圖8所示,為本申請實(shí)施例提供一種組播流量控制裝置結(jié)構(gòu)示意圖。該實(shí)施例提供的組播流量控制裝置可設(shè)置于上述實(shí)施例中的第一網(wǎng)絡(luò)設(shè)備。本實(shí) 施例提供的組播流量控制裝置可執(zhí)行上述第一網(wǎng)絡(luò)設(shè)備所執(zhí)行的方法。在該實(shí)施例中不再對與上述實(shí)施例重復(fù)的內(nèi)容進(jìn)行贅述。該裝置包括:處理器801、通信接口802和存儲器803;
通信接口802可以是以太網(wǎng)接口。以太網(wǎng)接口可以是光接口,電接口或其組合。處理器801可以是中央處理器(英文:centralprocessingunit,縮寫:cpu),網(wǎng)絡(luò)處理器(英文:networkprocessor,縮寫:np)或者cpu和np的組合。處理器801還可以進(jìn)一步包括硬件芯片。上述硬件芯片可以是專用集成電路(英文:application-specificintegratedcircuit,縮寫:asic),可編程邏輯器件(英文:programmablelogicdevice,縮寫:pld)或其組合。上述pld可以是復(fù)雜可編程邏輯器件(英文:complexprogrammablelogicdevice,縮寫:cpld),現(xiàn)場可編程邏輯門陣列(英文:field-programmablegatearray,縮寫:fpga),通用陣列邏輯(英文:genericarraylogic,縮寫:gal)或其任意組合。存儲器803可以包括易失性存儲器(英文:volatilememory),例如隨機(jī)存取存儲器(英文:random-accessmemory,縮寫:ram);存儲器803也可以包括非易失性存儲器(英文:non-volatilememory),例如只讀存儲器(英文:read-onlymemory,縮寫:rom),快閃存儲器(英文:flashmemory),硬盤(英文:harddiskdrive,縮寫:hdd)或固態(tài)硬盤(英文:solid-statedrive,縮寫:ssd);存儲器803還可以包括上述種類的存儲器的組合。
存儲器803可以用來存儲程序。所述處理器801從所述存儲器803中讀取程序?qū)?yīng)的指令,執(zhí)行如下操作:
通過所述通信接口802接收第二網(wǎng)絡(luò)設(shè)備發(fā)送的包括健康度量指標(biāo)的第一協(xié)議無關(guān)組播pim加入報文;其中,所述裝置為所述第二網(wǎng)絡(luò)設(shè)備的上游網(wǎng)絡(luò)設(shè)備;
根據(jù)所述健康度量指標(biāo)確定所述第二網(wǎng)絡(luò)設(shè)備處于高負(fù)荷狀態(tài),則禁止所述第二網(wǎng)絡(luò)設(shè)備作為下游網(wǎng)絡(luò)設(shè)備。
可選的,所述處理器801還用于:根據(jù)所述健康度量指標(biāo)確定所述第二網(wǎng) 絡(luò)設(shè)備處于低負(fù)荷狀態(tài),則在組播轉(zhuǎn)發(fā)表項中不存在所述出接口時,在所述組播轉(zhuǎn)發(fā)表項中添加指向所述第二網(wǎng)絡(luò)設(shè)備的出接口。
可選的,所述處理器801具體用于:在組播轉(zhuǎn)發(fā)表項中存在指向所述第二網(wǎng)絡(luò)設(shè)備的出接口時,刪除所述出接口;或者在組播轉(zhuǎn)發(fā)表項中不存在所述出接口時,忽略所述第一pim加入報文。
可選的,接收第二網(wǎng)絡(luò)設(shè)備發(fā)送的包括健康度量指標(biāo)的第一協(xié)議無關(guān)組播pim加入報文之前,所述處理器801還用于:通過所述通信接口802向所述第一網(wǎng)絡(luò)設(shè)備所處的pim網(wǎng)絡(luò)中的所有網(wǎng)絡(luò)設(shè)備發(fā)送pimhello報文,所述pimhello報文包括的選項類型字段的值為第一預(yù)設(shè)值;確定接收到所述pim網(wǎng)絡(luò)中每個網(wǎng)絡(luò)設(shè)備發(fā)送的選項類型字段的值為第一預(yù)設(shè)值的pimhello報文后,執(zhí)行接收第二網(wǎng)絡(luò)設(shè)備發(fā)送的第一pim加入報文。
可選的,所述裝置與所述第二網(wǎng)絡(luò)設(shè)備處于共享網(wǎng)絡(luò);根據(jù)所述健康度量指標(biāo)確定所述第二網(wǎng)絡(luò)設(shè)備處于高負(fù)荷狀態(tài)之后,所述處理器801還用于:通過所述通信接口802接收所述共享網(wǎng)絡(luò)中的第三網(wǎng)絡(luò)設(shè)備發(fā)送的第二pim加入報文,所述第二pim加入報文包括所述第三網(wǎng)絡(luò)設(shè)備的健康度量指標(biāo);忽略所述第二pim加入報文。
其中,圖8中還可以包括總線接口,總線接口可以包括任意數(shù)量的互聯(lián)的總線和橋,具體由處理器代表的一個或多個處理器和存儲器代表的存儲器的各種電路鏈接在一起。總線接口還可以將諸如外圍設(shè)備、穩(wěn)壓器和功率管理電路等之類的各種其他電路鏈接在一起,本文不再對其進(jìn)行進(jìn)一步描述。
如圖9所示,為本申請實(shí)施例提供一種組播流量控制裝置結(jié)構(gòu)示意圖,該裝置包括:處理器901、通信接口902和存儲器903;
所述存儲器903可以用來存儲程序。所述處理器901從所述存儲器903中讀取程序?qū)?yīng)的指令,執(zhí)行如下操作:
獲得所述裝置的健康度量指標(biāo);
通過所述通信接口902向第一網(wǎng)絡(luò)設(shè)備發(fā)送包括所述健康度量指標(biāo)的第一 協(xié)議無關(guān)組播pim加入報文;其中,所述第一網(wǎng)絡(luò)設(shè)備為所述裝置的上游網(wǎng)絡(luò)設(shè)備。
可選的,所述處理器901具體用于:通過所述通信接口902周期性向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送所述第一pim加入報文;或者確定所述健康度量指標(biāo)發(fā)生變化后通過所述通信接口902向所述第一網(wǎng)絡(luò)設(shè)備發(fā)送所述第一pim加入報文。
其中,圖9中還可以包括總線接口,總線接口可以包括任意數(shù)量的互聯(lián)的總線和橋,具體由處理器代表的一個或多個處理器和存儲器代表的存儲器的各種電路鏈接在一起。總線接口還可以將諸如外圍設(shè)備、穩(wěn)壓器和功率管理電路等之類的各種其他電路鏈接在一起,本文不再對其進(jìn)行進(jìn)一步描述。
本申請是參照根據(jù)本申請實(shí)施例的方法、設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實(shí)現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
顯然,本領(lǐng)域的技術(shù)人員可以對本申請進(jìn)行各種改動和變型而不脫離本申請的范圍。這樣,倘若本申請的這些修改和變型屬于本申請權(quán)利要求的范圍之 內(nèi),則本申請也意圖包含這些改動和變型在內(nèi)。