專利名稱:一種組播監(jiān)聽發(fā)現(xiàn)協(xié)議的報文處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種IPv6 (互聯(lián)網(wǎng)協(xié)議版本6)網(wǎng)絡(luò)中組播監(jiān)聽發(fā)現(xiàn)協(xié)議的 才艮文處理方法。
背景技術(shù):
目前,在IPv6網(wǎng)絡(luò)中提供了標準的組播監(jiān)聽發(fā)現(xiàn)(Multicast Listener Discovery,筒稱MLD )協(xié)議。MLD是一個非對稱的協(xié)議,IPv6組播成員(主 機)和IPv6組播路由器的協(xié)議行為是不同的。該協(xié)議的目的是使IPv6組播 路由器采用MLD協(xié)議來發(fā)現(xiàn)與其直連的IPv6組播監(jiān)聽者(即接入節(jié)點設(shè)備、 或稱接入?yún)R聚設(shè)備)的出現(xiàn),并進行組成員關(guān)系的收集和維護,將收集的組 成員信息提供給IPv6組播路由器,使組播包傳送到存在IPv6監(jiān)聽者的所有 鏈路上。
MLD協(xié)議報文的地址使用IPv6地址,封裝在ICMP (Internet Control Message Protocol,互聯(lián)網(wǎng)控制消息協(xié)議)報文中。目前具備MLD協(xié)議功能 的接入節(jié)點i殳備,包括DSLAM (Digital Subscriber Line Access Multiplex, 數(shù)字用戶線接入復用器)、OLT (Optical Line Terminal,光線路終端)和以 太網(wǎng)交換機,都實現(xiàn)了 MLD協(xié)議的偵聽功能。MLD偵聽功能通過在以太 網(wǎng)橋上偵聽IPv6組播路由器或IPv6組播成員發(fā)出的MLD消息,達到優(yōu)化 組播流在二層網(wǎng)絡(luò)上的分發(fā)功能。
MLD偵聽功能具體可包括通過在以太網(wǎng)橋偵聽MLD消息來判定IPv6
組播路由器和IPv6組播成員(主機)的以太網(wǎng)橋端口位置;建立基于端口
和VLAN的組播轉(zhuǎn)發(fā)表;在非路由器端口 (即用戶側(cè)端口 )維護基本MLD
成員關(guān)系狀態(tài)。實際上現(xiàn)有技術(shù)中的這種MLD偵聽功能是一種透明功能,
即接入節(jié)點設(shè)備在執(zhí)行MLD偵聽功能時不產(chǎn)生、不截獲、不改變MLD消 臺
上述MLD透明偵聽方式存在許多明顯的缺點,例如接入節(jié)點設(shè)備對 于用戶側(cè)(組播成員)發(fā)送上來的每一個Report/Listener Done (報告/監(jiān)聽 者完成)報文,都要向上轉(zhuǎn)發(fā)給組播路由器;因此,存在著惡意用戶大量復 制Report報文對系統(tǒng)進行攻擊的安全隱患;同時,大量不必要的Report / Listener Done報文也增加了 MLD組播路由器和接入節(jié)點設(shè)備系統(tǒng)的處理負 荷。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是,克服現(xiàn)有技術(shù)的不足,提出一種在IPv6 網(wǎng)絡(luò)中提高MLD協(xié)議處理效率、增強系統(tǒng)安全性的MLD協(xié)議的報文處理 方法。
為了解決上述問題,本發(fā)明提供一種組播監(jiān)聽發(fā)現(xiàn)協(xié)議的報文處理方 法,其特征在于,接收到組播組路由器發(fā)送的Query報文后,接入節(jié)點設(shè)備 將該報文轉(zhuǎn)發(fā)給與其相連的組播組成員;并在截獲的同一組播組的成員發(fā)送 的對所述Query報文進行應答的Report報文中任選一個轉(zhuǎn)發(fā)給所述組l番組 路由器。
此外,所述接入節(jié)點設(shè)備在截獲到所述組播組成員發(fā)送的Listener Done 報文時,對該報文所屬組播組的當前成員數(shù)量進行判斷,僅將該組播組中最 后一個成員發(fā)送的Listener Done才艮文轉(zhuǎn)發(fā)給所述組播組路由器。
此外,所述接入節(jié)點設(shè)備在同一組播組的成員發(fā)送的對所述Query報文 進行應答的Report報文中任選一個轉(zhuǎn)發(fā)給所述組播組路由器后,將該組播 組的成員發(fā)送的對所述Query報文進行應答的其它Report報文丟棄。
此外,所述接入節(jié)點設(shè)備將截獲的同 一組播組的成員發(fā)送的對所述 Query報文進行應答的第一個Report報文轉(zhuǎn)發(fā)給所述組播組路由器,其余 的丟棄。
此外,將不是組播組的最后一個成員發(fā)送的ListenerDone報文丟棄,并 將發(fā)送該Listener Done l艮文的成員從所屬組播組成員列表中刪除。
此外,將組播組中最后一個成員發(fā)送的Listener Done報文轉(zhuǎn)發(fā)給所迷組 播組路由器后,刪除該組播組。
此外,所述接入節(jié)點設(shè)備為數(shù)字用戶線接入復用器或光線路終端或以太 網(wǎng)交換才幾。
此外,所述接入節(jié)點設(shè)備根據(jù)MLD報文中的組播組地址判斷發(fā)送該報 文的成員所屬的組4番組。
本發(fā)明還提供一種組播監(jiān)聽發(fā)現(xiàn)協(xié)議的報文處理方法,其特征在于,接 入節(jié)點設(shè)備在截獲組播組成員發(fā)送的Listener Done報文時,對該報文所屬 組播組的當前成員數(shù)量進行判斷,僅將該組播組中最后一個成員發(fā)送的 Listener Done才艮文轉(zhuǎn)發(fā)給所述組4番組路由器。
此外,將不是組播組的最后一個成員發(fā)送的ListenerDone報文丟棄,并 將發(fā)送該Listener Done報文的成員從所屬組播組成員列表中刪除。
綜上所述,采用本發(fā)明的組播監(jiān)聽發(fā)現(xiàn)協(xié)議的報文處理方法,提高了 MLD協(xié)議的處理效率,減少了消息上傳的次數(shù),節(jié)省了網(wǎng)絡(luò)帶寬;同時可 防范惡意用戶利用Report/Listener Done報文對接入節(jié)點設(shè)備和組播組路由 器的攻擊,增強了系統(tǒng)的安全性。本發(fā)明的方法適用于IPV6網(wǎng)絡(luò)中應用組 播偵聽發(fā)現(xiàn)協(xié)議的所有場合。
圖1是支持MLD協(xié)議的IPv6組播網(wǎng)絡(luò)的結(jié)構(gòu)示意圖2是本發(fā)明實施例組播監(jiān)聽發(fā)現(xiàn)協(xié)議的報文處理方法的Report報文 處理流程圖3是本發(fā)明實施例組播監(jiān)聽發(fā)現(xiàn)協(xié)議的報文處理方法的Listener Done 報文處理流程圖。
具體實施例方式
本發(fā)明的基本思路是,在接入節(jié)點設(shè)備(以太網(wǎng)交換機,或DSLAM) 中,僅將同一組4番組中對于一個Query (查詢)才艮文的進行應答的Report 報文轉(zhuǎn)發(fā)給組播路由器;并且僅將組播組中最后一個成員發(fā)送的Listener Done報文轉(zhuǎn)發(fā)給組播路由器。
下面將結(jié)合附圖和實施例對本發(fā)明進行詳細描述。
圖l是支持MLD協(xié)議的IPv6組播網(wǎng)絡(luò)的結(jié)構(gòu)示意圖。如圖l所示,IPv6 組播網(wǎng)絡(luò)中包含MLD組播路由器,接入節(jié)點設(shè)備,和多個MLD主機(組 播成員)。其中,MLD組播路由器,接入節(jié)點設(shè)備,和多個MLD主機都支 持MLD協(xié)議。
MLD組播路由器用于通過接入節(jié)點設(shè)備向MLD主機發(fā)送組播報文,并 向MLD主機發(fā)送Query報文。
MLD主機用于通過接入節(jié)點設(shè)備接收MLD組播路由器發(fā)送的組播報 文和Query等MLD協(xié)議才艮文,并向接入節(jié)點設(shè)備發(fā)送Report、 Listener Done 等MLD協(xié)議報文。
接入節(jié)點設(shè)備用于創(chuàng)建和維護組播組,并用于偵聽并在MLD組播路由 器和MLD主機間轉(zhuǎn)發(fā)MLD協(xié)i義報文。
圖2是本發(fā)明實施例組播監(jiān)聽發(fā)現(xiàn)協(xié)議的報文處理方法的Report報文 處理流程圖。如圖2所示,該方法包含如下步驟
101: MLD組播路由器向接入節(jié)點設(shè)備發(fā)送MLD協(xié)議的Query報文;
102:接入節(jié)點設(shè)備將Query報文轉(zhuǎn)發(fā)給與其相連的MLD主機;
103: MLD主機接收到Query報文后發(fā)送MLD Report報文,對上述 Query報文進行應答;
MLD Report報文中包含該MLD主機所屬的組播組(也可以稱為該報文 所屬的組纟番組)的地址。
104:接入節(jié)點設(shè)備截獲用戶側(cè)MLD主機發(fā)送的MLD Report報文后,查詢該才艮文所屬的組纟番組(即發(fā)送該才艮文的MLD主才;u所屬的組纟番組)。
接入節(jié)點設(shè)備可通過Report報文中包含的組播組地址查詢該報文所屬 的組播組。
105:根據(jù)報文所屬的組播組對該Report報文進行判斷若該Report報 文為對應組播組中對于上述Query報文進行應答的第一個Report報文,則 執(zhí)行步驟107;否則,執(zhí)行步驟106。
106:丟棄該Report報文,本方法結(jié)束。
107:記錄該Report才艮文。
108:將該Report凈艮文轉(zhuǎn)發(fā)至MLD組播路由器。
圖3是本發(fā)明實施例組播監(jiān)聽發(fā)現(xiàn)協(xié)議的4艮文處理方法的Listener Done "^艮文處理流程圖。如圖3所示,該方法包含如下步驟
201: MLD主機發(fā)送Listener Done才艮文;
202:截獲到Listener Done報文后,接入節(jié)點設(shè)備查詢該報文所屬的組 播組;
接入節(jié)點設(shè)備可通過Listener Done報文中包含的組播組地址查詢該報 文所屬的組纟番組。
203:根據(jù)報文所屬的組播組,對該Listener Done報文進行判斷若該 報文為所屬組播組中的最后一個成員發(fā)送的Listener Done報文,則執(zhí)行步 驟205;否則執(zhí)行步驟204。
接入節(jié)點設(shè)備根據(jù)保存的所有組播組的成員列表或成員數(shù)量判斷接收 到的Listener Done報文是否為所述組播組中的最后一個成員發(fā)送的Listener Done凈艮文。
204:將該成員從對應組播組的成員列表中刪除,本方法結(jié)束。
205:將該Listener Done報文轉(zhuǎn)發(fā)給MLD組播路由器,并刪除對應的
組播組。
以上對本發(fā)明的實施例進行了介紹?;诒景l(fā)明的基本原理,對上述實
施例可以進行多種變換,例如
在上述步驟105中,將接入節(jié)點設(shè)備接收到的同一組播組的第一個 Report報文轉(zhuǎn)發(fā)給MLD組播路由器,實際應用中,接入節(jié)點設(shè)備在同一時 間段會接收到同一組播組對一個Query報文進行應答的多個Report報文, 接入節(jié)點設(shè)備可從中任選一個轉(zhuǎn)發(fā)給MLD組播路由器。
權(quán)利要求
1、一種組播監(jiān)聽發(fā)現(xiàn)協(xié)議的報文處理方法,其特征在于,接收到組播組路由器發(fā)送的Query報文后,接入節(jié)點設(shè)備將該報文轉(zhuǎn)發(fā)給與其相連的組播組成員;并在截獲的同一組播組的成員發(fā)送的對所述Query報文進行應答的Report報文中任選一個轉(zhuǎn)發(fā)給所述組播組路由器。
2、 如權(quán)利要求1所述的組播監(jiān)聽發(fā)現(xiàn)協(xié)議的報文處理方法,其特征在 于,所述接入節(jié)點設(shè)備在截獲到所述組播組成員發(fā)送的Listener Done報文 時,對該報文所屬組播組的當前成員數(shù)量進行判斷,僅將該組播組中最后一 個成員發(fā)送的Listener Done報文轉(zhuǎn)發(fā)給所述組播組路由器。
3、 如權(quán)利要求1所述的組播監(jiān)聽發(fā)現(xiàn)協(xié)議的報文處理方法,其特征在 于,所述接入節(jié)點設(shè)備在同一組播組的成員發(fā)送的對所述Query報文進行應 答的Report報文中任選一個轉(zhuǎn)發(fā)給所述組播組路由器后,將該組播組的成 員發(fā)送的對所述Query報文進行應答的其它Report報文丟棄。
4、 如權(quán)利要求1所述的組播監(jiān)聽發(fā)現(xiàn)協(xié)議的報文處理方法,其特征在 于,所述接入節(jié)點設(shè)備將截獲的同一組播組的成員發(fā)送的對所述Query報文 進行應答的第一個Report報文轉(zhuǎn)發(fā)給所述組播組路由器,其余的丟棄。
5、 如權(quán)利要求2所述的組播監(jiān)聽發(fā)現(xiàn)協(xié)議的報文處理方法,其特征在 于,將不是組播組的最后一個成員發(fā)送的Listener Done報文丟棄,并將發(fā) 送該Listener Done報文的成員從所屬組^番組成員列表中刪除。
6、 如權(quán)利要求2所述的組播監(jiān)聽發(fā)現(xiàn)協(xié)議的報文處理方法,其特征在 于,將組播組中最后一個成員發(fā)送的Listener Done報文轉(zhuǎn)發(fā)給所述組播組 路由器后,刪除該組播組。
7、 如權(quán)利要求l、 2所述的組播監(jiān)聽發(fā)現(xiàn)協(xié)議的報文處理方法,其特征 在于,所述接入節(jié)點設(shè)備為數(shù)字用戶線接入復用器或光線路終端或以太網(wǎng)交 換機。
8、 如權(quán)利要求1、 2所述的組播監(jiān)聽發(fā)現(xiàn)協(xié)議的報文處理方法,其特征 在于,所述接入節(jié)點設(shè)備根據(jù)MLD報文中的組播組地址判斷發(fā)送該報文的 成員所屬的組播組。
9、 一種組播監(jiān)聽發(fā)現(xiàn)協(xié)議的報文處理方法,其特征在于,接入節(jié)點設(shè) 備在截獲組纟番組成員發(fā)送的Listener Done報文時,對該才艮文所屬組l番組的 當前成員數(shù)量進行判斷,僅將該組播組中最后一個成員發(fā)送的Listener Done 報文轉(zhuǎn)發(fā)給所述組播組路由器。
10、 如權(quán)利要求9所述的組播監(jiān)聽發(fā)現(xiàn)協(xié)議的報文處理方法,其特征在 于,將不是組播組的最后一個成員發(fā)送的Listener Done報文丟棄,并將發(fā) 送該Listener Done才艮文的成員從所屬組4番組成員列表中刪除。
全文摘要
一種組播監(jiān)聽發(fā)現(xiàn)協(xié)議的報文處理方法,接收到組播組路由器發(fā)送的Query報文后,接入節(jié)點設(shè)備將該報文轉(zhuǎn)發(fā)給與其相連的組播組成員;并在截獲的同一組播組的成員發(fā)送的對所述Query報文進行應答的Report報文中任選一個轉(zhuǎn)發(fā)給所述組播組路由器。此外,接入節(jié)點設(shè)備在截獲到組播組成員發(fā)送的Listener Done報文時,對該報文所屬組播組的當前成員數(shù)量進行判斷,僅將該組播組中最后一個成員發(fā)送的Listener Done報文轉(zhuǎn)發(fā)給所述組播組路由器。采用本發(fā)明的方法,提高了MLD協(xié)議的處理效率,節(jié)省了網(wǎng)絡(luò)帶寬;同時可防范惡意用戶對接入節(jié)點設(shè)備和組播組路由器的攻擊,增強了系統(tǒng)的安全性。
文檔編號H04L12/56GK101184044SQ20071019527
公開日2008年5月21日 申請日期2007年12月5日 優(yōu)先權(quán)日2007年12月5日
發(fā)明者張博山, 陳曉東 申請人:中興通訊股份有限公司