專利名稱:一種優(yōu)化組管理協(xié)議的方法、服務(wù)器及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及組播業(yè)務(wù),特別是涉及一種優(yōu)化組管理協(xié)議的方法、服務(wù)器及系統(tǒng)。
背景技術(shù):
IGMP協(xié)議是IPV4組播的組管理協(xié)議,它運(yùn)行于主機(jī)和與主機(jī)直接相連的組播路由器之間。主機(jī)通過(guò)此協(xié)議告訴本地路由器希望加入某個(gè)特定的組播組,同時(shí)路由器通過(guò)此協(xié)議周期性地查詢局域網(wǎng)內(nèi)某個(gè)已知組的成員是否處于活動(dòng)狀態(tài)(即該網(wǎng)段是否仍有屬于某個(gè)組播組的成員),實(shí)現(xiàn)所連網(wǎng)絡(luò)組成員關(guān)系的收集與維護(hù)。
IGMP有三個(gè)版本,IGMPv1[RFC1112]中定義了基本的組成員查詢和報(bào)告過(guò)程;目前通用的是IGMPv2[RFC2236],IGMPv2添加了組成員快速離開的機(jī)制。IGMPv3[RFC3376]中主要增加了源過(guò)濾的功能,即組成員可以指定接收或指定不接收某些組播源的報(bào)文。
組播偵聽發(fā)現(xiàn)協(xié)議MLD為IGMP的IPV6擴(kuò)展,其實(shí)現(xiàn)的功能與IGMP是相同的。MLD有兩個(gè)版本,MLDV1與MLDV2,分別與IGMPV2和IGMPV3對(duì)應(yīng)。
在IGMPV3/MLDV2中,為了支持對(duì)特定源的過(guò)濾功能,協(xié)議定義了兩種過(guò)濾模式INCLUDE(包含)和EXCLUDE(排除)模式。在INCLUDE模式中,組播接收者“只”從特定的組播源接收?qǐng)?bào)文。在EXCLUDE模式中,接收者只接收“除了”特定源之外的組播報(bào)文。所述特定源是用源列表來(lái)表示的。
IGMPV3/MLDV2中定義的源過(guò)濾功能,提高了組成員的表達(dá)能力。接收者可以自行選擇從某些源或不從某些源接收組播報(bào)文。在IGMPV3中,源過(guò)濾功能在主機(jī)系統(tǒng)中是通過(guò)如下操作實(shí)現(xiàn)的IPMulticastListen(socket,interface,multicast-address,filter-mode,source-list) (1)上式中,Socket為IPV4系統(tǒng)內(nèi)與不同請(qǐng)求實(shí)體(某個(gè)高層協(xié)議或應(yīng)用程序)相關(guān)的參數(shù);Interface為網(wǎng)絡(luò)接口的本地標(biāo)識(shí),該接口可為物理或邏輯的。multicast-address為該請(qǐng)求所屬的組地址。filter-mode為INCLUDE或EXCLUDE。source-list為組播接收者希望接收(INCLUDE模式下)和不希望接收(EXCLUDE模式下)的組播源的IP單播地址列表。
在MLDV2中具有相似的表達(dá)方式IPv6MulticastListen(socket,interface,IPv6 multicast address,filter mode,source list) (2)式(2)與式(1)主要的區(qū)別在于組播地址和源列表是以IPV6地址的形式表述。為方便起見,本文中相關(guān)技術(shù)方案的闡述以IGMPV3為例。由于MLDV2中實(shí)現(xiàn)的源過(guò)濾功能與IGMPV3是等同的,不在這里做特別說(shuō)明。
IGMP為非對(duì)稱協(xié)議,組成員(通常位于主機(jī)上,有時(shí)也在路由器上)和組播路由器的協(xié)議行為是不同的。IGMPV3主機(jī)系統(tǒng)在每個(gè)Socket和每個(gè)接口上保存組播組接收的狀態(tài),以實(shí)現(xiàn)源過(guò)濾模式的支持。其中socket的狀態(tài)為每個(gè)應(yīng)用所表達(dá)的組接收的愿望,即該應(yīng)用希望在什么接口上,以何種過(guò)濾模式,過(guò)濾哪些組播源列表,加入哪個(gè)組播組。而接口的組接收狀態(tài)為該接口上所有socket的組接收狀態(tài)的聯(lián)合。主機(jī)可以根據(jù)接口上的組接收狀態(tài)及其變化,生成IGMPV3狀態(tài)報(bào)告報(bào)文,以及響應(yīng)相連路由器的組成員查詢。
支持IGMPV3的路由器也需要保存所連網(wǎng)絡(luò)的組接收狀態(tài),其概念模型為(multicast address,group timer,filter-mode,(source records));(3)其中multicast address為該狀態(tài)記錄對(duì)應(yīng)的組地址。fiIter-mode為路由器自身定義的過(guò)濾模式,只要路由器收到EXCLUDE模式的報(bào)告報(bào)文,將該過(guò)濾模式源記錄為EXCLUDE。組定時(shí)器group timer只在EXCLUDE模式下使用,表示該組的過(guò)濾模式從EXCLUDE轉(zhuǎn)換為INCLUDE的超時(shí)時(shí)間。source record為源記錄,它具有如下形式(Source address,source timer)。Source address為主機(jī)希望接收的組播源的源地址,source timer為其超時(shí)定時(shí)器。
IGMPV3和MLDV2雖然增加了對(duì)源過(guò)濾列表的支持,增加了加入組的靈活性,特別是通過(guò)定義INCLUDE模式,可以實(shí)現(xiàn)對(duì)源特定組播(PIM-SSM)路由協(xié)議的支持,但是過(guò)濾模式的引入也有一定的缺點(diǎn)1、模式設(shè)定與轉(zhuǎn)換機(jī)制復(fù)雜路由器需根據(jù)鄰接系統(tǒng)組接收狀態(tài)的變化進(jìn)行模式的設(shè)定和轉(zhuǎn)換,這些操作與源/組定時(shí)器的狀態(tài)緊密相關(guān),需要復(fù)雜的判決邏輯。協(xié)議實(shí)現(xiàn)起來(lái)繁瑣。
2、EXCLUDE模式的實(shí)現(xiàn)機(jī)制并不能完全滿足實(shí)際應(yīng)用的需求一方面,在組播應(yīng)用系統(tǒng)中,希望不從某個(gè)(或某些)源接收組播報(bào)文的情況是比較少見的。另一方面,即使存在這樣的應(yīng)用場(chǎng)景,如果與路由器某個(gè)接口相連的主機(jī)希望不接收某個(gè)源的組播數(shù)據(jù),那么存在很大的可能性,該網(wǎng)絡(luò)中的其他主機(jī)希望接收該組播源的數(shù)據(jù),在這種情況下,路由器也必須將該源的報(bào)文轉(zhuǎn)發(fā)過(guò)來(lái),因而EXLUDE模式起的作用是非常有限的。
發(fā)明內(nèi)容
本發(fā)明提供一種優(yōu)化組管理協(xié)議的方法、服務(wù)器及系統(tǒng),用以解決現(xiàn)有協(xié)議的過(guò)濾模式設(shè)定和轉(zhuǎn)換機(jī)制較復(fù)雜的問題。
本發(fā)明方法包括下列步驟組成員向組播路由器發(fā)送成員報(bào)告;組播路由器收到成員報(bào)告后,判斷該報(bào)告中是否包含排除模式EXCLUDE的非空源列表,若是,則按照非特定源的加入更新路由器內(nèi)部的相應(yīng)狀態(tài);否則,以該報(bào)告的內(nèi)容直接完成路由器內(nèi)部相應(yīng)狀態(tài)的更新。
其中,組成員向組播路由器發(fā)送包含非空源列表的包含模式INCLUDE的成員報(bào)告,以完成特定源的加入操作。
其中,組播路由器收到非特定源的加入報(bào)告,則按照INCLUDE模式處理。
進(jìn)一步,組成員向組播路由器發(fā)送包含任意源列表的INCLUDE模式的成員報(bào)告,以完成非特定源的加入操作。組成員側(cè)的非特定源加入操作的接口模型中,以INCLUDE,ANY表示包含任意源列表。
進(jìn)一步,組成員向組播路由器發(fā)送包含空源列表的EXCLUDE模式的成員報(bào)告,以完成非特定源的加入操作。組成員側(cè)的非特定源加入操作的接口模型中,以EXCLUDE,NULL表示排除空源列表。
若組播路由器收到包含非空源列表的EXCLUDE模式的成員報(bào)告,則按照收到包含任意源列表的INCLUDE模式的成員報(bào)告或收到包含空源列表的EXCLUDE模式的成員報(bào)告處理。
本發(fā)明的組播路由器,用于實(shí)現(xiàn)組成員關(guān)系的收集與維護(hù),其還包括判斷模塊,用于判斷收到成員報(bào)告是否包含排除模式EXCLUDE的非空源列表,若是,則觸發(fā)轉(zhuǎn)換模塊;否則,觸發(fā)識(shí)別模塊;轉(zhuǎn)換模塊,用于將收到的成員報(bào)告轉(zhuǎn)換為非特定源的加入報(bào)告,并交由識(shí)別模塊處理;識(shí)別模塊,用于識(shí)別非特定源的加入報(bào)告,并完成路由器內(nèi)部相應(yīng)狀態(tài)的更新。
所述識(shí)別模塊將包含任意源列表的INCLUDE模式的成員報(bào)告,以及包含空源列表的EXCLUDE模式的成員報(bào)告認(rèn)定為非特定源的加入報(bào)告。
所述轉(zhuǎn)換模塊將包含非空源列表的EXCLUDE模式的成員報(bào)告轉(zhuǎn)換為可被所述識(shí)別模塊認(rèn)定為非特定源加入的報(bào)告。
本發(fā)明的組播系統(tǒng),包括若干組成員;以及組播路由器,其用于以INCLUDE過(guò)濾模式處理組成員發(fā)來(lái)的EXCLUDE模式的成員報(bào)告和INCLUDE模式的成員報(bào)告。
所述組播路由器包括下列子模塊判斷模塊,用于判斷收到成員報(bào)告是否包含排除模式EXCLUDE的非空源列表,若是,則觸發(fā)轉(zhuǎn)換模塊;否則,觸發(fā)識(shí)別模塊;轉(zhuǎn)換模塊,用于將收到的成員報(bào)告轉(zhuǎn)換為非特定源的加入報(bào)告,并交由識(shí)別模塊處理;識(shí)別模塊,用于識(shí)別非特定源的加入報(bào)告,并完成路由器內(nèi)部相應(yīng)狀態(tài)的更新。
所述識(shí)別模塊將包含任意源列表的INCLUDE模式的成員報(bào)告,以及包含空源列表的EXCLUDE模式的成員報(bào)告認(rèn)定為非特定源的加入報(bào)告。
所述轉(zhuǎn)換模塊將包含非空源列表的EXCLUDE模式的成員報(bào)告轉(zhuǎn)換為可被所述識(shí)別模塊認(rèn)定為非特定源加入的報(bào)告。
本發(fā)明有益效果如下由于現(xiàn)有技術(shù)定義了兩種源過(guò)濾模式,需要主機(jī)和路由器維護(hù)復(fù)雜的過(guò)濾模式和處理機(jī)制。考慮到EXCLUDE過(guò)濾模式較少的應(yīng)用場(chǎng)景和有限的過(guò)濾功能,本發(fā)明屏蔽原EXCLUDE過(guò)濾模式所實(shí)現(xiàn)的過(guò)濾功能,在組播路由器收到成員報(bào)告后,判斷該報(bào)告中是否包含EXCLUDE模式的非空源列表,若是,則按照非特定源的加入更新路由器內(nèi)部的相應(yīng)狀態(tài);否則(即收到包含非空源列表的INCLUDE模式的成員報(bào)告,包含任意源列表的INCLUDE模式的成員報(bào)告,或者包含空源列表的EXCLUDE模式的成員報(bào)告),以該報(bào)告的內(nèi)容直接完成路由器內(nèi)部相應(yīng)狀態(tài)的更新,而無(wú)需進(jìn)行模式判定和轉(zhuǎn)換。
通過(guò)本發(fā)明方法的實(shí)施,可以避免現(xiàn)有協(xié)議復(fù)雜的過(guò)濾模式轉(zhuǎn)換和處理。
由于組播路由器收到成員報(bào)告后,對(duì)該報(bào)告的過(guò)濾模式和該報(bào)告包含的源列表的特性進(jìn)行判斷,而不是在屏蔽原EXCLUDE過(guò)濾模式后,一味的拒收EXCLUDE模式的包含非空源列表的報(bào)告;相應(yīng)的在收到該種報(bào)告時(shí),組播路由器按照非特定源的加入更新路由器內(nèi)部的相應(yīng)狀態(tài),從而兼容其它低版本組播管理協(xié)議。
由于本發(fā)明方法保留了有應(yīng)用價(jià)值的INCLUDE模式源過(guò)濾功能,所以可支持SSM協(xié)議。
為了支撐本發(fā)明方法,本發(fā)明還提供了一種組播路由器,以及相應(yīng)的組播系統(tǒng)。
圖1為本發(fā)明的組播路由器結(jié)構(gòu)示意圖;圖2為本發(fā)明組播系統(tǒng)結(jié)構(gòu)示意圖;圖3為本發(fā)明方法步驟流程圖。
具體實(shí)施例方式
為了簡(jiǎn)化現(xiàn)有協(xié)議(包括段不限于IGMPV3或MLDV2協(xié)議)的過(guò)濾模式設(shè)定和轉(zhuǎn)換機(jī)制,本發(fā)明提供了一種組播路由器,其可實(shí)現(xiàn)現(xiàn)有的組成員關(guān)系的收集與維護(hù)功能,參見圖1所示,其包括依次相連的判斷模塊、轉(zhuǎn)換模塊和識(shí)別模塊,所述判斷模塊還直接與識(shí)別模塊相連。
所述判斷模塊,用于判斷收到成員報(bào)告是否包含排除模式EXCLUDE的非空源列表,若是,則觸發(fā)轉(zhuǎn)換模塊;否則,觸發(fā)識(shí)別模塊。
所述轉(zhuǎn)換模塊,用于將包含非空源列表的EXCLUDE模式的成員報(bào)告轉(zhuǎn)換為可被所述識(shí)別模塊認(rèn)定為非特定源加入的報(bào)告,并交由識(shí)別模塊處理。
所述識(shí)別模塊,用于識(shí)別非特定源的加入報(bào)告,并完成路由器內(nèi)部相應(yīng)狀態(tài)的更新。本發(fā)明中,識(shí)別模塊可將包含任意源列表的INCLUDE模式的成員報(bào)告,以及包含空源列表的EXCLUDE模式的成員報(bào)告認(rèn)定為非特定源的加入報(bào)告。
對(duì)應(yīng)上述組播路由器,本發(fā)明又提供了一種組播系統(tǒng),參見圖2所示,其包括本發(fā)明的組播路由器,以及與該組播路由器相連的若干個(gè)組成員。
應(yīng)用上述組播路由器及系統(tǒng),本發(fā)明提供了一種優(yōu)化組管理協(xié)議的方法,參見圖3所示,包括下列主要步驟S1、組成員向組播路由器發(fā)送成員報(bào)告。
根據(jù)現(xiàn)有技術(shù),當(dāng)組成員啟動(dòng)組播應(yīng)用時(shí),或者組成員收到組播路由器定時(shí)發(fā)來(lái)的查詢報(bào)文時(shí),組成員向組播路由器發(fā)送成員報(bào)告,以報(bào)告接口當(dāng)前的組接收狀態(tài)。
為了兼容低版本的協(xié)議,允許組成員向組播路由器發(fā)送INCLUDE過(guò)濾模式和EXCLUDE過(guò)濾模式的成員報(bào)告。
進(jìn)一步,所述INCLUDE過(guò)濾模式的成員報(bào)告又可分為包含非空源列表的INCLUDE模式的成員報(bào)告,以及包含任意源列表的INCLUDE模式的成員報(bào)告。所述EXCLUDE過(guò)濾模式的成員報(bào)告又可分為包含非空源列表的EXCLUDE模式的成員報(bào)告,以及包含空源列表的EXCLUDE模式的成員報(bào)告。
S2、組播路由器收到成員報(bào)告后,判斷該報(bào)告中是否包含EXCLUDE模式的非空源列表,若是,則轉(zhuǎn)入步驟S3;否則,轉(zhuǎn)入步驟S4。
組播路由器收到成員報(bào)告后,對(duì)該報(bào)告的過(guò)濾模式,以及其中的源列表特點(diǎn)進(jìn)行判斷,并相應(yīng)轉(zhuǎn)入步驟S3進(jìn)行EXCLUDE模式的屏蔽處理,以體現(xiàn)本發(fā)明的有益效果,并實(shí)現(xiàn)對(duì)低版本協(xié)議的兼容。
或者,相應(yīng)轉(zhuǎn)入步驟S4,完成路由器內(nèi)部相應(yīng)狀態(tài)的更新。
S3、按照非特定源的加入更新路由器內(nèi)部的相應(yīng)狀態(tài)。
由于本發(fā)明對(duì)現(xiàn)有協(xié)議作了優(yōu)化,屏蔽了應(yīng)用場(chǎng)景較少,過(guò)濾效率不高的EXCLUDE過(guò)濾模式,所以當(dāng)路由器收到EXCLUDE模式的報(bào)告時(shí),不進(jìn)行模式設(shè)定和超時(shí)轉(zhuǎn)換等處理,而是將包含EXCLUDE模式的非空源列表的報(bào)告作為非特定源加入報(bào)告處理(具體處理方式參見步驟S4中的內(nèi)容),即按照非特定源的加入更新路由器內(nèi)部的相應(yīng)狀態(tài)。這樣做不但避免了模式設(shè)定和超時(shí)轉(zhuǎn)換,而且路由器在收到包含EXCLUDE模式的非空源列表的報(bào)告時(shí),不會(huì)向組成員返回錯(cuò)誤報(bào)文,從而兼容現(xiàn)有低版本的協(xié)議。
S4、以該報(bào)告的內(nèi)容直接完成路由器內(nèi)部相應(yīng)狀態(tài)的更新。
若組播路由器收到與現(xiàn)有協(xié)議相同的包含非空源列表的INCLUDE模式的成員報(bào)告,即組成員發(fā)起特定源的加入操作,則按照現(xiàn)有處理流程,直接以該非空源列表完成路由器內(nèi)部相應(yīng)狀態(tài)的更新。
若組播路由器收到組成員發(fā)來(lái)的非特定源的加入報(bào)告,則按照INCLUDE模式處理。
其中,組成員可在非特定源加入操作的接口模型中,以(INCLUDE,ANY)表示包含任意源列表,并向組播路由器發(fā)送包含任意源列表的INCLUDE模式的成員報(bào)告;若組播路由器收到含有(INCLUDE,ANY)的INCLUDE模式的成員報(bào)告,則認(rèn)定該報(bào)告為非特定源的加入報(bào)告,進(jìn)而完成非特定源的加入操作。
或者,組成員可在非特定源加入操作的接口模型中,以(EXCLUDE,NULL)表示排除空源列表,并向組播路由器發(fā)送包含空源列表的EXCLUDE模式的成員報(bào)告;若組播路由器收到含有(EXCLUDE,NULL)的EXCLUDE模式的成員報(bào)告,則認(rèn)定該報(bào)告為非特定源的加入報(bào)告,進(jìn)而完成非特定源的加入操作。
至此本發(fā)明方法概述完畢。
結(jié)合上述概述的內(nèi)容,以下描述按照本發(fā)明方法對(duì)現(xiàn)有協(xié)議優(yōu)化后的相關(guān)信息的定義,以及具體操作的處理。
1、為非特定源的加入定義新的業(yè)務(wù)接口模型IpMulticastListen(socket,interface,multicast-address,INCLUDE,ANY);(4)式(4)中,IPMulticastListen表示IGMPV3協(xié)議接口模型,若為MLDV2協(xié)議,則IPMulticastListen可替換為IPv6MulticastListen;Socket表示系統(tǒng)內(nèi)與不同請(qǐng)求實(shí)體相關(guān)的參數(shù);Interface表示網(wǎng)絡(luò)接口的本地標(biāo)識(shí);multicast-address表示請(qǐng)求所屬的組地址;(INCLUDE,ANY)表示組播接收者希望接收的非特定源的IP單播地址列表。
IPMulticastListen(socket,interface,multicast-address,EXCLUDE,NULL)(5)式(5)中,IPMulticastListen表示IGMPV3協(xié)議接口模型,若為MLDV2協(xié)議,則IPMulticastListen可替換為IPv6MulticastListen;Socket表示系統(tǒng)內(nèi)與不同請(qǐng)求實(shí)體相關(guān)的參數(shù);Interface表示網(wǎng)絡(luò)接口的本地標(biāo)識(shí);multicast-address表示請(qǐng)求所屬的組地址;(EXCLUDE,NULL)表示非特定源的組的加入。
2、組成員報(bào)告報(bào)文中與模式相關(guān)的字段定義(以INCLUDE,ANY為例,EXCLUDE,NULL可類推)在IGMPV3/MLDV2中組成員報(bào)告中,組記錄定義有六種類型[RFC3376],保留INCLUDE相關(guān)的三種類型NODE_IS_INCLUDE,ALLOW_NEW_SOURCES和BLOCK_OLD_SOURCES,下文分別以IS_IN,ALLOW和BLOCK表示。
3、組成員協(xié)議行為的重新定義(以INCLUDE,ANY為例,EXCLUDE,NULL可類推)a、主機(jī)接口狀態(tài)變化的操作原協(xié)議中的主機(jī)狀態(tài)轉(zhuǎn)化規(guī)則表,在優(yōu)化協(xié)議中參見表一
表一此時(shí)主機(jī)在生成報(bào)告時(shí),封裝NODE_IS_INCLUDE、ALLOW_NEW_SOURCES和BLOCK_OLD_SOURCES的報(bào)告類型。
b、主機(jī)在接收到查詢報(bào)文之后的操作原協(xié)議主機(jī)側(cè)為響應(yīng)路由器的源-組查詢報(bào)文設(shè)定一個(gè)組定時(shí)器,當(dāng)該定時(shí)超時(shí)時(shí),響應(yīng)報(bào)告報(bào)文。組定時(shí)器超時(shí)時(shí),主機(jī)需要將該組定時(shí)器所對(duì)應(yīng)的源列表和接口相應(yīng)組的源進(jìn)行比較,決定向路由器報(bào)告的接口狀態(tài)形式。優(yōu)化協(xié)議的判定規(guī)則如表二所示
表二4、組播路由器協(xié)議行為(以INCLUDE,ANY為例,EXCLUDE,NULL可類推)a、路由器過(guò)濾模式IGMPV3/MLDV2路由器過(guò)濾模式定義是為了簡(jiǎn)化路由器內(nèi)部的狀態(tài)數(shù)目,具體操作為當(dāng)收到一個(gè)源過(guò)濾模式EXCLUDE的報(bào)文時(shí),路由器的過(guò)濾模式即設(shè)為EXCLUDE。如果不存在EXCLUCE的源,當(dāng)group-timer超時(shí)時(shí),路由器過(guò)濾模式轉(zhuǎn)換為INCLUDE。
在優(yōu)化協(xié)議中,由于路由器不進(jìn)行模式設(shè)定和轉(zhuǎn)換,而只采用INCLUDE過(guò)濾模式處理收到的成員報(bào)告,所以現(xiàn)有路由器側(cè)的協(xié)議中的EXCLUDE模式?jīng)]有存在的意義,因而取消路由器的模式定義,此時(shí)路由器的接收狀態(tài)的概念模型為(multicast address,group timer,(source records));(6)式(6)中,multicast address為該狀態(tài)記錄對(duì)應(yīng)的組地址;group timer用于判定與路由器相連的網(wǎng)絡(luò)是否有非特定源的組接收狀態(tài);source records表示源記錄。
b、定時(shí)器的相關(guān)操作在原協(xié)議中,接口的組定時(shí)器是在EXCLUDE模式下使用的,它表示了路由器從EXCLUDE過(guò)濾模式轉(zhuǎn)換為INCLUDE模式的超時(shí)時(shí)間。路由器的源定時(shí)器為每個(gè)源記錄維護(hù)。
在優(yōu)化協(xié)議中,不使用組定時(shí)器標(biāo)識(shí)EXCLUDE模式,而是采用組定時(shí)器表示一個(gè)非特定源的組。這時(shí)與組定時(shí)器相關(guān)的協(xié)議行為參見表三
表三c、源特定轉(zhuǎn)發(fā)規(guī)則在優(yōu)化協(xié)議中,當(dāng)連接子網(wǎng)的組播路由器接收到一個(gè)組播報(bào)文時(shí),需要根據(jù)IGMPV3/MLDV2的信息判定是否將所需的報(bào)文轉(zhuǎn)發(fā)到子網(wǎng)上。具體的判定規(guī)則參見表四
表四d、接收到主機(jī)成員報(bào)告報(bào)文的操作原協(xié)議中,當(dāng)接收到組記錄之后,路由器需要更新組定時(shí)器與源定時(shí)器,并可能導(dǎo)致路由器的過(guò)濾模式發(fā)生變化。在優(yōu)化協(xié)議中,相應(yīng)的操作行為參見表五
表五其中GMI(Group Member Interval)為IGMPV3協(xié)議中定義的組成員關(guān)系超時(shí)定時(shí)器,MALI(Multicast Address Listening Interval)為GMI在MLDV2中的對(duì)應(yīng)部分。
e、收到源列表變化記錄的操作方法原協(xié)議在收到過(guò)濾模式變化和源列表變化的報(bào)文之后,會(huì)有一系列的處理和轉(zhuǎn)換機(jī)制。在優(yōu)化協(xié)議中,路由器不進(jìn)行模式設(shè)定和轉(zhuǎn)換,而只采用INCLUDE過(guò)濾模式處理收到的成員報(bào)告,即路由器只處理源列表變化記錄報(bào)告,相應(yīng)的操作行為參見表六
表六5、與其他版本的IGMPV3/MLDV2的兼容性處理(以INCLUDE,ANY為例,EXCLUDE,NULL可類推)在RFC3376和RFC3810中描述了IGMPV3/MLDV2與IGMPV2/IGMPV1/MLDV1的兼容方法。優(yōu)化的IGMPV3/MLDV2與原IGMPV3/MLDV2的兼容原則是相同的。但由于模式定義的變化,需要引入一些特殊的處理。
a、與IGMPV1/IGMPV2/MLDV1之間的兼容處理,參見表七
表七b、與IGMPV3/MLDV2之間的兼容處理,參見表八
表八顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種優(yōu)化組管理協(xié)議的方法,其特征在于,包括下列步驟組成員向組播路由器發(fā)送成員報(bào)告;組播路由器收到成員報(bào)告后,判斷該報(bào)告中是否包含排除模式EXCLUDE的非空源列表,若是,則按照非特定源的加入更新路由器內(nèi)部的相應(yīng)狀態(tài);否則,以該報(bào)告的內(nèi)容直接完成路由器內(nèi)部相應(yīng)狀態(tài)的更新。
2.如權(quán)利要求1所述的方法,其特征在于,組成員向組播路由器發(fā)送包含非空源列表的包含模式INCLUDE的成員報(bào)告,以完成特定源的加入操作。
3.如權(quán)利要求1所述的方法,其特征在于,組播路由器收到非特定源的加入報(bào)告,則按照INCLUDE模式處理。
4.如權(quán)利要求3所述的方法,其特征在于,組成員向組播路由器發(fā)送包含任意源列表的INCLUDE模式的成員報(bào)告,以完成非特定源的加入操作。
5.如權(quán)利要求4所述的方法,其特征在于,組成員側(cè)的非特定源加入操作的接口模型中,以INCLUDE,ANY表示包含任意源列表。
6.如權(quán)利要求3所述的方法,其特征在于,組成員向組播路由器發(fā)送包含空源列表的EXCLUDE模式的成員報(bào)告,以完成非特定源的加入操作。
7.如權(quán)利要求6所述的方法,其特征在于,組成員側(cè)的非特定源加入操作的接口模型中,以EXCLUDE,NULL表示排除空源列表。
8.如權(quán)利要求3所述的方法,其特征在于,若組播路由器收到包含非空源列表的EXCLUDE模式的成員報(bào)告,則按照收到包含任意源列表的INCLUDE模式的成員報(bào)告或收到包含空源列表的EXCLUDE模式的成員報(bào)告處理。
9.如權(quán)利要求1至8任一項(xiàng)所述的方法,其特征在于,組成員啟動(dòng)組播應(yīng)用時(shí),或者組成員收到組播路由器定時(shí)發(fā)來(lái)的查詢報(bào)文時(shí),組成員向組播路由器發(fā)送成員報(bào)告,以報(bào)告接口當(dāng)前的組接收狀態(tài)。
10.一種組播路由器,用于實(shí)現(xiàn)組成員關(guān)系的收集與維護(hù),其特征在于,所述組播路由器還包括判斷模塊,用于判斷收到成員報(bào)告是否包含排除模式EXCLUDE的非空源列表,若是,則觸發(fā)轉(zhuǎn)換模塊;否則,觸發(fā)識(shí)別模塊;轉(zhuǎn)換模塊,用于將收到的成員報(bào)告轉(zhuǎn)換為非特定源的加入報(bào)告,并交由識(shí)別模塊處理;識(shí)別模塊,用于識(shí)別非特定源的加入報(bào)告,并完成路由器內(nèi)部相應(yīng)狀態(tài)的更新。
11.如權(quán)利要求10所述的路由器,其特征在于,所述識(shí)別模塊將包含任意源列表的INCLUDE模式的成員報(bào)告,以及包含空源列表的EXCLUDE模式的成員報(bào)告認(rèn)定為非特定源的加入報(bào)告。
12.如權(quán)利要求11所述的路由器,其特征在于,所述轉(zhuǎn)換模塊將包含非空源列表的EXCLUDE模式的成員報(bào)告轉(zhuǎn)換為可被所述識(shí)別模塊認(rèn)定為非特定源加入的報(bào)告。
13.一種組播系統(tǒng),包括若干組成員,其特征在于,所述系統(tǒng)還包括組播路由器,用于以INCLUDE過(guò)濾模式處理組成員發(fā)來(lái)的EXCLUDE模式的成員報(bào)告和INCLUDE模式的成員報(bào)告。
14.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述組播路由器包括下列子模塊判斷模塊,用于判斷收到成員報(bào)告是否包含排除模式EXCLUDE的非空源列表,若是,則觸發(fā)轉(zhuǎn)換模塊;否則,觸發(fā)識(shí)別模塊;轉(zhuǎn)換模塊,用于將收到的成員報(bào)告轉(zhuǎn)換為非特定源的加入報(bào)告,并交由識(shí)別模塊處理;識(shí)別模塊,用于識(shí)別非特定源的加入報(bào)告,并完成路由器內(nèi)部相應(yīng)狀態(tài)的更新。
15.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述識(shí)別模塊將包含任意源列表的INCLUDE模式的成員報(bào)告,以及包含空源列表的EXCLUDE模式的成員報(bào)告認(rèn)定為非特定源的加入報(bào)告。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述轉(zhuǎn)換模塊將包含非空源列表的EXCLUDE模式的成員報(bào)告轉(zhuǎn)換為可被所述識(shí)別模塊認(rèn)定為非特定源加入的報(bào)告。
全文摘要
本發(fā)明公開了一種優(yōu)化組管理協(xié)議的方法、服務(wù)器及系統(tǒng),用以解決現(xiàn)有協(xié)議的過(guò)濾模式設(shè)定和轉(zhuǎn)換機(jī)制較復(fù)雜的問題。本發(fā)明方法包括下列步驟組成員向組播路由器發(fā)送成員報(bào)告;組播路由器收到成員報(bào)告后,判斷該報(bào)告中是否包含排除模式EXCLUDE的非空源列表,若是,則按照非特定源的加入更新路由器內(nèi)部的相應(yīng)狀態(tài);否則,以該報(bào)告的內(nèi)容直接完成路由器內(nèi)部相應(yīng)狀態(tài)的更新。通過(guò)本發(fā)明方法的實(shí)施,可以避免現(xiàn)有協(xié)議復(fù)雜的過(guò)濾模式轉(zhuǎn)換和處理。
文檔編號(hào)H04L29/06GK101079728SQ200610080979
公開日2007年11月28日 申請(qǐng)日期2006年5月26日 優(yōu)先權(quán)日2006年5月26日
發(fā)明者郭鋒, 克力士納睿智·辛·拉索, 蘇海洋, 周小牛 申請(qǐng)人:華為技術(shù)有限公司