一種基于lisp的組播實現(xiàn)方法和設(shè)備的制作方法
【專利摘要】本發(fā)明公開了一種基于LISP的組播實現(xiàn)方法和設(shè)備,該方法包括:隧道路由器在使能BSR代理功能后,向MS發(fā)送注冊消息,所述注冊消息中攜帶所述隧道路由器已使能BSR代理功能的信息;所述隧道路由器在收到第一自舉報文時,將所述第一自舉報文發(fā)送給所述MS;所述隧道路由器接收所述MS轉(zhuǎn)發(fā)的來自其它隧道路由器的第二自舉報文,利用所述第二自舉報文中攜帶的地址信息生成第一(EID,RLOC)映射表。本發(fā)明實施例中,可以實現(xiàn)PIM?SM協(xié)議報文跨越LISP網(wǎng)絡(luò)的傳輸,在ITR/ETR不知道組播源地址的情況下實現(xiàn)LISP組播功能,并有效的支持LISP網(wǎng)絡(luò)。
【專利說明】—種基于LISP的組播實現(xiàn)方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其是一種基于LISP的組播實現(xiàn)方法和設(shè)備。
【背景技術(shù)】
[0002]如圖1 所不,為 LISP (Locat1n/ID Separat1n Protocol,位置與身份分離協(xié)議)網(wǎng)絡(luò)的組網(wǎng)示意圖,該LISP網(wǎng)絡(luò)會將網(wǎng)絡(luò)IP地址劃分成EID(Endpoint ID,末端標(biāo)識)和RLOC (Routing Locator,路由定位)。其中,LISP網(wǎng)絡(luò)中會引入EID-to-RLOC的映射關(guān)系,該EID用于標(biāo)識主機,不具備全局路由功能,且該RLOC用于全網(wǎng)路由。在LISP網(wǎng)絡(luò)中,IPv4或者IPv6主機僅標(biāo)識其ID,其位置由ITR(Ingress Tunnel Router,隧道入口路由器)/ETR(Egress Tunnel Router,隧道出口路由器)來標(biāo)識。LISP網(wǎng)絡(luò)中包括數(shù)據(jù)平面和控制平面,數(shù)據(jù)平面主要用于報文的封裝/解封裝和轉(zhuǎn)發(fā),控制平面主要完成EID和RLOC的映射。
[0003]在LISP網(wǎng)絡(luò)中,通過使用當(dāng)前的組播協(xié)議來實現(xiàn)LISP組播功能,其核心思想是:ITR將組播數(shù)據(jù)報文進行組播封裝,通過核心網(wǎng)傳輸?shù)紼TR進行解封裝,ETR將解封裝后的組播數(shù)據(jù)報文再進行傳輸。
[0004]現(xiàn)有技術(shù)中,為了在LISP網(wǎng)絡(luò)中實現(xiàn)LISP組播功能,ITR/ETR需要知道組播源地址,即需要知道組播源的(EID,RL0C)映射關(guān)系。但是,針對圖2所示的LISP網(wǎng)絡(luò)的組網(wǎng)示意圖,當(dāng)多個 LISP 網(wǎng)絡(luò)組成一個 PIM SM (Protocol Independent Multicast-Sparse Mode,稀疏模式協(xié)議無關(guān)組播)域時,ITR/ETR將無法獲知組播源的(EID,RL0C)映射關(guān)系,繼而無法實現(xiàn)LISP組播功能。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供一種基于LISP的組播實現(xiàn)方法和設(shè)備,以使ITR/ETR在不知道組播源地址的情況下實現(xiàn)LISP組播功能,并有效支持LISP網(wǎng)絡(luò)。
[0006]為了達(dá)到上述目的,本發(fā)明實施例提供一種基于LISP的組播實現(xiàn)方法,應(yīng)用于包括映射服務(wù)器MS和多個隧道路由器的網(wǎng)絡(luò)中,所述方法包括:
[0007]隧道路由器在使能自舉路由器BSR代理功能后,向所述MS發(fā)送注冊消息,所述注冊消息中攜帶所述隧道路由器已使能BSR代理功能的信息;
[0008]所述隧道路由器在收到來自本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選BSR的第一自舉報文時,將所述第一自舉報文發(fā)送給所述MS ;
[0009]所述隧道路由器接收所述MS轉(zhuǎn)發(fā)的來自其它隧道路由器的第二自舉報文,利用所述第二自舉報文中攜帶的地址信息生成第一(末端標(biāo)識EID,路由定位RL0C)映射表,并向所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的各設(shè)備轉(zhuǎn)發(fā)所述第二自舉報文;其中,所述EID為所述其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選BSR的地址信息,所述RLOC為所述其它隧道路由器的地址信息。
[0010]所述隧道路由器利用所述第二自舉報文中攜帶的地址信息生成第一(EID,RL0C)映射表之后,還包括:
[0011]所述隧道路由器在收到本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選匯聚點向BSR發(fā)送的第一宣告報文時,如果BSR在其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi),則利用第一(EID,RL0C)映射表中記錄的信息將所述第一宣告報文發(fā)送給其它隧道路由器,由其它隧道路由器將所述第一宣告報文轉(zhuǎn)發(fā)給BSR ;
[0012]所述隧道路由器在收到其它隧道路由器利用第一(EID,RL0C)映射表中記錄的信息轉(zhuǎn)發(fā)的來自候選匯聚點的第二宣告報文時,利用所述第二宣告報文中攜帶的地址信息生成第二(EID,RL0C)映射表,并將所述第二宣告報文發(fā)送給本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的BSR;其中,所述第二(EID,RL0C)映射表中的所述EID為所述其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選匯聚點的地址信息,且所述RLOC為所述其它隧道路由器的地址信息。
[0013]所述隧道路由器利用所述第二宣告報文中攜帶的地址信息生成第二(EID,RL0C)映射表之后,還包括:
[0014]所述隧道路由器在收到來自本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的BSR的第三自舉報文時,利用所述第二(EID,RL0C)映射表中記錄的信息將所述第三自舉報文發(fā)送給其它隧道路由器,由其它隧道路由器將所述第三自舉報文轉(zhuǎn)發(fā)給其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的各設(shè)備進行匯聚點的選舉。
[0015]所述隧道路由器利用所述第二宣告報文中攜帶的地址信息生成第二(EID,RL0C)映射表之后,還包括:
[0016]所述隧道路由器在收到本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的組播源向匯聚點發(fā)送的組播數(shù)據(jù)報文時,如果匯聚點在其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi),則利用第二(EID,RL0C)映射表中記錄的信息將所述組播數(shù)據(jù)報文發(fā)送給其它隧道路由器,由其它隧道路由器將所述組播數(shù)據(jù)報文發(fā)送給匯聚點;
[0017]所述隧道路由器在收到其它隧道路由器利用第二(EID,RL0C)映射表中記錄的信息轉(zhuǎn)發(fā)的來自組播源的組播數(shù)據(jù)報文時,將所述組播數(shù)據(jù)報文發(fā)送給本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的匯聚點,并接收所述匯聚點返回的(S,G)加入報文,并將所述(S,G)加入報文發(fā)送給所述其它隧道路由器,并由所述其它隧道路由器向所述組播源轉(zhuǎn)發(fā)所述(S,G)加入報文。
[0018]本發(fā)明實施例提供一種基于位置與身份分離協(xié)議LISP的組播實現(xiàn)方法,應(yīng)用于包括映射服務(wù)器MS和多個隧道路由器的網(wǎng)絡(luò)中,所述方法包括:
[0019]所述MS接收來自隧道路由器的注冊消息;其中,所述注冊消息中攜帶了所述隧道路由器已使能BSR代理功能的信息;
[0020]所述MS在獲知隧道路由器已使能BSR代理功能時,在BSR映射表中記錄所述隧道路由器的地址信息與所述注冊消息的接收接口之間的對應(yīng)關(guān)系;
[0021]所述MS接收來自其它隧道路由器的自舉報文,并利用所述BSR映射表中記錄的信息將所述自舉報文轉(zhuǎn)發(fā)給所述隧道路由器。
[0022]本發(fā)明實施例提供一種基于位置與身份分離協(xié)議LISP的隧道路由器,應(yīng)用于包括映射服務(wù)器MS和多個隧道路由器的網(wǎng)絡(luò)中,所述隧道路由器包括:
[0023]發(fā)送模塊,用于在使能自舉路由器BSR代理功能后,向所述MS發(fā)送注冊消息,所述注冊消息中攜帶所述隧道路由器已使能BSR代理功能的信息;
[0024]在收到來自所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選BSR的第一自舉報文時,將所述第一自舉報文發(fā)送給所述MS ;
[0025]在收到所述MS轉(zhuǎn)發(fā)的來自其它隧道路由器的第二自舉報文時,向所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的各設(shè)備轉(zhuǎn)發(fā)所述第二自舉報文;
[0026]生成模塊,用于在收到所述第二自舉報文時,利用所述第二自舉報文中攜帶的地址信息生成第一(末端標(biāo)識EID,路由定位RL0C)映射表,所述EID為所述其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選BSR的地址信息,所述RLOC為所述其它隧道路由器的地址信息。
[0027]所述發(fā)送模塊,還用于在收到所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選匯聚點向BSR發(fā)送的第一宣告報文時,如果所述BSR在其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi),則利用所述第一(EID,RL0C)映射表中記錄的信息將所述第一宣告報文發(fā)送給其它隧道路由器,由所述其它隧道路由器將所述第一宣告報文轉(zhuǎn)發(fā)給BSR ;在收到其它隧道路由器利用所述第一(EID, RL0C)映射表中記錄的信息轉(zhuǎn)發(fā)的來自候選匯聚點的第二宣告報文時,將所述第二宣告報文發(fā)送給本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的BSR ;
[0028]所述生成模塊,還用于在收到其它隧道路由器利用第一(EID,RL0C)映射表中記錄的信息轉(zhuǎn)發(fā)的來自候選匯聚點的第二宣告報文時,利用所述第二宣告報文中攜帶的地址信息生成第二(EID,RL0C)映射表,所述第二(EID,RL0C)映射表中的所述EID為所述其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選匯聚點的地址信息,且所述RLOC為所述其它隧道路由器的地址信息。
[0029]所述發(fā)送模塊,還用于在收到來自所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的BSR的第三自舉報文時,利用第二(EID,RL0C)映射表中記錄的信息將所述第三自舉報文發(fā)送給其它隧道路由器,由其它隧道路由器將所述第三自舉報文轉(zhuǎn)發(fā)給其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的各設(shè)備進行匯聚點的選舉。
[0030]所述發(fā)送模塊,還用于在收到所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的組播源向匯聚點發(fā)送的組播數(shù)據(jù)報文時,如果匯聚點在其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi),則利用第二(EID,RL0C)映射表中記錄的信息將所述組播數(shù)據(jù)報文發(fā)送給其它隧道路由器,由其它隧道路由器將所述組播數(shù)據(jù)報文發(fā)送給匯聚點;在收到其它隧道路由器利用第二(EID,RL0C)映射表中記錄的信息轉(zhuǎn)發(fā)的來自組播源的組播數(shù)據(jù)報文時,將所述組播數(shù)據(jù)報文發(fā)送給所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的匯聚點,并接收所述匯聚點返回的(S,G)加入報文,并將所述(S,G)加入報文發(fā)送給所述其它隧道路由器,并由所述其它隧道路由器向所述組播源轉(zhuǎn)發(fā)所述(S,G)加入報文。
[0031]本發(fā)明實施例提供一種基于位置與身份分離協(xié)議LISP的映射服務(wù)器MS,應(yīng)用于包括所述MS和多個隧道路由器的網(wǎng)絡(luò)中,所述MS具體包括:
[0032]接收模塊,用于接收來自隧道路由器的注冊消息;其中,所述注冊消息中攜帶了所述隧道路由器已使能BSR代理功能的信息;
[0033]存儲模塊,用于在獲知隧道路由器已使能BSR代理功能時,在BSR映射表中記錄隧道路由器的地址信息與注冊消息的接收接口之間的對應(yīng)關(guān)系;
[0034]發(fā)送模塊,用于在收到來自其它隧道路由器的自舉報文時,利用所述BSR映射表中記錄的信息將所述自舉報文轉(zhuǎn)發(fā)給隧道路由器。
[0035]與現(xiàn)有技術(shù)相比,本發(fā)明實施例至少具有以下優(yōu)點:本發(fā)明實施例中,當(dāng)多個LISP網(wǎng)絡(luò)組成一個PIM SM域時,通過在隧道路由器(如隧道入口路由器ITR和隧道出口路由器ETR)上使能BSR(Bootstrap Router,自舉路由器)代理功能,從而可以實現(xiàn)PIM SM協(xié)議報文跨越LISP網(wǎng)絡(luò)的傳輸,將多個獨立的LISP網(wǎng)絡(luò)看作一個PM SM域,統(tǒng)一選舉BSR和RP (Rendezvous Point,匯聚點),為LISP組播提供更多的選擇方案,而且可以在ITR/ETR在不知道組播源地址的情況下實現(xiàn)LISP組播功能,并有效的支持LISP網(wǎng)絡(luò)。
【專利附圖】
【附圖說明】
[0036]圖1和圖2是現(xiàn)有技術(shù)中提出的LISP網(wǎng)絡(luò)的組網(wǎng)示意圖;
[0037]圖3是本發(fā)明實施例提出的一種基于LISP的組播實現(xiàn)方法流程示意圖;
[0038]圖4是本發(fā)明實施例提出的一種擴展Map-register消息的格式示意圖;
[0039]圖5和圖6是本發(fā)明實施例提出的對自舉報文進行封裝的格式示意圖;
[0040]圖7是本發(fā)明實施例提出的一種RPT構(gòu)建過程的應(yīng)用示意圖;
[0041]圖8是本發(fā)明實施例提出的一種組播數(shù)據(jù)報文轉(zhuǎn)發(fā)過程的應(yīng)用示意圖;
[0042]圖9是本發(fā)明實施例提供的一種隧道路由器的結(jié)構(gòu)示意圖;
[0043]圖10是本發(fā)明實施例提出的一種映射服務(wù)器MS的結(jié)構(gòu)示意圖。
【具體實施方式】
[0044]針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明實施例提供一種基于LISP的組播實現(xiàn)方法,該方法應(yīng)用于包括MS (Map Server,映射服務(wù)器)和多個隧道路由器的網(wǎng)絡(luò)中,隧道路由器可以為隧道入口路由器ITR和隧道出口路由器ETR。以圖2為本發(fā)明實施例的應(yīng)用場景示意圖,多個LISP網(wǎng)絡(luò)(即LISP網(wǎng)絡(luò)A和LISP網(wǎng)絡(luò)B)組成一個PIM SM域,隧道路由器為ITR1、ITR2、ETR1和ETR2,組播源位于LISP網(wǎng)絡(luò)A內(nèi),接收者位于LISP網(wǎng)絡(luò)B內(nèi)。LISP網(wǎng)絡(luò)A內(nèi)的ITR通過MR (Map Resolver,映射解析器)與MS連接,LISP網(wǎng)絡(luò)B內(nèi)的ETR直接與 MS 連接。此外,C-BSRl (Candidate-BSR,候選 BSR)、C_BSR2、C_BSR3 的優(yōu)先級相同,其 IP地址分別為 1.0.0.1/24,2.2.0.1/24 和 2.2.0.2/24。C-RPl (Candidate-RP,候選 RP)優(yōu)先級為10,IP地址為1.1.0.2/24,C-RP2、C-RP3和C-RP4的優(yōu)先級均為1,所有C-RP所服務(wù)的組播組范圍相同。
[0045]DR(Designated Router,指定路由器)作為共享網(wǎng)絡(luò)中組播數(shù)據(jù)的唯一轉(zhuǎn)發(fā)者,在LISP網(wǎng)絡(luò)A內(nèi),需要通過Hello報文為共享網(wǎng)絡(luò)選舉組播源對應(yīng)的DR,在LISP網(wǎng)絡(luò)B內(nèi),需要通過Hello報文為共享網(wǎng)絡(luò)選舉接收者對應(yīng)的DR。DR的選舉過程與當(dāng)前PM SM技術(shù)的DR選舉過程相同,此處不再贅述。
[0046]如圖3所示,該基于LISP的組播實現(xiàn)方法具體可以包括以下步驟:
[0047]步驟301,隧道路由器在使能BSR代理功能之后,向MS發(fā)送注冊消息。其中,該注冊消息中攜帶了隧道路由器已使能BSR代理功能的信息。
[0048]在圖2所示的應(yīng)用場景下,當(dāng)在ITRl和ETRl上使能BSR代理功能之后,ITRl可以周期性(設(shè)置一個定時器,默認(rèn)發(fā)送周期可以為30s)向MS發(fā)送注冊消息,且該注冊消息中攜帶了 ITRl已使能BSR代理功能的信息;ETR1可以周期性(設(shè)置一個定時器,默認(rèn)發(fā)送周期可以為30s)向MS發(fā)送注冊消息,且該注冊消息中攜帶了 ETRl已使能BSR代理功能的信息。
[0049]其中,ITRl和ETRl向MS發(fā)送的注冊消息可以為擴展的Map-register (映射注冊)消息,如圖4所示,為擴展的Map-register消息的格式示意圖,該擴展的Map-register消息通過擴展Map-register消息中的Reserved (預(yù)留)字段,來標(biāo)識ITRl或者ETRl已使能BSR代理功能。如:將Reserved字段的第Ibit定義為M位,M = I標(biāo)識ITRl或者ETRl已使能BSR代理功能。
[0050]步驟302,MS在獲知隧道路由器已使能BSR代理功能時,在BSR映射表中記錄該隧道路由器的地址信息與注冊消息的接收接口之間的對應(yīng)關(guān)系。
[0051]本發(fā)明實施例中,MS上需要維護BSR映射表,該BSR映射表用于記錄隧道路由器(已使能BSR代理功能的隧道路由器)的地址信息與注冊消息(已使能BSR代理功能的隧道路由器向MS發(fā)送的注冊消息)的接收接口之間的對應(yīng)關(guān)系?;诖耍琈S在收到來自隧道路由器的注冊消息之后,如果從該注冊消息中解析出隧道路由器已使能BSR代理功能,則MS在BSR映射表中記錄該隧道路由器的地址信息與該注冊消息的接收接口之間的對應(yīng)關(guān)系。
[0052]如圖2所示,MS在收到來自ITRl的注冊消息后,通過解析得知發(fā)送該注冊消息的ITRl已使能BSR代理功能,MS在BSR映射表中記錄ITRl的地址信息(10.0.0.1/24)與注冊消息的接收接口(假設(shè)為接口 I)之間的對應(yīng)關(guān)系。MS在收到來自ETRl的注冊消息后,通過解析得知發(fā)送該注冊消息的ETRl已使能BSR代理功能,MS在BSR映射表中記錄ETRl的地址信息(11.0.0.1/24)與注冊消息的接收接口(假設(shè)為接口 2)之間的對應(yīng)關(guān)系。
[0053]步驟303,隧道路由器在收到來自本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選BSR的第一自舉報文(即BSM報文)時,將該第一自舉報文發(fā)送給MS。
[0054]如圖2所示,在LISP網(wǎng)絡(luò)A內(nèi),C-BSRl會向LISP網(wǎng)絡(luò)A內(nèi)的所有路由器發(fā)送自舉報文(即第一自舉報文),ITRl在收到來自C-BSRl的自舉報文后,發(fā)現(xiàn)該自舉報文的源IP地址在本地路由表中,因此ITRl確認(rèn)該自舉報文來自本ITRl所在的LISP網(wǎng)絡(luò)A內(nèi)的候選BSR,并對該自舉報文進行LISP封裝,并將LISP封裝后的自舉報文通過MR發(fā)送給MS。
[0055]如圖5所示,為ITRl對自舉報文進行LISP封裝的格式示意圖。MR在收到該LISP封裝后的自舉報文后,通過BGP (Border Gateway Protocol,邊界網(wǎng)關(guān)協(xié)議)-over-GRE (Generic Routing Encapsulat1n,通用路由封裝)隧道發(fā)送給MS,如圖6所示,為MR對自舉報文進行隧道封裝的格式示意圖。在圖5中,OH中的源IP地址非ITRl的地址,目的IP地址為MR的地址;在圖6中,OH中的源IP地址非ITRl的地址,目的IP地址為MS的地址。
[0056]如圖2所示,在LISP網(wǎng)絡(luò)B內(nèi),C-BSR2和C-BSR3均會向LISP網(wǎng)絡(luò)B內(nèi)的所有路由器發(fā)送自舉報文(即第一自舉報文),ETRl在分別收到來自C-BSR2和C-BSR3的自舉報文后,發(fā)現(xiàn)來自C-BSR2和C-BSR3的自舉報文的源IP地址均在本地路由表中,因此確認(rèn)來自C-BSR2和C-BSR3的自舉報文來自本ETRl所在的LISP網(wǎng)絡(luò)B內(nèi)的候選BSR。由于來自C-BSR2和C-BSR3的自舉報文同時在LISP網(wǎng)絡(luò)B內(nèi),因此ETRl可以只對優(yōu)選的來自C-BSR3的自舉報文進行LISP封裝,并將LISP封裝后的自舉報文發(fā)送給MS。
[0057]如圖5所示,為ETRl對自舉報文進行LISP封裝的格式示意圖。在圖5中,OH中的源IP地址非ITRl的地址,目的IP地址為MS的地址。
[0058]步驟304,MS接收來自隧道路由器的第一自舉報文,并利用本MS維護的BSR映射表中記錄的信息向其它隧道路由器轉(zhuǎn)發(fā)該第一自舉報文。
[0059]如圖2所示,MS維護的BSR映射表中記錄的信息為:ITR1的地址信息(10.0.0.1/24)與接口 I之間的對應(yīng)關(guān)系,ETRl的地址信息(11.0.0.1/24)與接口 2之間的對應(yīng)關(guān)系?;贐SR映射表中記錄的信息,MS通過接口 I收到來自ITRl的第一自舉報文時,利用ETRl的地址信息(11.0.0.1/24)與接口 2之間的對應(yīng)關(guān)系,通過接口 2將該第一自舉報文轉(zhuǎn)發(fā)給ETRl ;MS通過接口 2收到來自ETRl的第一自舉報文時,利用ITRl的地址信息(10.0.0.1/24)與接口 I之間的對應(yīng)關(guān)系,通過接口 I將該第一自舉報文轉(zhuǎn)發(fā)給ITR1。
[0060]步驟305,隧道路由器接收MS轉(zhuǎn)發(fā)的來自其它隧道路由器的第二自舉報文,并利用該第二自舉報文中攜帶的地址信息生成第一(EID,RL0C)映射表,并向本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的各設(shè)備轉(zhuǎn)發(fā)第二自舉報文。其中,該第一(EID,RL0C)映射表中的EID為其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選BSR的地址信息,且RLOC為其它隧道路由器的地址信息。
[0061 ] 如圖2所示,ITRl接收MS轉(zhuǎn)發(fā)的來自ETRl的第二自舉報文,該第二自舉報文為經(jīng)過LISP封裝后的自舉報文,ITRl通過對第二自舉報文進行LISP解封裝,以得到原始的自舉報文。之后,由于自舉報文的源IP地址不在本地路由表中,因此ITRl利用該自舉報文中攜帶的地址信息生成第一(EID,RL0C)映射表,該第一(EID,RL0C)映射表中的EID對應(yīng)為ETRl所在的LISP網(wǎng)絡(luò)B內(nèi)的C-BSR3的地址信息(即自舉報文中候選BSR的地址信息),且RLOC對應(yīng)為ETRl的地址信息(即自舉報文中的Inner Header中的源IP地址)。此外,ITRl向本ITRl所在的LISP網(wǎng)絡(luò)A內(nèi)的各直連設(shè)備轉(zhuǎn)發(fā)該自舉報文,以將該自舉報文直接發(fā)送到LISP網(wǎng)絡(luò)A內(nèi)的所有路由器。
[0062]如圖2所示,ETRl接收MS轉(zhuǎn)發(fā)的來自ITRl的第二自舉報文,該第二自舉報文為經(jīng)過LISP封裝后的自舉報文,ETRl通過對第二自舉報文進行LISP解封裝,以得到原始的自舉報文。之后,由于自舉報文的源IP地址不在本地路由表中,因此ETRl利用該自舉報文中攜帶的地址信息生成第一(EID,RL0C)映射表,該第一(EID,RL0C)映射表中的EID對應(yīng)為ITRl所在的LISP網(wǎng)絡(luò)A內(nèi)的C-BSRl的地址信息(即自舉報文中候選BSR的地址信息),且RLOC對應(yīng)為ITRl的地址信息(即自舉報文中的Inner Header中的源IP地址)。此外,ETRl向本ETRl所在的LISP網(wǎng)絡(luò)B內(nèi)的各直連設(shè)備轉(zhuǎn)發(fā)該自舉報文,以將該自舉報文直接發(fā)送到LISP網(wǎng)絡(luò)B內(nèi)的所有路由器。
[0063]基于上述處理,LISP網(wǎng)絡(luò)內(nèi)的自舉報文能夠跨LISP網(wǎng)絡(luò)發(fā)送到其它LISP網(wǎng)絡(luò)內(nèi),各LISP網(wǎng)絡(luò)內(nèi)的路由器可基于BSR選舉技術(shù)從候選BSR中選舉出BSR。在圖2所示的應(yīng)用場景下,假設(shè)C-BSR3被選舉為PM-SM域內(nèi)的BSR。
[0064]在選舉出BSR之后,還需要從各LISP網(wǎng)絡(luò)的各C-RP中選舉出RP,基于此,本發(fā)明實施例中提出的基于LISP的組播實現(xiàn)方法還可以包括以下步驟:
[0065]步驟1、隧道路由器在收到本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選匯聚點向BSR發(fā)送的第一宣告報文時,如果BSR在其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi),則利用第一(EID,RL0C)映射表中記錄的信息將第一宣告報文發(fā)送給其它隧道路由器,由其它隧道路由器將第一宣告報文轉(zhuǎn)發(fā)給BSR。
[0066]如圖2所示,ITRl在收到本ITRl所在的LISP網(wǎng)絡(luò)A內(nèi)的候選匯聚點(如C-RPl或者C-RP2)向BSR(C-BSR3)發(fā)送的第一宣告報文時,由于C-BSR3在ETRl所在的LISP網(wǎng)絡(luò)B內(nèi),且ITRl上維護有第一(EID,RL0C)映射表,并且該第一(EID,RL0C)映射表中的EID對應(yīng)為ETRl所在的LISP網(wǎng)絡(luò)B內(nèi)的C-BSR3的地址信息,且RLOC對應(yīng)為ETRl的地址信息,因此ITRl在收到第一宣告報文之后,可以利用該第一(EID,RL0C)映射表中記錄的信息對該第一宣告報文進行LISP封裝,并將LISP封裝后的第一宣告報文直接發(fā)送給ETR1,并由ETRl將該第一宣告報文轉(zhuǎn)發(fā)給C-BSR3。
[0067]步驟2、隧道路由器在收到其它隧道路由器轉(zhuǎn)發(fā)的來自候選匯聚點的第二宣告報文時,利用該第二宣告報文中攜帶的地址信息生成第二(EID,RL0C)映射表,并將第二宣告報文發(fā)送給本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的BSR。其中,該第二(EID,RL0C)映射表中的EID為其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選匯聚點的地址信息,且RLOC為其它隧道路由器的地址信息。
[0068]如圖2所示,ETRl在收到ITRl轉(zhuǎn)發(fā)的來自C-RPl的第二宣告報文時,對該第二宣告報文進行LISP解封裝,將該LISP解封裝后的宣告報文發(fā)送給本ETRl所在的LISP網(wǎng)絡(luò)B內(nèi)的C-BSR3,并利用宣告報文中攜帶的地址信息生成第二(EID,RL0C)映射表,該第二(EID,RL0C)映射表中的EID為ITRl所在的LISP網(wǎng)絡(luò)A內(nèi)的C-RPl的地址信息,且RLOC為ITRl的地址信息。ETRl在收到ITRl轉(zhuǎn)發(fā)的來自C-RP2的第二宣告報文時,對該第二宣告報文進行LISP解封裝,將該LISP解封裝后的宣告報文發(fā)送給本ETRl所在的LISP網(wǎng)絡(luò)B內(nèi)的C-BSR3,并利用宣告報文中攜帶的地址信息生成第二(EID,RL0C)映射表,該第二(EID,RL0C)映射表中的EID為ITRl所在的LISP網(wǎng)絡(luò)A內(nèi)的C-RP2的地址信息,且RLOC為ITRl的地址信息。
[0069]步驟3、BSR(如 C-BSR3)收集來自各 C-RP(如 C-RP1、C-RP2、C-RP3 和 C-RP4)的宣告報文,根據(jù)這些宣告報文中攜帶的C-RP地址、優(yōu)先級以及其服務(wù)的組范圍,匯總為RP-Set (RP集,即組播組與RP的映射關(guān)系數(shù)據(jù)庫),并將RP-Set封裝在第三自舉報文中,并以廣播方式發(fā)送該第三自舉報文。
[0070]在C-BSR3以廣播方式發(fā)送第三自舉報文時,該第三自舉報文可以發(fā)送到LISP網(wǎng)絡(luò)B內(nèi)的各設(shè)備上,且ETRl會收到來自C-BSR3的第三自舉報文。
[0071]步驟4、隧道路由器在收到來自本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的BSR的第三自舉報文時,利用第二(EID,RL0C)映射表中記錄的信息將第三自舉報文發(fā)送給其它隧道路由器,并由其它隧道路由器將該第三自舉報文轉(zhuǎn)發(fā)給其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的各設(shè)備進行匯聚點的選舉。
[0072]如圖2所示,ETRl在收到來自本ETRl所在的LISP網(wǎng)絡(luò)B內(nèi)的BSR(即C-BSR3)的第三自舉報文時,由于ETRl的第二(EID,RL0C)映射表中的EID為ITRl所在的LISP網(wǎng)絡(luò)A內(nèi)的C-RPl或者C-RP2的地址信息,且RLOC為ITRl的地址信息,因此,ETRl可以利用第二(EID,RL0C)映射表中記錄的信息將第三自舉報文發(fā)送給ITR1。之后,由ITRl將該第三自舉報文轉(zhuǎn)發(fā)給ITRl所在的LISP網(wǎng)絡(luò)A內(nèi)的各設(shè)備進行匯聚點的選舉。
[0073]基于上述處理后,LISP網(wǎng)絡(luò)A和LISP網(wǎng)絡(luò)B內(nèi)的所有路由器均會收到來自C-BSR3的自舉報文,并可以根據(jù)RP-Set提供的信息,按照如下原則從眾多C-RP中為特定組播組選擇其對應(yīng)的RP:(a)首先比較C-RP所服務(wù)的組范圍,所服務(wù)的組范圍較小者獲勝;(b)若服務(wù)的組范圍相同,再比較C-RP的優(yōu)先級,優(yōu)先級較高者獲勝;(c)若優(yōu)先級也相同,再使用Hash函數(shù)計算Hash值,較大者獲勝;(d)若Hash值也相同,則C-RP的IP地址較大者獲勝。根據(jù)以上規(guī)則,LISP網(wǎng)絡(luò)A內(nèi)的C-RPl將被選舉為PM-SM域中的RP。
[0074]基于上述處理之后,當(dāng)多個LISP網(wǎng)絡(luò)組成一個PM SM域時,跨PM-SM域的多個LISP網(wǎng)絡(luò)之間將選舉出BSR(即C-BSR3)和RP(即C-RP1),基于選舉出的BSR和RP,可以實現(xiàn)PM SM協(xié)議報文跨越LISP網(wǎng)絡(luò)的傳輸,并可以將多個獨立的LISP網(wǎng)絡(luò)看作一個PMSM域,統(tǒng)一選舉BSR和RP,從而為LISP組播提供更多的選擇方案,而且可以在ITR/ETR在不知道組播源地址的情況下實現(xiàn)LISP組播功能,并可以有效的支持LISP網(wǎng)絡(luò)。
[0075]在選舉出BSR(即C-BSR3)和RP(即C-RP1)之后,針對組播源注冊過程,本發(fā)明實施例中提出的基于LISP的組播實現(xiàn)方法還可以包括以下步驟:
[0076]步驟1、隧道路由器在收到本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的組播源向匯聚點發(fā)送的組播數(shù)據(jù)報文時,如果匯聚點在其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi),則利用第二(EIDjRLOC)映射表中記錄的信息將組播數(shù)據(jù)報文發(fā)送給其它隧道路由器,由其它隧道路由器將組播數(shù)據(jù)報文發(fā)送給匯聚點。
[0077]步驟2、隧道路由器在收到其它隧道路由器轉(zhuǎn)發(fā)的來自組播源的組播數(shù)據(jù)報文時,將組播數(shù)據(jù)報文發(fā)送給本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的匯聚點。
[0078]如圖2所示,ITRl在收到本ITRl所在的LISP網(wǎng)絡(luò)A內(nèi)的組播源向匯聚點(C-RPl)發(fā)送的組播數(shù)據(jù)報文時,由于C-RPl在本ITRl所在的LISP網(wǎng)絡(luò)A內(nèi),因此,ITRl直接將組播數(shù)據(jù)報文轉(zhuǎn)發(fā)給C-RP1,該過程與現(xiàn)有技術(shù)相同,在此不再贅述。ETRl在收到本ETRl所在的LISP網(wǎng)絡(luò)B內(nèi)的組播源向匯聚點(C-RPl)發(fā)送的組播數(shù)據(jù)報文時,由于C-RPl在ITRl所在的LISP網(wǎng)絡(luò)A內(nèi),且ETRl的第二(EID,RL0C)映射表中的EID為ITRl所在的LISP網(wǎng)絡(luò)A內(nèi)的C-RPl的地址信息,RLOC為ITRl的地址信息,因此ETRl可以直接利用第二(EID,RL0C)映射表中記錄的信息將組播數(shù)據(jù)報文發(fā)送給ITR1,并由ITRl在收到ETRl轉(zhuǎn)發(fā)的來自組播源的組播數(shù)據(jù)報文時,將組播數(shù)據(jù)報文發(fā)送給本ITRl所在的LISP網(wǎng)絡(luò)A內(nèi)的匯聚點(C-RPl)。
[0079]其中,當(dāng)LISP網(wǎng)絡(luò)B內(nèi)的組播源向組播組G發(fā)送了一個數(shù)據(jù)報文時,與組播源相連的DR在收到該數(shù)據(jù)報文后,將其封裝成組播數(shù)據(jù)報文,并通過單播方式發(fā)送給匯聚點(C-RPl)。該組播數(shù)據(jù)報文首先會被送到ETRl上,由于C-RPl在ITRl所在的LISP網(wǎng)絡(luò)A內(nèi),且組播數(shù)據(jù)報文的目的IP地址在第二(EID,RL0C)映射表中,因此ETRl直接對該組播數(shù)據(jù)報文進行LISP封裝,并利用第二(EID,RL0C)映射表中記錄的信息將組播數(shù)據(jù)報文發(fā)送給ITRl。ITRl在收到組播數(shù)據(jù)報文后,對該組播數(shù)據(jù)報文進行LISP解封裝,并以單播方式將組播數(shù)據(jù)報文發(fā)送給ITRl所在的LISP網(wǎng)絡(luò)A內(nèi)的C-RPl。
[0080]步驟3、匯聚點WPC-RPl)在收到組播數(shù)據(jù)報文后,一方面解封裝注冊報文并將封裝在其中的組播數(shù)據(jù)報文沿著RPT ((Rendezvous Point Tree,共享樹))轉(zhuǎn)發(fā)給接收者,另一方面向組播源方向逐跳發(fā)送(S,G)加入報文。
[0081]步驟4、在匯聚點向組播源方向逐跳發(fā)送(S,G)加入報文時,隧道路由器接收匯聚點返回的(S,G)加入報文,并將(S,G)加入報文發(fā)送給其它隧道路由器,并由其它隧道路由器向組播源轉(zhuǎn)發(fā)(S,G)加入報文。
[0082]如圖2所示,在匯聚點(即C-RP1)向LISP網(wǎng)絡(luò)B內(nèi)的組播源方向逐跳發(fā)送(S,G)加入報文時,ITRl將收到C-RPl返回的(S,G)加入報文,并對該(S,G)加入報文進行LISP封裝,并將LISP封裝后的(S,G)加入報文發(fā)送給ETRl,由ETRl對LISP封裝后的(S,G)加入報文進行LISP解封裝,并繼續(xù)向組播源方向逐跳發(fā)送(S,G)加入報文。這樣,從RP(即C-RP1)到組播源所經(jīng)過的路由器就形成了 SPT((Shortest Path Tree,最短路徑樹)分支,這些路由器都在其轉(zhuǎn)發(fā)表中生成了(S,G)表項。SPT以組播源側(cè)的DR為根,以RP為葉子。之后,組播源發(fā)出的組播數(shù)據(jù)報文沿著已建立好的SPT到達(dá)C-RP1,然后由C-RPl將組播數(shù)據(jù)報文沿著RPT向接收者進行轉(zhuǎn)發(fā)。當(dāng)C-RPl收到沿著SPT轉(zhuǎn)發(fā)來的組播數(shù)據(jù)報文后,通過單播方式向與組播源直連的DR發(fā)送注冊停止報文,組播源注冊過程結(jié)束。
[0083]在選舉出BSR(即C-BSR3)和RP( S卩C-RPI)之后,以圖7為例,說明RPT構(gòu)建過程的相關(guān)處理:(I)當(dāng)Host C加入一個組播組G時,先通過IGMP (Internet Group ManagementProtocol, Internet組管理協(xié)議))報文通知其直連的DR ; (2)DR掌握了組播組G的接收者信息后,向該組播組所在的RP方向逐跳發(fā)送加入報文;(3)從DR到RP所經(jīng)過的路由器就形成了 RPT的分支,這些路由器都在其轉(zhuǎn)發(fā)表中生成了(*,G)表項,這里的表示來自任意組播源。RPT以RP為根,以DR為葉子。當(dāng)組播數(shù)據(jù)組G的組播數(shù)據(jù)報文經(jīng)RP時,就會沿著已建立好的RPT到達(dá)DR,進而到達(dá)接收者。
[0084]在選舉出BSR和RP之后,針對數(shù)據(jù)平面,以圖8為例,說明組播數(shù)據(jù)報文轉(zhuǎn)發(fā)過程的相關(guān)處理:假設(shè)接收者加入的組播組為232.1.1.1,組播數(shù)據(jù)報文在一個LISP網(wǎng)絡(luò)內(nèi)的源IP地址為5.1.0.1,目的IP地址為232.1.1.1 ;組播數(shù)據(jù)報文在公網(wǎng)上的源IP地址為10.0.0.1,目的IP地址為232.1.1.1 ;組播數(shù)據(jù)報文在另一個LISP網(wǎng)絡(luò)內(nèi)的源IP地址為
5.1.0.1,目的 IP 地址為 232.1.1.1。
[0085]本發(fā)明實施例的上述方法是以骨干網(wǎng)為IPv4網(wǎng)絡(luò)為例進行說明的,且上述方法還可以適用于骨干網(wǎng)為IPv6網(wǎng)絡(luò)的情況。此外,本發(fā)明實施例的上述方法是以LISP網(wǎng)絡(luò)為IPv4網(wǎng)絡(luò)為例進行說明的,且上述方法還可以適用于LISP網(wǎng)絡(luò)為IPv6網(wǎng)絡(luò)的情況,此時封裝組合方式有:LISP IPv4-1n-1Pv4、LISP IPv4_in_IPv6、LISP IPv6-1n-1Pv6 和 LISPIPv6-1n-1Pv4四種。本發(fā)明實施例的上述方法是以在多個LISP網(wǎng)絡(luò)之間部署PM-SM為例進行說明的,且上述方法還可以適用于在非LISP網(wǎng)絡(luò)和LISP網(wǎng)絡(luò)之間部署PM-SM的情況。
[0086]基于與上述方法同樣的發(fā)明構(gòu)思,本發(fā)明實施例中還提供了一種基于位置與身份分離協(xié)議LISP的隧道路由器,應(yīng)用于包括映射服務(wù)器MS和多個隧道路由器的網(wǎng)絡(luò)中如圖9所示,所述隧道路由器具體包括:
[0087]發(fā)送模塊11,用于在使能自舉路由器BSR代理功能后,向所述MS發(fā)送注冊消息,所述注冊消息中攜帶所述隧道路由器已使能BSR代理功能的信息;
[0088]在收到來自所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選BSR的第一自舉報文時,將所述第一自舉報文發(fā)送給所述MS ;
[0089]在收到所述MS轉(zhuǎn)發(fā)的來自其它隧道路由器的第二自舉報文時,向所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的各設(shè)備轉(zhuǎn)發(fā)所述第二自舉報文;
[0090]生成模塊12,用于在收到所述第二自舉報文時,利用所述第二自舉報文中攜帶的地址信息生成第一(末端標(biāo)識EID,路由定位RL0C)映射表,所述EID為所述其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選BSR的地址信息,所述RLOC為所述其它隧道路由器的地址信肩、O
[0091]所述發(fā)送模塊11,還用于在收到所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選匯聚點向BSR發(fā)送的第一宣告報文時,如果所述BSR在其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi),則利用所述第一(EID,RLOC)映射表中記錄的信息將所述第一宣告報文發(fā)送給其它隧道路由器,由所述其它隧道路由器將所述第一宣告報文轉(zhuǎn)發(fā)給BSR ;在收到其它隧道路由器利用所述第一(EID, RLOC)映射表中記錄的信息轉(zhuǎn)發(fā)的來自候選匯聚點的第二宣告報文時,將所述第二宣告報文發(fā)送給本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的BSR ;
[0092]所述生成模塊12,還用于在收到其它隧道路由器利用第一(EID,RL0C)映射表中記錄的信息轉(zhuǎn)發(fā)的來自候選匯聚點的第二宣告報文時,利用所述第二宣告報文中攜帶的地址信息生成第二(EID,RL0C)映射表,所述第二(EID,RL0C)映射表中的所述EID為所述其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選匯聚點的地址信息,且所述RLOC為所述其它隧道路由器的地址信息。
[0093]所述發(fā)送模塊11,還用于在收到來自所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的BSR的第三自舉報文時,利用第二(EID,RL0C)映射表中記錄的信息將第三自舉報文發(fā)送給其它隧道路由器,由其它隧道路由器將所述第三自舉報文轉(zhuǎn)發(fā)給其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的各設(shè)備進行匯聚點的選舉。
[0094]所述發(fā)送模塊11,還用于在收到所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的組播源向匯聚點發(fā)送的組播數(shù)據(jù)報文時,如果匯聚點在其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi),則利用第二(EID,RL0C)映射表中記錄的信息將所述組播數(shù)據(jù)報文發(fā)送給其它隧道路由器,由其它隧道路由器將所述組播數(shù)據(jù)報文發(fā)送給匯聚點;在收到其它隧道路由器利用第二(EID,RL0C)映射表中記錄的信息轉(zhuǎn)發(fā)的來自組播源的組播數(shù)據(jù)報文時,將所述組播數(shù)據(jù)報文發(fā)送給所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的匯聚點,并接收所述匯聚點返回的(S,G)加入報文,并將所述(S,G)加入報文發(fā)送給所述其它隧道路由器,并由所述其它隧道路由器向所述組播源轉(zhuǎn)發(fā)所述(S,G)加入報文。
[0095]其中,本發(fā)明裝置的各個模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
[0096]基于與上述方法同樣的發(fā)明構(gòu)思,本發(fā)明實施例中還提供了一種基于位置與身份分離協(xié)議LISP的映射服務(wù)器MS,應(yīng)用于包括所述MS和多個隧道路由器的網(wǎng)絡(luò)中,如圖10所示,所述映射服務(wù)器MS具體包括:
[0097]接收模塊21,用于接收來自隧道路由器的注冊消息;其中,所述注冊消息中攜帶了所述隧道路由器已使能BSR代理功能的信息;存儲模塊22,用于在獲知隧道路由器已使能BSR代理功能時,在BSR映射表中記錄隧道路由器的地址信息與注冊消息的接收接口之間的對應(yīng)關(guān)系;發(fā)送模塊23,用于在收到來自其它隧道路由器的自舉報文時,利用所述BSR映射表中記錄的信息將所述自舉報文轉(zhuǎn)發(fā)給隧道路由器。
[0098]其中,本發(fā)明裝置的各個模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
[0099]通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
[0100]本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的。
[0101]本領(lǐng)域技術(shù)人員可以理解實施例中的裝置中的模塊可以按照實施例描述進行分布于實施例的裝置中,也可以進行相應(yīng)變化位于不同于本實施例的一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
[0102]上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0103]以上公開的僅為本發(fā)明的幾個具體實施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護范圍。
【權(quán)利要求】
1.一種基于位置與身份分離協(xié)議LISP的組播實現(xiàn)方法,應(yīng)用于包括映射服務(wù)器MS和多個隧道路由器的網(wǎng)絡(luò)中,其特征在于,所述方法包括: 隧道路由器在使能自舉路由器BSR代理功能后,向所述MS發(fā)送注冊消息,所述注冊消息中攜帶所述隧道路由器已使能BSR代理功能的信息; 所述隧道路由器在收到來自本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選BSR的第一自舉報文時,將所述第一自舉報文發(fā)送給所述MS ; 所述隧道路由器接收所述MS轉(zhuǎn)發(fā)的來自其它隧道路由器的第二自舉報文,利用所述第二自舉報文中攜帶的地址信息生成第一(末端標(biāo)識EID,路由定位RLOC)映射表,并向所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的各設(shè)備轉(zhuǎn)發(fā)所述第二自舉報文;其中,所述EID為所述其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選BSR的地址信息,所述RLOC為所述其它隧道路由器的地址信息。
2.如權(quán)利要求1所述的方法,其特征在于,所述隧道路由器利用所述第二自舉報文中攜帶的地址信息生成第一(EID,RL0C)映射表之后,還包括: 所述隧道路由器在收到本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選匯聚點向BSR發(fā)送的第一宣告報文時,如果BSR在其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi),則利用第一(EID,RL0C)映射表中記錄的信息將所述第一宣告報文發(fā)送給其它隧道路由器,由其它隧道路由器將所述第一宣告報文轉(zhuǎn)發(fā)給BSR ; 所述隧道路由器在 收到其它隧道路由器利用第一(EID,RL0C)映射表中記錄的信息轉(zhuǎn)發(fā)的來自候選匯聚點的第二宣告報文時,利用所述第二宣告報文中攜帶的地址信息生成第二(EID,RL0C)映射表,并將所述第二宣告報文發(fā)送給本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的BSR;其中,所述第二(EID,RL0C)映射表中的所述EID為所述其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選匯聚點的地址信息,且所述RLOC為所述其它隧道路由器的地址信息。
3.如權(quán)利要求2所述的方法,其特征在于,所述隧道路由器利用所述第二宣告報文中攜帶的地址信息生成第二(EID,RL0C)映射表之后,還包括: 所述隧道路由器在收到來自本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的BSR的第三自舉報文時,利用所述第二(EID,RL0C)映射表中記錄的信息將所述第三自舉報文發(fā)送給其它隧道路由器,由其它隧道路由器將所述第三自舉報文轉(zhuǎn)發(fā)給其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的各設(shè)備進行匯聚點的選舉。
4.如權(quán)利要求2所述的方法,其特征在于,所述隧道路由器利用所述第二宣告報文中攜帶的地址信息生成第二(EID,RL0C)映射表之后,還包括: 所述隧道路由器在收到本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的組播源向匯聚點發(fā)送的組播數(shù)據(jù)報文時,如果匯聚點在其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi),則利用第二(EID,RL0C)映射表中記錄的信息將所述組播數(shù)據(jù)報文發(fā)送給其它隧道路由器,由其它隧道路由器將所述組播數(shù)據(jù)報文發(fā)送給匯聚點; 所述隧道路由器在收到其它隧道路由器利用第二(EID,RL0C)映射表中記錄的信息轉(zhuǎn)發(fā)的來自組播源的組播數(shù)據(jù)報文時,將所述組播數(shù)據(jù)報文發(fā)送給本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的匯聚點,并接收所述匯聚點返回的(S,G)加入報文,并將所述(S,G)加入報文發(fā)送給所述其它隧道路由器,并由所述其它隧道路由器向所述組播源轉(zhuǎn)發(fā)所述(S,G)加入報文。
5.一種基于位置與身份分離協(xié)議LISP的組播實現(xiàn)方法,應(yīng)用于包括映射服務(wù)器MS和多個隧道路由器的網(wǎng)絡(luò)中,其特征在于,所述方法包括: 所述MS接收來自隧道路由器的注冊消息;其中,所述注冊消息中攜帶了所述隧道路由器已使能BSR代理功能的信息; 所述MS在獲知隧道路由器已使能BSR代理功能時,在BSR映射表中記錄所述隧道路由器的地址信息與所述注冊消息的接收接口之間的對應(yīng)關(guān)系; 所述MS接收來自其它隧道路由器的自舉報文,并利用所述BSR映射表中記錄的信息將所述自舉報文轉(zhuǎn)發(fā)給所述隧道路由器。
6.一種基于位置與身份分離協(xié)議LISP的隧道路由器,應(yīng)用于包括映射服務(wù)器MS和多個隧道路由器的網(wǎng)絡(luò)中,其特征在于,所述隧道路由器包括: 發(fā)送模塊,用于在使能自舉路由器BSR代理功能后,向所述MS發(fā)送注冊消息,所述注冊消息中攜帶所述隧道路由器已使能BSR代理功能的信息; 在收到來自所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選BSR的第一自舉報文時,將所述第一自舉報文發(fā)送給所述MS ; 在收到所述MS轉(zhuǎn)發(fā)的來自其它隧道路由器的第二自舉報文時,向所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的各設(shè)備轉(zhuǎn)發(fā)所述第二自舉報文; 生成模塊,用于在收到所述第二自舉報文時,利用所述第二自舉報文中攜帶的地址信息生成第一(末端標(biāo)識EID ,路由定位RLOC)映射表,所述EID為所述其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選BSR的地址信息,所述RLOC為所述其它隧道路由器的地址信息。
7.如權(quán)利要求6所述的隧道路由器,其特征在于, 所述發(fā)送模塊,還用于在收到所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選匯聚點向BSR發(fā)送的第一宣告報文時,如果所述BSR在其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi),則利用所述第一(EID,RL0C)映射表中記錄的信息將所述第一宣告報文發(fā)送給其它隧道路由器,由所述其它隧道路由器將所述第一宣告報文轉(zhuǎn)發(fā)給BSR ;在收到其它隧道路由器利用所述第一(EIDjRLOC)映射表中記錄的信息轉(zhuǎn)發(fā)的來自候選匯聚點的第二宣告報文時,將所述第二宣告報文發(fā)送給本隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的BSR ; 所述生成模塊,還用于在收到其它隧道路由器利用第一(EID,RL0C)映射表中記錄的信息轉(zhuǎn)發(fā)的來自候選匯聚點的第二宣告報文時,利用所述第二宣告報文中攜帶的地址信息生成第二(EID,RL0C)映射表,所述第二(EID,RL0C)映射表中的所述EID為所述其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的候選匯聚點的地址信息,且所述RLOC為所述其它隧道路由器的地址信息。
8.如權(quán)利要求7所述的隧道路由器,其特征在于, 所述發(fā)送模塊,還用于在收到來自所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的BSR的第三自舉報文時,利用第二(EID,RL0C)映射表中記錄的信息將所述第三自舉報文發(fā)送給其它隧道路由器,由其它隧道路由器將所述第三自舉報文轉(zhuǎn)發(fā)給其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的各設(shè)備進行匯聚點的選舉。
9.如權(quán)利要求7所述的隧道路由器,其特征在于, 所述發(fā)送模塊,還用于在收到所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的組播源向匯聚點發(fā)送的組播數(shù)據(jù)報文時,如果匯聚點在其它隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi),則利用第二(EIDjRLOC)映射表中記錄的信息將所述組播數(shù)據(jù)報文發(fā)送給其它隧道路由器,由其它隧道路由器將所述組播數(shù)據(jù)報文發(fā)送給匯聚點;在收到其它隧道路由器利用第二(EID,RL0C)映射表中記錄的信息轉(zhuǎn)發(fā)的來自組播源的組播數(shù)據(jù)報文時,將所述組播數(shù)據(jù)報文發(fā)送給所述隧道路由器所在的LISP網(wǎng)絡(luò)內(nèi)的匯聚點,并接收所述匯聚點返回的(S,G)加入報文,并將所述(S,G)加入報文發(fā)送給所述其它隧道路由器,并由所述其它隧道路由器向所述組播源轉(zhuǎn)發(fā)所述(S,G)加入報文。
10.一種基于位置與身份分離協(xié)議LISP的映射服務(wù)器MS,應(yīng)用于包括所述MS和多個隧道路由器的網(wǎng)絡(luò)中,其特征在于,所述MS具體包括: 接收模塊,用于接收來自隧道路由器的注冊消息;其中,所述注冊消息中攜帶了所述隧道路由器已使能BSR代理功能的信息; 存儲模塊,用于在獲知隧道路由器已使能BSR代理功能時,在BSR映射表中記錄隧道路由器的地址信息與注冊消息的接收接口之間的對應(yīng)關(guān)系; 發(fā)送模塊,用于在收到來自其它隧道路由器的自舉報文時,利用所述BSR映射表中記錄的信息將所述 自舉報文轉(zhuǎn)發(fā)給隧道路由器。
【文檔編號】H04L12/761GK104052672SQ201410242600
【公開日】2014年9月17日 申請日期:2014年5月30日 優(yōu)先權(quán)日:2014年5月30日
【發(fā)明者】喬輝, 林鵬程 申請人:杭州華三通信技術(shù)有限公司