本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種組播報(bào)文轉(zhuǎn)發(fā)方法及裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)的部署可控性越來(lái)越強(qiáng),控制復(fù)雜度也隨之越來(lái)越高。尤其是像核心網(wǎng)絡(luò)以及匯聚網(wǎng)絡(luò)這樣的中間網(wǎng)絡(luò),為了適配不同的業(yè)務(wù),滿足不同的部署需求,控制手段越來(lái)越繁雜。尤其是組播應(yīng)用IPTV(Internet Protocol Television,互聯(lián)網(wǎng)協(xié)議電視)等,需要的中間網(wǎng)絡(luò)節(jié)點(diǎn)維護(hù)的PIM(Protocol Independent Multicast,協(xié)議無(wú)關(guān)組播)協(xié)議狀態(tài)數(shù)量呈指數(shù)級(jí)增長(zhǎng)。BIER(Bit Indexed Explicit Replication,位索引顯式復(fù)制)技術(shù),能極大的減輕中間網(wǎng)絡(luò)的協(xié)議復(fù)雜度和中間狀態(tài),能夠非常容易的實(shí)現(xiàn)組播流量在中間網(wǎng)絡(luò)的傳輸,無(wú)需中間網(wǎng)絡(luò)記錄任何的組播流量狀態(tài),極大的簡(jiǎn)化了網(wǎng)絡(luò)的運(yùn)維。
在BIER域內(nèi),每個(gè)邊界設(shè)備都有一個(gè)位索引,位索引不能重復(fù),通過(guò)OSPF(Open Shortest Path First,開放式最短路徑優(yōu)先)或IS-IS(Intermediate System-to-Intermediate System,中間系統(tǒng)到中間系統(tǒng))把每臺(tái)設(shè)備的位索引通告出來(lái),OSPF或IS-IS路由計(jì)算時(shí),計(jì)算出位索引路由表。在計(jì)算位索引路由表時(shí),針對(duì)相同下一跳的位索引進(jìn)行相加,得到合并后的位索引路由。BIER轉(zhuǎn)發(fā)時(shí),把組播組映射到位索引中,位索引可能對(duì)應(yīng)多個(gè)設(shè)備的位索引相加后的結(jié)果,這樣通過(guò)BIER實(shí)現(xiàn)組播路由的無(wú)狀態(tài)轉(zhuǎn)發(fā),不需要通過(guò)組播路由協(xié)議來(lái)維護(hù)組播轉(zhuǎn)發(fā)表。
然而實(shí)踐發(fā)現(xiàn),現(xiàn)有BIER網(wǎng)絡(luò)中,為了實(shí)現(xiàn)組播報(bào)文轉(zhuǎn)發(fā),需要將組播組地址與位索引的映射關(guān)系泛洪到BIER網(wǎng)絡(luò)內(nèi)的所有設(shè)備。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種組播報(bào)文轉(zhuǎn)發(fā)方法及裝置,以解決現(xiàn)有BIER網(wǎng)絡(luò)中為了實(shí)現(xiàn)組播報(bào)文轉(zhuǎn)發(fā),需要將組播組地址與位索引的映射關(guān)系泛洪到BIER網(wǎng)絡(luò)內(nèi)的所有設(shè)備的問(wèn)題。
根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種組播報(bào)文轉(zhuǎn)發(fā)方法,包括:
接收第一邊緣設(shè)備XTR發(fā)送的注冊(cè)報(bào)文,所述注冊(cè)報(bào)文攜帶有第一組播組地址以及第一位索引;
根據(jù)所述注冊(cè)報(bào)文中攜帶的第一組播組地址以及第一位索引,維護(hù)組播組地址與位索引的映射關(guān)系;
當(dāng)接收到第二XTR發(fā)送的位索引請(qǐng)求報(bào)文時(shí),根據(jù)所述位索引請(qǐng)求報(bào)文中攜帶的第二組播組地址查詢自身維護(hù)的組播組地址與位索引的映射關(guān)系;
將查詢到的所述第二組播組地址映射的位索引發(fā)送給所述第二XTR,以使所述第二XTR根據(jù)所述第二組播組地址映射的位索引進(jìn)行組播報(bào)文轉(zhuǎn)發(fā)。
根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種組播報(bào)文轉(zhuǎn)發(fā)方法,包括:
當(dāng)接收組播報(bào)文時(shí),獲取所述組播報(bào)文中攜帶的組播組地址;
判斷自身是否存儲(chǔ)有所述組播組地址映射的位索引信息;
若自身存儲(chǔ)有該組播組地址映射的位索引信息,則根據(jù)自身存儲(chǔ)的所述組播組地址映射的位索引信息對(duì)所述組播報(bào)文進(jìn)行轉(zhuǎn)發(fā);
若自身未存儲(chǔ)有該組播組地址映射的位索引信息,則向映射服務(wù)器MS發(fā)送針對(duì)所述組播組地址的位索引請(qǐng)求報(bào)文;
接收所述MS發(fā)送的所述組播組地址映射的位索引,并根據(jù)接收到的位索引對(duì)所述組播報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
根據(jù)本發(fā)明實(shí)施例的第三方面,提供一種組播報(bào)文轉(zhuǎn)發(fā)裝置,應(yīng)用于映射服務(wù)器MS,該裝置包括:
接收單元,用于接收第一邊緣設(shè)備XTR發(fā)送的注冊(cè)報(bào)文,所述注冊(cè)報(bào)文攜帶有第一組播組地址以及第一位索引;
維護(hù)單元,用于根據(jù)所述注冊(cè)報(bào)文中攜帶的第一組播組地址以及第一位索引,維護(hù)組播組地址與位索引的映射關(guān)系;
查詢單元,用于當(dāng)所述接收單元接收到第二XTR發(fā)送的位索引請(qǐng)求報(bào)文時(shí),根據(jù)所述位索引請(qǐng)求報(bào)文中攜帶的第二組播組地址查詢所述MS維護(hù)的組播組地址與位索引的映射關(guān)系;
發(fā)送單元,用于將查詢到的所述第二組播組地址映射的位索引發(fā)送給所述第二XTR,以使所述第二XTR根據(jù)所述第二組播組地址映射的位索引進(jìn)行組播報(bào)文轉(zhuǎn)發(fā)。
根據(jù)本發(fā)明實(shí)施例的第四方面,提供一種組播報(bào)文轉(zhuǎn)發(fā)裝置,應(yīng)用于邊緣設(shè)備XTR,該裝置包括:
接收單元,用于接收組播報(bào)文;
獲取單元,用于當(dāng)所述接收單元接收到組播報(bào)文時(shí),獲取所述組播報(bào)文中攜帶的組播組地址;
判斷單元,用于判斷所述XTR是否存儲(chǔ)有所述組播組地址映射的位索引信息;
發(fā)送單元,用于若未存儲(chǔ),向映射服務(wù)器MS發(fā)送針對(duì)所述組播組地址的位索引請(qǐng)求報(bào)文;
所述接收單元,還用于接收所述MS發(fā)送的所述組播組地址映射的位索引;
所述發(fā)送單元,還用于根據(jù)所述接收單元接收到的位索引對(duì)所述組播報(bào)文進(jìn)行轉(zhuǎn)發(fā);
所述發(fā)送單元,還用于若所述XTR存儲(chǔ)有該組播組地址映射的位索引信息,根據(jù)所述XTR存儲(chǔ)的所述組播組地址映射的位索引信息對(duì)所述組播報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
應(yīng)用本發(fā)明實(shí)施例,當(dāng)接收到第一XTR發(fā)送的注冊(cè)報(bào)文時(shí),根據(jù)注冊(cè)報(bào)文中攜帶的第一組播組地址以及第一位索引,維護(hù)組播組地址與位索引的映射關(guān)系,當(dāng)接收到第二XTR發(fā)送的位索引請(qǐng)求報(bào)文時(shí),根據(jù)該位索引請(qǐng)求報(bào)文中攜帶的第二組播組地址查詢自身維護(hù)的組播組地址與位索引的映射關(guān)系,并將查詢到的第二組播組地址映射的位索引發(fā)送給第二XTR,以使第二XTR根據(jù)第二組播組地址映射的位索引進(jìn)行組播報(bào)文轉(zhuǎn)發(fā),通過(guò)將LISP協(xié)議應(yīng)用到BIER網(wǎng)絡(luò)中,避免了組播組地址與位索引的映射關(guān)系泛洪到BIER網(wǎng)絡(luò)內(nèi)的所有設(shè)備,簡(jiǎn)化了BIER網(wǎng)絡(luò)的部署。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例提供的一種組播報(bào)文轉(zhuǎn)發(fā)方法的流程示意圖;
圖2是本發(fā)明實(shí)施例提供的一種組播報(bào)文轉(zhuǎn)發(fā)方法的流程示意圖;
圖3是本發(fā)明實(shí)施例提供的一種具體應(yīng)用場(chǎng)景的架構(gòu)示意圖;
圖4是本發(fā)明實(shí)施例提供的一種組播報(bào)文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖;
圖5是本發(fā)明實(shí)施例提供的另一種組播報(bào)文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖;
圖6是本發(fā)明實(shí)施例提供的另一種組播報(bào)文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖;
圖7是本發(fā)明實(shí)施例提供的一種組播報(bào)文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖;
圖8是本發(fā)明實(shí)施例提供的另一種組播報(bào)文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說(shuō)明。
請(qǐng)參見圖1,圖1為本發(fā)明實(shí)施提供的一種組播報(bào)文轉(zhuǎn)發(fā)方法的流程示意圖,如圖1所示,該組播報(bào)文轉(zhuǎn)發(fā)方法可以包括以下步驟:
需要說(shuō)明的是,在本發(fā)明實(shí)施例中,步驟101~步驟104的執(zhí)行主體可以為應(yīng)用了LISP協(xié)議的BIER網(wǎng)絡(luò)中的MS(Map Server,映射服務(wù)器)或MS的處理器,如CPU(Center Process Unit,中央處理單元),為便于描述,以下以步驟101~步驟104的執(zhí)行主體為MS為例。
步驟101、接收第一XTR發(fā)送的注冊(cè)報(bào)文,該注冊(cè)報(bào)文攜帶有第一組播組地址以及第一位索引。
本發(fā)明實(shí)施例中,第一XTR(Egress/Ingress Tunnel Router,出口/入口隧道路由器,統(tǒng)稱為邊緣設(shè)備)并不特指某一固定的XTR,而是可以指代LISP網(wǎng)絡(luò)中任一XTR。
本發(fā)明實(shí)施例中,當(dāng)?shù)谝籜TR感知到本地主機(jī)中存在組播組接收者,如第一XTR通過(guò)IGMP(Internet Group Management Protocol,互聯(lián)網(wǎng)組管理協(xié)議)協(xié)議感知到本地主機(jī)中存在組播組接收者時(shí),第一XTR可以向MS發(fā)送注冊(cè)報(bào)文,該注冊(cè)報(bào)文中可以攜帶組播組地址(即本地主機(jī)中包括的組播組接收者對(duì)應(yīng)的組播組地址,本文中稱為第一組播組地址)以及位索引(第一XTR的位索引,本文中稱為第一位索引)。
例如,第一XTR可以以組播組地址為EID(Endpoint Identifiers,終端標(biāo)識(shí)),位索引為RLOC(Routing Locator,路由位置)向MS發(fā)起注冊(cè)。
作為一種可選的實(shí)施方式,在本發(fā)明實(shí)施例中,為了使MS能夠區(qū)分本發(fā)明實(shí)施例中攜帶組播組地址與位索引的注冊(cè)報(bào)文和現(xiàn)有注冊(cè)報(bào)文(即現(xiàn)有LISP協(xié)議中的注冊(cè)報(bào)文),可以對(duì)LISP協(xié)議中的EID的地址簇進(jìn)行擴(kuò)展,新增一種EID的地址簇(可以稱為BIER地址簇),當(dāng)MS接收到注冊(cè)報(bào)文時(shí),MS可以提取該注冊(cè)報(bào)文中的EID的地址簇,并判斷EID的地址簇是否為擴(kuò)展的BIER地址簇,若是,則執(zhí)行步驟102;否則,按現(xiàn)有協(xié)議中的處理方式進(jìn)行處理。
值得說(shuō)明的是,若未特殊說(shuō)明,下文中提及的注冊(cè)報(bào)文的EID的地址簇均為擴(kuò)展的BIER地址簇。
步驟102、根據(jù)接收到的注冊(cè)報(bào)文中攜帶的第一組播組地址以及第一位索引,維護(hù)組播組與位索引的映射關(guān)系。
本發(fā)明實(shí)施例中,MS接收到第一XTR發(fā)送的注冊(cè)報(bào)文時(shí),可以獲取該注冊(cè)報(bào)文中攜帶的第一組播組地址以及第一位索引,并根據(jù)該注冊(cè)報(bào)文中攜帶的第一組播組地址以及第一位索引維護(hù)組播組地址與位索引的映射關(guān)系。
作為一種可選的實(shí)施方式,上述步驟102中,根據(jù)注冊(cè)報(bào)文中攜帶的第一組播組地址以及第一位索引,維護(hù)組播組地址與位索引的映射關(guān)系,可以包括以下步驟:
11)、查詢自身存儲(chǔ)的組播組地址與位索引的映射關(guān)系是否存在第一組播組地址;
12)、若存在,則更新自身存儲(chǔ)的第一組播組地址映射的位索引信息;
13)、若不存在,則存儲(chǔ)該第一組播組地址與第一位索引的映射關(guān)系。
在該實(shí)施方式中,MS獲取到接收到的注冊(cè)報(bào)文中攜帶的第一組播組地址與第一位索引之后,可以查詢自身存儲(chǔ)的組播組地址與位索引的映射關(guān)系,判斷自身存儲(chǔ)的組播組地址與位索引的映射關(guān)系中是否存在第一組播組地址,即是否存儲(chǔ)有第一組播組地址與位索引的映射關(guān)系。其中,MS存儲(chǔ)的組播組地址與位索引的映射關(guān)系可以存儲(chǔ)在本地,也可以存儲(chǔ)在其它的存儲(chǔ)設(shè)備中,如存儲(chǔ)在專門的數(shù)據(jù)庫(kù)中。
若MS存儲(chǔ)的組播組地址與位索引的映射關(guān)系中存在第一組播組地址,則MS可以根據(jù)注冊(cè)報(bào)文中攜帶的第一組播組地址與第一位索引更新自身存儲(chǔ)的第一組播組地址映射的索引信息;
若MS存儲(chǔ)的組播組地址與位索引的映射關(guān)系中不存在第一組播組地址,則MS可以存儲(chǔ)該第一組播組地址與第一索引的映射關(guān)系,并啟動(dòng)對(duì)應(yīng)的老化定時(shí)器。
作為一種可選的實(shí)施方式,上述步驟12)中,更新自身存儲(chǔ)的第一組播組地址映射的位索引信息,可以包括以下步驟:
121)、查詢自身存儲(chǔ)的第一組播組地址映射的位索引是否包括第一位索引;
122)、若包括,則更新自身存儲(chǔ)的第一組播組地址與第一位索引的映射關(guān)系對(duì)應(yīng)的老化定時(shí)器;
123)、若不包括,則在自身存儲(chǔ)的第一組播組地址映射的位索引中增加第一位索引,并啟動(dòng)對(duì)應(yīng)的老化定時(shí)器。
在該實(shí)施方式中,當(dāng)MS查詢到自身存儲(chǔ)的組播組地址與位索引的映射關(guān)系中存在第一組播組地址時(shí),MS可以進(jìn)一步查詢自身存儲(chǔ)的第一組播組地址映射的位索引是否包括第一位索引,即查詢自身是否存儲(chǔ)有第一組播組地址與第一索引的映射關(guān)系。
若包括,即MS自身已經(jīng)存儲(chǔ)了第一組播組與第一索引的映射關(guān)系,則MS可以更新自身存儲(chǔ)的第一組播組地址與第一位索引的映射關(guān)系對(duì)應(yīng)的老化定時(shí)器,即重置該老化定時(shí)器;
若不包括,即MS自身未存儲(chǔ)第一組播組與第一索引的映射關(guān)系,則MS可以在自身存儲(chǔ)的第一組播組地址映射的位索引中增加第一位索引,并啟動(dòng)對(duì)應(yīng)的老化定時(shí)器。
作為一種可選的實(shí)施方式,在本發(fā)明實(shí)施例中,MS接收到注冊(cè)報(bào)文,并根據(jù)注冊(cè)報(bào)文中攜帶的組播組地址以及位索引維護(hù)組播組地址以及位索引的映射關(guān)系時(shí),還可以對(duì)應(yīng)組播組地址以及位索引的映射關(guān)系存儲(chǔ)注冊(cè)報(bào)文的源地址(即發(fā)送給注冊(cè)報(bào)文的XTR的IP地址)。
相應(yīng)地,當(dāng)MS根據(jù)接收到的注冊(cè)報(bào)文中攜帶的組播組地址在自身維護(hù)的組播組地址與位索引的映射關(guān)系中,查找到了該注冊(cè)報(bào)文中攜帶的組播組地址映射的位索引時(shí),MS可以根據(jù)注冊(cè)報(bào)文的源地址查詢?cè)摻M播組地址(即注冊(cè)報(bào)文中攜帶的組播組地址)映射的位索引信息,確定是否存在該源地址的位索引信息;若存在,則根據(jù)該注冊(cè)報(bào)文中攜帶的位索引更新自身存儲(chǔ)的該源地址的位索引信息(若相同,則不變;若不同,則將自身存儲(chǔ)的該源地址的位索引更新為注冊(cè)報(bào)文中攜帶的位索引),并更新對(duì)應(yīng)的老化定時(shí)器;若不存在,則新增該組播組地址映射的位索引信息,記錄對(duì)應(yīng)的源地址,并啟動(dòng)對(duì)應(yīng)的老化定時(shí)器。
步驟103、當(dāng)接收到第二XTR發(fā)送的位索引請(qǐng)求報(bào)文時(shí),根據(jù)該位索引請(qǐng)求報(bào)文中攜帶的第二組播組地址查詢自身維護(hù)的組播組與位索引的映射關(guān)系。
本發(fā)明實(shí)施例中,第二XTR并不特指某一固定的XTR,而是可以指代LISP網(wǎng)絡(luò)中的任一XTR;其中,第一XTR與第二XTR可以是同一XTR(針對(duì)不同組播組),也可以是不同XTR。
本發(fā)明實(shí)施例中,當(dāng)?shù)诙TR接收到組播報(bào)文,且確定自身未存儲(chǔ)該組播報(bào)文所屬組播組的組播組地址映射的位索引信息時(shí),第二XTR可以向MS發(fā)送位索引請(qǐng)求報(bào)文,該位索引請(qǐng)求報(bào)文中攜帶有該組播報(bào)文所屬的組播組的組播組地址。
MS接收到第二XTR發(fā)送的位索引請(qǐng)求報(bào)文時(shí),MS可以獲取該位索引請(qǐng)求報(bào)文中攜帶的組播組地址(本文中稱為第二組播組地址),并根據(jù)該組播組地址信息查詢自身維護(hù)的組播組地址與位索引的映射關(guān)系,以確定第二組播組地址對(duì)應(yīng)的位索引信息。
步驟104、將查詢到的第二組播組地址映射的位索引發(fā)送給第二XTR,以使第二XTR根據(jù)第二組播組地址映射的位索引進(jìn)行組播報(bào)文轉(zhuǎn)發(fā)。
本發(fā)明實(shí)施例中,MS查詢到第二組播組地址映射的位索引之后,可以將該第二組播組地址映射的位索引發(fā)送給第二XTR;第二XTR接收到第二組播組地址映射的位索引時(shí),可以根據(jù)接收到的第二組播組地址映射的位索引進(jìn)行組播報(bào)文轉(zhuǎn)發(fā)。其中,XTR根據(jù)位索引進(jìn)行組播報(bào)文轉(zhuǎn)發(fā)的實(shí)現(xiàn)可以參見圖2所示方法流程中的相關(guān)描述,本發(fā)明實(shí)施例在此不做贅述。
作為一種可選的實(shí)施方式,上述步驟104中,將查詢到的第二組播組地址映射的位索引發(fā)送給第二XTR,可以包括:
當(dāng)查詢到的第二組播組地址映射的位索引為多個(gè)時(shí),將第二組播組地址映射的多個(gè)位索引相加后的結(jié)果發(fā)送給第二XTR。
在該實(shí)施方式中,當(dāng)MS查詢到自身存儲(chǔ)的組播組地址與位索引的映射關(guān)系中,第二組播組地址映射的位索引為多個(gè)時(shí),即第二組播組地址映射了多個(gè)位索引,MS可以將該多個(gè)位索引相加后的結(jié)果發(fā)送給第二XTR。
舉例來(lái)說(shuō),假設(shè)MS查詢到第二組播組地址映射的位索引包括:0001、0010以及0100,則MS發(fā)送給第二XTR的位索引信息可以為0111(0001+0010+0100)。
進(jìn)一步地,在本發(fā)明實(shí)施例中,考慮到組播報(bào)文的轉(zhuǎn)發(fā)過(guò)程中,組播組中可能會(huì)有新的組播接收者加入,相應(yīng)地,組播組地址與位索引的映射關(guān)系也可能發(fā)生變化,此時(shí),MS需要通知請(qǐng)求過(guò)該組播組地址映射的索引信息的XTR,以便其能及時(shí)更新組播組地址與位索引的映射關(guān)系,保證新加入的組播接收者也能接收到組播報(bào)文。
相應(yīng)地,作為一種可選的實(shí)施方式,本發(fā)明實(shí)施例提供的組播報(bào)文轉(zhuǎn)發(fā)方法還可以包括:
當(dāng)自身存儲(chǔ)的組播組值與位索引的映射關(guān)系中任一組播組地址映射的位索引發(fā)生變化時(shí),根據(jù)自身記錄的請(qǐng)求過(guò)該組播組地址映射的位索引的XTR的信息,向請(qǐng)求過(guò)該組播組地址映射的位索引的XTR發(fā)送變化后的該組播組地址與位索引的映射關(guān)系。
在該實(shí)施方式中,MS可以監(jiān)測(cè)自身存儲(chǔ)的組播組地址與位索引的映射關(guān)系是否發(fā)生變化,例如,MS可以定時(shí)或周期性(該周期可以根據(jù)實(shí)際場(chǎng)景設(shè)定)監(jiān)測(cè)自身存儲(chǔ)的組播組地址與位索引的映射關(guān)系是否發(fā)生變化,或者M(jìn)S可以每次在接收到注冊(cè)報(bào)文時(shí),判斷該注冊(cè)報(bào)文是否會(huì)引起自身存儲(chǔ)的組播組地址與位索引的映射關(guān)系發(fā)生變化。
當(dāng)MS監(jiān)測(cè)到自身存儲(chǔ)的組播組地址與位索引的映射關(guān)系中任一組播組地址映射的位索引發(fā)生變化時(shí),MS可以根據(jù)自身記錄的請(qǐng)求過(guò)該組播組地址映射的位索引的XTR的信息,向請(qǐng)求過(guò)該組播組地址映射的位索引的XTR發(fā)生變化后的該組播組地址與位索引的映射關(guān)系,從而,該XTR可以根據(jù)該變化后的組播組地址與位索引的映射關(guān)系進(jìn)行組播報(bào)文的轉(zhuǎn)發(fā)。
其中,為了實(shí)現(xiàn)上述目的,在該實(shí)施方式中,當(dāng)MS接收到XTR發(fā)送的位索引請(qǐng)求報(bào)文時(shí),MS需要記錄發(fā)送該位索引請(qǐng)求報(bào)文的XTR的信息(如該索引請(qǐng)求報(bào)文的源IP地址)以及該索引請(qǐng)求報(bào)文中攜帶的組播組地址,以便該XTR請(qǐng)求的組播組地址映射的位索引發(fā)生變化時(shí),MS能及時(shí)通知該XTR。
舉例來(lái)說(shuō),假設(shè)MS監(jiān)測(cè)到組播組地址1映射的位索引由0001變?yōu)?001和0010,且MS記錄的請(qǐng)求過(guò)組播組地址1映射的位索引的XTR為XTR1,則MS可以向XTR發(fā)送變化后的組播組地址1與位索引的映射關(guān)系(即組播組地址1-0011(0001+0010=0011))。
請(qǐng)參見圖2,圖2為本發(fā)明實(shí)施提供的一種組播報(bào)文轉(zhuǎn)發(fā)方法的流程示意圖,如圖2所示,該組播報(bào)文轉(zhuǎn)發(fā)方法可以包括以下步驟:
需要說(shuō)明的是,在本發(fā)明實(shí)施例中,步驟201~步驟205的執(zhí)行主體可以為應(yīng)用了LISP協(xié)議的BIER網(wǎng)絡(luò)中的XTR或XTR的處理器,如CPU,為便于描述,以下以步驟201~步驟205的執(zhí)行主體為XTR為例。
步驟201、當(dāng)接收到組播報(bào)文時(shí),獲取組播報(bào)文中攜帶的組播組地址。
步驟202、判斷自身是否存儲(chǔ)有組播組地址映射的位索引信息。若是,轉(zhuǎn)至步驟205;否則,轉(zhuǎn)至步驟203。
本發(fā)明實(shí)施例中,當(dāng)XTR接收到組播報(bào)文時(shí),XTR可以獲取該組播報(bào)文中的組播組地址,并根據(jù)該組播組地址查詢自身存儲(chǔ)的組播組地址與位索引的映射關(guān)系,判斷自身是否存儲(chǔ)有該組播組地址映射的位索引信息。
步驟203、向MS發(fā)送針對(duì)該組播組地址的位索引請(qǐng)求報(bào)文。
本發(fā)明實(shí)施例中,當(dāng)XTR確定自身未存儲(chǔ)有接收到的組播報(bào)文中攜帶的組播組地址映射的索引信息時(shí),XTR可以向MS發(fā)送位索引請(qǐng)求報(bào)文,該位索引請(qǐng)求報(bào)文中需要攜帶XTR接收到的組播報(bào)文中攜帶的組播組地址。
MS接收到XTR發(fā)送的位索引請(qǐng)求報(bào)文后的處理方式可以參見圖1所示方法流程中的相關(guān)描述,本發(fā)明實(shí)施例在此不再贅述。
步驟204、接收MS發(fā)送的組播組地址映射的位索引,并根據(jù)接收到的位索引對(duì)組播報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
本發(fā)明實(shí)施例中,當(dāng)XTR接收到MS發(fā)送的組播組地址映射的位索引時(shí),XTR可以根據(jù)接收到的位索引對(duì)組播報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
具體地,XTR可以根據(jù)接收到的位索引查找位索引轉(zhuǎn)發(fā)表,并根據(jù)查找到的轉(zhuǎn)發(fā)表項(xiàng),對(duì)組播報(bào)文進(jìn)行BIER頭封裝,并將封裝后的報(bào)文進(jìn)行轉(zhuǎn)發(fā),之后,該組播報(bào)文經(jīng)BIER轉(zhuǎn)發(fā),在轉(zhuǎn)發(fā)路徑中,根據(jù)位索引轉(zhuǎn)發(fā)表進(jìn)行報(bào)文復(fù)制,最終達(dá)到各接收設(shè)備(各組播接收者接入的XTR);接收設(shè)備接收到報(bào)文后,去掉報(bào)文的BIER頭,并根據(jù)組播IP將報(bào)文轉(zhuǎn)發(fā)給對(duì)應(yīng)的主機(jī)。
步驟205、根據(jù)自身存儲(chǔ)的組播組地址映射的位索引信息對(duì)組播報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
本發(fā)明實(shí)施例中,若XTR查詢到本地存儲(chǔ)有接收到的組播報(bào)文中攜帶的組播組地址映射的位索引信息,則XTR可以根據(jù)自身存儲(chǔ)的該組播組地址映射的位索引信息對(duì)組播報(bào)文進(jìn)行轉(zhuǎn)發(fā),其具體實(shí)現(xiàn)可以參見步驟204中的相關(guān)描述,本發(fā)明實(shí)施例在此不再贅述。
進(jìn)一步地,在本發(fā)明實(shí)施例中,當(dāng)XTR接收到MS發(fā)送的組播組地址與位索引的映射關(guān)系時(shí),XTR可以根據(jù)該組播組地址(即接收到的該組播組地址與位索引的映射關(guān)系中包括的組播組地址)查詢本地是否存儲(chǔ)有該組播組地址映射的位索引信息;若本地存儲(chǔ)有該組播組地址映射的位索引信息,則將本地存儲(chǔ)的該組播組地址映射的位索引信息更新為接收到的該映射關(guān)系中包括的位索引。
進(jìn)一步地,在本發(fā)明實(shí)施例中,當(dāng)XTR接收到IGMP加入報(bào)文(即本站下有主機(jī)請(qǐng)求加入組播組)時(shí),XTR可以向MS發(fā)送注冊(cè)報(bào)文,該注冊(cè)報(bào)文中的EID的地址簇為擴(kuò)展的BIER地址簇,該注冊(cè)報(bào)文中攜帶有IGMP加入報(bào)文請(qǐng)求加入的組播組地址,以及自身(即XTR)的位索引,以使MS根據(jù)該注冊(cè)報(bào)文中攜帶的組播組地址以及位索引維護(hù)組播組地址與位索引的映射關(guān)系,其具體實(shí)現(xiàn)可以參見圖1所示方法流程中的相關(guān)描述,本發(fā)明實(shí)施例在此不再贅述。
可見,在圖1和圖2所示的方法流程中,通過(guò)將LISP協(xié)議應(yīng)用到BIER技術(shù)中,并通過(guò)LISP協(xié)議的MAP映射來(lái)動(dòng)態(tài)查找組播組地址與位索引的映射關(guān)系,與通過(guò)擴(kuò)展IGP(Interior Gateway Protocol,內(nèi)部網(wǎng)關(guān)協(xié)議)協(xié)議來(lái)攜帶組播組地址與位索引的映射關(guān)系的實(shí)現(xiàn)相比,組播組地址與位索引的映射關(guān)系不需要泛洪到BIER網(wǎng)絡(luò)內(nèi)的所有設(shè)備,而需要存儲(chǔ)在MS以及組播流量入口,簡(jiǎn)化了BIER網(wǎng)絡(luò)的部署。
為了使本領(lǐng)域人員更好地理解本發(fā)明實(shí)施例提供的技術(shù)方案,下面結(jié)合具體的應(yīng)用場(chǎng)景對(duì)本發(fā)明實(shí)施例提供的技術(shù)方案進(jìn)行描述。
請(qǐng)參見圖3,為本發(fā)明實(shí)施例提供的一種具體應(yīng)用場(chǎng)景的架構(gòu)示意圖,如圖3所示,該應(yīng)用場(chǎng)景中組播源IP地址為:100.1.1.1,組播組地址為225.1.0.1,主機(jī)1和主機(jī)2的IP地址分別為:2.2.2.2和3.3.3.3,MR(MapResolver,映射解析器)/MS部署在同一臺(tái)設(shè)備,IP地址為10.10.10.10,XTR2上環(huán)回地址為:10.1.1.1/32,位索引為1(0001),XTR3上環(huán)回地址為:20.1.1.1/32,位索引為2(0010),XTR1為組播入口設(shè)備。
基于該應(yīng)用場(chǎng)景,本發(fā)明實(shí)施例提供的組播報(bào)文轉(zhuǎn)發(fā)實(shí)現(xiàn)如下:
1、主機(jī)1(IP地址:2.2.2.2)需要接收組播組地址為225.1.0.1的報(bào)文,發(fā)送IGMP加入報(bào)文;
2、XTR2感知到IGMP加入報(bào)文后,向MS注冊(cè)組播組地址與自身位索引的映射關(guān)系,即注冊(cè):
EID:組播組地址:225.1.0.1;
RLOC:設(shè)備位索引:1;
3、主機(jī)2(IP地址:3.3.3.3)需要接收組播組地址為225.1.0.1的報(bào)文,發(fā)送IGMP加入報(bào)文;
4、XTR3感知到IGMP加入報(bào)文后,向MS注冊(cè)組播組地址與自身位索引的映射關(guān)系,即注冊(cè):
EID:組播組地址:225.1.0.1;
RLOC:設(shè)備位索引:2;
5、MS接收注冊(cè)報(bào)文,保存注冊(cè)信息:
組播組地址:225.1.0.1;
1)、位索引:1;源地址:10.1.1.1;
2)、位索引2;源地址:20.1.1.1;
6、組播源100.1.1.1向組播組地址225.1.0.1發(fā)送組播報(bào)文;
7、XTR1接收到目的地址為225.1.0.1的組播報(bào)文后,查找225.1.0.1對(duì)應(yīng)的位索引信息,若未查找到,則向MS發(fā)送位索引請(qǐng)求報(bào)文,請(qǐng)求組播組地址225.1.0.1的組播組對(duì)應(yīng)的索引信息,并轉(zhuǎn)至步驟8;若查找到,則轉(zhuǎn)至步驟10;
8、MS接收到XTR1發(fā)送的位索引請(qǐng)求報(bào)文,查找本地BIER信息庫(kù),找到225.1.0.1對(duì)應(yīng)的位索引為:1(0001)和2(0010),則把這兩個(gè)位索引相加,得到位索引3(0011),返回EID:225.1.0.1,RLOC:0011;
9、XTR1接收到MS返回的組播組地址與位索引的映射關(guān)系,保存組播組地址與位索引的映射關(guān)系:225.1.0.1-0011;
10、查找位索引0011對(duì)應(yīng)的BIER轉(zhuǎn)發(fā)表,對(duì)每一個(gè)下一跳,復(fù)制一份組播報(bào)文,封裝BIER頭,轉(zhuǎn)發(fā)給下一跳設(shè)備,后續(xù)按照現(xiàn)有BIER技術(shù)進(jìn)行轉(zhuǎn)發(fā);
11、報(bào)文達(dá)到XTR2和XTR3,由XTR2和XTR3去掉BIER封裝后,轉(zhuǎn)發(fā)給主機(jī)2.2.2.2和3.3.3.3。
通過(guò)以上描述可知,在本發(fā)明實(shí)施例提供的技術(shù)方案中,當(dāng)接收到第一XTR發(fā)送的注冊(cè)報(bào)文時(shí),根據(jù)注冊(cè)報(bào)文中攜帶的第一組播組地址以及第一位索引,維護(hù)組播組地址與位索引的映射關(guān)系,當(dāng)接收到第二XTR發(fā)送的位索引請(qǐng)求報(bào)文時(shí),根據(jù)該位索引請(qǐng)求報(bào)文中攜帶的第二組播組地址查詢自身維護(hù)的組播組地址與位索引的映射關(guān)系,并將查詢到的第二組播組地址映射的位索引發(fā)送給第二XTR,以使第二XTR根據(jù)第二組播組地址映射的位索引進(jìn)行組播報(bào)文轉(zhuǎn)發(fā),通過(guò)將LISP協(xié)議應(yīng)用到BIER網(wǎng)絡(luò)中,避免了組播組地址與位索引的映射關(guān)系泛洪到BIER網(wǎng)絡(luò)內(nèi)的所有設(shè)備,簡(jiǎn)化了BIER網(wǎng)絡(luò)的部署。
請(qǐng)參見圖4,為本發(fā)明實(shí)施例提供的一種組播報(bào)文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖,其中,所述裝置可以應(yīng)用于上述方法實(shí)施例中的MS中,如圖4所示,該組播報(bào)文轉(zhuǎn)發(fā)裝置可以包括:
接收單元410,用于接收第一邊緣設(shè)備XTR發(fā)送的注冊(cè)報(bào)文,所述注冊(cè)報(bào)文攜帶有第一組播組地址以及第一位索引;
維護(hù)單元420,用于根據(jù)所述注冊(cè)報(bào)文中攜帶的第一組播組地址以及第一位索引,維護(hù)組播組地址與位索引的映射關(guān)系;
查詢單元430,用于當(dāng)所述接收單元410接收到第二XTR發(fā)送的位索引請(qǐng)求報(bào)文時(shí),根據(jù)所述位索引請(qǐng)求報(bào)文中攜帶的第二組播組地址查詢所述MS維護(hù)的組播組地址與位索引的映射關(guān)系;
發(fā)送單元440,用于將查詢到的所述第二組播組地址映射的位索引發(fā)送給所述第二XTR,以使所述第二XTR根據(jù)所述第二組播組地址映射的位索引進(jìn)行組播報(bào)文轉(zhuǎn)發(fā)。
請(qǐng)一并參閱圖5,為本發(fā)明實(shí)施例提供的另一種組播報(bào)文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖,在圖4所示組播報(bào)文轉(zhuǎn)發(fā)裝置的基礎(chǔ)上,圖5所示的組播報(bào)文轉(zhuǎn)發(fā)裝置中,所述維護(hù)單元420,可以包括:
查詢子單元421,用于查詢所述MS存儲(chǔ)的組播組地址與位索引的映射關(guān)系中是否存在所述第一組播組地址;
所述查詢子單元421,還用于若所述MS存儲(chǔ)的組播組地址與位索引的映射關(guān)系中存在所述第一組播組地址,則查詢所述MS存儲(chǔ)的所述第一組播組地址映射的位索引是否包括所述第一位索引;
更新子單元422,用于若包括,則更新所述MS存儲(chǔ)的所述第一組播組地址與所述第一位索引的映射關(guān)系對(duì)應(yīng)的老化定時(shí)器;若不包括,則在所述MS存儲(chǔ)的所述第一組播組地址映射的位索引中增加所述第一位索引,并通過(guò)所述啟動(dòng)子單元啟動(dòng)對(duì)應(yīng)的老化定時(shí)器;
存儲(chǔ)子單元423,用于若所述MS存儲(chǔ)的組播組地址與位索引的映射關(guān)系中不存在所述第一組播組地址,則存儲(chǔ)所述第一組播組地址與所述第一位索引的映射關(guān)系;
啟動(dòng)子單元424,用于啟動(dòng)對(duì)應(yīng)的老化定時(shí)器。
在可選實(shí)施例中,所述發(fā)送單元440,可以具體用于當(dāng)所述查詢單元430查詢到的所述第二組播組地址映射的位索引為多個(gè)時(shí),將所述第二組播組地址映射的多個(gè)位索引相加后的結(jié)果發(fā)送給所述第二XTR。
在可選實(shí)施例中,所述發(fā)送單元440,還可以用于當(dāng)所述MS存儲(chǔ)的組播組地址與位索引的映射關(guān)系中任一組播組地址映射的位索引發(fā)生變化時(shí),根據(jù)所述MS記錄的請(qǐng)求過(guò)該組播組地址映射的位索引的XTR的信息,向所述請(qǐng)求過(guò)該組播組地址映射的位索引的XTR發(fā)送變化后的該組播組地址與位索引的映射關(guān)系。
請(qǐng)一并參閱圖6,為本發(fā)明實(shí)施例提供的另一種組播報(bào)文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖,在圖4所示組播報(bào)文轉(zhuǎn)發(fā)裝置的基礎(chǔ)上,圖6所示的組播報(bào)文轉(zhuǎn)發(fā)裝置還可以包括:
判斷單元450,用于判斷所述接收單元410接收到的注冊(cè)報(bào)文中的終端標(biāo)識(shí)EID的地址簇是否為擴(kuò)展的位索引顯式復(fù)制BIER地址簇;
所述維護(hù)單元420,具體用于若所述判斷單元420的判斷結(jié)果為是,則根據(jù)所述注冊(cè)報(bào)文中攜帶的第一組播組地址以及第一位索引,維護(hù)組播組地址與位索引的映射關(guān)系。
請(qǐng)參見圖7,為本發(fā)明實(shí)施例提供的一種組播報(bào)文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖,其中,所述裝置可以應(yīng)用于圖2所示方法實(shí)施例中的XTR中,如圖7所示,該組播報(bào)文轉(zhuǎn)發(fā)裝置可以包括:
接收單元710,用于接收組播報(bào)文;
獲取單元720,用于當(dāng)所述接收單元710接收到組播報(bào)文時(shí),獲取所述組播報(bào)文中攜帶的組播組地址;
判斷單元730,用于判斷所述XTR是否存儲(chǔ)有所述組播組地址映射的位索引信息;
發(fā)送單元740,用于若未存儲(chǔ),向映射服務(wù)器MS發(fā)送針對(duì)所述組播組地址的位索引請(qǐng)求報(bào)文;
所述接收單元710,還用于接收所述MS發(fā)送的所述組播組地址映射的位索引;
所述發(fā)送單元740,還用于根據(jù)所述接收單元接收到的位索引對(duì)所述組播報(bào)文進(jìn)行轉(zhuǎn)發(fā);
所述發(fā)送單元740,還可以用于若所述XTR存儲(chǔ)有該組播組地址映射的位索引信息,根據(jù)所述XTR存儲(chǔ)的所述組播組地址映射的位索引信息對(duì)所述組播報(bào)文進(jìn)行轉(zhuǎn)發(fā)。
請(qǐng)一并參閱圖8,為本發(fā)明實(shí)施例提供的另一種組播報(bào)文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖,在圖7所示組播報(bào)文轉(zhuǎn)發(fā)裝置的基礎(chǔ)上,圖8所示的組播報(bào)文轉(zhuǎn)發(fā)裝置還可以包括:
查詢單元750,用于當(dāng)所述接收單元710接收到所述MS發(fā)送的組播組地址與位索引的映射關(guān)系時(shí),根據(jù)該組播組地址查詢本地是否存儲(chǔ)有該組播組地址映射的位索引信息;
更新單元760,用于若所述查詢單元750查詢到本地存儲(chǔ)有該組播組地址映射的位索引信息,則將本地存儲(chǔ)的該組播組地址映射的位索引信息更新為接收到的該映射關(guān)系中包括的位索引。
在可選實(shí)施例中,所述發(fā)送單元740,還可以用于當(dāng)所述接收單元710接收到IGMP加入報(bào)文時(shí),向所述MS發(fā)送注冊(cè)報(bào)文,所述注冊(cè)報(bào)文中的終端標(biāo)識(shí)EID的地址簇為擴(kuò)展的位索引顯式復(fù)制BIER地址簇,所述注冊(cè)報(bào)文中攜帶有所述IGMP加入報(bào)文請(qǐng)求加入的組播組地址,以及自身的位索引,以使所述MS根據(jù)所述注冊(cè)報(bào)文中攜帶的組播組地址以及位索引維護(hù)組播組地址與位索引的映射關(guān)系。
上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過(guò)程具體詳見上述方法中對(duì)應(yīng)步驟的實(shí)現(xiàn)過(guò)程,在此不再贅述。
對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本發(fā)明方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
由上述實(shí)施例可見,當(dāng)接收到第一XTR發(fā)送的注冊(cè)報(bào)文時(shí),根據(jù)注冊(cè)報(bào)文中攜帶的第一組播組地址以及第一位索引,維護(hù)組播組地址與位索引的映射關(guān)系,當(dāng)接收到第二XTR發(fā)送的位索引請(qǐng)求報(bào)文時(shí),根據(jù)該位索引請(qǐng)求報(bào)文中攜帶的第二組播組地址查詢自身維護(hù)的組播組地址與位索引的映射關(guān)系,并將查詢到的第二組播組地址映射的位索引發(fā)送給第二XTR,以使第二XTR根據(jù)第二組播組地址映射的位索引進(jìn)行組播報(bào)文轉(zhuǎn)發(fā),通過(guò)將LISP協(xié)議應(yīng)用到BIER網(wǎng)絡(luò)中,避免了組播組地址與位索引的映射關(guān)系泛洪到BIER網(wǎng)絡(luò)內(nèi)的所有設(shè)備,簡(jiǎn)化了BIER網(wǎng)絡(luò)的部署。
本領(lǐng)域技術(shù)人員在考慮說(shuō)明書及實(shí)踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說(shuō)明書和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來(lái)限制。