專利名稱::多協(xié)議標(biāo)簽交換網(wǎng)絡(luò)中組播樹的建立方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及通信領(lǐng)域,具體來說,涉及多協(xié)議標(biāo)簽交換網(wǎng)絡(luò)中組播樹的建立方法和裝置。
背景技術(shù):
:在多協(xié)議標(biāo)簽交換(Multi-protocolLabelSwitch,簡稱旨LS)網(wǎng)絡(luò)中,標(biāo)簽交換路徑(LabelSwitchedPath,簡稱LSP)是由三層路由協(xié)議決定,由三層路徑映射到LSP路徑。使用標(biāo)簽交換可以提高網(wǎng)絡(luò)的性能,并且MPLS可以提供QoS(QualityofService,指服務(wù)質(zhì)量)和TE(TrafficEngineering,指流量工程)等功能,以提高網(wǎng)絡(luò)服務(wù)質(zhì)量和可靠性。當(dāng)在多協(xié)議標(biāo)簽交換網(wǎng)絡(luò)中提供因特網(wǎng)組播業(yè)務(wù)時,需要創(chuàng)建組播樹。具體來說,根據(jù)現(xiàn)有的組播路由協(xié)議,需要計算出一棵連4妾N個節(jié)點的最小開銷樹。MPLS組#番的目的是將三層組播樹映射成LSP路徑,建立一點對多點或者多點對多點的LSP。在MPLS組播樹的建立觸發(fā)機制中,包括請求消息驅(qū)動、拓樸驅(qū)動和流量驅(qū)動。在i青求消息驅(qū)動4幾制中,由于需要依賴組纟番路由十辦i義消息,而不同組4番路由十辦i義有不同的妨、i義消息,從而請求驅(qū)動的方式需要依賴于具體的組播路由協(xié)議。在請求驅(qū)動的方式中,組纟番路由沖莫塊需要使用3層組播,珞由消息來計算組播樹和生成組播路由表;MPLS模塊同樣需要利用3層組4番路由協(xié)i義消息計算組4番樹,映射成LSP。上述兩次利用了3層組播路由消息進行計算,不如直接使用組播路由表來計算組播LSP(此種方式蟲兌變?yōu)橥貥泸?qū)動方式)。如果在PIM-SM(ProtocolIndependentMulticast-SparseMode,即稀發(fā)u才莫式獨立纟且才番十辦i義)中,支持共享樹與源樹之間的切換,由于更多的消息需要被竊取解析,計算會變得更加復(fù)雜。如果路由器直接連接主機,則不4叉需.要竊取纟且4番路由消息,還需要只十IGMP(InternetGroupManagementProtocol,互聯(lián)網(wǎng)絡(luò)組管理協(xié)議)的加入和剪枝消息進行竊取和解析。流量驅(qū)動方式只在有流量的樹上建立LSP,由于仫J又在有流量的組播樹上才消耗標(biāo)簽,所以消耗比較少的標(biāo)簽。但是由于其LSP不是預(yù)先建立的,從而需要一種快速建立LSP的機制,同時流量驅(qū)動方式將數(shù)據(jù)層面與控制層面結(jié)合,不利于網(wǎng)絡(luò)的擴展。在拓樸驅(qū)動才幾制中,如圖1所示的多協(xié)議標(biāo)簽交換網(wǎng)絡(luò)下標(biāo)簽的分發(fā)處理裝置IOO,其包括組4番路由管理才莫塊10、MPLS才莫塊20和MPLS標(biāo)簽轉(zhuǎn)發(fā)表模塊30,組播路由管理模塊10負(fù)責(zé)管理維護組播路由表(MulticastRoutingTable,簡稱MRT),MPLS模塊20負(fù)責(zé)把三層組播樹的拓樸結(jié)構(gòu),以及組播樹的更新信息,映射到點到多點標(biāo)記交換路徑上,形成MPLS標(biāo)簽轉(zhuǎn)發(fā)表,保存于MPLS標(biāo)簽轉(zhuǎn)發(fā)表才莫塊30中。MPLS才莫塊可以訪問MRT來才是取樹的拓樸結(jié)構(gòu),同時組播路由管理模塊可以直接通知MPLS模塊關(guān)于MRT的變化,以讓MPLS模塊即時獲取組播樹的拓樸更新信息。拓樸驅(qū)動機制,不依賴于具體的組播路由協(xié)議,只根據(jù)組播路由表來生成MPLS組播樹。現(xiàn)有技術(shù)中MPLS組播樹的建立依賴于具體的組播路由協(xié)議,構(gòu)建速度較慢。
發(fā)明內(nèi)容本發(fā)明的目的在于提供一種基于IP組播拓樸結(jié)構(gòu)的MPLS組播樹的建立方法,實現(xiàn)不依賴于組播路由協(xié)議建立組播樹。根據(jù)本發(fā)明的一個方面,提供了一種多協(xié)議標(biāo)簽交換網(wǎng)絡(luò)中組播樹的建立方法,包括以下步驟步驟a,標(biāo)簽交換路由器(LabelSwitchingRouters,縮寫為LSR)從組4番路由管理才莫塊中的MRT獲取組播路由拓樸信息;以及步驟b,利用組播路由拓樸信息生成組才番F(xiàn)EC(ForwardingEquivalenceClass,轉(zhuǎn)發(fā)等i介類)條目,以創(chuàng)建多協(xié)議標(biāo)簽交換網(wǎng)絡(luò)中的組播樹。在上述的建立方法中,組播路由拓樸信息包括以下至少一種組4番路由、入4妻口、出4姿口列表、組4番路由上一刃L地址。在上述的建立方法中,還包4舌以下步駛《步驟c,LSR從組插"路由管理模塊接收關(guān)于組播FEC條目的增加、更新或刪除信息;以及步驟d,LSR從其他LSR鄰居接收關(guān)于組播FEC條目的增加、更新或刪除信息;以及步驟e,根據(jù)增加、更新或刪除信息,完成組播FEC條目的增加、更新或刪除。在上述的建立方法中,增加、更新或刪除信息包括以下至少一種新的組^番F(xiàn)EC;組4番F(xiàn)EC上一i兆改變;組4番F(xiàn)EC出4妾口發(fā)生變化;組播FEC被刪除;Session(會話)建立成功;Session中斷;檢測到本地標(biāo)簽資源可得;標(biāo)簽映射消息;標(biāo)簽釋放消息;標(biāo)簽撤銷消息。在上述的建立方法中,針對增加、更新或刪除信息是新的組播FEC;組播FEC上一跳改變;組播FEC出接口發(fā)生變化;組播FEC被刪除;Session建立成功;Session中斷;檢測到本地標(biāo)簽資源可得;標(biāo)簽映射消息;標(biāo)簽釋放消息;標(biāo)簽撤銷消息中的哪一種,進^f亍才目^的^:^。在上述的建立方法中,還包4舌以下步驟步驟f,LSR;獲取纟且播FEC條目的相關(guān)入標(biāo)簽和出標(biāo)簽;以及步驟g,以相關(guān)入標(biāo)簽和出標(biāo)簽進行管理和形成LSP標(biāo)簽轉(zhuǎn)發(fā)條目。在上述的建立方法中,還包括以下步驟將生成的組4番F(xiàn)EC條目發(fā)送給MPLS標(biāo)簽轉(zhuǎn)發(fā)表保存。在上述的建立方法中,利用LSR中的組,燔FEC生成和管理才莫塊來執(zhí)行步驟a、b和c。在上述的建立方法中,利用LSR中的標(biāo)簽分發(fā)協(xié)i義(LabelDistributionProtocol,縮寫為LDP)消息發(fā)送和接收模塊來執(zhí)行步驟d,利用LSR中的LDP消息處理模塊來執(zhí)行步驟e。在上述的建立方法中,利用LSR中的組4番F(xiàn)EC生成和管理才莫塊來4丸4于步驟f和g。通過上述才支術(shù)方案,本發(fā)明實現(xiàn)了如下有益效果1、MPLS組播樹的建立與組播路由協(xié)議無關(guān),而是基于IP組播拓樸結(jié)構(gòu);2、使用LDP協(xié)議以及每平臺標(biāo)簽空間,進行MPLS組播樹的建立,便于在現(xiàn)有機制上實現(xiàn);3、使用下游自主標(biāo)簽分發(fā)方式,獨立標(biāo)簽控制方式,自由標(biāo)簽保持方式,便于LSP的快速建立。因此,本發(fā)明擴展了LDP協(xié)議的下游標(biāo)簽自主分發(fā)方式中的處理流程,在MPLS網(wǎng)絡(luò)中,通過建立MPLS組播樹,提供組播業(yè)務(wù)。圖1是多接入網(wǎng)絡(luò)下標(biāo)簽的分發(fā)處理指示圖2是LDP組播模塊內(nèi)部結(jié)構(gòu)圖3是檢測到新的組播FEC的處理流程圖4是檢測到組播FEC上一跳改變后的處理流程圖5是檢測到組播FEC出接口發(fā)生變化后的處理流程圖6是檢測到組播FEC刪除后的處理流程圖7是檢測到某個會話(Session)建立成功后的處理流程圖8是才企測到某個Session中斷后的處理流程圖9是檢測到標(biāo)簽資源可得后的處理流程圖10是收到組播FEC的LDPMapping消息后的處理流程圖11是收到組播FEC的LDPWithdraw消息后的處理流程圖12是收到組,燔FEC的LDPRelease消息后的處理流程圖13是發(fā)送組播FEC的LDPMapping消息后的編碼處理流程圖;圖14是發(fā)送組播FEC的LDPWithdraw消息后的編碼處理流程圖15是發(fā)送組播FEC的LDPRelease消息后的編碼處理流程圖16是4妻收到組4番F(xiàn)EC的LDPMapping消息后的解碼處理流程圖17是接收到組播FEC的LDPWithdraw消息后的解碼處理流程圖18是4婁收到組4番F(xiàn)EC的LDPRelease消息后的解碼處理流程圖;以及圖19是才艮據(jù)本發(fā)明實施例的多協(xié)議標(biāo)簽交換網(wǎng)絡(luò)中組播樹的建立方法的流程圖。具體實施例方式下面結(jié)合附圖對基于IP組播拓樸結(jié)構(gòu)的MPLS組播樹建立方案的實施作進一步的詳細(xì)描述。圖19是根據(jù)本發(fā)明實施例的多協(xié)議標(biāo)簽交換網(wǎng)絡(luò)中組播樹的建立方法的流程圖,其包4舌以下步驟步驟SIO,LSR從組播路由管理模塊中的MRT獲取組播路由拓樸信息;以及步驟S20,利用組播路由拓樸信息生成組播FEC條目,以創(chuàng)建多協(xié)議標(biāo)簽交換網(wǎng)絡(luò)中的組播樹。組4番路由拓樸信息可包括以下至少一種組播J各由、入接口、出4妾口列表、組4番路由上一*匕地址。在上述的建立方法中,還可包4舌以下步驟步驟S30,LSR從組播路由管理模塊接收關(guān)于組播FEC條目的增加、更新或刪除信息;以及步驟S40,LSR從LSR鄰居接收關(guān)于組播FEC條目的增加、更新或刪除信息;以及步驟S50,沖艮據(jù)增加、更新或刪除信息,完成組"t番F(xiàn)EC條目的增加、更新或刪除。增加、更新或刪除信息包括以下至少一種新的組播FEC;組播FEC上一跳改變;組播FEC出接口發(fā)生變化;組播FEC被刪除;Session建立成功;Session中斷;檢測到本地標(biāo)簽資源可得;標(biāo)簽映射消息;標(biāo)簽釋放消息;標(biāo)簽撤銷消息。針對增加、更新或刪除信息是新的組播FEC;組播FEC上一跳改變;組^番F(xiàn)EC出4妄口發(fā)生變化;組4番F(xiàn)EC4皮刪除;Session建立成功;Session中斷;;險測到本地標(biāo)簽資源可得;標(biāo)簽映射消息;標(biāo)簽釋放消息;標(biāo)簽招t銷消息中的哪一種,進行相應(yīng)的處理。在上述的建立方法中,還可包4舌以下步驟步驟S60,LSR獲取組播FEC條目的相關(guān)入標(biāo)簽和出標(biāo)簽;以及步驟S70,以相關(guān)入標(biāo)簽和出標(biāo)簽進行管理和形成LSP標(biāo)簽轉(zhuǎn)發(fā)條目。在上述的建立方法中,還可包括以下步驟將生成的組播FEC條目發(fā)送給MPLS標(biāo)簽轉(zhuǎn)發(fā)表保存??衫肔SR中的組播FEC生成和管理模塊來執(zhí)行步驟SIO、S20和S30;利用LSR中的LDP消息發(fā)送和接收模塊來執(zhí)行步驟S40,利用LSR中的LDP消息處理才莫塊來執(zhí)行步驟S50;利用LSR中的組播FEC生成和管理模塊來執(zhí)行步驟S60和S70。其中,A模塊,組播FEC生成和管理模塊,主要功能包括1、從組播路由表中獲取組播路由拓樸信息,并且生成組播FEC條目;2、從組播路由管理才莫塊接收組播FEC的增加、更新和刪除信息,以進行LSP的增加、更新和刪除。3、對組播FEC的相關(guān)入標(biāo)簽和出標(biāo)簽進行管理,生成組播FEC標(biāo)簽轉(zhuǎn)發(fā)條目。B模塊,LDP消息發(fā)送和接收模塊,主要功能包括1、進行組播FEC的相關(guān)編碼,發(fā)送LDP協(xié)議消息;2、接收LDP協(xié)議消息,進行組播FEC的相關(guān)解碼。其中LDP協(xié)議消息包括標(biāo)簽映射消息,標(biāo)簽撤銷消息,標(biāo)簽釋放消息。C模塊,LDP消息處理模塊,釆用下游自主標(biāo)簽分發(fā)方式,獨立標(biāo)簽控制方式,自由標(biāo)簽保持方式。主要功能包括1、由組播FEC生成和管理才莫塊A觸發(fā)的組4番F(xiàn)EC增加、更新和刪除而進4亍的LDP協(xié)議消息處理;2、通過LDP消息發(fā)送和接收模塊B,從LSR鄰居接收到LDP協(xié)議消息進行的處理。如圖2所示,本發(fā)明包括以下才莫塊組,燔FEC生成和管理才莫塊101,完成的功能包括1、從組插-路由管理模塊中的組播路由表獲取組播路由拓樸信息,信息包括組播路由、入接口、出接口列表、組播路由上一跳地址,并且生成組,燔FEC;2、對組4番F(xiàn)EC的相關(guān)入標(biāo)簽和出標(biāo)簽進行管理,生成標(biāo)簽轉(zhuǎn)發(fā)條目,發(fā)送給MPLS標(biāo)簽轉(zhuǎn)發(fā)表104。LDP消息處理模塊102,進行LDP協(xié)議消息處理,主要功能包括1、;險測到新的組,幡FEC后,進行相應(yīng)的標(biāo)簽分發(fā)處理;2、才企測到組,燔FEC上一跳改變后,進行相應(yīng)的標(biāo)簽分發(fā)處理;3、檢測到組播FEC出接口發(fā)生變化后,進行相應(yīng)的標(biāo)簽分發(fā)處理;4、檢測到組播FEC被刪除后,進行的標(biāo)簽分發(fā)處理;5、檢測到某個Session建立成功后的處理;6、4t測到果個Session中斷后的處理;7、才企測到本地標(biāo)簽資源可得的處理;8、收到組播FEC的標(biāo)簽映射消息的處理;9、收到組^番F(xiàn)EC的標(biāo)簽釋方文消息的處理;10、收到組播FEC的標(biāo)簽撤銷消息的處理。LDP消息發(fā)送和接收模塊103,進行LDP協(xié)議消息的發(fā)送和接收,主要功能包括1、進行組播FEC編碼,并發(fā)送標(biāo)簽映射消息;2、進行組播FEC編碼,并發(fā)送標(biāo)簽釋放消息理;3、進行組播FEC編碼,并發(fā)送標(biāo)簽撤銷消息;4、接收組播FEC的標(biāo)簽映射消息并進行解碼;5、接收組播FEC的標(biāo)簽釋放消息并進行解碼;6、接收組播FEC的標(biāo)簽撤銷消息并進行解碼。LDP會話管理才莫塊104,完成LDP會話的建立和維護,每一個LDP會話由特定的TCP連4妻建成。組播路由管理模塊105,進行組播路由轉(zhuǎn)發(fā)條目的管理,為組播FEC生成和管理模塊101提供組播路由拓樸信息。MPLS標(biāo)簽轉(zhuǎn)發(fā)表106,組4番F(xiàn)EC生成和管理才莫塊101通過對組播FEC的標(biāo)簽進行維護和管理,建立MPLS標(biāo)簽轉(zhuǎn)發(fā)表。組才番F(xiàn)EC生成和管理才莫塊101分別與LDP消息處理才莫塊102、組播路由管理模塊105和MPLS標(biāo)簽轉(zhuǎn)發(fā)表106有接口;LDP消息處理模塊102分別與組播FEC生成和管理模塊101、LDP會話管理才莫塊104和LDP消息發(fā)送和"t妄收才莫塊103有4矣口;LDP消息發(fā)送和4矣收4莫塊103分別與LDP會話管理才莫塊104和LDP消息處理才莫塊102有接口。在LDP消息發(fā)送和接收才莫塊103中,需要對組*潘FEC進行編碼和解碼,組播FEC的TLV格式如下<table>tableseeoriginaldocumentpage13</column></row><table>組播地址表示組播地址的FEC單元類型,此處可以暫時設(shè)定為0x04,但并不一定為0x04;地址簇指示組纟番地址的地址簇,有IP版本4和版本6;地址長度組4番地址的長度,以字節(jié)為單4立;組播組地址根據(jù)地址簇進行編碼的組播組地址,此項不能為工,組播源地址根據(jù)地址簇進行編碼的組播源地址,如果此項為空,表示通用組播源地址;下面描述LDP消息處理才莫塊102中每個功能的流程處理。如圖3所示,對于本發(fā)明的LDP消息處理才莫塊102,其4企測到新的組播FEC后,進行相應(yīng)的標(biāo)簽分發(fā)處理流程如下步驟1:從組播FEC生成和管理一莫塊101得知,收到新增組播FEC;步驟2:判斷組^番F(xiàn)EC生成和管理沖莫塊101中,組,潘FEC是否已經(jīng)存在,如果不存在,則"i兌明沒有收到過此組播FEC的LDPMapping消息,直4妄進入步驟9;:fe口果存在,則進入步驟3;步驟3:得到此組播FEC相關(guān)的下游Session列表,由于組播FEC有多個出接口,從而會對應(yīng)多個下游Session,需要對每一個對應(yīng)的下游Session進4亍處J里;步驟4:檢查下游Session的本地Hello鄰居接口是否在組播FEC的出接口列表中;下游Session的本地Hello鄰居接口可能會對應(yīng)多個本地4矣口,至少一個本地4矣口在組#番F(xiàn)EC的出4妄口列表中,則進行步驟5,否則進行步驟8;步驟5:檢查對應(yīng)的下游Session上是否已經(jīng)收到了標(biāo)簽,并且進行了保存,如果進行了保存,則進行步驟6,否則進行步驟8;步驟6:將此標(biāo)簽的in—use標(biāo)記置位。對于每一個標(biāo)記,都有一個in一use標(biāo)記,如果此標(biāo)記置位,則表示此標(biāo)記已經(jīng)用于凄t據(jù)轉(zhuǎn)發(fā)/交換;如果此標(biāo)記沒有被置位,表示此標(biāo)記僅僅被收到和保存,沒有用于數(shù)據(jù)轉(zhuǎn)發(fā)/交換;步驟7:將此標(biāo)簽作為出標(biāo)簽,寫入轉(zhuǎn)發(fā)項。通過組播FEC生成和管理模塊i01對標(biāo)簽的管理,將此標(biāo)簽作為組播FEC的出標(biāo)簽,寫入MPLS標(biāo)簽轉(zhuǎn)發(fā)表106;步驟8:檢查此Session是否是組播FEC的最后一個下游Session;如果是,進行步驟10,否則進4亍步驟3;步驟9:在組播FEC生成和管理模塊101中創(chuàng)建一個新的組播FEC;步驟10:根據(jù)組播FEC的入接口和上一跳地址確定上游Session;兩個條4牛來確定上游Session:1、每一個Session渚卩會維護一個對端地址表,組#番F(xiàn)EC的上一跳地址需要在此Session的對端地址表中;2、此上游Session的本地Hello鄰居4妄口是否是組4番F(xiàn)EC的入接口,可能對應(yīng)有多個Hello本地接口,至少一個本地接口和組4番F(xiàn)EC的入4姿口相同。如果符合上述兩個條件,則確定為上游Session;步驟11:為此組播FEC分配標(biāo)簽是否成功,如果成功,進行步驟12,否則進行步驟14;步驟12:將此分配的標(biāo)簽作為組纟番F(xiàn)EC的入標(biāo)簽,同時在MPLS標(biāo)簽轉(zhuǎn)發(fā)表106中形成紐j番F(xiàn)EC的轉(zhuǎn)發(fā)項;步驟13:通過LDP消息發(fā)送和接收模塊103,向組播FEC的上游Session發(fā)送LDPMapping消息,進4亍步驟15;步驟14:將組播FEC標(biāo)記為"標(biāo)簽資源不可得,,狀態(tài),等待標(biāo)簽資源可得后重新進^f于標(biāo)簽分配;步驟15:完成如圖4所示,對于本發(fā)明的LDP消息處理才莫塊102,其檢測到組播FEC上一跳改變后,進行相應(yīng)的標(biāo)簽分發(fā)處理流程如下步驟1:從組播FEC生成和管理才莫塊101得知,組播FEC上一if兆發(fā)生改變;步驟2:才艮據(jù)組才番入4妄口和新上一忍〖地址查找新上游Session;兩個條4牛來確定上游Session:1、每一個Session都會維護一個對端地址表,組播FEC的上一跳地址需要在此Session的對端地址表中;2、此上游Session的本地Hello鄰居4妄口是否是組才番F(xiàn)EC的入接口,可能對應(yīng)有多個Hello本地接口,至少一個本地接口和組4番F(xiàn)EC的入接口相同。如果符合上述兩個條件,則確定為上游Session;步驟3:檢查新上游Session是否存在,如果不存在,則直接到步驟5;步驟4:通過LDP消息發(fā)送和4妄收才莫塊103,向新上游Session發(fā)送LDPMapping消息,用于向LDP對等體分發(fā)標(biāo)簽;步驟5:通過LDP消息發(fā)送和4妄收才莫塊103,向舊上游Session發(fā)送LDPWithdraw消息,用于向LDP對等體4敬銷標(biāo)簽;步驟6:完成。上游鄰居的變化,并不會影響組播FEC的入標(biāo)簽的變化,所以上述流程中,沒有對MPLS標(biāo)簽轉(zhuǎn)發(fā)表106中的標(biāo)簽進行處理。如圖5所示,對于本發(fā)明的LDP消息處理模塊102,其檢測到組才番F(xiàn)EC出4妾口發(fā)生變化后,進行相應(yīng)的標(biāo)簽分發(fā)處理流程如下步驟1:從組播FEC生成和管理模塊101得知,組播FEC出4妄口發(fā)生變化;步驟2:組播FEC的新增出接口列表是否為空,如果為空,說明沒有增加新的出接口,進行步驟8;否則進行步驟3;步驟3:根據(jù)新增的出接口列表,得到此組播FEC相關(guān)的下游Session列表;檢查下游Session的本地Hello鄰居接口是否在組播FEC的出4矣口列表中,來獲4f下游Session列表;下游Session的本i也Hello^卩居4妾口可能會只于應(yīng)多個本i也4妾口,至少一個本地孑妾口在組播FEC的出接口列表中;步驟4:4企查對應(yīng)的下游Session上是否已經(jīng)收到了標(biāo)簽,并且進行了保存,如果進行了保存,則進行步驟5,否則進行步驟7;步驟5:將組播FEC生成和管理才莫塊101中的標(biāo)簽的in—use標(biāo)記置位;步驟6:將此標(biāo)簽作為出標(biāo)簽,寫入轉(zhuǎn)發(fā)項。通過組播FEC生成和管理模塊101對標(biāo)簽的管理,將此標(biāo)簽作為組播FEC的出標(biāo)簽,寫入MPLS標(biāo)簽轉(zhuǎn)發(fā)表106;步驟7:檢查此Session是否是組播FEC的最后一個下游Session,如果是,則進行步驟8,否則進行步驟3;步驟8:組播FEC的刪除出接口列表是否為空,如果為空,說明沒有刪除出接口,進行步驟13;否則進行步驟9;步驟9:根據(jù)刪除的出接口列表,得到組播FEC對應(yīng)的下游Session列表;檢查下游Session的本地Hello鄰居接口是否在組播FEC的出4妄口列表中,來獲得下游Session列表;下游Session的本地Hello鄰居才婁口可能會對應(yīng)多個本地4秦口,至少一個本地接口在組播FEC的出接口列表中;步驟10:從轉(zhuǎn)發(fā)項刪除此出標(biāo)簽,通過組播FEC生成和管理模塊101將此標(biāo)簽從MPLS標(biāo)簽轉(zhuǎn)發(fā)表106中刪除,此時標(biāo)簽將不再用于數(shù)據(jù)轉(zhuǎn)發(fā);步驟11:將組播FEC生成和管理模塊101中,標(biāo)簽的in—use標(biāo)記復(fù)位;步¥《12:檢查此Session是否是組4番F(xiàn)EC的最后一't下游Session;如果是,則進行步驟13,否則進行步驟9;步驟13:完成。如圖6所示,對于本發(fā)明的LDP消息處理才莫塊102,其4企測到組播FEC刪除后,進行相應(yīng)的標(biāo)簽分發(fā)處理流程如下步驟1:從組播FEC生成和管理模塊101得知,組播FEC被刪除;步驟2:才艮據(jù)組^番F(xiàn)EC的入接口和上一跳地址確定上游Session;兩個條件來確定上游Session:1、每一個Session都會維護一個對端地址表,組#番F(xiàn)EC的上一3兆地址需要在此Session的對端地址表中;2、此上游Session的本地Hello鄰居才矣口是否,是組才番F(xiàn)EC的入接口,可能對應(yīng)有多個Hello本地接口,至少一個本地接口和組播FEC的入接口相同。如果符合上述兩個條件,則確定為上游Session;步驟3:通過LDP消息發(fā)送和接收模塊103,向此上游Session發(fā)送LDPWithdraw消息,用于纟敬銷先前向LDP對等體分發(fā)的標(biāo)簽;步驟4:通過組播FEC生成和管理一莫塊101對標(biāo)簽的管理,從MPLS標(biāo)簽轉(zhuǎn)發(fā)表106中,刪除此組4番F(xiàn)EC的入標(biāo)簽以及此FEC對應(yīng)的轉(zhuǎn)發(fā)項,此時組,潘FEC對應(yīng)的出標(biāo)簽也已經(jīng)一皮刪除;步,《5:才企查此FEC是否存在下游Session,如果存在,進4亍步驟7,否則進4于步驟6;步驟6:從組播FEC生成和管理模塊101中刪除此組播FEC;步驟7:將此組才番F(xiàn)EC標(biāo)記為"沒有-各由",表示在此路由器的組播路由管理模塊105中沒有此組播FEC;步驟8:遍歷此組播FEC對應(yīng)的下游Session列表;步驟9:將此Session標(biāo)簽的in—use標(biāo)記復(fù)位。對于每一個標(biāo)記,都有一個in—use標(biāo)記,如果此標(biāo)記置位,則表示此標(biāo)記已經(jīng)用于數(shù)據(jù)轉(zhuǎn)發(fā)/交換;如果此標(biāo)記沒有被置位,表示此標(biāo)記僅僅被收到和保存,沒有用于數(shù)據(jù)轉(zhuǎn)發(fā)/交換;這里并對MPLS標(biāo)簽轉(zhuǎn)發(fā)表106進行操作,因為步驟4中已經(jīng)將組播FEC的轉(zhuǎn)發(fā)項刪除;步驟10:判斷此Session是否為此組播FEC的最后一個下游Session,:&口果是,進4亍步艱《12,否則進4亍步架《9;步驟ll:完成。如圖7所示,對于本發(fā)明的LDP消息處理才莫塊102,其檢測到某個Session建立成功后,進4亍相應(yīng)的處理流程如下步驟1:乂人LDP會話管理才莫塊104得知,某個Session建立成功;步驟2:遍歷所有組播FEC條目;步驟3:才全查此組播FEC條目能否將此Session作為上游Session,如果是,則進行步驟4,否則進行步驟2;判斷上游Session過程如下如果此組播FEC已經(jīng)存在上游Session,則直接進行步驟4;如果此組播FEC不存在上游Session,則使用組播FEC的入才妾口和上一if兆i也址進^f亍上游Session匹配,兩個條件來確定上游Session:1、每一個Session都會維護一個對端地址表,組播FEC的上一跳地址需要在此Session的對端地址表中;2、此上游Session的本i也Hello4卩居^妾口是否是纟且4番F(xiàn)EC的入4妾口,可能對應(yīng)有多個Hello本地接口,至少一個本地接口和組播FEC的入接口相同。如果符合上述兩個條件,則確定為上游Session;步驟4:將此組播FEC與此上游Session相關(guān)聯(lián),以利于后面進行管理;步驟5:檢查此組播FEC是否處于"標(biāo)簽資源不可得"的狀態(tài),如果是,進行步驟2,否則進行步驟6;步驟6:向此上游Session發(fā)送LDPMapping消息;步驟7:檢查是否是遍歷的最后一個組播FEC,如果是,進行步驟8,否則進行步驟2;步駛《8:完成。如圖8所示,對于本發(fā)明的LDP消息處理才莫塊102,其檢測到某個Session中斷后,進4亍相應(yīng)的處理流禾呈4口下步驟1:乂人LDP會話管理才莫塊104得知,某個Session中斷;步驟2:遍歷所有組播FEC條目;步驟3:檢查此組播FEC的下游Session中是否包含此Session,如果是,進行步驟4,否則進行步驟2;步驟4:檢查組播FEC是否已經(jīng)從此Session收到標(biāo)簽,如果是,進行步驟5,否則進行步驟2;步驟5:從組纟番F(xiàn)EC生成和管理纟莫塊101和MPLS標(biāo)簽轉(zhuǎn)發(fā)表106中刪除此出標(biāo)簽;步驟6:檢查是否是遍歷的最后一個組播FEC,如果是,進行步驟7,否則進4于步驟2;步驟7:完成。如圖9所示,對于本發(fā)明的LDP消息處理才莫塊102,其4全測到標(biāo)簽資源可得后,進行相應(yīng)的處理流程如下步驟1:從組播FEC生成和管理模塊101得知,組播FEC的標(biāo)簽資源可得;步驟2:遍歷所有狀態(tài)為"標(biāo)簽資源不可得"的組播FEC條目;步驟3:為此組播FEC分配標(biāo)簽,并且在MPLS標(biāo)簽轉(zhuǎn)發(fā)表106中形成組4番F(xiàn)EC轉(zhuǎn)發(fā)項;步驟4:檢查此組播FEC是否存在上游Session,如果存在,進行步驟5,否則進行步驟2;步驟5:向此組播FEC的上游Session發(fā)送LDPMapping消息;步驟6:檢查是否是遍歷的最后一個組播FEC,如果是,進行步驟7,否則進行步驟2;步驟7:完成。如圖IO所示,對于本發(fā)明的LDP消息處理模塊102,其收到組播FEC的LDPMapping消息后,進行相應(yīng)的處理流程如下步驟1:從LDP消息發(fā)送和接收模塊103得知,從某個Session上^1欠到LDPMapping消息,即標(biāo)簽映射消息;步驟2:判斷組凈番F(xiàn)EC生成和管理沖莫塊101中是否存在此組插^FEC;如果存在,進行步驟4,否則進行步驟3;步驟3:為組4番F(xiàn)EC生成和管理沖莫塊101創(chuàng)建此組纟番F(xiàn)EC;步驟4:檢查4妄收此LDPMapping消息的Session對應(yīng)的本;也Hello接口,是否為組播FEC的出接口之一;如果是,進行步驟5,否則進4于步驟7;步驟5:通過組纟番F(xiàn)EC生成和管理4莫塊101對標(biāo)簽的管理,將收到的標(biāo)簽作為出標(biāo)簽保存,同時在MPLS標(biāo)簽轉(zhuǎn)發(fā)表106中保存此標(biāo)簽作為出標(biāo)簽;步驟6:將此標(biāo)簽的in—use標(biāo)記置位。對于每一個標(biāo)記,都有一個in一use標(biāo)記,如果此標(biāo)記置位,則表示此標(biāo)記已經(jīng)用于數(shù)據(jù)轉(zhuǎn)發(fā)/交換;如果此標(biāo)記沒有被置位,表示此標(biāo)記僅僅被收到和保存,沒有用于數(shù)據(jù)轉(zhuǎn)發(fā)/交換;步驟7:通過組纟番F(xiàn)EC生成和管理^莫塊101對標(biāo)簽的管理,將收到的標(biāo)簽作為出標(biāo)簽保存,但不寫入MPLS標(biāo)簽轉(zhuǎn)發(fā)表106中;步驟8:將此標(biāo)簽的in一use標(biāo)記復(fù)位。對于每一個標(biāo)記,都有一個in—use標(biāo)記,如果此標(biāo)記置位,則表示此標(biāo)記已經(jīng)用于數(shù)據(jù)轉(zhuǎn)發(fā)/交才奐;如果此標(biāo)記沒有4皮置位,表示此標(biāo)記<義<又凈皮收到和4呆存,沒有用于數(shù)據(jù)轉(zhuǎn)發(fā)/交換;步驟9:完成。如圖11所示,對于本發(fā)明的LDP消息處理才莫塊102,其收到組播FEC的LDPWithdraw消息后,進行相應(yīng)的處理流程如下步驟1:從LDP消息發(fā)送和接收模塊103得知,從某個Session上收到LDPWithdraw消息,即標(biāo)簽撤銷消息,其消息內(nèi)容含有組4番F(xiàn)EC和乂十應(yīng)的才示簽;步驟2:通過組播FEC生成和管理模塊101對標(biāo)簽的管理,判斷MPLS標(biāo)簽轉(zhuǎn)發(fā)表106中的組播FEC是否存在此標(biāo)簽;如果存在,進行步驟3,否則進行步驟4;步驟3:通過組播FEC生成和管理模塊101對標(biāo)簽的管理,從MPLS標(biāo)簽轉(zhuǎn)發(fā)表106中刪除此組播FEC對應(yīng)的標(biāo)簽;步驟4:通過LDP消息發(fā)送和接收模塊103,發(fā)送LDPRelease消息,用于釋放此組播FEC對應(yīng)的標(biāo)簽,消息內(nèi)容含有組播FEC和對應(yīng)的標(biāo)簽。步艱《5:完成。如圖12所示,對于本發(fā)明的LDP消息處理才莫塊102,其收到組4番F(xiàn)EC的LDPRelease消息后,進行相應(yīng)的處理流程如下步驟1:從LDP消息發(fā)送和接收模塊103得知,從某個Session上收到LDPRelease消息,即標(biāo)簽釋放消息,其消息內(nèi)容含有組播FEC和3于應(yīng)的才示簽;步驟2:檢查此組播FEC的狀態(tài)是否為"沒有路由"?如果是,進行步驟4,否則進行步驟3;此處如果組播FEC的狀態(tài)不是"沒有路由",則說明此組播FEC仍然在使用對應(yīng)的入標(biāo)簽;步驟3:釋方文此組4番F(xiàn)EC對應(yīng)的入標(biāo)簽;步驟4:完成。下面描述LDP消息發(fā)送和接收模塊103中每個功能的流程處理。如圖13所示,對于本發(fā)明的LDP消息發(fā)送和接收模塊103,其發(fā)送組4番F(xiàn)EC的LDPMapping消息后,進4亍相應(yīng)的處理流程如下步驟1:從LDP消息處理模塊102得知,需要向某個Session發(fā)送LDPMapping消息,即標(biāo)簽映射消息,其消息內(nèi)容含有組播FEC和對應(yīng)的標(biāo)簽;步驟2:對組播FEC進行編碼;步驟3:對LDPMapping消息進行編碼;步驟4:通過此Session,發(fā)送LDPMapping消息;步驟5:完成。如圖14所示,對于本發(fā)明的LDP消息發(fā)送和接收模塊103,其發(fā)送組播FEC的LDPWithdraw消息后,進行相應(yīng)的處理流程如下步驟1:從LDP消息處理模塊102得知,需要向某個Session發(fā)送LDPWithdraw消息,即標(biāo)簽撤銷消息,其消息內(nèi)容含有組播FEC和7于應(yīng)的才示簽;步驟2:對組4番F(xiàn)EC進行編碼;步驟3:對LDPWithdraw消息進行編碼;步驟4:通過此Session,發(fā)送LDPWithdraw消息;步驟5:完成。如圖15所示,對于本發(fā)明的LDP消息發(fā)送和接收模塊103,其發(fā)送組播FEC的LDPRelease消息后,進行相應(yīng)的處理流程如下步驟1:從LDP消息處理模塊102得知,需要向某個Session發(fā)送LDPRelease消息,即標(biāo)簽釋放消息,其消息內(nèi)容含有組播FEC和對應(yīng)的標(biāo)簽;步驟2:對組播FEC進4亍編碼;步驟3:對LDPRelease消息進4亍編碼;步驟4:通過jt匕Session,發(fā)送LDPRelease消息;步驟5:完成。如圖16所示,對于本發(fā)明的LDP消息發(fā)送和接收模塊103,其接收到組播FEC的LDPMapping消息后,進行相應(yīng)的處理流程如下步驟l:從某個Session接收到LDPMapping消息,即標(biāo)簽映射消息,其消息內(nèi)容含有組播FEC和對應(yīng)的標(biāo)簽;步驟2:對組播FEC進行解碼;步驟3:對LDPMapping消息進行解碼;步驟4:通過LDP消息處理模塊102,進行收到LDPMapping消息的處理;步驟5:完成。如圖17所示,對于本發(fā)明的LDP消息發(fā)送和4妾收沖莫塊103,其接收到組播FEC的LDPWithdraw消息后,進行相應(yīng)的處理流程如下步驟1:從某個Session接收到LDPWithdraw消息,即標(biāo)簽撤銷消息,其消息內(nèi)容含有組播FEC和對應(yīng)的標(biāo)簽;步驟2:對組纟番F(xiàn)EC進行解碼;步驟3:對LDPWithdraw消息進行解碼;步驟4:通過LDP消息處理模塊102,進行收到LDPWithdraw消息的處理;步驟5:完成。如圖18所示,對于本發(fā)明的LDP消息發(fā)送和接收模塊103,其4妄收到組,燔FEC的LDPRelease消息后,進4亍相應(yīng)的處理流禾呈如下步驟1:從某個Session發(fā)送LDPRelease消息,即標(biāo)簽釋放消息,其消息內(nèi)容含有組4番F(xiàn)EC和對應(yīng)的標(biāo)簽;步驟2:對組播FEC進行解碼;步驟3:對LDPRelease消息進4亍解碼;步驟4:通過LDP消息處理才莫塊102,進4亍收到LDPRelease消息的處理;步驟5:完成。從以上的描述中,可以看出,本發(fā)明實現(xiàn)了如下技術(shù)效果1、MPLS組4番樹的建立與組#番路由協(xié)議無關(guān),而是基于IP組播拓樸結(jié)構(gòu);2、使用LDP協(xié)議以及每平臺標(biāo)簽空間,進行MPLS組播樹的建立,《更于在現(xiàn)有才幾制上實現(xiàn);3、^使用下游自主標(biāo)簽分發(fā)方式,獨立標(biāo)簽控制方式,自由標(biāo)簽保持方式,便于LSP的快速建立。因此,本發(fā)明擴展了LDP協(xié)議的下游標(biāo)簽自主分發(fā)方式中的處理流程,在MPLS網(wǎng)絡(luò)中,通過建立MPLS組4番樹,提供組,潘業(yè)務(wù)。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可沖丸行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。應(yīng)易見的,不脫離本發(fā)明的精神保護范圍。以上所述〗又為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。權(quán)利要求1.一種多協(xié)議標(biāo)簽交換網(wǎng)絡(luò)中組播樹的建立方法,其特征在于,包括以下步驟步驟a,標(biāo)簽交換路由器從組播路由管理模塊中的組播路由表獲取組播路由拓?fù)湫畔ⅲ灰约安襟Eb,利用所述組播路由拓?fù)湫畔⑸山M播轉(zhuǎn)發(fā)等價類條目,以創(chuàng)建多協(xié)議標(biāo)簽交換網(wǎng)絡(luò)中的組播樹。2.根據(jù)權(quán)利要求1所述的建立方法,其特征在于,所述組播路由拓樸信息包括以下至少一種組播路由、入接口、出接口列表、組4番路由上一逸L地址。3.根據(jù)權(quán)利要求1所述的建立方法,其特征在于,還包括以下步驟步驟c,標(biāo)簽交換路由器從所述組播路由管理模塊接收關(guān)于所述組播轉(zhuǎn)發(fā)等價類條目的增加、更新或刪除信息;以及步驟d,標(biāo)簽交換路由器從其他標(biāo)簽交換路由器鄰居接收關(guān)于所述組播轉(zhuǎn)發(fā)等價類條目的增加、更新或刪除信息;以及步驟e,根據(jù)所述增加、更新或刪除信息,完成所述組插-轉(zhuǎn)發(fā)等價類條目的增加、更新或刪除。4.根據(jù)權(quán)利要求3所述的建立方法,其特征在于,所述增加、更新或刪除信息包括以下至少一種新的組播轉(zhuǎn)發(fā)等價類;組播轉(zhuǎn)發(fā)等價類上一跳改變;組播轉(zhuǎn)發(fā)等價類出接口發(fā)生變化;組播轉(zhuǎn)發(fā)等價類被刪除;會話建立成功;會話中斷;;險測到本地標(biāo)簽資源可得;標(biāo)簽映射消息;標(biāo)簽釋放消息;標(biāo)簽撤銷消息。5.根據(jù)權(quán)利要求4所述的建立方法,其特征在于,針對所述增加、更新或刪除信息是新的組播轉(zhuǎn)發(fā)等價類;組播轉(zhuǎn)發(fā)等價類上一跳改變;組播轉(zhuǎn)發(fā)等價類出接口發(fā)生變化;組播轉(zhuǎn)發(fā)等價類被刪除;會話建立成功;會話中斷;檢測到本地標(biāo)簽資源可得;標(biāo)簽映射消息;標(biāo)簽釋放消息;標(biāo)簽撤銷消息中的哪一種,進行相應(yīng)的處理。6.根據(jù)權(quán)利要求1所述的建立方法,其特征在于,還包括以下步驟步驟f,標(biāo)簽交換路由器獲取所述組播轉(zhuǎn)發(fā)等價類條目的相關(guān)入標(biāo)簽和出標(biāo)簽;以及步驟g,以所述相關(guān)入標(biāo)簽和出標(biāo)簽進行管理和形成標(biāo)簽交換路徑標(biāo)簽轉(zhuǎn)發(fā)條目。7.根據(jù)權(quán)利要求1所述的建立方法,其特征在于,還包括以下步驟將生成的所述組播轉(zhuǎn)發(fā)等價類條目發(fā)送給多協(xié)議標(biāo)簽交換標(biāo)簽轉(zhuǎn)發(fā)表保存。8.4艮據(jù)^L利要求1所述的建立方法,其特征在于,利用所述標(biāo)簽交換路由器中的組播轉(zhuǎn)發(fā)等價類生成和管理模塊來執(zhí)行所述步驟a、b和c。9.根據(jù)權(quán)利要求3所述的建立方法,其特征在于,利用所述標(biāo)簽交換路由器中的標(biāo)簽分發(fā)協(xié)議消息發(fā)送和接收模塊來執(zhí)行所述步驟d,利用所述標(biāo)簽交換路由器中的標(biāo)簽分發(fā)協(xié)議消息處理才莫塊來4丸^f于所述步驟e。10.根據(jù)權(quán)利要求6所述的建立方法,其特征在于,利用所述標(biāo)簽交換路由器中的組播轉(zhuǎn)發(fā)等價類生成和管理模塊來執(zhí)行所述步驟f和g。全文摘要本發(fā)明提供了一種多協(xié)議標(biāo)簽交換網(wǎng)絡(luò)中組播樹的建立方法,包括以下步驟LSR從組播路由管理模塊中的MRT獲取組播路由拓?fù)湫畔?;以及利用組播路由拓?fù)湫畔⑸山M播FEC條目,以創(chuàng)建多協(xié)議標(biāo)簽交換網(wǎng)絡(luò)中的組播樹。文檔編號H04L12/56GK101207560SQ20061016832公開日2008年6月25日申請日期2006年12月18日優(yōu)先權(quán)日2006年12月18日發(fā)明者軍馮,金利忠申請人:中興通訊股份有限公司