專利名稱:組播恢復(fù)方法和裝置及包括該組播恢復(fù)裝置的中繼設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種組播恢復(fù)方法和裝置及包括該組播恢復(fù)裝置的中繼設(shè)備,特別地,涉及一種應(yīng)用于環(huán)網(wǎng)的組播恢復(fù)方法和裝置及包括該組播恢復(fù)裝置的中繼設(shè)備。
背景技術(shù):
在應(yīng)用組播機(jī)制的環(huán)網(wǎng)中,各中繼設(shè)備基于組播協(xié)議(IGMP-Snooping, IGMP-Proxy等)收集組成員關(guān)系,建立組播轉(zhuǎn)發(fā)表,并根據(jù)組播轉(zhuǎn)發(fā)表向各指定主機(jī)(或稱為用戶設(shè)備)發(fā)送組播數(shù)據(jù)。在環(huán)網(wǎng)中,可能會由于鏈路故障、手動切換等原因,導(dǎo)致網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化(例如原來阻塞的端口被啟用等),并使得組播數(shù)據(jù)無法正確地發(fā)送到指定的主機(jī)。為了在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下盡快實(shí)現(xiàn)組播流量收斂(以下將組播數(shù)據(jù)能夠正確地發(fā)送到指定的主機(jī)的狀態(tài)稱為“組播流量收斂”),環(huán)網(wǎng)中的各中繼設(shè)備(例如交換機(jī)等)需要在重新建立網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)(也稱為“環(huán)路收斂”)后重新收集組成員關(guān)系,更新組播轉(zhuǎn)發(fā)表,這個(gè)過程也稱為組播恢復(fù)(或者組播收斂)。組播恢復(fù)之后,可按照更新后的組播轉(zhuǎn)發(fā)表對組播數(shù)據(jù)進(jìn)行傳輸。然而,組播恢復(fù)需要一定的時(shí)間,在這段時(shí)間中,由于組播流量無法收斂(即組播數(shù)據(jù)無法正確到達(dá)指定主機(jī)),將會導(dǎo)致組播斷流,在最壞的情況下,組播斷流時(shí)間可能長達(dá)10秒以上,這將影響到組播業(yè)務(wù)的實(shí)時(shí)性。為了避免上述組播斷流現(xiàn)象,現(xiàn)有技術(shù)中通常采用以下技術(shù)手段:在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下,在新的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)建立之前,使環(huán)網(wǎng)中所有中繼設(shè)備上的組播協(xié)議失效并刪除相應(yīng)的組播轉(zhuǎn)發(fā)表表項(xiàng),并使組播數(shù)據(jù)在環(huán)網(wǎng)中形成廣播,以保證組成員能夠及時(shí)接收到組播數(shù)據(jù)。在新的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)建立之后(即環(huán)路收斂之后),中繼設(shè)備重新啟用組播協(xié)議,生成新的組播轉(zhuǎn)發(fā)表,以完成組播恢復(fù),保證組播數(shù)據(jù)正確地發(fā)送到指定主機(jī)。然而現(xiàn)有技術(shù)存在以下問題:一方面,從開始在環(huán)網(wǎng)中廣播到環(huán)路收斂之前的這段時(shí)間里,組播數(shù)據(jù)在環(huán)網(wǎng)內(nèi)形成廣播(也稱為組播流量洪泛),占用環(huán)網(wǎng)帶寬,影響環(huán)路收斂的速度;另一方面,組播數(shù)據(jù)以廣播的方式發(fā)送給非組成員的主機(jī),會影響主機(jī)的性能(例如,在視頻主機(jī)上造成花屏等)。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提出一種組播恢復(fù)方法和裝置,其能夠在環(huán)網(wǎng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下,在組播恢復(fù)過程中保證組播流量快速收斂,并且不影響環(huán)路收斂速度及主機(jī)性能。為了實(shí)現(xiàn)上述目的,在第一方面,本發(fā)明提出了一種組播恢復(fù)方法,該方法應(yīng)用于具有多個(gè)中繼設(shè)備的環(huán)網(wǎng),每個(gè)中繼設(shè)備基于組播轉(zhuǎn)發(fā)表傳輸組播數(shù)據(jù),其特征在于,該方法包括:
在所述環(huán)網(wǎng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下,所述環(huán)網(wǎng)中的中繼設(shè)備將所述中繼設(shè)備的所有干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表,其中所述干路端口是指所述中繼設(shè)備中用于與環(huán)網(wǎng)中其他中繼設(shè)備連接的端口;所述中繼設(shè)備按照所述組播轉(zhuǎn)發(fā)表傳輸組播數(shù)據(jù);所述中繼設(shè)備基于預(yù)定的協(xié)議重新建立網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);以及所述中繼設(shè)備基于所述重新建立的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)更新所述組播轉(zhuǎn)發(fā)表,完成組播恢復(fù)。在第一方面的一種可能的實(shí)施方式中,所述預(yù)定的協(xié)議為生成樹協(xié)議,其中將所述中繼設(shè)備的所有干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表包括:將所述中繼設(shè)備基于生成樹協(xié)議選擇的根端口和指定端口作為干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表。在第一方面的另一種可能的實(shí)施方式中,所述預(yù)定的協(xié)議為快速環(huán)網(wǎng)保護(hù)協(xié)議,其中將所述中繼設(shè)備的所有干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表包括:將所述中繼設(shè)備基于快速環(huán)網(wǎng)保護(hù)協(xié)議配置的主端口和從端口作為干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表。在第一方面的另一種可能的實(shí)施方式中,所述中繼設(shè)備利用組播管理協(xié)議基于重新建立的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)更新組播轉(zhuǎn)發(fā)表。在第一方面的另一種可能的實(shí)施方式中,所述基于重新建立的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)更新組播轉(zhuǎn)發(fā)表包括以下步驟:所述中繼設(shè)備接收并轉(zhuǎn)發(fā)由環(huán)網(wǎng)中的根節(jié)點(diǎn)中繼設(shè)備發(fā)送的查詢報(bào)文,以學(xué)習(xí)并更新所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表中的面向根節(jié)點(diǎn)的路由端口;所述中繼設(shè)備對接收到的查詢報(bào)文進(jìn)行計(jì)數(shù);所述中繼設(shè)備接收并轉(zhuǎn)發(fā)主機(jī)根據(jù)查詢報(bào)文返回的查詢響應(yīng),以學(xué)習(xí)并更新所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表中的面向主機(jī)的主機(jī)端口 ;其中,當(dāng)所述中繼設(shè)備對接收到的查詢報(bào)文的計(jì)數(shù)值超過預(yù)定的閾值時(shí),對所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表中未被更新過的端口進(jìn)行老化處理。在第一方面的另一種可能的實(shí)施方式中,所述中繼設(shè)備在接收所述查詢報(bào)文之前,將對接收到的查詢報(bào)文的計(jì)數(shù)清零。在第二方面,本發(fā)明提出了一種組播恢復(fù)裝置,該裝置應(yīng)用在環(huán)網(wǎng)的中繼設(shè)備中,所述中繼設(shè)備基于組播轉(zhuǎn)發(fā)表傳輸組播數(shù)據(jù),其特征在于,該裝置包括:鏈路狀態(tài)監(jiān)視模塊,用于監(jiān)視環(huán)網(wǎng)中的鏈路狀態(tài),并在所述環(huán)網(wǎng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下觸發(fā)添加模塊和環(huán)路收斂模塊;添加模塊,用于在所述鏈路狀態(tài)監(jiān)視模塊的觸發(fā)下,將所述中繼設(shè)備的所有干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表,其中所述干路端口是指所述中繼設(shè)備中用于與環(huán)網(wǎng)中其他中繼設(shè)備連接的端口;轉(zhuǎn)發(fā)模塊,用于根據(jù)所述組播轉(zhuǎn)發(fā)表傳輸組播數(shù)據(jù);環(huán)路收斂模塊,用于在所述鏈路狀態(tài)監(jiān)視模塊的觸發(fā)下,基于預(yù)定的協(xié)議重新建立網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);
組播恢復(fù)模塊,用于根據(jù)所述環(huán)路收斂模塊重新建立的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)更新組播轉(zhuǎn)發(fā)表。在第二方面的一種可能的實(shí)施方式中,所述預(yù)定的協(xié)議為生成樹協(xié)議,其中所述添加模塊將所述中繼設(shè)備基于生成樹協(xié)議選擇的根端口和指定端口作為干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表。在第二方面的另一種可能的實(shí)施方式中,所述預(yù)定的協(xié)議為快速環(huán)網(wǎng)保護(hù)協(xié)議,其中所述添加模塊將所述中繼設(shè)備基于快速環(huán)網(wǎng)保護(hù)協(xié)議配置的主端口和從端口作為干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表。在第二方面的另一種可能的實(shí)施方式中,所述組播恢復(fù)裝置還包括:查詢計(jì)數(shù)模塊,用于在所述組播恢復(fù)模塊更新組播轉(zhuǎn)發(fā)表期間,對所述中繼設(shè)備接收到的查詢報(bào)文進(jìn)行計(jì)數(shù);其中,所述組播恢復(fù)模塊在所述查詢計(jì)數(shù)模塊的計(jì)數(shù)值超過預(yù)定的閾值時(shí),對所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表中未被更新過的端口進(jìn)行老化處理。在第二方面的另一種可能的實(shí)施方式中,所述查詢計(jì)數(shù)模塊包括清零模塊,用于在所述組播恢復(fù)模塊更新組播轉(zhuǎn)發(fā)表期間,在所述查詢技術(shù)器對所述中繼設(shè)備接收到的查詢報(bào)文進(jìn)行計(jì)數(shù)之前,對所述查詢計(jì)數(shù)器進(jìn)行清零。在第三方面,本發(fā)明提出了一種中繼設(shè)備,所述中繼設(shè)備包括上文所述的組播恢
復(fù)裝置。 本發(fā)明通過在環(huán)網(wǎng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下,在重新建立網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)之前(即環(huán)路收斂之前),使環(huán)網(wǎng)中的中繼設(shè)備將自身的所有干路端口加入自身的組播轉(zhuǎn)發(fā)表,并按照所述組播轉(zhuǎn)發(fā)表傳輸組播數(shù)據(jù),從而在不影響環(huán)路收斂也不影響主機(jī)性能的前提下快速實(shí)現(xiàn)組播流量收斂。
包含在說明書中并且構(gòu)成說明書的一部分的說明書附圖與說明書一起示出了本發(fā)明的示例性實(shí)施例、特征和方面,并且僅用于解釋本發(fā)明的原理,而不構(gòu)成對本發(fā)明的限制。圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種組播恢復(fù)方法的流程圖;圖2示意性地示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的環(huán)網(wǎng)的結(jié)構(gòu)圖;圖3示出了根據(jù)本發(fā)明的實(shí)施例的更新組播轉(zhuǎn)發(fā)表的方法的流程圖;圖4示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種組播恢復(fù)裝置的結(jié)構(gòu)圖;圖5示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施例的一種組播恢復(fù)裝置的結(jié)構(gòu)圖;圖6示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種中繼設(shè)備的結(jié)構(gòu)圖。
具體實(shí)施例方式以下將參考附圖詳細(xì)說明本發(fā)明的各種示例性實(shí)施例、特征和方面。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實(shí)施例的各種方面,但是除非特別指出,不必按比例繪制附圖。
在這里專用的詞“示例性”意為“用作例子、實(shí)施例或說明性”。這里作為“示例性”所說明的任何實(shí)施例不必解釋為優(yōu)于或好于其它實(shí)施例。另外,為了更好的說明本發(fā)明,在下文的具體實(shí)施方式
中給出了眾多的具體細(xì)節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,沒有這些具體細(xì)節(jié),本發(fā)明同樣可以實(shí)施。在另外一些實(shí)例中,對于大家熟知的方法、手段、元件和電路未作詳細(xì)描述,以便于凸顯本發(fā)明的主旨。圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種組播恢復(fù)方法的流程圖,在該實(shí)施例中,該方法應(yīng)用于具有多個(gè)中繼設(shè)備的環(huán)網(wǎng),每個(gè)中繼設(shè)備基于組播轉(zhuǎn)發(fā)表傳輸組播數(shù)據(jù),該方法包括:S101,在所述環(huán)網(wǎng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下,所述環(huán)網(wǎng)中的中繼設(shè)備將所述中繼設(shè)備的所有干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表,其中所述干路端口是指所述中繼設(shè)備用于與環(huán)網(wǎng)中其他中繼設(shè)備連接的端口。S102,所述中繼設(shè)備按照所述組播轉(zhuǎn)發(fā)表傳輸組播數(shù)據(jù)。S103,所述中繼設(shè)備基于預(yù)定的協(xié)議重新建立網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。S104,所述中繼設(shè)備基于重新建立的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)更新組播轉(zhuǎn)發(fā)表,完成組播恢復(fù)。本實(shí)施例中,在環(huán)網(wǎng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下,在重新建立網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)之前(即環(huán)路收斂之前),環(huán)網(wǎng)中的中繼設(shè)備將自身的所有干路端口加入自身的組播轉(zhuǎn)發(fā)表,并按照所述組播轉(zhuǎn)發(fā)表傳輸組播數(shù)據(jù),從而在不影響環(huán)路收斂也不影響主機(jī)性能的前提下快速實(shí)現(xiàn)組播流量收斂,并通過后續(xù)的重新建立網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)及更新組播轉(zhuǎn)發(fā)表等操作完成組播恢復(fù)。本實(shí)施例中的“中繼設(shè)備”是指交換機(jī)等各種中繼設(shè)備。“組播轉(zhuǎn)發(fā)表”是指各中繼設(shè)備上保存并維護(hù)的組播組與端口之間的對應(yīng)關(guān)系表,“干路端口”是指各中繼設(shè)備中用于與環(huán)網(wǎng)中其他中繼設(shè)備連接的端口,不包括與上層交換設(shè)備或下層主機(jī)連接的“邊緣端口”。在包含多個(gè)中繼設(shè)備的環(huán)網(wǎng)中,各中繼設(shè)備均可以按照上述實(shí)施例所述的方法進(jìn)行操作,從而在環(huán)網(wǎng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下,完成整個(gè)環(huán)網(wǎng)的組播恢復(fù)。以下將更詳細(xì)地說明本實(shí)施例各步驟的各具體實(shí)施方式
及各種變型。圖2示意性地示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的環(huán)網(wǎng)的結(jié)構(gòu)圖,其中附圖標(biāo)記SA、SB、SC、SD、SE表示環(huán)網(wǎng)中的五臺中繼設(shè)備,其中中繼設(shè)備SA為與上層網(wǎng)絡(luò)通信的根節(jié)點(diǎn)設(shè)備,Hl H4表示主機(jī)(或稱為用戶設(shè)備),在網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)未發(fā)生變化之前,基于STP協(xié)議使中繼設(shè)備SD的端口 PDl阻塞,以避免形成環(huán)路。假設(shè)主機(jī)H3、H4加入同一個(gè)組播組G1,因此中繼設(shè)備SA、SB、SC、SD上生成了相應(yīng)的組播轉(zhuǎn)發(fā)表,使組播數(shù)據(jù)能夠沿路徑SA-SB-SD-H3 和路徑 SA-SC-H4 傳輸。當(dāng)SB與SD之間的鏈路發(fā)生故障、導(dǎo)致網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時(shí),每臺中繼設(shè)備將各自的所有干路端口加入各自的組播轉(zhuǎn)發(fā)表。根據(jù)上文所述,各中繼設(shè)備中用于與環(huán)網(wǎng)中其他中繼設(shè)備相連接的端口被稱為“干路端口”。以中繼設(shè)備SC為例,與中繼設(shè)備SA、SD相連接的端口 PC1、PC2為干路端口,被加入中繼設(shè)備SC的組播轉(zhuǎn)發(fā)表;而與主機(jī)H5、H4連接的端口 PC3、PC4為邊緣端口,不加入中繼設(shè)備SC的組播轉(zhuǎn)發(fā)表。由此,圖2中,與組播組Gl有關(guān)的端口 PAl、PCl和PC2、PDl將分別被加入SA、SC和SD組播轉(zhuǎn)發(fā)表中。
在上述過程的一種可能的實(shí)施方式中,當(dāng)SB與SD之間的鏈路發(fā)生故障時(shí),端口PDl啟用,各中繼設(shè)備會基于STP協(xié)議重新選擇新的根端口和指定端口,在配置合理的環(huán)網(wǎng)中,各中繼設(shè)備的根端口和指定端口即為其干路端口,在這種情況下,各中繼設(shè)備可將所選擇的新的根端口和指定端口作為干路端口加入組播轉(zhuǎn)發(fā)表中。基于該組播轉(zhuǎn)發(fā)表,組播組Gl的組播數(shù)據(jù)將能夠沿著路徑SA-SC-SD-H3到達(dá)主機(jī)H3,并沿著路徑SA-SC-H4到達(dá)主機(jī)H4,由此盡管環(huán)路收斂和組播恢復(fù)尚未完成,組播數(shù)據(jù)已經(jīng)正確地發(fā)送到了指定用戶,從而實(shí)現(xiàn)了快速組播流量收斂。同時(shí),由于這種發(fā)送方式仍然是基于組播轉(zhuǎn)發(fā)表的有針對性的發(fā)送,而非全網(wǎng)廣播,因此不會占用過多的網(wǎng)絡(luò)帶寬,也不會影響后續(xù)的環(huán)路收斂和組播恢復(fù)的速度。接下來,繼續(xù)依據(jù)STP協(xié)議的一般方法完成網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的重建,以實(shí)現(xiàn)環(huán)路收斂。并且,在重新建立網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)之后,可應(yīng)用IGMP-snooping等組播管理協(xié)議的一般方法重新收集組成員關(guān)系,并基于新的組成員關(guān)系以及重新建立的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)更新組播轉(zhuǎn)發(fā)表,完成組播恢復(fù)。盡管如圖2所示的實(shí)施例以STP協(xié)議為示例,事實(shí)上,本發(fā)明的方法也適用于基于RRPP (快速環(huán)網(wǎng)保護(hù)協(xié)協(xié)議)或Smartlink (智能鏈接協(xié)議)等其他協(xié)議的環(huán)網(wǎng)。在RRPP協(xié)議或Smartlink協(xié)議下,“干路端口 ”可選擇為配置的主端口和從端口。例如,在應(yīng)用RRPP協(xié)議的環(huán)網(wǎng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下,各中繼設(shè)備基于RRPP協(xié)議配置主端口和從端口,各中繼設(shè)備將所配置的主端口和從端口作為干路端口加入各自的組播轉(zhuǎn)發(fā)表,并且各中繼設(shè)備基于快速環(huán)網(wǎng)保護(hù)協(xié)議重新建立網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。圖3示出了根據(jù)本發(fā)明的實(shí)施例的更新組播轉(zhuǎn)發(fā)表的方法的流程圖,其包括:S301,所述中繼設(shè)備接收并轉(zhuǎn)發(fā)由環(huán)網(wǎng)中的根節(jié)點(diǎn)中繼設(shè)備發(fā)送的查詢報(bào)文,以學(xué)習(xí)并更新所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表中的面向根節(jié)點(diǎn)的路由端口,S302,所述中繼設(shè)備對接收到的查詢報(bào)文進(jìn)行計(jì)數(shù)。S303,所述中繼設(shè)備接收并轉(zhuǎn)發(fā)主機(jī)根據(jù)查詢報(bào)文返回的查詢響應(yīng),以學(xué)習(xí)并更新所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表中的面向主機(jī)的主機(jī)端口;S304,判斷所述中繼設(shè)備對接收到的查詢報(bào)文的計(jì)數(shù)值是否超過預(yù)定的閾值,如超過,則進(jìn)入步驟S305 ;如未超過,則重復(fù)步驟S301、302、303、304。S305,對所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表中未被更新過的端口進(jìn)行老化處理。本實(shí)施例的更新組播轉(zhuǎn)發(fā)表的方法可應(yīng)用于圖1所示的實(shí)施例中的步驟S104。其中,由于中繼設(shè)備對接收到的查詢報(bào)文進(jìn)行了計(jì)數(shù),如果中繼設(shè)備接收到了超過預(yù)定數(shù)量的查詢報(bào)文而其組播轉(zhuǎn)發(fā)表中的某個(gè)端口仍沒有被更新過,則視為該端口不屬于該組播轉(zhuǎn)發(fā)表,因此對其進(jìn)行老化處理(例如從組播轉(zhuǎn)發(fā)表中刪除該端口),利用這種手段,能夠加速組播轉(zhuǎn)發(fā)表的更新,從而加速組播恢復(fù)。其中環(huán)網(wǎng)中的根節(jié)點(diǎn)中繼設(shè)備是指位于環(huán)網(wǎng)中的根節(jié)點(diǎn)處的中繼設(shè)備。在包含多個(gè)中繼設(shè)備的環(huán)網(wǎng)中,各中繼設(shè)備均可以按照上述實(shí)施例所述的方法進(jìn)行操作,從而加速組播恢復(fù)。在一種可能的實(shí)施方式中,步驟S302可在步驟S301中中繼設(shè)備接收查詢報(bào)文的同時(shí)進(jìn)行。在一種可能的實(shí)施方式中,中繼設(shè)備在接收所述查詢報(bào)文之前將,將對接收到的查詢報(bào)文的計(jì)數(shù)清零。在包含多個(gè)中繼設(shè)備的環(huán)網(wǎng)中,各中繼設(shè)備中的“預(yù)定的閾值”可根據(jù)需要來選擇,例如可選擇為大于I的值。各中繼設(shè)備中的“預(yù)定的閾值”可以相同或不同。圖4示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種組播恢復(fù)裝置400的結(jié)構(gòu)圖,在該實(shí)施例中,該裝置應(yīng)用在環(huán)網(wǎng)的中繼設(shè)備中,其中所述中繼設(shè)備基于組播轉(zhuǎn)發(fā)表傳輸組播數(shù)據(jù),該裝置包括:鏈路狀態(tài)監(jiān)視模塊401,用于監(jiān)視環(huán)網(wǎng)中的鏈路狀態(tài),并在所述環(huán)網(wǎng)的拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下觸發(fā)添加模塊402和環(huán)路收斂模塊404 ;添加模塊402,用于在鏈路狀態(tài)監(jiān)視模塊401的觸發(fā)下,將該中繼設(shè)備的所有干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表;轉(zhuǎn)發(fā)模塊403,用于根據(jù)所述組播轉(zhuǎn)發(fā)表傳輸組播數(shù)據(jù);環(huán)路收斂模塊404,用于在鏈路狀態(tài)監(jiān)視模塊401的觸發(fā)下,基于預(yù)定的協(xié)議重新建立網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);組播恢復(fù)模塊405,用于根據(jù)所述環(huán)路收斂模塊404重新建立的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)更新組播轉(zhuǎn)發(fā)表,完成組播恢復(fù)。在一種可能的實(shí)施方式中,環(huán)路收斂模塊404重新建立網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)所基于的預(yù)定的協(xié)議為生成樹協(xié)議,在這種情況下,所述添加模塊402將所述中繼設(shè)備基于生成樹協(xié)議選擇的根端口和指定端口作為干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表。在另一種可能的實(shí)施方式中,環(huán)路收斂模塊404重新建立網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)所基于的預(yù)定的協(xié)議為快速環(huán)網(wǎng)保護(hù)協(xié)議,在這種情況下,所述添加模塊將所述中繼設(shè)備基于快速環(huán)網(wǎng)保護(hù)協(xié)議配置的主端口和從端口作為干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表。在圖5所示的另一種可能的實(shí)施方式中,組播恢復(fù)裝置500還包括查詢計(jì)數(shù)模塊406,用于在組播恢復(fù)模塊更新組播轉(zhuǎn)發(fā)表期間對該中繼設(shè)備接收到的查詢報(bào)文進(jìn)行計(jì)數(shù)。其中,所述組播恢復(fù)模塊405在所述查詢計(jì)數(shù)模塊的計(jì)數(shù)值超過預(yù)定的閾值時(shí),對該中繼設(shè)備的組播轉(zhuǎn)發(fā)表中未被更新過的端口進(jìn)行老化處理。在一種可能的實(shí)施方式中,所述查詢計(jì)數(shù)模塊包括清零模塊,用于在組播恢復(fù)模塊更新組播轉(zhuǎn)發(fā)表期間,在所述查詢技術(shù)器對所述中繼設(shè)備接收到的查詢報(bào)文進(jìn)行計(jì)數(shù)之前,對所述查詢計(jì)數(shù)器進(jìn)行清零。本發(fā)明的實(shí)施例還包括具有上述組播恢復(fù)裝置或執(zhí)行上述組播恢復(fù)方法的中繼設(shè)備。參閱圖6,圖6是根據(jù)本發(fā)明的一個(gè)實(shí)施例的中繼設(shè)備的結(jié)構(gòu)示意圖。如圖所示,中繼設(shè)備600包括處理器601、存儲器602、網(wǎng)絡(luò)接口 603和總線604。處理器601、存儲器602和網(wǎng)絡(luò)接口 603均與總線604連接。所述網(wǎng)絡(luò)接口 603至少包括兩個(gè)端口 P1、P2,用于與該中繼設(shè)備外部的設(shè)備(例如其他中繼設(shè)備、上層網(wǎng)絡(luò)設(shè)備、主機(jī)等)連接。處理器601用于在所述中繼設(shè)備所在的環(huán)網(wǎng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下,將所述中繼設(shè)備的所有干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表,按照組播轉(zhuǎn)發(fā)表通過端口傳輸組播數(shù)據(jù),并基于預(yù)定的協(xié)議重新建立網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),以及基于重新建立的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)更新組播轉(zhuǎn)發(fā)表,完成組播恢復(fù)。其中所述干路端口是指所述中繼設(shè)備中用于與環(huán)網(wǎng)中其他中繼設(shè)備連接的端口。
其中,處理器601執(zhí)行的上述處理過程通常是由一段程序控制完成,程序存放于存儲器602中,當(dāng)需要進(jìn)行上述動作時(shí),將程序調(diào)入處理器601,由處理器601控制完成。當(dāng)然,上述處理過程還可以是由硬件完成。其中,上述組播轉(zhuǎn)發(fā)表也可存儲在所述存儲器602中。盡管以上以具體的環(huán)網(wǎng)協(xié)議和組播管理協(xié)議為例對本發(fā)明各實(shí)施例進(jìn)行了說明,事實(shí)上,本發(fā)明適用于所有基于與組播聯(lián)動的環(huán)網(wǎng)協(xié)議的應(yīng)用場景。本領(lǐng)域普通技術(shù)人員可以意識到,本文所描述的實(shí)施例中的各示例性單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件形式來實(shí)現(xiàn),取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以針對特定的應(yīng)用選擇不同的方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。如果以計(jì)算機(jī)軟件的形式來實(shí)現(xiàn)所述功能并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),則在一定程度上可認(rèn)為本發(fā)明的技術(shù)方案的全部或部分(例如對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分)是以計(jì)算機(jī)軟件產(chǎn)品的形式體現(xiàn)的。該計(jì)算機(jī)軟件產(chǎn)品通常存儲在計(jì)算機(jī)可讀取的存儲介質(zhì)中,包括若干指令用以使得計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī)、服務(wù)器、或者中繼設(shè)備等)執(zhí)行本發(fā)明各實(shí)施例方法的全部或部分步驟。而前述的存儲介質(zhì)包括U盤、移動硬盤、只讀存儲器(ROM, Read-Only Memory)、隨機(jī)存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。以上所述,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種組播恢復(fù)方法,該方法應(yīng)用于具有多個(gè)中繼設(shè)備的環(huán)網(wǎng),每個(gè)中繼設(shè)備基于組播轉(zhuǎn)發(fā)表傳輸組播數(shù)據(jù),其特征在于,該方法包括: 在所述環(huán)網(wǎng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下,所述環(huán)網(wǎng)中的中繼設(shè)備將所述中繼設(shè)備的所有干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表,其中所述干路端口是指所述中繼設(shè)備中用于與環(huán)網(wǎng)中其他中繼設(shè)備連接的端口; 所述中繼設(shè)備按照所述組播轉(zhuǎn)發(fā)表傳輸組播數(shù)據(jù); 所述中繼設(shè)備基于預(yù)定的協(xié)議重新建立網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);以及 所述中繼設(shè)備基于所述重新建立的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)更新所述組播轉(zhuǎn)發(fā)表,完成組播恢復(fù)。
2.根據(jù)權(quán)利要求1所述的組播恢復(fù)方法,其特征在于,所述預(yù)定的協(xié)議為生成樹協(xié)議,其中 將所述中繼設(shè)備的所有干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表包括: 將所述中繼設(shè)備基于生成樹協(xié)議選擇的根端口和指定端口作為干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表。
3.根據(jù)權(quán)利要I所述的組播恢復(fù)方法,其特征在于,所述預(yù)定的協(xié)議為快速環(huán)網(wǎng)保護(hù)協(xié)議,其中 將所述中繼設(shè)備的所有干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表包括: 將所述中繼設(shè)備基于快速環(huán)網(wǎng)保護(hù)協(xié)議配置的主端口和從端口作為干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表。
4.根據(jù)權(quán)利要求1至3中任意一項(xiàng)所述的組播恢復(fù)方法,其特征在于,所述中繼設(shè)備利用組播管理協(xié)議基于重新建立的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)更新組播轉(zhuǎn)發(fā)表。
5.根據(jù)權(quán)利要求1至3中任意一項(xiàng)所述的組播恢復(fù)方法,其特征在于,所述基于重新建立的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)更新組播轉(zhuǎn)發(fā)表包括以下步驟: 所述中繼設(shè)備接收并轉(zhuǎn)發(fā)由環(huán)網(wǎng)中的根節(jié)點(diǎn)中繼設(shè)備發(fā)送的查詢報(bào)文,以學(xué)習(xí)并更新所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表中的面向根節(jié)點(diǎn)的路由端口; 所述中繼設(shè)備對接收到的查詢報(bào)文進(jìn)行計(jì)數(shù); 所述中繼設(shè)備接收并轉(zhuǎn)發(fā)主機(jī)根據(jù)查詢報(bào)文返回的查詢響應(yīng),以學(xué)習(xí)并更新所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表中的面向主機(jī)的主機(jī)端口; 其中,當(dāng)所述中繼設(shè)備對接收到的查詢報(bào)文的計(jì)數(shù)值超過預(yù)定的閾值時(shí),對所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表中未被更新過的端口進(jìn)行老化處理。
6.根據(jù)權(quán)利要求5所述的組播恢復(fù)方法,其特征在于,所述中繼設(shè)備在接收所述查詢報(bào)文之前,將對接收到的查詢報(bào)文的計(jì)數(shù)清零。
7.一種組播恢復(fù)裝置,該裝置應(yīng)用在環(huán)網(wǎng)的中繼設(shè)備中,所述中繼設(shè)備基于組播轉(zhuǎn)發(fā)表傳輸組播數(shù)據(jù),其特征在于,該裝置包括: 鏈路狀態(tài)監(jiān)視模塊,用于監(jiān)視環(huán)網(wǎng)中的鏈路狀態(tài),并在所述環(huán)網(wǎng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下觸發(fā)添加模塊和環(huán)路收斂模塊; 添加模塊,用于在所述鏈路狀態(tài)監(jiān)視模塊的觸發(fā)下,將所述中繼設(shè)備的所有干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表,其中所述干路端口是指所述中繼設(shè)備中用于與環(huán)網(wǎng)中其他中繼設(shè)備連接的端口;轉(zhuǎn)發(fā)模塊,用于根據(jù)所述組播轉(zhuǎn)發(fā)表傳輸組播數(shù)據(jù); 環(huán)路收斂模塊,用于在所述鏈路狀態(tài)監(jiān)視模塊的觸發(fā)下,基于預(yù)定的協(xié)議重新建立網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu); 組播恢復(fù)模塊,用于根據(jù)所述環(huán)路收斂模塊重新建立的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)更新組播轉(zhuǎn)發(fā)表。
8.根據(jù)權(quán)利要求1所述的組播恢復(fù)裝置,其特征在于,所述預(yù)定的協(xié)議為生成樹協(xié)議,其中 所述添加模塊將所述中繼設(shè)備基于生成樹協(xié)議選擇的根端口和指定端口作為干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表。
9.根據(jù)權(quán)利要I所述的組播恢復(fù)裝置,其特征在于,所述預(yù)定的協(xié)議為快速環(huán)網(wǎng)保護(hù)協(xié)議,其中 所述添加模塊將所述中繼設(shè)備基于快速環(huán)網(wǎng)保護(hù)協(xié)議配置的主端口和從端口作為干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表。
10.根據(jù)權(quán)利要求7所述的組播恢復(fù)裝置,其特征在于,所述組播恢復(fù)裝置還包括: 查詢計(jì)數(shù)模塊,用于在所述組播恢復(fù)模塊更新組播轉(zhuǎn)發(fā)表期間,對所述中繼設(shè)備接收到的查詢報(bào)文進(jìn)行計(jì)數(shù); 其中,所述組播恢復(fù)模塊在所述查詢計(jì)數(shù)模塊的計(jì)數(shù)值超過預(yù)定的閾值時(shí),對所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表中未被更新過的端口進(jìn)行老化處理。
11.根據(jù)權(quán)利要求10所述的組播恢復(fù)裝置,其特征在于, 所述查詢計(jì)數(shù)模塊包括清零模塊,用于在所述組播恢復(fù)模塊更新組播轉(zhuǎn)發(fā)表期間,在所述查詢技術(shù)器對所述中繼設(shè)備接收到的查詢報(bào)文進(jìn)行計(jì)數(shù)之前,對所述查詢計(jì)數(shù)器進(jìn)行清零。
12.—種中繼設(shè)備,其特征在于,所述中繼設(shè)備包括根據(jù)權(quán)利要求7至11中任意一項(xiàng)所述的組播恢復(fù)裝置。
全文摘要
本發(fā)明涉及一種組播恢復(fù)方法和裝置及包括該組播恢復(fù)裝置的中繼設(shè)備,其中該方法應(yīng)用于具有多個(gè)中繼設(shè)備的環(huán)網(wǎng),每個(gè)中繼設(shè)備基于組播轉(zhuǎn)發(fā)表傳輸組播數(shù)據(jù),該方法包括在所述環(huán)網(wǎng)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化的情況下,所述環(huán)網(wǎng)中的中繼設(shè)備將所述中繼設(shè)備的所有干路端口加入所述中繼設(shè)備的組播轉(zhuǎn)發(fā)表,其中所述干路端口是指所述中繼設(shè)備中用于與環(huán)網(wǎng)中其他中繼設(shè)備連接的端口;所述中繼設(shè)備按照所述組播轉(zhuǎn)發(fā)表傳輸組播數(shù)據(jù);所述中繼設(shè)備基于預(yù)定的協(xié)議重新建立網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);以及所述中繼設(shè)備基于所述重新建立的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)更新所述組播轉(zhuǎn)發(fā)表,完成組播恢復(fù)。
文檔編號H04L12/761GK103107946SQ20131003373
公開日2013年5月15日 申請日期2013年1月29日 優(yōu)先權(quán)日2013年1月29日
發(fā)明者丁漢城, 李剛強(qiáng), 涂聰 申請人:華為技術(shù)有限公司