本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種報文轉(zhuǎn)發(fā)方法及裝置。
背景技術(shù):
組播vpn(virtualprivatenetwork,虛擬專用網(wǎng)絡(luò))是一項(xiàng)在bgp(bordergatewayprotocol,邊界網(wǎng)關(guān)協(xié)議)/mpls(multi-protocollabelswitching,多協(xié)議標(biāo)簽交換)ip(internetprotocol,互聯(lián)網(wǎng)協(xié)議)vpn基礎(chǔ)上支持組播業(yè)務(wù)的技術(shù),該技術(shù)通過對私網(wǎng)組播報文進(jìn)行封裝,并將其由各site(站點(diǎn))間建立的組播隧道進(jìn)行傳遞,以完成組播數(shù)據(jù)在私網(wǎng)之間的傳送。
組播vpn報文轉(zhuǎn)發(fā)處理主要包括兩種形式:
1、封裝方向:將一個只有一層組播ip頭的報文封裝為具有二層組播ip頭的報文,并根據(jù)封裝后的報文外層組播ip頭查表轉(zhuǎn)發(fā);
2、解封裝方向:對一個具有二層組播ip頭的報文進(jìn)行解封裝,剝除外層組播ip頭,并根據(jù)解封裝后的報文的組播ip頭查表轉(zhuǎn)發(fā)。
然而,在實(shí)際應(yīng)用場景中,對于封裝方向的報文,即私網(wǎng)組播報文(ce(customeredge,用戶網(wǎng)絡(luò)邊緣)設(shè)備發(fā)送給pe(provideredge,服務(wù)提供商網(wǎng)絡(luò)邊緣)設(shè)備的組播報文),其可能既存在私網(wǎng)域的出接口,又存在公網(wǎng)域的出接口(即組播vpn隧道出口);其中,私網(wǎng)域出接口需要根據(jù)原始私網(wǎng)組播報文的組播ip頭查表確定;公網(wǎng)域出接口需要根據(jù)封裝后的報文的外層組播ip頭查表確定。即對于封裝方向的報文,pe設(shè)備需要查詢兩次轉(zhuǎn)發(fā)表項(xiàng)(根據(jù)封裝前的報文的組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng),以及根據(jù)封裝后的報文的外層組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng))。
而目前大部分交換芯片不能做連續(xù)兩次物理轉(zhuǎn)發(fā)(即通過內(nèi)層組播ip頭查表轉(zhuǎn)發(fā)給私網(wǎng)域出接口和通過外層組播ip頭查表轉(zhuǎn)發(fā)給公網(wǎng)域出接口),因此,對于公網(wǎng)域方向的轉(zhuǎn)發(fā)需要將封裝后的報文進(jìn)行環(huán)回口環(huán)回后根據(jù)外層組播ip頭查表轉(zhuǎn)發(fā)。
同理,對于解封裝方向的報文,即公網(wǎng)組播報文(p(provider,服務(wù)提供商網(wǎng)絡(luò))設(shè)備發(fā)送給pe設(shè)備的組播報文),其也可能既存在公網(wǎng)域的出接口,又存在私網(wǎng)域的出口;其中,公網(wǎng)域出接口需要根據(jù)公網(wǎng)組播報文的外層組播頭查表確定;私網(wǎng)域出接口需要根據(jù)解封裝后的報文的組播ip頭查表確定。對于私網(wǎng)域方向的轉(zhuǎn)發(fā)需要將報文進(jìn)行環(huán)回口環(huán)回后,對報文進(jìn)行解封裝,并根據(jù)解封裝后的報文的組播ip頭查表轉(zhuǎn)發(fā)。即對于解封裝方向的報文,pe設(shè)備也需要查詢兩次轉(zhuǎn)發(fā)表項(xiàng)(根據(jù)解封裝前的報文的外層組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng),以及根據(jù)解封裝后的報文的組播ip頭(即內(nèi)層組播ip頭)查詢轉(zhuǎn)發(fā)表項(xiàng))。
實(shí)踐發(fā)現(xiàn),上述方案中,對于封裝方向的報文處理流程和解封裝方向的報文的處理流程,環(huán)回口收到的報文是同一個類型的報文,pe設(shè)備無法區(qū)分是否需要對環(huán)回口環(huán)回后的報文進(jìn)行解封裝處理,因此,上述方案需要在pe設(shè)備上設(shè)置兩個邏輯環(huán)回口,從而造成端口和帶寬的浪費(fèi)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種報文轉(zhuǎn)發(fā)方法及裝置,以解決現(xiàn)有組播vpn實(shí)現(xiàn)方案中pe設(shè)備需要設(shè)置兩個邏輯環(huán)回口造成的端口和帶寬浪費(fèi)的問題。
根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種報文轉(zhuǎn)發(fā)方法,應(yīng)用于虛擬專用網(wǎng)vpn組網(wǎng)中的服務(wù)提供商網(wǎng)絡(luò)邊緣pe設(shè)備,該方法包括:
當(dāng)接收到私網(wǎng)組播報文時,根據(jù)該私網(wǎng)組播報文的組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng);
若該私網(wǎng)組播報文存在公網(wǎng)域出接口,則對該私網(wǎng)組播報文進(jìn)行封裝,在該封裝后的報文中攜帶指定標(biāo)識信息,并將該報文復(fù)制至公用環(huán)回口;
當(dāng)接收到經(jīng)過所述公用環(huán)回口環(huán)回后的報文時,判斷該報文中是否攜帶有所述指定標(biāo)識信息;
若是,則根據(jù)該報文的外層組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行報文轉(zhuǎn)發(fā);
否則,對該報文進(jìn)行解封裝處理,并根據(jù)解封裝后的報文的組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行報文轉(zhuǎn)發(fā)。
根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種報文轉(zhuǎn)發(fā)裝置,應(yīng)用于虛擬專用網(wǎng)vpn組網(wǎng)中的服務(wù)提供商網(wǎng)絡(luò)邊緣pe設(shè)備,該裝置包括:
接收單元,用于接收報文;
查詢單元,用于當(dāng)所述接收單元接收到私網(wǎng)組播報文時,根據(jù)該私網(wǎng)組播報文的組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng);
轉(zhuǎn)發(fā)單元,用于若該私網(wǎng)組播報文存在公網(wǎng)域出接口,則對該私網(wǎng)組播報文進(jìn)行封裝,在該封裝后的報文中攜帶指定標(biāo)識信息,并將該報文復(fù)制至公用環(huán)回口;
判斷單元,用于當(dāng)所述接收單元接收到經(jīng)過所述公用環(huán)回口環(huán)回后的報文時,判斷該報文中是否攜帶有所述指定標(biāo)識信息;
所述轉(zhuǎn)發(fā)單元,用于若所述判斷單元判斷該報文中攜帶有指定標(biāo)識信息,則根據(jù)該報文的外層組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行報文轉(zhuǎn)發(fā);否則,對該報文進(jìn)行解封裝處理,并根據(jù)解封裝后的報文的組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行報文轉(zhuǎn)發(fā)。
應(yīng)用本發(fā)明實(shí)施例,當(dāng)接收到私網(wǎng)組播報文,根據(jù)該私網(wǎng)組播報文的組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng),若該私網(wǎng)組播報文存在公網(wǎng)域出接口,則對該私網(wǎng)組播報文進(jìn)行封裝,在該封裝后的報文中攜帶指定標(biāo)識信息,并將該報文復(fù)制至公用環(huán)回口,進(jìn)而,當(dāng)接收到經(jīng)過公用環(huán)回口環(huán)回后的報文時,判斷該報文中是否攜帶有指定標(biāo)識信息;若是,則根據(jù)該報文的外層組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行報文轉(zhuǎn)發(fā);否則,對該報文進(jìn)行解封裝處理,并根據(jù)解封裝后的報文的組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行報文轉(zhuǎn)發(fā),從而,可以在pe設(shè)備上僅有一個共用的環(huán)回口的情況下,實(shí)現(xiàn)組播vpn,節(jié)省了pe設(shè)備的環(huán)回口數(shù)量和環(huán)回口帶寬。
附圖說明
圖1是本發(fā)明實(shí)施例提供的一種報文轉(zhuǎn)發(fā)方法的流程示意圖;
圖2是本發(fā)明實(shí)施例提供的一種具體應(yīng)用場景的結(jié)構(gòu)示意圖;
圖3是本發(fā)明實(shí)施例提供的一種報文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖;
圖4是本發(fā)明實(shí)施例提供的另一種報文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖;
圖5是本發(fā)明實(shí)施例提供的另一種報文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說明。
請參見圖1,為本發(fā)明實(shí)施例提供的一種報文轉(zhuǎn)發(fā)方法的流程示意圖,其中,該報文轉(zhuǎn)發(fā)方法可以應(yīng)用于vpn組網(wǎng)中的pe設(shè)備,如圖1所示,該報文轉(zhuǎn)發(fā)方法可以包括以下步驟:
步驟101、當(dāng)接收到私網(wǎng)組播報文時,根據(jù)該私網(wǎng)組播報文的組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)。
本發(fā)明實(shí)施例中,當(dāng)pe設(shè)備接收到私網(wǎng)組播報文,如ce設(shè)備發(fā)送的組播報文,pe設(shè)備可以根據(jù)該私網(wǎng)組播報文的組播ip頭查詢本地的轉(zhuǎn)發(fā)表項(xiàng)。其中,該私網(wǎng)組播報文僅包含一層組播ip頭。
步驟102、若該私網(wǎng)組播報文存在公網(wǎng)域出接口,則對該私網(wǎng)組播報文進(jìn)行封裝,在該封裝后的報文中攜帶指定標(biāo)識信息,并將該報文復(fù)制至公用環(huán)回口。
本發(fā)明實(shí)施例中,若pe設(shè)備根據(jù)接收到的私網(wǎng)組播報文的組播ip頭查詢本地的轉(zhuǎn)發(fā)表項(xiàng),確定該私網(wǎng)組播報文存在公網(wǎng)域出接口,即組播vpn隧道(pe設(shè)備與p設(shè)備之間的組播隧道)出口,則pe設(shè)備需要將對該報文進(jìn)行封裝,并將封裝后的報文復(fù)制到環(huán)回口(本文中稱為公用環(huán)回口,即封裝方向和解封裝方向共用一個環(huán)回口)。
其中,為了使pe設(shè)備能夠識別出經(jīng)過環(huán)回口環(huán)回后的報文是否需要解封裝,在本發(fā)明實(shí)施例中,pe設(shè)備將上述封裝后的報文復(fù)制到公用環(huán)回口之前,還需要在該封裝后的報文中攜帶指定標(biāo)識信息,該指定標(biāo)識信息可以用于指示pe設(shè)備不需要對攜帶有該指定標(biāo)識信息的報文進(jìn)行解封裝處理。
在一種可選的實(shí)施方式中,上述在封裝后的報文中攜帶指定標(biāo)識信息,可以包括:
將封裝后的報文的外層(virtuallocalareanetwork,虛擬局域網(wǎng))tag(標(biāo)簽)修改為指定vlantag;其中,該指定vlantag為vlan1~4094之外的任一vlantag。
在該實(shí)施方式中,考慮到報文實(shí)際傳輸過程中,vlantag的值通常是vlan1~4094中的值,而不會出現(xiàn)之外的vlantag,因此,可以將vlan1~4094之外的vlantag(本文中稱為指定vlantag),如vlan0或vlan4095等,作為上述指定標(biāo)識信息。
相應(yīng)地,在該實(shí)施方式中,當(dāng)pe設(shè)備需要對報文進(jìn)行封裝方向的環(huán)回處理時,pe設(shè)備將封裝后的報文復(fù)制至公用環(huán)回口之前,可以在該將該報文的外層vlantag修改為上述指定vlantag。
當(dāng)pe設(shè)備接收到經(jīng)過公用環(huán)回口環(huán)回之后的報文時,可以根據(jù)該報文中是否攜帶有上述指定vlantag,確定是否需要對該報文進(jìn)行解封裝處理。
在另一種可選的實(shí)施方式中,上述在封裝后的報文中攜帶指定標(biāo)識信息,可以包括:
在封裝后的報文中添加預(yù)設(shè)標(biāo)識字段,該預(yù)設(shè)標(biāo)識字段用于指示相應(yīng)的報文不需要進(jìn)行解封裝處理。
在該實(shí)施方式中,為了使pe設(shè)備能夠識別出經(jīng)過公用環(huán)回口環(huán)回后的報文是否需要進(jìn)行解封裝處理,即識別出經(jīng)過公用環(huán)回口環(huán)回后的報文時封裝方向的報文(不需要進(jìn)行解封裝處理)還是解封裝方向的報文(需要進(jìn)行解封裝處理),可以預(yù)先設(shè)定一個特殊的標(biāo)識字段(本文中稱為預(yù)設(shè)標(biāo)識字段),該預(yù)設(shè)標(biāo)識字段用于指示響應(yīng)的報文不需要進(jìn)行解封裝處理,也即攜帶有該預(yù)設(shè)標(biāo)識字段的報文不需要進(jìn)行解封裝處理。
相應(yīng)地,在該實(shí)施方式中,當(dāng)pe設(shè)備需要對報文進(jìn)行封裝方向的環(huán)回處理時,pe設(shè)備將封裝后的報文復(fù)制至公用環(huán)回口之前,可以在該將該報文中添加上述預(yù)設(shè)標(biāo)識字段。
當(dāng)pe設(shè)備接收到經(jīng)過公用環(huán)回口環(huán)回之后的報文時,可以根據(jù)該報文中是否攜帶有上述預(yù)設(shè)標(biāo)識字段,確定是否需要對該報文進(jìn)行解封裝處理。
進(jìn)一步地,在該實(shí)施方式中,若pe設(shè)備確定經(jīng)過公用環(huán)回口環(huán)回后的報文攜帶有上述預(yù)設(shè)標(biāo)識字段,并根據(jù)該報文的外層組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)確定了該報文的出接口時,pe設(shè)備在將該報文通過該出接口轉(zhuǎn)發(fā)之前,需要將該報文中攜帶的上述預(yù)設(shè)標(biāo)識字段刪除。
應(yīng)該認(rèn)識到,上述將指定vlantag或預(yù)設(shè)標(biāo)識字段作為指定標(biāo)識信息僅僅是本發(fā)明實(shí)施例中指定標(biāo)識信息的兩種具體示例,而不是對本發(fā)明保護(hù)范圍的限定,在本發(fā)明實(shí)施例的基礎(chǔ)上,本領(lǐng)域技術(shù)人員在未付出創(chuàng)造性勞動的前提下對本發(fā)明實(shí)施例中的指定標(biāo)識信息做出的調(diào)整或變型,均應(yīng)屬于本發(fā)明保護(hù)范圍。
本發(fā)明實(shí)施例中,當(dāng)pe設(shè)備根據(jù)接收到的私網(wǎng)組播報文的組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)確定該私網(wǎng)組播報文存在私網(wǎng)域出接口時,pe設(shè)備可以對該私網(wǎng)組播報文進(jìn)行復(fù)制,并通過相應(yīng)私網(wǎng)域出接口進(jìn)行轉(zhuǎn)發(fā)。
步驟103、當(dāng)接收到經(jīng)過公用環(huán)回口環(huán)回后的報文時,判斷該報文中是否攜帶有指定標(biāo)識信息;若是,轉(zhuǎn)至步驟104;否則,轉(zhuǎn)至步驟105。
本發(fā)明實(shí)施例中,當(dāng)pe設(shè)備接收到經(jīng)過公用環(huán)回口環(huán)回后的報文時,pe設(shè)備可以通過判斷該報文中是否攜帶有上述指定標(biāo)識信息,來確定該報文是解封裝方向的報文,還是封裝方向的報文,即確定是否需要對該報文進(jìn)行解封裝處理。
步驟104、根據(jù)該報文的外層組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行報文轉(zhuǎn)發(fā)。
本發(fā)明實(shí)施例中,當(dāng)pe設(shè)備確定經(jīng)過公用環(huán)回口環(huán)回后的報文中攜帶有上述指定標(biāo)識信息時,例如,pe設(shè)備確定該經(jīng)過公用環(huán)回口環(huán)回后的報文中攜帶有vlan0,pe設(shè)備可以確定該報文為封裝方向的報文,即pe設(shè)備不需要對該報文進(jìn)行解封裝處理。此時,pe設(shè)備可以直接根據(jù)該報文的外層組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng),并根據(jù)查詢結(jié)果對該報文進(jìn)行轉(zhuǎn)發(fā)。
步驟105、對該報文進(jìn)行解封裝處理,并根據(jù)解封裝后的報文的組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行報文轉(zhuǎn)發(fā)。
本發(fā)明實(shí)施例中,當(dāng)pe設(shè)備確定經(jīng)過公用環(huán)回口環(huán)回后的報文中未攜帶上述指定標(biāo)識信息時,例如,pe設(shè)備確定該經(jīng)過公用環(huán)回口環(huán)回后的報文中未攜帶vlan0,pe設(shè)備可以確定該報文為解封裝方向的報文,即pe設(shè)備需要對該報文進(jìn)行解封裝處理。此時,pe設(shè)備可以對該報文進(jìn)行解封裝處理,剝除該報文的外層組播ip頭,并根據(jù)解封裝后的報文的組播ip頭(即內(nèi)層組播ip頭)查詢轉(zhuǎn)發(fā)表項(xiàng),并根據(jù)查詢結(jié)果對該報文進(jìn)行轉(zhuǎn)發(fā)。
可見,在圖1所示的方法流程中,通過預(yù)設(shè)用于指示報文是否需要解封裝處理的指定標(biāo)識信息,當(dāng)pe設(shè)備接收到私網(wǎng)組播報文,且確定該私網(wǎng)組播報文存在公網(wǎng)域出接口時,pe設(shè)備對該報文進(jìn)行封裝后,在將其發(fā)送至公用環(huán)回口前,在該報文中攜帶上述指定標(biāo)識信息,進(jìn)而,pe設(shè)備可以根據(jù)經(jīng)過公用環(huán)回口環(huán)回后的報文中是否攜帶有上述指定標(biāo)識信息確定是否需要對該報文進(jìn)行解封裝處理,從而,可以在pe設(shè)備上僅有一個共用的環(huán)回口的情況下,實(shí)現(xiàn)組播vpn,節(jié)省了pe設(shè)備的環(huán)回口數(shù)量和環(huán)回口帶寬。
本發(fā)明實(shí)施例中,當(dāng)pe設(shè)備接收到公網(wǎng)組播報文時,pe設(shè)備可以根據(jù)公網(wǎng)組播報文的外層ip組播頭查詢轉(zhuǎn)發(fā)表項(xiàng)。
當(dāng)pe設(shè)備根據(jù)公網(wǎng)組播報文的外層組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)確定該報文存在私網(wǎng)域出接口時,pe設(shè)備可以將該報文復(fù)制到上述公用環(huán)回口。
當(dāng)pe設(shè)備根據(jù)公網(wǎng)組播報文的外層組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)確定該報文存在公網(wǎng)域出接口時,pe設(shè)備可以對該公網(wǎng)組播報文進(jìn)行復(fù)制,并通過相應(yīng)公網(wǎng)域出接口進(jìn)行轉(zhuǎn)發(fā)。
為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明實(shí)施例提供的技術(shù)方案,下面結(jié)合具體應(yīng)用場景對本發(fā)明實(shí)施例提供的技術(shù)方案進(jìn)行描述。
請參見圖2,為本發(fā)明實(shí)施例提供的一種具體應(yīng)用場景的架構(gòu)示意圖,如圖2所示,在該應(yīng)用場景中,site1、site3、site5和site7組成vpna;site2、site4、stie6組成vpnb。
基于圖2所示應(yīng)用場景,本發(fā)明實(shí)施例提供的報文轉(zhuǎn)發(fā)方法實(shí)現(xiàn)流程如下:
1、當(dāng)site5內(nèi)存在組播源發(fā)送組播報文時,對于site5內(nèi)的組播接收者,ce5可以直接將組播報文轉(zhuǎn)發(fā)給相應(yīng)的組播接收者;對于其它site內(nèi)的組播接收者,如site1和site3內(nèi)的組播接收者,ce5需要將組播報文發(fā)送給pe3;
2、pe3接收到ce5發(fā)送的組播報文(私網(wǎng)組播報文)時,pe3可以根據(jù)該組播報文的組播ip頭查詢本地轉(zhuǎn)發(fā)表項(xiàng);其中,該組播報文僅包含一層組播ip頭;
在該實(shí)施例中,pe3根據(jù)接收到的ce5發(fā)送的組播報文,并根據(jù)該組播報文的組播ip頭查詢本地轉(zhuǎn)發(fā)表項(xiàng)時,會發(fā)現(xiàn)該組播報文存在私網(wǎng)域出接口和公網(wǎng)域出接口;
其中,對于私網(wǎng)域出接口(即pe3連接ce7的端口(假設(shè)為port(端口)3-7)),pe3可以直接對該組播報文進(jìn)行復(fù)制,并將復(fù)制后的報文通過port3-7轉(zhuǎn)發(fā)給ce7,由ce7轉(zhuǎn)發(fā)給相應(yīng)的組播接收者;
對于公網(wǎng)域出接口,pe3需要對該組播報文封裝,并將該封裝后的報文的外層vlantag修改為vlan0,進(jìn)而,pe3可以將該報文復(fù)制至公用環(huán)回口;
3、pe3接收到經(jīng)過公用環(huán)回口環(huán)回的報文時,發(fā)現(xiàn)該報文中攜帶有vlan0,進(jìn)而,pe3可以確定不需要對該報文進(jìn)行解封裝,并根據(jù)該報文的外層組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行報文轉(zhuǎn)發(fā);
在該實(shí)施例中,pe3根據(jù)該報文的外層組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)可以確定該報文的公網(wǎng)域出接口為pe3與p1之間的組播vpn隧道出口(假設(shè)為port3-1),并將該報文通過port3-1轉(zhuǎn)發(fā)給p1;其中,pe3發(fā)送給p1的報文中的外層vlantag會根據(jù)實(shí)際vlan配置由vlan0修改為vlan1~4094中的一個;
p1接收到pe3發(fā)送的報文(公網(wǎng)組播報文)之后,會根據(jù)本地轉(zhuǎn)發(fā)表項(xiàng)將報文分別轉(zhuǎn)發(fā)給pe1和pe2;
以下以pe1對接收到的公網(wǎng)組播報文的處理流程為例。
4、pe1接收到p1發(fā)送的公網(wǎng)組播報文時,會先根據(jù)該公網(wǎng)組播報文的外層組播ip頭查詢本地轉(zhuǎn)發(fā)表項(xiàng);
在該實(shí)施例中,pe1根據(jù)接收到的p1發(fā)送的公網(wǎng)組播報文,并根據(jù)該公網(wǎng)組播報文的外層組播ip頭查詢本地轉(zhuǎn)發(fā)表項(xiàng)時,會發(fā)現(xiàn)該組播報文不存在公網(wǎng)域出接口,而僅存在私網(wǎng)域出接口;
對于私網(wǎng)域出接口,pe1可以將該公網(wǎng)組播報文復(fù)制至公用環(huán)回口;
5、pe1接收到經(jīng)過公用環(huán)回口環(huán)回后的報文時,發(fā)現(xiàn)該報文中未攜帶vlan0,進(jìn)而,pe1可以對該報文進(jìn)行解封裝處理,并根據(jù)解封裝后的報文的組播ip頭(即內(nèi)層組播ip頭)查詢轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行報文轉(zhuǎn)發(fā);
在該實(shí)施例中,pe1根據(jù)該解封裝后的報文的組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)可以確定該報文的私網(wǎng)域出接口為pe1連接ce1的端口(假設(shè)為port1-1),并將該報文通過port1-1轉(zhuǎn)發(fā)給ce1,由ce1轉(zhuǎn)發(fā)給相應(yīng)的組播接收者。
通過以上描述可以看出,在本發(fā)明實(shí)施例提供的技術(shù)方案中,當(dāng)接收到私網(wǎng)組播報文,根據(jù)該私網(wǎng)組播報文的組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng),若該私網(wǎng)組播報文存在公網(wǎng)域出接口,則對該私網(wǎng)組播報文進(jìn)行封裝,在該封裝后的報文中攜帶指定標(biāo)識信息,并將該報文復(fù)制至公用環(huán)回口,進(jìn)而,當(dāng)接收到經(jīng)過公用環(huán)回口環(huán)回后的報文時,判斷該報文中是否攜帶有指定標(biāo)識信息;若是,則根據(jù)該報文的外層組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行報文轉(zhuǎn)發(fā);否則,對該報文進(jìn)行解封裝處理,并根據(jù)解封裝后的報文的組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行報文轉(zhuǎn)發(fā),從而,可以在pe設(shè)備上僅有一個共用的環(huán)回口的情況下,實(shí)現(xiàn)組播vpn,節(jié)省了pe設(shè)備的環(huán)回口數(shù)量和環(huán)回口帶寬。
請參見圖3,為本發(fā)明實(shí)施例提供的一種報文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖,其中,該裝置可以應(yīng)用于上述方法實(shí)施例中的pe設(shè)備,如圖3所示,該裝置可以包括:
接收單元310,用于接收報文;
查詢單元320,用于當(dāng)所述接收單元310接收到私網(wǎng)組播報文時,根據(jù)該私網(wǎng)組播報文的組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng);
轉(zhuǎn)發(fā)單元330,用于若該私網(wǎng)組播報文存在公網(wǎng)域出接口,則對該私網(wǎng)組播報文進(jìn)行封裝,在該封裝后的報文中攜帶指定標(biāo)識信息,并將該報文復(fù)制至公用環(huán)回口;
判斷單元340,用于當(dāng)所述接收單元310接收到經(jīng)過所述公用環(huán)回口環(huán)回后的報文時,判斷該報文中是否攜帶有所述指定標(biāo)識信息;
所述轉(zhuǎn)發(fā)單元330,用于若所述判斷單元340判斷該報文中攜帶有指定標(biāo)識信息,則根據(jù)該報文的外層組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行報文轉(zhuǎn)發(fā);否則,對該報文進(jìn)行解封裝處理,并根據(jù)解封裝后的報文的組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行報文轉(zhuǎn)發(fā)。
在可選實(shí)施例中,所述轉(zhuǎn)發(fā)單元330,還用于若該私網(wǎng)組播報文存在私網(wǎng)域出接口,則將該報文復(fù)制至所述私網(wǎng)域出接口。
在可選實(shí)施例中,所述查詢單元320,還用于當(dāng)所述接收單元310接收到公網(wǎng)組播報文時,根據(jù)該公網(wǎng)組播報文的外層組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng);
所述轉(zhuǎn)發(fā)單元330,還用于若該公網(wǎng)組播報文存在公網(wǎng)域出接口,則將該報文復(fù)制到所述公網(wǎng)域出接口;若該公網(wǎng)組播報文存在私網(wǎng)域出接口,則將該報文復(fù)制到所述公用環(huán)回口。
請一并參見圖4,為本發(fā)明實(shí)施例提供的另一種報文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖,如圖4所示,在圖3所示報文轉(zhuǎn)發(fā)裝置的基礎(chǔ)上,圖4所示的報文轉(zhuǎn)發(fā)裝置中,所述轉(zhuǎn)發(fā)單元330可以包括:
第一封裝子單元331,用于若該私網(wǎng)組播報文存在公網(wǎng)域出接口,則對該私網(wǎng)組播報文進(jìn)行封裝;
修改子單332,用于將該封裝后的報文的外層虛擬局域網(wǎng)vlan標(biāo)簽修改為指定vlan標(biāo)簽,該指定vlan標(biāo)簽為vlan1~4094之外的任一vlan標(biāo)簽;
第一轉(zhuǎn)發(fā)子單元333,用于將所述修改子單元修改后的報文復(fù)制至公用環(huán)回口。
請一并參見圖5,為本發(fā)明實(shí)施例提供的另一種報文轉(zhuǎn)發(fā)裝置的結(jié)構(gòu)示意圖,如圖5所示,在圖3所示報文轉(zhuǎn)發(fā)裝置的基礎(chǔ)上,圖5所示的報文轉(zhuǎn)發(fā)裝置中,所述轉(zhuǎn)發(fā)單元330可以包括:
第二封裝子單元334,用于若該私網(wǎng)組播報文存在公網(wǎng)域出接口,則對該私網(wǎng)組播報文進(jìn)行封裝;
添加單元335,用于在該封裝后的報文中添加預(yù)設(shè)標(biāo)識字段,該預(yù)設(shè)標(biāo)識字段用于指示相應(yīng)的報文不需要進(jìn)行解封裝處理;
第二轉(zhuǎn)發(fā)子單元336,用于將所述添加有所述預(yù)設(shè)標(biāo)識字段的報文復(fù)制至公用環(huán)回口;
進(jìn)一步地,在圖5所示的報文轉(zhuǎn)發(fā)裝置中,所述轉(zhuǎn)發(fā)單元330,還可以包括:
刪除子單元337,用于當(dāng)所述判斷單元340判斷經(jīng)過所述公用環(huán)回口環(huán)回后的報文中攜帶有所述指定標(biāo)識信息時,在對該報文進(jìn)行轉(zhuǎn)發(fā)之前,刪除該報文中攜帶的所述預(yù)設(shè)標(biāo)識字段。
上述裝置中各個單元的功能和作用的實(shí)現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實(shí)現(xiàn)過程,在此不再贅述。
對于裝置實(shí)施例而言,由于其基本對應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本發(fā)明方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實(shí)施。
由上述實(shí)施例可見,當(dāng)接收到私網(wǎng)組播報文,根據(jù)該私網(wǎng)組播報文的組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng),若該私網(wǎng)組播報文存在公網(wǎng)域出接口,則對該私網(wǎng)組播報文進(jìn)行封裝,在該封裝后的報文中攜帶指定標(biāo)識信息,并將該報文復(fù)制至公用環(huán)回口,進(jìn)而,當(dāng)接收到經(jīng)過公用環(huán)回口環(huán)回后的報文時,判斷該報文中是否攜帶有指定標(biāo)識信息;若是,則根據(jù)該報文的外層組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行報文轉(zhuǎn)發(fā);否則,對該報文進(jìn)行解封裝處理,并根據(jù)解封裝后的報文的組播ip頭查詢轉(zhuǎn)發(fā)表項(xiàng)進(jìn)行報文轉(zhuǎn)發(fā),從而,可以在pe設(shè)備上僅有一個共用的環(huán)回口的情況下,實(shí)現(xiàn)組播vpn,節(jié)省了pe設(shè)備的環(huán)回口數(shù)量和環(huán)回口帶寬。
本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本發(fā)明的其它實(shí)施方案。本申請旨在涵蓋本發(fā)明的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術(shù)領(lǐng)域中的公知常識或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本發(fā)明的范圍僅由所附的權(quán)利要求來限制。