專利名稱:一種組播終端快速離開(kāi)組播的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及IP組播技術(shù)領(lǐng)域,尤其涉及一種組播終端快速離開(kāi)組播的實(shí)現(xiàn)方法。
背景技術(shù):
在Internet網(wǎng)絡(luò)發(fā)展的過(guò)程中,組播是一個(gè)舊概念而不是一個(gè)新概念。但它由于各種原因發(fā)展比較緩慢。IP組播的概念于1988年最早出現(xiàn)在Steve Deering的博士論文中,在1989年 Steve Deering對(duì)標(biāo)準(zhǔn)IP網(wǎng)絡(luò)層協(xié)議進(jìn)行了擴(kuò)展,提出了 IP組播規(guī)范;1992年3月第一次建立組播主干網(wǎng)MBone,IETF并成功地在組播網(wǎng)上舉行了一次會(huì)議,才引起人們的廣泛關(guān)注。而第一個(gè)WWW瀏覽器出現(xiàn)在1990年,到1993年已發(fā)展到100個(gè)WWW站點(diǎn),所以組播和WWW雖處于同一時(shí)期,但組播的發(fā)展遠(yuǎn)遠(yuǎn)慢于WWW,主要原因是IP組播通信模式需要相當(dāng)狀態(tài)和復(fù)雜性的路由器,要求路由器能提供每個(gè)群組和每個(gè)源的信息狀態(tài),并且隨著 Internet網(wǎng)絡(luò)的越來(lái)越復(fù)雜給組播的進(jìn)一步的發(fā)展帶來(lái)了困難。后來(lái),出現(xiàn)了一些設(shè)計(jì)精巧的組播路由協(xié)議(如PM-DM、PIM-SM),使組播IP包能正確而又迅速地發(fā)送給成千上萬(wàn)的接收者,IP組播的技術(shù)和應(yīng)用開(kāi)始快速發(fā)展。目前,IP組播可以運(yùn)行在任意構(gòu)造的網(wǎng)絡(luò)之上,包括因特網(wǎng)、ATM、幀中繼、SMDS和衛(wèi)星,涉及網(wǎng)絡(luò)的許多領(lǐng)域,能應(yīng)用在視頻和電信會(huì)議、多媒體種類、新聞發(fā)布和那些來(lái)自太空的遠(yuǎn)程實(shí)況廣播。組播協(xié)議分為主機(jī)-路由器之間的組成員關(guān)系協(xié)議和路由器-路由器之間的組播路由協(xié)議。組成員關(guān)系協(xié)議包括IGMP (互連網(wǎng)組管理協(xié)議)。組播路由協(xié)議分為域內(nèi)組播路由協(xié)議及域間組播路由協(xié)議。域內(nèi)組播路由協(xié)議包括PIM-SM、PIM-DM、DVMRP等協(xié)議,域間組播路由協(xié)議包括MBGP、MSDP等協(xié)議。同時(shí)為了有效抑制組播數(shù)據(jù)在鏈路層的擴(kuò)散,引入了 IGMP Snooping、HGMP (華為GMP)等二層組播協(xié)議。在組成員關(guān)系協(xié)議中在組播的fastleave (快速離開(kāi))功能出現(xiàn)之前,組播的基本過(guò)程是
1、當(dāng)某個(gè)主機(jī)想接收特定的組播的時(shí)候,向組播路由器發(fā)送這個(gè)組播的join報(bào)文;
2、組播路由器收到j(luò)oin報(bào)文后,把這個(gè)組播地址添加到自身的組播表,并允許wan側(cè)與這個(gè)組播對(duì)應(yīng)的視頻流轉(zhuǎn)發(fā)到Ian側(cè)的主機(jī),從而Ian側(cè)主機(jī)能接收到對(duì)應(yīng)的組播流。3、當(dāng)某個(gè)主機(jī)不再想接收特定的組播的時(shí)候,向組播路由器發(fā)送這個(gè)組播的 leave報(bào)文;
4、組播路由器收到leave報(bào)文后,向Ian側(cè)發(fā)送query查詢報(bào)文,以確認(rèn)Ian側(cè)是否還有這個(gè)組播的接收者。如果Ian側(cè)還有接收者,收到路由器的查詢后,會(huì)回復(fù)這個(gè)組播對(duì)應(yīng)的report報(bào)文,組播路由器收到這個(gè)report,知道還有這個(gè)組播的接收者,更新這個(gè)組播的老化時(shí)間,組播流繼續(xù)轉(zhuǎn)發(fā)的Ian側(cè)。而如果已經(jīng)沒(méi)有這個(gè)組播的接收者了,組播路由器在幾個(gè)query周期后(這個(gè)時(shí)間范圍是幾秒到幾十秒之間),沒(méi)收到這個(gè)組report,認(rèn)為Ian側(cè)已經(jīng)沒(méi)有對(duì)應(yīng)的接收者了,就會(huì)把這個(gè)組播地址從自身的組播表刪除,并停止wan側(cè)與這個(gè)組播對(duì)應(yīng)的視頻流轉(zhuǎn)發(fā)到Ian側(cè)的主機(jī)。這樣,對(duì)于一些帶寬較小的環(huán)境來(lái)說(shuō),這幾個(gè)查詢周期,一些業(yè)務(wù)無(wú)法正常工作,如iptv會(huì)出現(xiàn)馬賽克。試想一下,如果每次換臺(tái)都要看幾秒甚至幾十秒的馬賽克,用戶體驗(yàn)肯定是過(guò)不去的,而fastleave功能則能夠解決這個(gè)問(wèn)題。在組成員關(guān)系協(xié)議中加入組播的fastleave功能機(jī)制后,組播的基本過(guò)程是
1、當(dāng)某個(gè)主機(jī)想接收特定的組播的時(shí)候,向組播路由器發(fā)送這個(gè)組播的join報(bào)文;
2、組播路由器收到j(luò)oin報(bào)文后,把這個(gè)組播地址添加到自身的組播表,記錄這個(gè) report的主機(jī)的ip (或者mac)地址,并允許wan側(cè)與這個(gè)組播對(duì)應(yīng)的視頻流轉(zhuǎn)發(fā)到Ian側(cè)的主機(jī),從而Ian側(cè)主機(jī)能接收到對(duì)應(yīng)的組播流。3、當(dāng)某個(gè)主機(jī)不再想接收特定的組播的時(shí)候,向組播路由器發(fā)送這個(gè)組播的 leave報(bào)文;
4、組播路由器收到leave報(bào)文后,從之前的記錄刪除這個(gè)report的主機(jī)的ip (或者 mac)地址,不會(huì)向Ian側(cè)發(fā)送query查詢報(bào)文。而是查詢自身的記錄,是否還有這個(gè)組播對(duì)應(yīng)的主機(jī)記錄存在,如果還有,則組播流繼續(xù)轉(zhuǎn)發(fā)的Ian側(cè)。而如果已經(jīng)沒(méi)有這個(gè)組播對(duì)應(yīng)的主機(jī)記錄,則認(rèn)為沒(méi)有對(duì)應(yīng)的接收者了,就會(huì)馬上把這個(gè)組播地址從自身的組播表刪除, 并停止wan側(cè)與這個(gè)組播對(duì)應(yīng)的視頻流轉(zhuǎn)發(fā)到Ian側(cè)的主機(jī),以達(dá)到“fastleave”的效果。 即fastleave機(jī)制的引進(jìn)能夠快速確認(rèn)組播流是否應(yīng)該停止轉(zhuǎn)發(fā),能夠即時(shí)把帶寬釋放出來(lái),而不必等待幾個(gè)查詢間隔了。有上述過(guò)程可知,當(dāng)前的組播fastleave功能是通過(guò)查詢自身的記錄來(lái)決定是否對(duì)某個(gè)組播進(jìn)行轉(zhuǎn)發(fā)的,如果由于網(wǎng)絡(luò)阻塞引起leave報(bào)文丟失或者一些特殊環(huán)境個(gè)別主機(jī)離開(kāi)也沒(méi)有發(fā)送leave報(bào)文(比如,當(dāng)用一個(gè)遙控器同時(shí)控制兩個(gè)或多個(gè)機(jī)頂盒換臺(tái)時(shí), 有的機(jī)頂盒不會(huì)發(fā)送leave報(bào)文),那么組播對(duì)應(yīng)的主機(jī)成員就無(wú)法刪除而一直存在,這樣即使已經(jīng)沒(méi)有主機(jī)接收這個(gè)組播了,組播流還是會(huì)繼續(xù)轉(zhuǎn)發(fā)到Ian側(cè),一直到內(nèi)部的組播表老化,這個(gè)時(shí)間一般需要5分鐘左右。即當(dāng)出現(xiàn)問(wèn)題時(shí),帶寬會(huì)被占用約5分鐘的時(shí)間, 對(duì)于一些帶寬比較小的環(huán)境,這5分鐘一些業(yè)務(wù)(如iptv)就無(wú)法正常工作了。因而,有必要對(duì)當(dāng)前的組播fastleave功能進(jìn)行改進(jìn),以減小網(wǎng)絡(luò)異常時(shí)間,提升用戶體驗(yàn)。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種組播終端快速離開(kāi)組播組的實(shí)現(xiàn)方法,縮短網(wǎng)絡(luò)異常時(shí)間,提升用戶體驗(yàn)。本發(fā)明的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的。一種組播終端快速離開(kāi)組播的實(shí)現(xiàn)方法,包括
在收到組播終端的離開(kāi)組播報(bào)文時(shí),組播路由器向?qū)?yīng)的組播組發(fā)送特定組查詢報(bào)文,同時(shí)查詢本地存儲(chǔ)的相應(yīng)的組播表;
從所述組播表中刪除所述組播終端的記錄信息,若刪除后該組播表為空,則立即刪除該組播表,停止對(duì)應(yīng)組播流的轉(zhuǎn)發(fā);若刪除后該組播表不為空,則等待查詢響應(yīng),在等待期間未收到響應(yīng)報(bào)文則刪除所述組播表,停止對(duì)應(yīng)組播流的轉(zhuǎn)發(fā)。上述方法還包括若在等待期間收到響應(yīng)報(bào)文,則更新組播老化時(shí)間即可。
優(yōu)選地,所述等待查詢響應(yīng)的周期預(yù)設(shè)為Is — 2s。與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例具有以下有益效果。本發(fā)明結(jié)合了傳統(tǒng)的fastleave方式和query查詢方式,從而增加了組播路由器對(duì)其自身記錄正確性的保障機(jī)制,實(shí)現(xiàn)不僅簡(jiǎn)單,而且大大縮短了網(wǎng)絡(luò)異常時(shí)間,提升了用戶體驗(yàn)。
圖I是本發(fā)明提供的組播終端快速離開(kāi)組播的實(shí)現(xiàn)方法流程圖。圖2是本發(fā)明提供的組播網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施例方式由于傳統(tǒng)的fastleave功能存在缺陷的根本原因在于其對(duì)組播成員是否存在的判斷完全依賴于自身的記錄信息,而又缺乏對(duì)自身記錄信息進(jìn)行準(zhǔn)確性保障的機(jī)制。因而, 如圖I所示,本發(fā)明采用傳統(tǒng)的fastleave方式與query方式相結(jié)合的解決方案。101、當(dāng)收到一個(gè)組播終端發(fā)送來(lái)的組播leave報(bào)文后,組播路由器發(fā)送特定組查詢并同時(shí)查詢自身的組播表。102、刪除組播表中組播終端的記錄信息。103、如果組播表已經(jīng)沒(méi)有其他組播成員了,那么不必等待查詢響應(yīng),執(zhí)行步驟 105,馬上停止這個(gè)組播流的轉(zhuǎn)發(fā),達(dá)到fastleave效果;否則,執(zhí)行步驟104。104、等待query的響應(yīng),若能收到這個(gè)組播的report,表示的確還有其他組播成員存在,則執(zhí)行步驟106 ;若在幾個(gè)查詢周期后沒(méi)對(duì)應(yīng)的r印ort,說(shuō)明之前發(fā)生了 leave報(bào)文丟失,事實(shí)已經(jīng)沒(méi)有其他組播成員了,則執(zhí)行步驟105。105、刪除這個(gè)組播,停止組播流轉(zhuǎn)發(fā),結(jié)束此流程。106、更新組播老化時(shí)間,結(jié)束此流程。這樣就可以把5分鐘的網(wǎng)絡(luò)異常減小到幾秒鐘,在加上這只是網(wǎng)絡(luò)環(huán)境較差或者終端設(shè)置出現(xiàn)異常的時(shí)候偶現(xiàn)的,對(duì)于用戶體驗(yàn)來(lái)說(shuō)應(yīng)該是已經(jīng)可以接受的了。為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本實(shí)施例中,將以圖2所示的組播網(wǎng)絡(luò)系統(tǒng)為例,分別對(duì)比描述采用傳統(tǒng)query方式、傳統(tǒng)fastleave方式與本發(fā)明改進(jìn)后的fastleave方式的實(shí)現(xiàn)過(guò)程。如圖2所示,主機(jī)I和主機(jī)2都加入了組播224. 2. 0. 1,主機(jī)3加入224. 5. 5. 5。傳統(tǒng)query方式的具體實(shí)現(xiàn)過(guò)程如下。i ) 主機(jī)I向組播路由器發(fā)送224. 2. 0.1的離開(kāi)消息,主機(jī)3向組播路由器發(fā)送224. 5. 5. 5的離開(kāi)消息。ii)組播路由器收到離開(kāi)消息后,分別發(fā)送特定組查詢報(bào)文到224. 2. 0. I 和 224. 5. 5. 5。iii )主機(jī)I和主機(jī)3收到224. 2. 0. I的查詢報(bào)文,而自己并不再接收這個(gè)組播流了,因而不做回應(yīng);主機(jī)2由于還要繼續(xù)接收這個(gè)組播流,向組播路由器響應(yīng)224. 2. 0. I的報(bào)告報(bào)文。組播路由器收到查詢的響應(yīng)報(bào)文,更新對(duì)應(yīng)的組播組老化時(shí)間,繼續(xù)轉(zhuǎn)發(fā)這個(gè)組播流到Ian側(cè)。iv ) 此時(shí)所有主機(jī)都不再接收224. 5. 5. 5這個(gè)組播,沒(méi)有主機(jī)對(duì)這個(gè)查詢響應(yīng)。組播路由器經(jīng)過(guò)查詢周期*健壯性變量(至少要幾秒)的時(shí)間沒(méi)收到響應(yīng)的report,刪除這個(gè)組播,釋放網(wǎng)絡(luò)帶寬。這個(gè)過(guò)程中,查詢響應(yīng)時(shí)間段內(nèi),一些業(yè)務(wù)無(wú)法正常工作,用戶體驗(yàn)比較差。傳統(tǒng)fastleave方式的具體實(shí)現(xiàn)過(guò)程如下。(I)主機(jī)I向組播路由器發(fā)送224. 2. 0. I的離開(kāi)消息,主機(jī)3向組播路由器發(fā)送 224. 5. 5. 5的離開(kāi)消息。(2)組播路由器收到主機(jī)3的離開(kāi)消息后,刪除組播224. 5. 5. 5表中主機(jī) 3的記錄,因該組播表中已無(wú)主機(jī)信息存在,立即刪除組播,并馬上停止組播流轉(zhuǎn)發(fā)到Ian 側(cè)。(3)組播路由器收到主機(jī)I的離開(kāi)消息后,刪除組播224. 2. 0. I表中主機(jī)I的記錄信息,因還有主機(jī)2的記錄信息存在,繼續(xù)轉(zhuǎn)發(fā)組播流到Ian側(cè)。接著收到主機(jī)2的離開(kāi)消息,刪除組播224. 2. 0. I表中主機(jī)2的記錄,此時(shí)由于該組播沒(méi)有成員了,立即刪除組播,并馬上停止這個(gè)組播流轉(zhuǎn)發(fā)到Ian側(cè)。在該過(guò)程中,如果因?yàn)榫W(wǎng)絡(luò)阻塞或其他原因,主機(jī)I或者主機(jī)2發(fā)送的離開(kāi)消息丟失,組播路由器還會(huì)繼續(xù)轉(zhuǎn)發(fā)224. 5. 5. 5這個(gè)組播流到Ian偵牝直到經(jīng)過(guò)組播老化周期(5分鐘左右),這段時(shí)間網(wǎng)絡(luò)異常,用戶體驗(yàn)比較差。本發(fā)明經(jīng)改進(jìn)的fastleave方式的具體實(shí)現(xiàn)過(guò)程如下。①主機(jī)I向組播路由器發(fā)送224. 2.0. I的離開(kāi)消息,主機(jī)3向組播路由器發(fā)送 224. 5. 5. 5的離開(kāi)消息。②組播路由器收到主機(jī)3的離開(kāi)消息后,刪除組播224. 5. 5. 5表中主機(jī)3的記錄, 因組播表中已無(wú)主機(jī)存在,立即刪除該組播,并馬上停止對(duì)應(yīng)組播流轉(zhuǎn)發(fā)到Ian偵U。③ 組播路由器收到主機(jī)I的離開(kāi)消息后,刪除組播224. 2. 0. I表中主機(jī)I的記錄,因該組播表還有主機(jī)2的記錄存在,繼續(xù)轉(zhuǎn)發(fā)組播流到Ian側(cè)。與此同時(shí), 組播路由器向Ian側(cè)發(fā)送224. 2. 0. I特定組查詢,有響應(yīng)則表示的確還有成員存在,否則就是已經(jīng)沒(méi)有成員了。如若主機(jī)2已被刪除,組播表中沒(méi)有成員,則不需發(fā)送特定組查詢立即刪除組播,并馬上停止這個(gè)組播流轉(zhuǎn)發(fā)到Ian側(cè)。這種情況下即使主機(jī)I或主機(jī)2的leave報(bào)文丟失了,只要收到一個(gè)leave消息,組播路由器會(huì)發(fā)送特定組查詢,以確認(rèn)另一個(gè)成員是否已經(jīng)leave,這個(gè)確認(rèn)過(guò)程一般最多幾秒,大大較少了網(wǎng)絡(luò)異常的情況。通過(guò)對(duì)比可知,本發(fā)明主要是增加了組播路由器對(duì)其自身記錄正確性的保障機(jī)制,而這個(gè)機(jī)制則是通過(guò)傳統(tǒng)的查詢方式來(lái)實(shí)現(xiàn),實(shí)現(xiàn)不僅簡(jiǎn)單,而且大大縮短了網(wǎng)絡(luò)異常時(shí)間,提升了用戶體驗(yàn)。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種組播終端快速離開(kāi)組播的實(shí)現(xiàn)方法,其特征在于,該方法包括在收到組播終端的離開(kāi)組播報(bào)文時(shí),組播路由器向?qū)?yīng)的組播組發(fā)送特定組查詢報(bào)文,同時(shí)查詢本地存儲(chǔ)的相應(yīng)的組播表;從所述組播表中刪除所述組播終端的記錄信息,若刪除后該組播表為空,則立即刪除該組播表,停止對(duì)應(yīng)組播流的轉(zhuǎn)發(fā);若刪除后該組播表不為空,則等待查詢響應(yīng),在等待期間未收到響應(yīng)報(bào)文則刪除所述組播表,停止對(duì)應(yīng)組播流的轉(zhuǎn)發(fā)。
2.如權(quán)利要求I所述的組播終端快速離開(kāi)組播的實(shí)現(xiàn)方法,其特征在于,該方法還包括若在等待期間收到響應(yīng)報(bào)文,則更新組播老化時(shí)間即可。
3.如權(quán)利要求I所述的組播終端快速離開(kāi)組播的實(shí)現(xiàn)方法,其特征在于,所述等待查詢響應(yīng)的周期預(yù)設(shè)為Is — 2s。
全文摘要
本發(fā)明提供了一種組播終端快速離開(kāi)組播的實(shí)現(xiàn)方法,該方法包括在收到組播終端的離開(kāi)組播報(bào)文時(shí),組播路由器向?qū)?yīng)的組播組發(fā)送特定組查詢報(bào)文,同時(shí)查詢本地存儲(chǔ)的相應(yīng)的組播表;從所述組播表中刪除所述組播終端的記錄信息,若刪除后該組播表為空,則立即刪除該組播表,停止對(duì)應(yīng)組播流的轉(zhuǎn)發(fā);若刪除后該組播表不為空,則等待查詢響應(yīng),在等待期間未收到響應(yīng)報(bào)文則刪除所述組播表,停止對(duì)應(yīng)組播流的轉(zhuǎn)發(fā)。本發(fā)明結(jié)合了傳統(tǒng)的fastleave方式和query查詢方式,從而增加了組播路由器對(duì)其自身記錄正確性的保障機(jī)制,實(shí)現(xiàn)不僅簡(jiǎn)單,而且大大縮短了網(wǎng)絡(luò)異常時(shí)間,提升了用戶體驗(yàn)。
文檔編號(hào)H04L12/18GK102594686SQ20121003781
公開(kāi)日2012年7月18日 申請(qǐng)日期2012年2月20日 優(yōu)先權(quán)日2012年2月20日
發(fā)明者劉春生, 王金桂 申請(qǐng)人:深圳市共進(jìn)電子股份有限公司