一種基于nat的組播協(xié)議報文傳輸方法和設(shè)備的制作方法
【專利摘要】本發(fā)明公開了一種基于NAT的組播協(xié)議報文傳輸方法和設(shè)備,該方法包括:NAT設(shè)備接收源注冊報文,所述源注冊報文中攜帶(S,G)信息,所述源注冊報文的目的IP地址為RP設(shè)備的IP地址;NAT設(shè)備根據(jù)NAT映射表項將源注冊報文的源IP地址修改為NAT設(shè)備公網(wǎng)地址,根據(jù)NAT映射表項將(S,G)信息中的組播源地址修改為NAT設(shè)備公網(wǎng)地址,并向RP設(shè)備發(fā)送源注冊報文。本發(fā)明實施例中,可以保證注冊停止報文或(S,G)加入報文能夠發(fā)送到組播源設(shè)備對應(yīng)的源DR,最終使得組播業(yè)務(wù)能夠正常運行。
【專利說明】一種基于NAT的組播協(xié)議報文傳輸方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其是涉及一種基于NAT (Network AddressTranslation,網(wǎng)絡(luò)地址轉(zhuǎn)換)的組播協(xié)議報文傳輸方法和設(shè)備。
【背景技術(shù)】
[0002]組播技術(shù)能夠有效解決單點發(fā)送、多點接收問題,從而實現(xiàn)網(wǎng)絡(luò)中點到多點的高效數(shù)據(jù)傳送,并節(jié)約大量網(wǎng)絡(luò)帶寬、降低網(wǎng)絡(luò)負載。NAT技術(shù)可以將IP數(shù)據(jù)報文頭中的IP地址轉(zhuǎn)換為另一個IP地址,用于實現(xiàn)允許內(nèi)部網(wǎng)絡(luò)用戶訪問外部公共網(wǎng)絡(luò)以及允許外部公共網(wǎng)絡(luò)訪問部分內(nèi)部網(wǎng)絡(luò)資源。在某些特殊應(yīng)用場景下,組播技術(shù)和NAT技術(shù)的結(jié)合使用成為了需要解決的問題。
[0003]以組播業(yè)務(wù)米用 PIM-SM (Protocol Independent Multicast Sparse Mode,稀疏模式獨立組播協(xié)議)為例,組播源設(shè)備對應(yīng)的源DR (Designated Router,指定路由器)將組播源設(shè)備發(fā)出的第一份組播數(shù)據(jù)報文封裝成源注冊報文,并向RP(Rendezvous Point,匯聚點)設(shè)備發(fā)送源注冊報文,該源注冊報文根據(jù)單播路由最終轉(zhuǎn)發(fā)到RP設(shè)備。RP設(shè)備在收到源注冊報文后,利用源注冊報文中封裝的組播數(shù)據(jù)報文的(S,G)信息生成(S,G)表項,S為組播源地址,G為組播組地址。RP設(shè)備查找是否存在對應(yīng)的(*,G)表項,如果否,則向組播源設(shè)備對應(yīng)的源DR回復(fù)注冊停止報文,源DR收到注冊停止報文后,啟動注冊停止計時器,在計時器超時前,向RP設(shè)備發(fā)送空注冊報文,以維持在RP設(shè)備上的(S,G)表項;如果是,且有下游出接口,則向組播源設(shè)備對應(yīng)的源DR回復(fù)注冊停止報文,同時將源注冊報文解封裝,將其中的組播數(shù)據(jù)報文轉(zhuǎn)發(fā)給接收者,同時向組播源設(shè)備對應(yīng)的源DR逐跳發(fā)送(S,G)加入報文,該(S,G)加入報文所經(jīng)過的路徑構(gòu)成SPT (Shortest Path Tree,最短路徑樹)分支,SPT以源DR為根,以RP設(shè)備為葉子,分支上的各設(shè)備建立(S,G)表項,后續(xù)的組播數(shù)據(jù)報文依照SPT樹轉(zhuǎn)發(fā)到RP設(shè)備。
[0004]為了將組播技術(shù)和NAT技術(shù)相結(jié)合,在一層NAT的應(yīng)用場景中,通常方法是將RP設(shè)備部署在NAT設(shè)備上,使得組播源設(shè)備、組播源設(shè)備對應(yīng)的源DR和RP設(shè)備都在同一個私網(wǎng)中,互相是單播路由可達的。如此一來,整個組播源注冊的過程和普通的PM (ProtocolIndependent Multicast,獨立組播協(xié)議)網(wǎng)絡(luò)處理流程完全相同,也就不需要根據(jù)NAT設(shè)備做任何特殊處理。組播源設(shè)備對應(yīng)的源DR發(fā)送的源注冊報文、RP設(shè)備發(fā)送的注冊停止報文和(S,G)加入報文也只在私網(wǎng)傳輸。待私網(wǎng)的SPT樹建立后,組播數(shù)據(jù)報文在私網(wǎng)中按照建立的SPT樹可以正確轉(zhuǎn)發(fā)到RP設(shè)備。RP設(shè)備同時是NAT設(shè)備,將會根據(jù)NAT映射表項修改組播數(shù)據(jù)報文的源IP地址為公網(wǎng)地址,而后按照公網(wǎng)中PM協(xié)議生成的組播路由進行轉(zhuǎn)發(fā)。從私網(wǎng)到公網(wǎng)的整個轉(zhuǎn)發(fā)過程不需要做任何特殊處理,完全按照PM協(xié)議和NAT功能的流程進行。
[0005]但是,由于目前普遍使用多層NAT的應(yīng)用場景,RP設(shè)備通常位于公網(wǎng)側(cè),因此在多層NAT的應(yīng)用場景下,目前還無法實現(xiàn)組播技術(shù)和NAT技術(shù)的結(jié)合。
[0006]如圖1所示,為應(yīng)用多層NAT的應(yīng)用場景示意圖,Router A(路由器A)、Router B、Router C、Router D為私網(wǎng)設(shè)備,Router E為公網(wǎng)設(shè)備,Router B和Router D為NAT設(shè)備。當私網(wǎng)內(nèi)所有路由器都配置了缺省路由指向Router E時,Router A發(fā)出的IP報文能夠通過缺省路由轉(zhuǎn)發(fā)到Router E。由于Router E上沒有Router A的路由,因此Router E上收到目的IP地址為Router A地址的IP報文后,Router E只能轉(zhuǎn)發(fā)目的IP地址為RouterD的報文;由于Router D上沒有Router A的路由,因此Router D上收到目的IP地址為Router A地址的IP報文后,Router D只能轉(zhuǎn)發(fā)目的IP地址為Router C的報文;以此類推,最終由Router B通過NAT映射表項映射到Router A的私網(wǎng)地址,繼而將IP報文發(fā)送給 Router A。
[0007]為了實現(xiàn)組播業(yè)務(wù),需要保證組播源設(shè)備到RP設(shè)備方向的單播路由可達,且保證RP設(shè)備到組播源設(shè)備方向的單播路由可達,如果RP設(shè)備到組播源設(shè)備方向的單播路由不可達,則會影響注冊停止報文和(S,G)加入報文的轉(zhuǎn)發(fā),進一步導(dǎo)致SPT樹無法建立,并導(dǎo)致組播業(yè)務(wù)無法運行。顯然,在圖1所示的多層NAT的基礎(chǔ)上,如果運行組播業(yè)務(wù),則會導(dǎo)致RP設(shè)備到組播源設(shè)備方向的單播路由不可達。如圖2所示,為多層NAT業(yè)務(wù)組網(wǎng)上運行組播業(yè)務(wù)的應(yīng)用場景示意圖,假設(shè)Router A為組播源設(shè)備S對應(yīng)的源DR,Router E為RP設(shè)備,由于組播源設(shè)備和RP設(shè)備中間跨多層NAT設(shè)備相連接,從而導(dǎo)致RP設(shè)備到組播源設(shè)備方向的單播路由不可達,SPT樹無法建立,組播業(yè)務(wù)無法運行。
[0008]具體的,Router A將組播源設(shè)備(Server)發(fā)出的組播數(shù)據(jù)報文封裝成源注冊報文,并向Router E (RP設(shè)備)發(fā)送源注冊報文,該源注冊報文經(jīng)過兩層NAT設(shè)備(Router B和Router D)轉(zhuǎn)發(fā)到Router E。Router E在收到源注冊報文后,根據(jù)源注冊報文的(S, G)信息生成(S,G)表項,S為Server的IP地址。Router E在發(fā)送注冊停止報文或(S,G)加入報文時,源IP地址為Router E的IP地址,目的IP地址為Server的IP地址。但是,RouterE上只存在Router D的路由,沒有Server的路由,且Router D上也沒有Server的路由,從而導(dǎo)致注冊停止報文或(S,G)加入報文無法發(fā)送到Router A,并導(dǎo)致組播業(yè)務(wù)無法運行。
【發(fā)明內(nèi)容】
[0009]本發(fā)明實施例提供一種基于NAT的組播協(xié)議報文傳輸方法和設(shè)備,以保證注冊停止報文或者(S,G)加入報文能夠發(fā)送到組播源設(shè)備對應(yīng)的源DR。
[0010]為達到上述目的,本發(fā)明實施例提供一種基于網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的組播協(xié)議報文傳輸方法,組播源設(shè)備位于私網(wǎng)側(cè),匯聚點RP設(shè)備位于公網(wǎng)側(cè),且所述組播源設(shè)備與所述RP設(shè)備之間至少存在一個NAT設(shè)備,所述方法包括:
[0011]所述NAT設(shè)備接收源注冊報文,所述源注冊報文中攜帶(S,G)信息,且所述源注冊報文的目的IP地址為所述RP設(shè)備的IP地址;
[0012]所述NAT設(shè)備根據(jù)NAT映射表項將源注冊報文的源IP地址修改為對應(yīng)的NAT設(shè)備公網(wǎng)地址,根據(jù)NAT映射表項將所述(S,G)信息中的組播源地址S修改為對應(yīng)的NAT設(shè)備公網(wǎng)地址,并向所述RP設(shè)備發(fā)送源注冊報文。
[0013]所述NAT設(shè)備向所述RP設(shè)備發(fā)送源注冊報文之后,所述方法還包括:
[0014]所述NAT設(shè)備接收注冊停止報文或者(S,G)加入報文;其中,所述注冊停止報文或者(S,G)加入報文中攜帶(S,G)信息,且所述注冊停止報文或者(S,G)加入報文的源IP地址為所述RP設(shè)備的IP地址;[0015]所述NAT設(shè)備根據(jù)所述NAT映射表項將所述注冊停止報文或者(S,G)加入報文的目的IP地址修改為對應(yīng)的NAT設(shè)備私網(wǎng)地址,并根據(jù)所述NAT映射表項將所述(S,G)信息中的組播源地址S修改為對應(yīng)的NAT設(shè)備私網(wǎng)地址,并轉(zhuǎn)發(fā)所述注冊停止報文或者(S,G)加入報文。
[0016]所述方法進一步包括:在根據(jù)NAT映射表項將所述(S,G)加入報文中的(S,G)信息中的組播源地址S修改為對應(yīng)的NAT設(shè)備私網(wǎng)地址之前,所述NAT設(shè)備利用所述(S,G)加入報文中的(S,G)信息生成對應(yīng)的(S,G)表項;所述NAT設(shè)備在收到組播數(shù)據(jù)報文時,根據(jù)NAT映射表項將所述組播數(shù)據(jù)報文的(S,G)信息中的組播源地址修改為對應(yīng)的NAT設(shè)備公網(wǎng)地址,并利用修改后的組播源地址和組播組地址查詢當前(S,G)表項,并利用當前(S,G)表項的查詢結(jié)果向所述RP設(shè)備發(fā)送修改后的組播數(shù)據(jù)報文。
[0017]所述方法還包括:所述NAT設(shè)備維護NAT映射表項,所述NAT映射表項中至少記錄了 NAT設(shè)備私網(wǎng)地址與NAT設(shè)備公網(wǎng)地址之間的映射關(guān)系。
[0018]所述方法應(yīng)用于稀疏模式獨立組播協(xié)議PM-SM網(wǎng)絡(luò)中,且所述組播源設(shè)備到所述RP設(shè)備方向的單播路由可達,所述RP設(shè)備到所述組播源設(shè)備方向的單播路由不可達。
[0019]本發(fā)明實施例提供一種網(wǎng)絡(luò)地址轉(zhuǎn)換NAT設(shè)備,組播源設(shè)備位于私網(wǎng)側(cè),匯聚點RP設(shè)備位于公網(wǎng)側(cè),且所述組播源設(shè)備與所述RP設(shè)備之間至少存在一個NAT設(shè)備,所述NAT設(shè)備具體包括:接收模塊,用于接收源注冊報文;其中,所述源注冊報文中攜帶(S,G)信息,且所述源注冊報文的目的IP地址為所述RP設(shè)備的IP地址;處理模塊,用于根據(jù)NAT映射表項將所述源注冊報文的源IP地址修改為對應(yīng)的NAT設(shè)備公網(wǎng)地址,并根據(jù)所述NAT映射表項將所述(S,G)信息中的組播源地址S修改為對應(yīng)的NAT設(shè)備公網(wǎng)地址;發(fā)送模塊,用于向所述RP設(shè)備發(fā)送源注冊報文。
[0020]所述接收模塊,還用于接收注冊停止報文或者(S,G)加入報文;其中,所述注冊停止報文或者(S,G)加入報文中攜帶(S,G)信息,且所述注冊停止報文或者(S,G)加入報文的源IP地址為所述RP設(shè)備的IP地址;所述處理模塊,還用于根據(jù)NAT映射表項將注冊停止報文或者(S,G)加入報文的目的IP地址修改為對應(yīng)的NAT設(shè)備私網(wǎng)地址,并根據(jù)NAT映射表項將所述(S,G)信息中的組播源地址S修改為對應(yīng)的NAT設(shè)備私網(wǎng)地址;所述發(fā)送模塊,還用于轉(zhuǎn)發(fā)修改地址后的所述注冊停止報文或者(S,G)加入報文。
[0021]所述處理模塊,還用于在根據(jù)所述NAT映射表項將所述(S,G)加入報文中的(S,G)信息中的組播源地址S修改為對應(yīng)的NAT設(shè)備私網(wǎng)地址之前,利用所述(S,G)加入報文中的(S,G)信息生成對應(yīng)的(S,G)表項;在收到組播數(shù)據(jù)報文時,根據(jù)所述NAT映射表項將所述組播數(shù)據(jù)報文的(S,G)信息中的組播源地址修改為對應(yīng)的NAT設(shè)備公網(wǎng)地址,并利用修改后的組播源地址和組播組地址查詢當前(S,G)表項;所述發(fā)送模塊,還用于利用當前(S,G)表項的查詢結(jié)果向所述RP設(shè)備發(fā)送修改后的組播數(shù)據(jù)報文。
[0022]所述處理模塊,還用于維護所述NAT映射表項,且所述NAT映射表項中至少記錄了NAT設(shè)備私網(wǎng)地址與NAT設(shè)備公網(wǎng)地址之間的映射關(guān)系。
[0023]所述NAT設(shè)備應(yīng)用于稀疏模式獨立組播協(xié)議PM-SM網(wǎng)絡(luò)中,且所述組播源設(shè)備到所述RP設(shè)備方向的單播路由可達,所述RP設(shè)備到所述組播源設(shè)備方向的單播路由不可達。
[0024]與現(xiàn)有技術(shù)相比,本發(fā)明實施例至少具有以下優(yōu)點:本發(fā)明實施例中,NAT設(shè)備在收到源注冊報文時,根據(jù)NAT映射表項將組播源地址S修改為對應(yīng)的NAT設(shè)備公網(wǎng)地址,并向RP設(shè)備發(fā)送源注冊報文,使得RP設(shè)備可基于修改后的組播源地址S發(fā)送發(fā)送注冊停止報文或者(S,G)加入報文。基于上述處理方式,可以保證處于公網(wǎng)側(cè)的RP設(shè)備可將注冊停止報文或(S,G)加入報文發(fā)送到組播源設(shè)備對應(yīng)的源DR,建立SPT,最終使得組播業(yè)務(wù)能夠正常運行。
【專利附圖】
【附圖說明】
[0025]圖1是現(xiàn)有技術(shù)中應(yīng)用多層NAT的應(yīng)用示意圖;
[0026]圖2是現(xiàn)有技術(shù)中多層NAT業(yè)務(wù)組網(wǎng)上運行組播業(yè)務(wù)的應(yīng)用示意圖;
[0027]圖3是本發(fā)明實施例提出的基于NAT的組播協(xié)議報文傳輸方法流程圖;
[0028]圖4是本發(fā)明實施例應(yīng)用場景下提出的多個私網(wǎng)地址(即私網(wǎng)側(cè)存在多個組播源設(shè)備)映射到同一公網(wǎng)地址下的組播業(yè)務(wù)的應(yīng)用場景示意圖;
[0029]圖5是本發(fā)明實施例提供的一種NAT設(shè)備的結(jié)構(gòu)示意圖。
【具體實施方式】
[0030]針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明實施例提供一種基于NAT的組播協(xié)議報文傳輸方法,該方法應(yīng)用于組播業(yè)務(wù)和NAT技術(shù)相結(jié)合的網(wǎng)絡(luò)中,在該網(wǎng)絡(luò)中,組播源設(shè)備位于私網(wǎng)側(cè),RP設(shè)備位于公網(wǎng)側(cè),且組播源設(shè)備與RP設(shè)備之間至少存在一個NAT設(shè)備(如兩個NAT設(shè)備或者兩個以上的NAT設(shè)備),如圖3所示,該基于NAT的組播協(xié)議報文傳輸方法包括以下步驟:
[0031]步驟301,NAT設(shè)備接收源注冊報文。其中,該源注冊報文中攜帶(S,G)信息,且該源注冊報文的目的IP地址為RP設(shè)備的IP地址。
[0032]步驟302,NAT設(shè)備根據(jù)NAT映射表項將源注冊報文的源IP地址修改為對應(yīng)的NAT設(shè)備公網(wǎng)地址,根據(jù)NAT映射表項將(S,G)信息中的組播源地址S修改為對應(yīng)的NAT設(shè)備公網(wǎng)地址,并向RP設(shè)備發(fā)送源注冊報文。
[0033]其中,NAT設(shè)備向RP設(shè)備發(fā)送的源注冊報文中的(S,G)信息中的組播源地址S為NAT設(shè)備公網(wǎng)地址,該NAT設(shè)備公網(wǎng)地址將作為RP設(shè)備發(fā)送的注冊停止報文或者(S,G)加入報文的目的地址。
[0034]基于上述處理,RP設(shè)備在收到源注冊報文時,由于源注冊報文的(S,G)信息中的組播源地址S為NAT設(shè)備公網(wǎng)地址,而不再是組播源設(shè)備的IP地址,使得RP設(shè)備在發(fā)送注冊停止報文或者(S,G)加入報文時,源IP地址為RP設(shè)備的IP地址,目的IP地址為NAT設(shè)備公網(wǎng)地址?;诖?,NAT設(shè)備能夠收到注冊停止報文或者(S,G)加入報文,在根據(jù)NAT映射表項將注冊停止報文或者(S,G)加入報文的目的IP地址修改為對應(yīng)的NAT設(shè)備私網(wǎng)地址,根據(jù)NAT映射表項將(S,G)信息中的組播源地址S修改為對應(yīng)的NAT設(shè)備私網(wǎng)地址后,可以向組播源設(shè)備對應(yīng)的源DR發(fā)送注冊停止報文或者(S,G)加入報文,使得組播源設(shè)備對應(yīng)的源DR可以收到注冊停止報文或者(S,G)加入報文,即可以保證注冊停止報文或(S,G)加入報文能夠發(fā)送到組播源設(shè)備對應(yīng)的源DR,最終使得組播業(yè)務(wù)能夠正常運行。
[0035]以下結(jié)合圖2所示的多層NAT業(yè)務(wù)組網(wǎng)上運行組播業(yè)務(wù)的應(yīng)用場景示意圖為例,對本發(fā)明實施例提供的技術(shù)方案進行詳細說明。
[0036]本發(fā)明實施例中,在應(yīng)用了多層NAT的組網(wǎng)中,組播業(yè)務(wù)采用稀疏模式獨立組播協(xié)議PIM-SM協(xié)議為組播路由協(xié)議,組播源設(shè)備位于私網(wǎng)側(cè),RP設(shè)備位于公網(wǎng)側(cè),組播源設(shè)備與RP設(shè)備之間跨多層NAT設(shè)備(圖2中為兩層NAT設(shè)備)連接,其中,可通過組播源設(shè)備與RP設(shè)備之間的NAT設(shè)備上靜態(tài)配置到RP設(shè)備路由或由缺省路由指向RP設(shè)備的方法,保證組播源設(shè)備到RP設(shè)備方向的單播路由可達,而RP設(shè)備為公網(wǎng)側(cè)設(shè)備,不能進行類似配置,所以RP設(shè)備到組播源設(shè)備方向的單播路由不可達。如圖2所示,Server為組播源設(shè)備,該組播源設(shè)備設(shè)置在第一層NAT設(shè)備(Router B)的私網(wǎng)側(cè),RP設(shè)備(Router E)設(shè)置在第二層NAT設(shè)備(Router D)的公網(wǎng)側(cè),且Server (組播源設(shè)備)對應(yīng)的源DR為Router A,該Router A和Router E跨兩層NAT設(shè)備相連,且Server到Router E方向的單播路由可達。
[0037]其中,在將組播源設(shè)備部署在私網(wǎng)側(cè),并將RP設(shè)備部署在公網(wǎng)側(cè)時,則RP設(shè)備的IP地址為公網(wǎng)地址,組播源設(shè)備的IP地址為私網(wǎng)地址;通過在組播源設(shè)備上配置RP設(shè)備的IP地址,使得組播源設(shè)備可以獲知RP設(shè)備的IP地址,因此可以保證組播源設(shè)備到RP設(shè)備方向的單播路由可達;此外,RP設(shè)備不能夠獲知私網(wǎng)地址,其只能夠獲知經(jīng)過NAT轉(zhuǎn)換的地址,因此無法通過在RP設(shè)備上配置組播源設(shè)備的IP地址的方式,使得RP設(shè)備可以獲知組播源設(shè)備的IP地址,因此RP設(shè)備到組播源設(shè)備方向的單播路由不可達。
[0038]其中,DR為組播源設(shè)備對應(yīng)的指定路由器,作為組播數(shù)據(jù)的唯一轉(zhuǎn)發(fā)者,DR為選舉出的直連組播源設(shè)備的指定路由器,負責(zé)直連組播源設(shè)備的處理,包括組播源注冊、接收者加入和組播數(shù)據(jù)轉(zhuǎn)發(fā)等;RP設(shè)備是PIM-SM網(wǎng)絡(luò)中的匯集點,是一臺被配置作為某個組播組的組播共享樹根的路由器,主要功能是接收接收者的加入報文和組播源設(shè)備的數(shù)據(jù)報文,從而根據(jù)本身建立的(S, G)表項將組播數(shù)據(jù)向接收者轉(zhuǎn)發(fā),且RPT (Rendezvous PointTree,共享樹)通過選擇某臺設(shè)備作為公用的根節(jié)點RP設(shè)備,組播數(shù)據(jù)通過RP設(shè)備沿著RPT轉(zhuǎn)發(fā)給接收者。DR和RP設(shè)備的選擇方式參見現(xiàn)有PIM-SM協(xié)議,在此不再贅述。
[0039]本發(fā)明實施例中,各NAT設(shè)備維護NAT映射表項,該NAT映射表項中記錄了 NAT設(shè)備私網(wǎng)地址與NAT設(shè)備公網(wǎng)地址之間的映射關(guān)系。
[0040]如圖2所示,Router B上維護的NAT映射表項如表I所示,在表I中,1.0.0.100為組播源設(shè)備的IP地址(私網(wǎng)側(cè)地址),2.0.0.100為Router B的IP地址(公網(wǎng)側(cè)地址);1.0.0.1為Router A的IP地址(私網(wǎng)側(cè)地址),2.0.0.1為Router B的IP地址(公網(wǎng)側(cè)地址);Router D上維護的NAT映射表項如表2所示,在表2中,2.0.0.100為Router B的IP地址(私網(wǎng)側(cè)地址),3.0.0.100為Router D的IP地址(公網(wǎng)側(cè)地址);2.0.0.1為Router B的IP地址(私網(wǎng)側(cè)地址),3.0.0.1為Router D的IP地址(公網(wǎng)側(cè)地址)。
[0041]本領(lǐng)域技術(shù)人員可以理解,對于Router B而言,Router A及Server位于RouterB的私網(wǎng)內(nèi),Router C和Router D位于Router B的公網(wǎng)內(nèi);對于Router D而言,RouterB和Router C位于Router D的私網(wǎng)內(nèi),Router E位于Router D的公網(wǎng)內(nèi),即圖2所不的組網(wǎng)是一個跨多層網(wǎng)絡(luò)的組網(wǎng)。
[0042]其中,各NAT設(shè)備上維護的NAT映射表項,可以通過手工進行配置,也可以是NAT設(shè)備根據(jù)實際需要進行配置的,如NAT設(shè)備按照一定規(guī)則自動生成NAT映射表項,通過獲得入報文的源IP地址,根據(jù)算法算出出報文的源IP地址,這樣就形成一對一的映射表項,NAT映射表項的具體維護方式本發(fā)明實施例中不再贅述,本發(fā)明實施例中只是使用NAT映射表項記錄的內(nèi)容。
[0043]表I[
【權(quán)利要求】
1.一種基于網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的組播協(xié)議報文傳輸方法,組播源設(shè)備位于私網(wǎng)側(cè),匯聚點RP設(shè)備位于公網(wǎng)側(cè),且所述組播源設(shè)備與所述RP設(shè)備之間至少存在一個NAT設(shè)備,其特征在于,所述方法包括以下步驟: 所述NAT設(shè)備接收源注冊報文,所述源注冊報文中攜帶(S,G)信息,且所述源注冊報文的目的IP地址為所述RP設(shè)備的IP地址; 所述NAT設(shè)備根據(jù)NAT映射表項將源注冊報文的源IP地址修改為對應(yīng)的NAT設(shè)備公網(wǎng)地址,根據(jù)NAT映射表項將所述(S,G)信息中的組播源地址S修改為對應(yīng)的NAT設(shè)備公網(wǎng)地址,并向所述RP設(shè)備發(fā)送源注冊報文。
2.如權(quán)利要求1所述的方法,其特征在于,所述NAT設(shè)備向所述RP設(shè)備發(fā)送源注冊報文之后,所述方法還包括: 所述NAT設(shè)備接收注冊停止報文或者(S,G)加入報文;其中,所述注冊停止報文或者(S,G)加入報文中攜帶(S,G)信息,且所述注冊停止報文或者(S,G)加入報文的源IP地址為所述RP設(shè)備的IP 地址; 所述NAT設(shè)備根據(jù)所述NAT映射表項將所述注冊停止報文或者(S,G)加入報文的目的IP地址修改為對應(yīng)的NAT設(shè)備私網(wǎng)地址,并根據(jù)所述NAT映射表項將所述(S,G)信息中的組播源地址S修改為對應(yīng)的NAT設(shè)備私網(wǎng)地址,并轉(zhuǎn)發(fā)所述注冊停止報文或者(S,G)加入報文。
3.如權(quán)利要求2所述的方法,其特征在于,所述方法進一步包括: 在根據(jù)所述NAT映射表項將所述(S,G)加入報文中的(S,G)信息中的組播源地址S修改為對應(yīng)的NAT設(shè)備私網(wǎng)地址之前,所述NAT設(shè)備利用所述(S,G)加入報文中的(S,G)信息生成對應(yīng)的(S,G)表項; 所述NAT設(shè)備在收到組播數(shù)據(jù)報文時,根據(jù)所述NAT映射表項將所述組播數(shù)據(jù)報文的(S,G)信息中的組播源地址修改為對應(yīng)的NAT設(shè)備公網(wǎng)地址,并利用修改后的組播源地址和組播組地址查詢當前(S,G)表項,并利用當前(S,G)表項的查詢結(jié)果向所述RP設(shè)備發(fā)送修改后的組播數(shù)據(jù)報文。
4.如權(quán)利要求1-3任一項所述的方法,其特征在于,所述方法還包括: 所述NAT設(shè)備維護所述NAT映射表項,且所述NAT映射表項中至少記錄了 NAT設(shè)備私網(wǎng)地址與NAT設(shè)備公網(wǎng)地址之間的映射關(guān)系。
5.如權(quán)利要求1-3任一項所述的方法,其特征在于,所述方法應(yīng)用于稀疏模式獨立組播協(xié)議PM-SM網(wǎng)絡(luò)中,且所述組播源設(shè)備到所述RP設(shè)備方向的單播路由可達,所述RP設(shè)備到所述組播源設(shè)備方向的單播路由不可達。
6.一種網(wǎng)絡(luò)地址轉(zhuǎn)換NAT設(shè)備,組播源設(shè)備位于私網(wǎng)側(cè),匯聚點RP設(shè)備位于公網(wǎng)側(cè),且所述組播源設(shè)備與所述RP設(shè)備之間至少存在一個NAT設(shè)備,其特征在于,所述NAT設(shè)備具體包括: 接收模塊,用于接收源注冊報文;其中,所述源注冊報文中攜帶(S,G)信息,且所述源注冊報文的目的IP地址為所述RP設(shè)備的IP地址; 處理模塊,用于根據(jù)NAT映射表項將所述源注冊報文的源IP地址修改為對應(yīng)的NAT設(shè)備公網(wǎng)地址,并根據(jù)所述NAT映射表項將所述(S,G)信息中的組播源地址S修改為對應(yīng)的NAT設(shè)備公網(wǎng)地址;發(fā)送模塊,用于向所述RP設(shè)備發(fā)送源注冊報文。
7.如權(quán)利要求6所述的NAT設(shè)備,其特征在于, 所述接收模塊,還用于接收注冊停止報文或者(S,G)加入報文;其中,所述注冊停止報文或者(S,G)加入報文中攜帶(S,G)信息,且所述注冊停止報文或者(S,G)加入報文的源IP地址為所述RP設(shè)備的IP地址; 所述處理模塊,還用于根據(jù)NAT映射表項將注冊停止報文或者(S,G)加入報文的目的IP地址修改為對應(yīng)的NAT設(shè)備私網(wǎng)地址,并根據(jù)NAT映射表項將所述(S,G)信息中的組播源地址S修改為對應(yīng)的NAT設(shè)備私網(wǎng)地址; 所述發(fā)送模塊,還用于轉(zhuǎn)發(fā)修改地址后的所述注冊停止報文或者(S,G)加入報文。
8.如權(quán)利要求7所述的NAT設(shè)備,其特征在于, 所述處理模塊,還用于在根據(jù)所述NAT映射表項將所述(S,G)加入報文中的(S,G)信息中的組播源地址S修改為對應(yīng)的NAT設(shè)備私網(wǎng)地址之前,利用所述(S,G)加入報文中的(S,G)信息生成對應(yīng)的(S,G)表項; 在收到組播數(shù)據(jù)報文時,根據(jù)所述NAT映射表項將所述組播數(shù)據(jù)報文的(S,G)信息中的組播源地址修改為對應(yīng)的NAT設(shè)備公網(wǎng)地址,并利用修改后的組播源地址和組播組地址查詢當前(S,G)表項; 所述發(fā)送模塊,還 用于利用當前(S,G)表項的查詢結(jié)果向所述RP設(shè)備發(fā)送修改后的組播數(shù)據(jù)報文。
9.如權(quán)利要求6-8任一項所述的NAT設(shè)備,其特征在于, 所述處理模塊,還用于維護所述NAT映射表項,且所述NAT映射表項中至少記錄了 NAT設(shè)備私網(wǎng)地址與NAT設(shè)備公網(wǎng)地址之間的映射關(guān)系。
10.如權(quán)利要求6-8任一項所述的NAT設(shè)備,其特征在于,所述NAT設(shè)備應(yīng)用于稀疏模式獨立組播協(xié)議PM-SM網(wǎng)絡(luò)中,且組播源設(shè)備到RP設(shè)備方向的單播路由可達,RP設(shè)備到組播源設(shè)備方向的單播路由不可達。
【文檔編號】H04L12/741GK103763202SQ201410005650
【公開日】2014年4月30日 申請日期:2014年1月3日 優(yōu)先權(quán)日:2014年1月3日
【發(fā)明者】肖奕, 林鵬程 申請人:杭州華三通信技術(shù)有限公司