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