專利名稱:一種互聯(lián)網(wǎng)組管理協(xié)議報(bào)告抑制方法和通信網(wǎng)絡(luò)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及組播業(yè)務(wù),特別涉及一種在非對(duì)稱的廣播信道上的互聯(lián)網(wǎng)組管理協(xié)議(IGMPInternet Group Management Protocol)報(bào)告抑制方法和通信網(wǎng)絡(luò)系統(tǒng)。
背景技術(shù):
承載網(wǎng)的組播是交互式網(wǎng)絡(luò)電視IPTV等業(yè)務(wù)的重要基礎(chǔ)技術(shù),而當(dāng)前接入設(shè)備的互聯(lián)網(wǎng)組管理協(xié)議(IGMP)處理性能則是組播技術(shù)的一個(gè)關(guān)鍵性能瓶頸。大的接入設(shè)備往往有上千用戶,要讓用戶擁有類似于傳統(tǒng)有線電視CATV的性能體驗(yàn),接入設(shè)備需要在1秒內(nèi)完成單個(gè)用戶的切換頻道請(qǐng)求,所有用戶的并發(fā)IGMP請(qǐng)求的處理時(shí)間不能超過(guò)1秒,這是非常大的一個(gè)性能挑戰(zhàn)??紤]到成本因素,接入設(shè)備本身的硬件和軟件提高性能的潛力很小,必須考慮如何減少需要由接入設(shè)備處理的IGMP報(bào)告報(bào)文數(shù)量。
如圖1所示,為非對(duì)稱廣播信道上的組播轉(zhuǎn)發(fā)模型示意圖。其中,非對(duì)稱廣播信道的特點(diǎn)是一個(gè)方向上幀是廣播的,除了發(fā)信方外其它節(jié)點(diǎn)都可以接收到該幀,如虛線1 所示,單向信息可以到達(dá)所有收信節(jié)點(diǎn);另外一個(gè)方向是點(diǎn)到點(diǎn)的,只有目的收信方可以收到該幀,如點(diǎn)劃線2 所示,即另外一個(gè)方向的信息只能到達(dá)特定節(jié)點(diǎn)。廣播信道處理組播是非常合適的,這是因?yàn)榘l(fā)信方只需要發(fā)送一份報(bào)告報(bào)文,就可以到達(dá)其它的所有節(jié)點(diǎn),而不需要如點(diǎn)到點(diǎn)信道上發(fā)信機(jī)需要給每個(gè)接收節(jié)點(diǎn)都要發(fā)送一份相同的報(bào)告報(bào)文,這樣可大大地提高帶寬利用率和發(fā)信機(jī)的效率。很多通信網(wǎng)絡(luò)和設(shè)備都存在非對(duì)稱廣播信道的特點(diǎn),特別是在接入設(shè)備上,例如設(shè)備內(nèi)部的廣播式總線、無(wú)源光網(wǎng)絡(luò)(PONPassive Optical Network)的光傳送網(wǎng)、移動(dòng)通信中的蜂窩網(wǎng)絡(luò)。
有報(bào)告代理功能的IGMP窺探(snooping with proxy reporting)技術(shù)是數(shù)字用戶線(DSLDigital Subscriber Line)論壇提出的一種提高IGMP處理性能的技術(shù)。該方案是1)報(bào)告報(bào)文的抑制,如果某個(gè)組播組已經(jīng)有用戶存在,后來(lái)的用戶加入該組播組的報(bào)文將不會(huì)上報(bào)給上層路由器;2)離開(kāi)報(bào)文的抑制,只有當(dāng)組內(nèi)的最后一個(gè)成員離開(kāi)組時(shí),才將離開(kāi)報(bào)文轉(zhuǎn)發(fā)給上層路由器;3)查詢報(bào)文的抑制,特定組查詢不發(fā)給用戶,通用查詢只發(fā)給在線用戶。
上述技術(shù)是一種IGMP窺探(snooping)技術(shù),其吸收了IGMP代理(proxy)的優(yōu)點(diǎn),但是存在較大的局限性,第1)和第2)點(diǎn)所述的情況只是減少了對(duì)上層路由器的IGMP沖擊,對(duì)本設(shè)備并沒(méi)有減少處理量;第3)點(diǎn)只適用于由上層路由器做查詢器的場(chǎng)合。并且上述技術(shù)也沒(méi)有解決本設(shè)備部署IGMP代理(proxy)時(shí)的處理效率問(wèn)題。
如圖2所示,為標(biāo)準(zhǔn)IGMP協(xié)議的報(bào)告抑制示意圖。如圖所示,假設(shè)組播主機(jī)1,組播主機(jī)2,組播主機(jī)3加入同一個(gè)組播組A,組A的業(yè)務(wù)流如圖中 表示,這三個(gè)組播主機(jī)和組播路由器在一個(gè)總線式網(wǎng)絡(luò)里面,這個(gè)網(wǎng)絡(luò)的特點(diǎn)是采用對(duì)稱的廣播信道,任意一個(gè)節(jié)點(diǎn)發(fā)送一個(gè)信息都可以到達(dá)其它所有的節(jié)點(diǎn)。
1)如圖2中的[1]所示,組播路由器發(fā)出的IGMP通用查詢廣播到所有的組播主機(jī),如圖2中所示用 表示,收到這個(gè)通用查詢后,每個(gè)組播主機(jī)給每個(gè)自己的加入的組初始化一個(gè)定時(shí)器,為了簡(jiǎn)便,我們只考慮只存在一個(gè)組A的情況,這個(gè)定時(shí)器的超時(shí)時(shí)間是一個(gè)0到最大響應(yīng)時(shí)間之間的隨機(jī)值;2)如圖2中的[2]所示,假設(shè)組播主機(jī)3的定時(shí)器數(shù)值最小,先完成超時(shí),此時(shí)組播主機(jī)3發(fā)出針對(duì)組A的報(bào)告報(bào)文進(jìn)行響應(yīng),如圖中所示用 表示,這個(gè)報(bào)告報(bào)文會(huì)廣播到組播路由器、組播主機(jī)1和組播主機(jī)2;3)組播主機(jī)1、組播主機(jī)2收到這個(gè)報(bào)告報(bào)文之后,知道這個(gè)報(bào)文已經(jīng)發(fā)給組播路由器,無(wú)需自己再進(jìn)行一次報(bào)告,所以將自己的定時(shí)器刪除。這個(gè)過(guò)程就叫做報(bào)告的抑制;4)組播路由器收到這個(gè)組播主機(jī)3的報(bào)告報(bào)文后,知道組A中還有用戶,則將組A的老化定時(shí)器清0。
IGMP協(xié)議中的報(bào)告抑制主要的原理是基于組播主機(jī)和組播路由器之間相互的信道全部是廣播的;組播路由器只關(guān)心某個(gè)組是否有用戶存在,不關(guān)心有多少個(gè)用戶,也不關(guān)心是哪些用戶。
上述技術(shù)的缺陷在于,只能在對(duì)稱的廣播信道上才會(huì)具有報(bào)告抑制,當(dāng)采用非對(duì)稱廣播和點(diǎn)到點(diǎn)信道時(shí),由于組播主機(jī)發(fā)出的IGMP報(bào)告報(bào)文不能廣播到其它組播主機(jī),所以無(wú)法產(chǎn)生報(bào)告抑制的效果。
如圖3所示,為當(dāng)前非對(duì)稱廣播信道下沒(méi)有進(jìn)行報(bào)告抑制的示意圖。現(xiàn)在非對(duì)稱的廣播信道上,如果一個(gè)組播主機(jī),如組播主機(jī)1需要加入組播組A時(shí),直接向組播路由器發(fā)送IGMP加入報(bào)文32;加入了某個(gè)組播組后,其它所有的組播主機(jī)也會(huì)收到這個(gè)組播組的業(yè)務(wù)流,即組A的業(yè)務(wù)流31,如圖中由 表示;當(dāng)其它組播主機(jī)2、3也需要加入這個(gè)組播組時(shí),也會(huì)發(fā)送一個(gè)IGMP報(bào)告報(bào)文給組播路由器,而實(shí)際上組播路由器接收到這個(gè)報(bào)告報(bào)文,只是將這個(gè)組播組的老化定時(shí)器清0。因?yàn)閷?duì)于組播路由器來(lái)講,在不進(jìn)行可控組播的情況下,是不關(guān)心一個(gè)組播組下有哪些組播主機(jī)的,只需要知道這個(gè)組播組還有組播主機(jī)就可以了,在這種情況下其它組播主機(jī)發(fā)送的報(bào)告報(bào)文只是增加了組播路由器的處理負(fù)擔(dān)。
因此,在非對(duì)稱廣播信道上,對(duì)重復(fù)加入一個(gè)已經(jīng)下發(fā)的組播組的報(bào)告報(bào)文沒(méi)有進(jìn)行抑制。
上述內(nèi)容中,組播主機(jī)是指接收組播業(yè)務(wù)流的通信節(jié)點(diǎn),并不一定是一臺(tái)計(jì)算機(jī),也有可能是一個(gè)運(yùn)行IGMP代理(PROXY)的組播路由器(相對(duì)于上層路由器來(lái)講,它就是一臺(tái)組播主機(jī));組播路由器是指處理下層組播主機(jī)的IGMP協(xié)議報(bào)告報(bào)文,并承擔(dān)IGMP查詢器的設(shè)備。
發(fā)明內(nèi)容
鑒于現(xiàn)有技術(shù)中存在的非對(duì)稱信道上組播路由器處理負(fù)擔(dān)重的問(wèn)題,本發(fā)明提供一種IGMP報(bào)告抑制方法和通信網(wǎng)絡(luò)系統(tǒng),對(duì)非對(duì)稱廣播信道上的IGMP報(bào)告報(bào)文進(jìn)行抑制,從而減輕了IGMP路由器的處理負(fù)擔(dān)。
本發(fā)明提供一種互聯(lián)網(wǎng)組管理協(xié)議報(bào)告抑制方法,在非對(duì)稱廣播信道上,當(dāng)組播主機(jī)需要加入一組播組時(shí),包括步驟組播主機(jī)判斷是否對(duì)待發(fā)送的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文進(jìn)行抑制;若判斷的結(jié)果為進(jìn)行抑制,則不發(fā)送互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文。
根據(jù)該方法,還包括步驟若判斷的結(jié)果為不進(jìn)行抑制,則發(fā)送互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文。
根據(jù)該方法,所述組播主機(jī)判斷是否對(duì)待發(fā)送的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文進(jìn)行抑制,包括步驟組播主機(jī)檢查所要加入的組播組是否已存在于組播組自學(xué)習(xí)表中;若檢查的結(jié)果為存在,則該組播主機(jī)對(duì)該待發(fā)送的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文進(jìn)行抑制。
根據(jù)該方法,還包括步驟若檢查的結(jié)果為不存在,則所述組播主機(jī)對(duì)該待發(fā)送的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文不進(jìn)行抑制。
根據(jù)該方法,所述組播主機(jī)檢查所要加入的組播組是否存在于組播組自學(xué)習(xí)表中,包括步驟組播主機(jī)進(jìn)行組播組自學(xué)習(xí),以更新組播組自學(xué)習(xí)表;所述組播主機(jī)檢查所要加入的組播組是否存在于組播組自學(xué)習(xí)表中。
根據(jù)該方法,所述組播組自學(xué)習(xí)采用中央處理器窺探學(xué)習(xí)或硬件轉(zhuǎn)發(fā)芯片進(jìn)行自學(xué)習(xí)。
根據(jù)該方法,所述組播主機(jī)至少包括與組播組路由器連接的端口、中央處理器和硬件轉(zhuǎn)發(fā)芯片;采用中央處理器窺探學(xué)習(xí),包括步驟設(shè)置周期性定時(shí)器和延續(xù)時(shí)間定時(shí)器;當(dāng)所述周期性定時(shí)器超時(shí)后,觸發(fā)硬件轉(zhuǎn)發(fā)芯片將所述端口收到的報(bào)文鏡像并發(fā)送給所述中央處理器,啟動(dòng)所述延續(xù)時(shí)間定時(shí)器;中央處理器對(duì)所述報(bào)文進(jìn)行分析;當(dāng)延續(xù)時(shí)間定時(shí)器超時(shí)后,觸發(fā)硬件轉(zhuǎn)發(fā)芯片關(guān)閉鏡像。
根據(jù)該方法,所述中央處理器對(duì)報(bào)文進(jìn)行分析,包括步驟判斷發(fā)送到所述中央處理器的報(bào)文是否為組播組的業(yè)務(wù)報(bào)文,若是則檢查所述組播組是否已經(jīng)存在于組播組自學(xué)習(xí)表中;若所述組播組已經(jīng)存在于組播組自學(xué)習(xí)表中,則將所述組播組的學(xué)習(xí)老化定時(shí)器清零。
根據(jù)該方法,還包括步驟若所述組播組不存在于組播組自學(xué)習(xí)表中,則將所述組播組添加到組播組自學(xué)習(xí)表中,并啟動(dòng)所述組播組的學(xué)習(xí)老化定時(shí)器。
根據(jù)該方法,硬件轉(zhuǎn)發(fā)芯片將所述端口收到的報(bào)文鏡像并發(fā)送給所述中央處理器,包括步驟所述硬件轉(zhuǎn)發(fā)芯片抓取組播組報(bào)文;然后,將該組播組報(bào)文鏡像并發(fā)送給所述中央處理器。
根據(jù)該方法,中央處理器對(duì)所述報(bào)文進(jìn)行分析,包括步驟檢查所述組播組是否已經(jīng)存在于組播組自學(xué)習(xí)表中;若所述組播組已經(jīng)存在于組播組自學(xué)習(xí)表中,則將所述組播組的學(xué)習(xí)老化定時(shí)器清零。
根據(jù)該方法,所述組播主機(jī)至少包括與組播組路由器連接的端口、硬件轉(zhuǎn)發(fā)芯片;采用硬件轉(zhuǎn)發(fā)芯片進(jìn)行自學(xué)習(xí),包括步驟
所述組播主機(jī)將從與組播路由器連接的端口接收的報(bào)文送至硬件轉(zhuǎn)發(fā)芯片;硬件轉(zhuǎn)發(fā)芯片對(duì)每個(gè)接收到的報(bào)文進(jìn)行分析;若接收的報(bào)文是組播組業(yè)務(wù)報(bào)文,則檢查所述組播組是否已經(jīng)存在于組播組自學(xué)習(xí)表中;若所述組播組已經(jīng)存在于組播組自學(xué)習(xí)表中,則將該組播組的老化定時(shí)器清零。
根據(jù)該方法,還包括步驟若所述組播組不存在于組播組自學(xué)習(xí)表中,則將所述組播組添加到組播組自學(xué)習(xí)表中,并啟動(dòng)所述組播組的學(xué)習(xí)老化定時(shí)器。
根據(jù)該方法,所述組播主機(jī)為運(yùn)行互聯(lián)網(wǎng)組管理協(xié)議代理的組播路由器。
本發(fā)明提供一種通信網(wǎng)絡(luò)系統(tǒng),采用非對(duì)稱廣播信道,包括組播路由器,包括多個(gè)組播主機(jī),與所述組播路由器連接;所述組播主機(jī)至少包括與組播路由器連接的端口、組播組自學(xué)習(xí)單元和存儲(chǔ)器;其中,存儲(chǔ)器,與組播組自學(xué)習(xí)單元連接,用于儲(chǔ)存組播組自學(xué)習(xí)表;組播組自學(xué)習(xí)單元,接收所述端口傳送的報(bào)文,用于進(jìn)行組播組自學(xué)習(xí),更新存儲(chǔ)器中的組播組自學(xué)習(xí)表;檢查所要加入的組播組是否存在于存儲(chǔ)器中的組播組自學(xué)習(xí)表中,并根據(jù)檢查結(jié)果來(lái)確定是否對(duì)待發(fā)送的組播組互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文進(jìn)行抑制。
所述組播組自學(xué)習(xí)單元為中央處理器。
所述組播主機(jī)還包括硬件轉(zhuǎn)發(fā)芯片,與所述端口和中央處理器連接;其中,所述硬件轉(zhuǎn)發(fā)芯片,與所述中央處理器連接,將所述端口收到的報(bào)文進(jìn)行鏡像并發(fā)送給中央處理器。
所述組播主機(jī)還包括周期性定時(shí)器、延續(xù)定時(shí)器;其中,周期性定時(shí)器,用于在該周期性定時(shí)器超時(shí)時(shí)觸發(fā)所述硬件轉(zhuǎn)發(fā)芯片進(jìn)行鏡像;
延續(xù)定時(shí)器,用于在該延續(xù)定時(shí)器超時(shí)時(shí)觸發(fā)所述硬件轉(zhuǎn)發(fā)芯片停止鏡像。
所述組播主機(jī)還包括至少一個(gè)學(xué)習(xí)老化定時(shí)器,與組播組自學(xué)習(xí)表中的組播組相對(duì)應(yīng),所述中央處理器進(jìn)行組播組自學(xué)習(xí)是指對(duì)從硬件轉(zhuǎn)發(fā)芯片接收的報(bào)文進(jìn)行分析,判斷該報(bào)文是否屬于組播組的業(yè)務(wù)報(bào)文,若判斷結(jié)果為是組播組業(yè)務(wù)報(bào)文,則檢查該組播組是否已學(xué)習(xí)到;若檢查結(jié)果為已學(xué)習(xí)到,則將該組播組的學(xué)習(xí)老化定時(shí)器清零;若檢查結(jié)果為未學(xué)習(xí)到,則將該組播組添加到學(xué)習(xí)表中,并啟動(dòng)學(xué)習(xí)老化定時(shí)器。
所述組播組自學(xué)習(xí)單元為硬件轉(zhuǎn)發(fā)芯片。
所述組播主機(jī)還包括學(xué)習(xí)老化定時(shí)器,與組播組自學(xué)習(xí)表中的組播組相對(duì)應(yīng),所述硬件轉(zhuǎn)發(fā)芯片進(jìn)行組播組自學(xué)習(xí)是指對(duì)從端口接收的報(bào)文進(jìn)行分析,判斷該報(bào)文是否屬于組播組的業(yè)務(wù)報(bào)文,若判斷結(jié)果為是組播組業(yè)務(wù)報(bào)文,則檢查該組播組是否已學(xué)習(xí)到;若檢查結(jié)果為已學(xué)習(xí)到,則將該組播組的學(xué)習(xí)老化定時(shí)器清零;若檢查結(jié)果為未學(xué)習(xí)到,則將該組播組添加到學(xué)習(xí)表中,并啟動(dòng)學(xué)習(xí)老化定時(shí)器。
所述組播主機(jī)為運(yùn)行互聯(lián)網(wǎng)組管理協(xié)議代理的組播路由器。本發(fā)明提供一種組播主機(jī),用于非對(duì)稱信道,至少包括與組播路由器連接的端口、組播組自學(xué)習(xí)單元和存儲(chǔ)器;其中,存儲(chǔ)器,與組播組自學(xué)習(xí)單元連接,用于儲(chǔ)存組播組自學(xué)習(xí)表;組播組自學(xué)習(xí)單元,接收所述端口傳送的報(bào)文,用于進(jìn)行組播組自學(xué)習(xí),更新存儲(chǔ)器中的組播組自學(xué)習(xí)表;檢查所要加入的組播組是否存在于存儲(chǔ)器中的組播組自學(xué)習(xí)表中,并根據(jù)檢查結(jié)果來(lái)確定是否對(duì)待發(fā)送的組播組互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文進(jìn)行抑制。
本發(fā)明的有益效果在于減輕了IGMP邊緣路由器的處理負(fù)擔(dān),降低對(duì)邊緣IGMP路由器的性能要求;采用組播組自學(xué)習(xí)功能來(lái)探測(cè)某個(gè)組是否已經(jīng)下發(fā)本地,方便地進(jìn)行故障定位和統(tǒng)計(jì)。
圖1為非對(duì)稱廣播信道上組播轉(zhuǎn)發(fā)模型示意圖;圖2為標(biāo)準(zhǔn)IGMP協(xié)議的報(bào)告抑制示意圖;圖3為當(dāng)前非對(duì)稱廣播信道下沒(méi)有進(jìn)行IGMP報(bào)告抑制的示意圖;圖4為本發(fā)明實(shí)施例的非對(duì)稱廣播信道下IGMP報(bào)告抑制示意圖;圖5為本發(fā)明實(shí)施例的非對(duì)稱廣播信道下IGMP報(bào)告抑制流程圖;圖6為本發(fā)明實(shí)施例的組播組自學(xué)習(xí)流程圖。
具體實(shí)施例方式
本發(fā)明提供一種互聯(lián)網(wǎng)組管理協(xié)議(IGMP)報(bào)告抑制方法和通信網(wǎng)絡(luò)系統(tǒng)。
實(shí)施例一本發(fā)明提供一種互聯(lián)網(wǎng)組管理協(xié)議(IGMP)報(bào)告抑制方法。在非對(duì)稱廣播信道上,當(dāng)一組播主機(jī)需要加入一組播組時(shí),該方法包括步驟組播主機(jī)判斷是否對(duì)待發(fā)送的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文進(jìn)行抑制;若判斷的結(jié)果為進(jìn)行抑制,則不發(fā)送IGMP報(bào)告報(bào)文;若判斷的結(jié)果為不進(jìn)行抑制,則發(fā)送IGMP報(bào)告報(bào)文。
通過(guò)該方法減輕了IGMP邊緣路由器的處理負(fù)擔(dān),降低對(duì)邊緣IGMP路由器的性能要求;并且采用組播組自學(xué)習(xí)功能來(lái)探測(cè)某個(gè)組是否已經(jīng)下發(fā)本地,方便地進(jìn)行故障定位和統(tǒng)計(jì)。
以下,參照附圖對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
對(duì)于非對(duì)稱廣播信道上某個(gè)組播主機(jī)如果需要加入某個(gè)組播組,并且探測(cè)到這個(gè)組播組流已經(jīng)通過(guò)廣播信道發(fā)送到本節(jié)點(diǎn),則不再發(fā)送IGMP報(bào)告報(bào)文。
本實(shí)施例中,如圖4和圖5所示,以組播主機(jī)1需要加入組播組A為例對(duì)該方法進(jìn)行說(shuō)明。
首先,組播主機(jī)1判斷是否對(duì)待發(fā)送的IGMP報(bào)告報(bào)文進(jìn)行抑制,其中包括步驟組播主機(jī)1檢查所要加入的組播組A是否已存在于組播組自學(xué)習(xí)表中(見(jiàn)步驟501);若檢查的結(jié)果為存在,則該組播主機(jī)1對(duì)該待發(fā)送的IGMP報(bào)告報(bào)文進(jìn)行抑制(見(jiàn)步驟502);若檢查的結(jié)果為不存在,則所述組播主機(jī)1對(duì)該待發(fā)送的IGMP報(bào)告報(bào)文不進(jìn)行抑制(見(jiàn)步驟503)。
本實(shí)施例中,所述組播主機(jī)檢查所要加入的組播組A是否已存在于組播組自學(xué)習(xí)表中,包括步驟組播主機(jī)進(jìn)行組播組自學(xué)習(xí),以更新組播組自學(xué)習(xí)表;所述組播主機(jī)檢查所要加入的組播組是否存在于組播組自學(xué)習(xí)表中。
如圖4所示,假設(shè)組播路由器已經(jīng)發(fā)送組播組A的業(yè)務(wù)流到所有的組播主機(jī),如組播主機(jī)1、組播組機(jī)2和組播組機(jī)3,這有可能是因?yàn)槟硞€(gè)組播主機(jī)已經(jīng)加入組A導(dǎo)致,也有可能是組播路由器主動(dòng)將組A推送到所有的組播主機(jī)(即組播靜態(tài)轉(zhuǎn)發(fā)),此時(shí),組播主機(jī)1受某個(gè)事件驅(qū)動(dòng)需要加入組播組A,如打開(kāi)機(jī)頂盒,并且選擇了一個(gè)頻道,或者換了一個(gè)臺(tái),此時(shí)組播主機(jī)1先不上報(bào)IGMP報(bào)告報(bào)文,先檢查這個(gè)組是否已經(jīng)存在于組播組自學(xué)習(xí)表中,如果已經(jīng)學(xué)習(xí)到這個(gè)組播組,則說(shuō)明該組播組已經(jīng)被路由器下發(fā)給自己,則無(wú)需發(fā)送IGMP報(bào)告報(bào)文通知組播路由器進(jìn)行轉(zhuǎn)發(fā)。
上述組播靜態(tài)轉(zhuǎn)發(fā)是指不管組播主機(jī)是否加入了某個(gè)組播組,組播路由器固定將這個(gè)組轉(zhuǎn)發(fā)給組播主機(jī)。
上述組播組自學(xué)習(xí)是指不通過(guò)協(xié)議,而是通過(guò)統(tǒng)計(jì)或者窺探的手段學(xué)習(xí)已經(jīng)發(fā)送給本節(jié)點(diǎn)的所有組播組。自學(xué)習(xí)的技術(shù)較多,本實(shí)施例中僅僅以中央處理器(CPU)窺探學(xué)習(xí)和硬件轉(zhuǎn)發(fā)芯片進(jìn)行自學(xué)習(xí)為例對(duì)本發(fā)明的方法進(jìn)行詳細(xì)說(shuō)明。
參照附圖6對(duì)采用CPU窺探學(xué)習(xí)來(lái)檢查所要加入的組播組A是否已存在于組播組自學(xué)習(xí)表進(jìn)行詳細(xì)說(shuō)明。
CPU窺探學(xué)習(xí)是指組播主機(jī)定期將與組播路由器連接的端口上收到的全部或者部分報(bào)文鏡像(復(fù)制,Copy)并發(fā)送給該組播主機(jī)的中央處理器CPU,通過(guò)軟件對(duì)這些報(bào)文進(jìn)行分析,學(xué)習(xí)未知的組播組。
需設(shè)置周期性定時(shí)器,延續(xù)時(shí)間定時(shí)器、學(xué)習(xí)老化定時(shí)器;周期性定時(shí)器是對(duì)進(jìn)入中央處理器CPU的采樣進(jìn)行打開(kāi)關(guān)閉,目的在于防止大量報(bào)文沖擊中央處理器CPU;延續(xù)時(shí)間定時(shí)器是為了控制閥門延續(xù)打開(kāi)的時(shí)間;老化定時(shí)器是為了保證學(xué)習(xí)表項(xiàng)具有實(shí)時(shí)性,防止不再下發(fā)的組長(zhǎng)期占用學(xué)習(xí)表項(xiàng)。
以下參照附圖6對(duì)上述方法進(jìn)行詳細(xì)說(shuō)明。
如圖6所示,[1]設(shè)置周期性定時(shí)器對(duì)進(jìn)入CPU的采樣進(jìn)行打開(kāi)關(guān)閉,目的在于防止大量報(bào)文沖擊中央處理器CPU,不能將端口上收到的報(bào)文一直鏡像給CPU;[2]當(dāng)周期性定時(shí)器超時(shí)后,觸發(fā)硬件轉(zhuǎn)發(fā)芯片將所述端口收到的報(bào)文鏡像并發(fā)送給中央處理器CPU,并啟動(dòng)延續(xù)時(shí)間定時(shí)器;[3]中央處理器CPU對(duì)抓取到的報(bào)文進(jìn)行分析,判斷發(fā)送到所述中央處理器的報(bào)文是否為組播組的業(yè)務(wù)報(bào)文,若是則檢查所述組播組是否已經(jīng)存在于組播組自學(xué)習(xí)表中;若所述組播組已經(jīng)存在于組播組自學(xué)習(xí)表中,則將所述組播組的學(xué)習(xí)老化定時(shí)器清零;若所述組播組不存在于組播組自學(xué)習(xí)表中,則將所述組播組添加到組播組自學(xué)習(xí)表中,并啟動(dòng)所述組播組的學(xué)習(xí)老化定時(shí)器;另外,在步驟[2]中,如果硬件轉(zhuǎn)發(fā)芯片具有流分類能力的話,可以只抓取組播組報(bào)文,則中央處理器可直接檢查所述組播組是否已經(jīng)存在于組播組自學(xué)習(xí)表中。
閥門延續(xù)時(shí)間定時(shí)器是為了控制閥門延續(xù)打開(kāi)的時(shí)間;[5]閥門延續(xù)時(shí)間定時(shí)器超時(shí)后,觸發(fā)硬件轉(zhuǎn)發(fā)芯片關(guān)閉鏡像;[6]為了保證學(xué)習(xí)表項(xiàng)具有實(shí)時(shí)性,學(xué)習(xí)到的組播組必須有老化定時(shí)器; 如果長(zhǎng)時(shí)期內(nèi)(即老化定時(shí)器超時(shí))CPU沒(méi)有再次接收到該組播組,則認(rèn)為這個(gè)組播組已經(jīng)刪除,則刪除自學(xué)習(xí)表項(xiàng)。
另外,當(dāng)采用硬件轉(zhuǎn)發(fā)芯片進(jìn)行自學(xué)習(xí)時(shí),檢查所要加入的組播組A是否已存在于組播組自學(xué)習(xí)表進(jìn)行詳細(xì)說(shuō)明。
硬件轉(zhuǎn)發(fā)芯片可使用可編程的硬件器件,如現(xiàn)場(chǎng)可編程門陣列芯片(FPGAField Programmable Gate Array)、網(wǎng)絡(luò)處理器(NPNetwork Processor)實(shí)現(xiàn)組播組的自學(xué)習(xí)非常方便。
所述組播主機(jī)將從與組播路由器連接的端口接收的報(bào)文送至硬件轉(zhuǎn)發(fā)芯片;組播主機(jī)的硬件轉(zhuǎn)發(fā)芯片分析每個(gè)進(jìn)入報(bào)文,檢查如果是組播組的業(yè)務(wù)報(bào)文時(shí),刷新自學(xué)習(xí)表;若接收的報(bào)文是組播組業(yè)務(wù)報(bào)文,則檢查所述組播組是否已經(jīng)存在于組播組自學(xué)習(xí)表中;若所述組播組已經(jīng)存在于組播組自學(xué)習(xí)表中,則將該組播組的老化定時(shí)器清零;若所述組播組不存在于組播組自學(xué)習(xí)表中,則將所述組播組添加到組播組自學(xué)習(xí)表中,并啟動(dòng)所述組播組的學(xué)習(xí)老化定時(shí)器。
實(shí)施例二本發(fā)明提供一種通信網(wǎng)絡(luò)系統(tǒng),采用非對(duì)稱廣播信道,包括組播路由器,還包括多個(gè)組播主機(jī),與所述組播路由器連接;所述組播主機(jī)至少包括與組播路由器連接的端口、組播組自學(xué)習(xí)單元和存儲(chǔ)器;其中,存儲(chǔ)器,與組播組自學(xué)習(xí)單元連接,用于儲(chǔ)存組播組自學(xué)習(xí)表;組播組自學(xué)習(xí)單元,用于接收所述端口傳送的報(bào)文,進(jìn)行組播組自學(xué)習(xí),更新存儲(chǔ)器中的組播組自學(xué)習(xí)表;檢查所要加入的組播組是否存在于存儲(chǔ)器中的組播組自學(xué)習(xí)表中,并根據(jù)檢查結(jié)果來(lái)確定是否對(duì)待發(fā)送的組播組互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文進(jìn)行抑制。
其中,所述組播組自學(xué)習(xí)單元可以為組播主機(jī)的中央處理器或硬件轉(zhuǎn)發(fā)芯片。
當(dāng)組播組自學(xué)習(xí)單元為中央處理器時(shí),所述組播主機(jī)還包括硬件轉(zhuǎn)發(fā)芯片;其中,存儲(chǔ)器,與所述中央處理器連接,用于儲(chǔ)存組播組自學(xué)習(xí)表;硬件轉(zhuǎn)發(fā)芯片,與中央處理器連接,將所述端口收到的報(bào)文進(jìn)行鏡像并發(fā)送給中央處理器;中央處理器,用于接收所述硬件轉(zhuǎn)發(fā)芯片發(fā)送的報(bào)文,進(jìn)行組播組自學(xué)習(xí);檢查所要加入的組播組是否存在于組播組自學(xué)習(xí)表中。
此時(shí),所述組播主機(jī)還包括周期性定時(shí)器、延續(xù)定時(shí)器;其中,周期性定時(shí)器,用于在該周期性定時(shí)器超時(shí)時(shí)觸發(fā)所述硬件轉(zhuǎn)發(fā)芯片進(jìn)行鏡像;延續(xù)定時(shí)器,用于在該延續(xù)定時(shí)器超時(shí)時(shí)觸發(fā)所述硬件轉(zhuǎn)發(fā)芯片停止鏡像。
另外,所述組播主機(jī)還包括學(xué)習(xí)老化定時(shí)器,與組播組自學(xué)習(xí)表中的組播組相對(duì)應(yīng);當(dāng)采用所述中央處理器進(jìn)行組播組自學(xué)習(xí)時(shí),可采用實(shí)施例一中的相應(yīng)方法來(lái)進(jìn)行,此處不再贅述。
當(dāng)所述組播組自學(xué)習(xí)單元為硬件轉(zhuǎn)發(fā)芯片時(shí),所述組播主機(jī)還包括至少一個(gè)學(xué)習(xí)老化定時(shí)器,與組播組自學(xué)習(xí)表中的組播組相對(duì)應(yīng);當(dāng)采用所述硬件轉(zhuǎn)發(fā)芯片進(jìn)行組播組自學(xué)習(xí)時(shí),可采用實(shí)施例一中的相應(yīng)的方法來(lái)進(jìn)行,此處不再贅述。
當(dāng)然,上述自學(xué)習(xí)技術(shù)不僅僅限于上述兩種,還可采用其他自學(xué)習(xí)技術(shù)。
由上述實(shí)施例可知,通過(guò)本發(fā)明的報(bào)告抑制方法,減輕IGMP邊緣路由器的處理負(fù)擔(dān),降低對(duì)邊緣IGMP路由器的性能要求。并且采用組播組自學(xué)習(xí)功能來(lái)探測(cè)某個(gè)組是否已經(jīng)下發(fā)本地,可以方便地進(jìn)行故障定位和統(tǒng)計(jì)。
上述實(shí)施例僅用于說(shuō)明本發(fā)明,而非用于限定本發(fā)明。
權(quán)利要求
1.一種互聯(lián)網(wǎng)組管理協(xié)議報(bào)告抑制方法,其特征在于,在非對(duì)稱廣播信道上,當(dāng)組播主機(jī)需要加入一組播組時(shí),包括步驟組播主機(jī)判斷是否對(duì)待發(fā)送的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文進(jìn)行抑制;若判斷的結(jié)果為進(jìn)行抑制,則不發(fā)送互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文。
2.根據(jù)權(quán)利要求1所述的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告抑制方法,其特征在于,還包括步驟若判斷的結(jié)果為不進(jìn)行抑制,則發(fā)送互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文。
3.根據(jù)權(quán)利要求1所述的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告抑制方法,其特征在于,所述組播主機(jī)判斷是否對(duì)待發(fā)送的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文進(jìn)行抑制,包括步驟組播主機(jī)檢查所要加入的組播組是否已存在于組播組自學(xué)習(xí)表中;若檢查的結(jié)果為存在,則該組播主機(jī)對(duì)該待發(fā)送的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文進(jìn)行抑制。
4.根據(jù)權(quán)利要求3所述的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告抑制方法,其特征在于,還包括步驟若檢查的結(jié)果為不存在,則所述組播主機(jī)對(duì)該待發(fā)送的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文不進(jìn)行抑制。
5.根據(jù)權(quán)利要求3所述的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告抑制方法,其特征在于,所述組播主機(jī)檢查所要加入的組播組是否存在于組播組自學(xué)習(xí)表中,包括步驟組播主機(jī)進(jìn)行組播組自學(xué)習(xí),以更新組播組自學(xué)習(xí)表;所述組播主機(jī)檢查所要加入的組播組是否存在于組播組自學(xué)習(xí)表中。
6.根據(jù)權(quán)利要求5所述的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告抑制方法,其特征在于,所述組播組自學(xué)習(xí)采用中央處理器窺探學(xué)習(xí)或硬件轉(zhuǎn)發(fā)芯片進(jìn)行自學(xué)習(xí)。
7.根據(jù)權(quán)利要求6所述的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告抑制方法,其特征在于,所述組播主機(jī)至少包括與組播組路由器連接的端口、中央處理器和硬件轉(zhuǎn)發(fā)芯片;采用中央處理器窺探學(xué)習(xí),包括步驟設(shè)置周期性定時(shí)器和延續(xù)時(shí)間定時(shí)器;當(dāng)所述周期性定時(shí)器超時(shí)后,觸發(fā)硬件轉(zhuǎn)發(fā)芯片將所述端口收到的報(bào)文鏡像并發(fā)送給所述中央處理器,啟動(dòng)所述延續(xù)時(shí)間定時(shí)器;中央處理器對(duì)所述報(bào)文進(jìn)行分析;當(dāng)延續(xù)時(shí)間定時(shí)器超時(shí)后,觸發(fā)硬件轉(zhuǎn)發(fā)芯片關(guān)閉鏡像。
8.根據(jù)權(quán)利要求7所述的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告抑制方法,其特征在于,所述中央處理器對(duì)報(bào)文進(jìn)行分析,包括步驟判斷發(fā)送到所述中央處理器的報(bào)文是否為組播組的業(yè)務(wù)報(bào)文,若是則檢查所述組播組是否已經(jīng)存在于組播組自學(xué)習(xí)表中;若所述組播組已經(jīng)存在于組播組自學(xué)習(xí)表中,則將所述組播組的學(xué)習(xí)老化定時(shí)器清零。
9.根據(jù)權(quán)利要求8所述的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告抑制方法,其特征在于,還包括步驟若所述組播組不存在于組播組自學(xué)習(xí)表中,則將所述組播組添加到組播組自學(xué)習(xí)表中,并啟動(dòng)所述組播組的學(xué)習(xí)老化定時(shí)器。
10.根據(jù)權(quán)利要求7所述的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告抑制方法,其特征在于,硬件轉(zhuǎn)發(fā)芯片將所述端口收到的報(bào)文鏡像并發(fā)送給所述中央處理器,包括步驟所述硬件轉(zhuǎn)發(fā)芯片抓取組播組報(bào)文;然后,將該組播組報(bào)文鏡像并發(fā)送給所述中央處理器。
11.根據(jù)權(quán)利要求10所述的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告抑制方法,其特征在于,中央處理器對(duì)所述報(bào)文進(jìn)行分析,包括步驟檢查所述組播組是否已經(jīng)存在于組播組自學(xué)習(xí)表中;若所述組播組已經(jīng)存在于組播組自學(xué)習(xí)表中,則將所述組播組的學(xué)習(xí)老化定時(shí)器清零。
12.根據(jù)權(quán)利要求6所述的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告抑制方法,其特征在于,所述組播主機(jī)至少包括與組播組路由器連接的端口、硬件轉(zhuǎn)發(fā)芯片;采用硬件轉(zhuǎn)發(fā)芯片進(jìn)行自學(xué)習(xí),包括步驟所述組播主機(jī)將從與組播路由器連接的端口接收的報(bào)文送至硬件轉(zhuǎn)發(fā)芯片;硬件轉(zhuǎn)發(fā)芯片對(duì)每個(gè)接收到的報(bào)文進(jìn)行分析;若接收的報(bào)文是組播組業(yè)務(wù)報(bào)文,則檢查所述組播組是否已經(jīng)存在于組播組自學(xué)習(xí)表中;若所述組播組已經(jīng)存在于組播組自學(xué)習(xí)表中,則將該組播組的老化定時(shí)器清零。
13.根據(jù)權(quán)利要求12所述的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告抑制方法,其特征在于,還包括步驟若所述組播組不存在于組播組自學(xué)習(xí)表中,則將所述組播組添加到組播組自學(xué)習(xí)表中,并啟動(dòng)所述組播組的學(xué)習(xí)老化定時(shí)器。
14.一種通信網(wǎng)絡(luò)系統(tǒng),采用非對(duì)稱廣播信道,包括組播路由器,其特征在于,還包括多個(gè)組播主機(jī),與所述組播路由器連接;所述組播主機(jī)至少包括與組播路由器連接的端口、組播組自學(xué)習(xí)單元和存儲(chǔ)器;其中,存儲(chǔ)器,與組播組自學(xué)習(xí)單元連接,用于儲(chǔ)存組播組自學(xué)習(xí)表;組播組自學(xué)習(xí)單元,用于接收所述端口傳送的報(bào)文,進(jìn)行組播組自學(xué)習(xí),更新存儲(chǔ)器中的組播組自學(xué)習(xí)表;檢查所要加入的組播組是否存在于存儲(chǔ)器中的組播組自學(xué)習(xí)表中,并根據(jù)檢查結(jié)果來(lái)確定是否對(duì)待發(fā)送的組播組互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文進(jìn)行抑制。
15.根據(jù)權(quán)利要求14所述的通信網(wǎng)絡(luò)系統(tǒng),其特征在于,所述組播組自學(xué)習(xí)單元為中央處理器。
16.根據(jù)權(quán)利要求15所述的通信網(wǎng)絡(luò)系統(tǒng),其特征在于,所述組播主機(jī)還包括硬件轉(zhuǎn)發(fā)芯片,與所述端口和中央處理器連接;其中,所述硬件轉(zhuǎn)發(fā)芯片,與所述中央處理器連接,將所述端口收到的報(bào)文進(jìn)行鏡像并發(fā)送給中央處理器。
17.根據(jù)權(quán)利要求16所述的通信網(wǎng)絡(luò)系統(tǒng),其特征在于,所述組播主機(jī)還包括周期性定時(shí)器、延續(xù)定時(shí)器;其中,周期性定時(shí)器,用于在該周期性定時(shí)器超時(shí)時(shí)觸發(fā)所述硬件轉(zhuǎn)發(fā)芯片進(jìn)行鏡像;延續(xù)定時(shí)器,用于在該延續(xù)定時(shí)器超時(shí)時(shí)觸發(fā)所述硬件轉(zhuǎn)發(fā)芯片停止鏡像。
18.根據(jù)權(quán)利要求16所述的通信網(wǎng)絡(luò)系統(tǒng),其特征在于,所述組播主機(jī)還包括至少一個(gè)學(xué)習(xí)老化定時(shí)器,與組播組自學(xué)習(xí)表中的組播組相對(duì)應(yīng),所述中央處理器進(jìn)行組播組自學(xué)習(xí)是指對(duì)從硬件轉(zhuǎn)發(fā)芯片接收的報(bào)文進(jìn)行分析,判斷該報(bào)文是否屬于組播組的業(yè)務(wù)報(bào)文,若判斷結(jié)果為是組播組業(yè)務(wù)報(bào)文,則檢查該組播組是否已學(xué)習(xí)到;若檢查結(jié)果為已學(xué)習(xí)到,則將該組播組的學(xué)習(xí)老化定時(shí)器清零;若檢查結(jié)果為未學(xué)習(xí)到,則將該組播組添加到學(xué)習(xí)表中,并啟動(dòng)學(xué)習(xí)老化定時(shí)器。
19.根據(jù)權(quán)利要求14所述的通信網(wǎng)絡(luò)系統(tǒng),其特征在于,所述組播組自學(xué)習(xí)單元為硬件轉(zhuǎn)發(fā)芯片。
20.根據(jù)權(quán)利要求19所述的通信網(wǎng)絡(luò)系統(tǒng),其特征在于,所述組播主機(jī)還包括學(xué)習(xí)老化定時(shí)器,與組播組自學(xué)習(xí)表中的組播組相對(duì)應(yīng),所述硬件轉(zhuǎn)發(fā)芯片進(jìn)行組播組自學(xué)習(xí)是指對(duì)從端口接收的報(bào)文進(jìn)行分析,判斷該報(bào)文是否屬于組播組的業(yè)務(wù)報(bào)文,若判斷結(jié)果為是組播組業(yè)務(wù)報(bào)文,則檢查該組播組是否已學(xué)習(xí)到;若檢查結(jié)果為已學(xué)習(xí)到,則將該組播組的學(xué)習(xí)老化定時(shí)器清零;若檢查結(jié)果為未學(xué)習(xí)到,則將該組播組添加到學(xué)習(xí)表中,并啟動(dòng)學(xué)習(xí)老化定時(shí)器。
21.根據(jù)權(quán)利要求1或14所述的通信網(wǎng)絡(luò)系統(tǒng),其特征在于,所述組播主機(jī)為運(yùn)行互聯(lián)網(wǎng)組管理協(xié)議代理的組播路由器。
22.一種組播主機(jī),用于非對(duì)稱信道,其特征在于,至少包括與組播路由器連接的端口、組播組自學(xué)習(xí)單元和存儲(chǔ)器;其中,存儲(chǔ)器,與組播組自學(xué)習(xí)單元連接,用于儲(chǔ)存組播組自學(xué)習(xí)表;組播組自學(xué)習(xí)單元,用于接收所述端口傳送的報(bào)文,進(jìn)行組播組自學(xué)習(xí),更新存儲(chǔ)器中的組播組自學(xué)習(xí)表;檢查所要加入的組播組是否存在于存儲(chǔ)器中的組播組自學(xué)習(xí)表中,并根據(jù)檢查結(jié)果來(lái)確定是否對(duì)待發(fā)送的組播組互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文進(jìn)行抑制。
全文摘要
本發(fā)明提供一種互聯(lián)網(wǎng)組管理協(xié)議報(bào)告抑制方法和通信網(wǎng)絡(luò)系統(tǒng)。在非對(duì)稱廣播信道上,當(dāng)組播主機(jī)需要加入一組播組時(shí),該方法包括步驟組播主機(jī)判斷是否對(duì)待發(fā)送的互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文進(jìn)行抑制;若判斷的結(jié)果為進(jìn)行抑制,則不發(fā)送互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文。若判斷的結(jié)果為不進(jìn)行抑制,則發(fā)送互聯(lián)網(wǎng)組管理協(xié)議報(bào)告報(bào)文。通過(guò)本發(fā)明,減輕了IGMP邊緣路由器的處理負(fù)擔(dān),降低對(duì)邊緣IGMP路由器的性能要求;采用組播組自學(xué)習(xí)功能來(lái)探測(cè)某個(gè)組是否已經(jīng)下發(fā)本地,方便地進(jìn)行故障定位和統(tǒng)計(jì)。
文檔編號(hào)H04L29/06GK1925413SQ20061015991
公開(kāi)日2007年3月7日 申請(qǐng)日期2006年9月27日 優(yōu)先權(quán)日2006年9月27日
發(fā)明者秦佩峰, 羅勇 申請(qǐng)人:華為技術(shù)有限公司