專(zhuān)利名稱(chēng):一種實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的方法及相關(guān)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊領(lǐng)域,尤其涉及一種實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的方法及相關(guān)設(shè)備。
背景技術(shù):
在網(wǎng)絡(luò)系統(tǒng)中通常分為多個(gè)子網(wǎng),各個(gè)子網(wǎng)之間通過(guò)網(wǎng)關(guān)相互連接。如以軟交 換設(shè)備為核心的下一代網(wǎng)絡(luò)(Next Generation Network, NGN),其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。 NGN網(wǎng)絡(luò)主要包括媒體網(wǎng)關(guān)(Media Gateway, MG)和媒體網(wǎng)關(guān)控制器(Media Gateway Controller, MGC)。其中,MGC,用于實(shí)現(xiàn)呼叫狀態(tài)的管理,以及對(duì)MG承載資源的控制;MG, 用于將媒體流類(lèi)型由一種格式轉(zhuǎn)換為另一種格式,例如,將電路交換網(wǎng)中的E1時(shí)隙中的媒 體信息轉(zhuǎn)換為IP網(wǎng)絡(luò)中的實(shí)時(shí)傳輸協(xié)議(Realtime Transport Protocol,RTP)媒體流,并 在MGC的信令控制下實(shí)現(xiàn)媒體流的建立、修改、釋放以及資源管理等功能。
同時(shí),MG還具有網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation或NetworkAddress Translator,NAT)功能。傳統(tǒng)NAT是一種把內(nèi)部私有網(wǎng)絡(luò)地址,即IP(Internet Protocol, IP)地址,翻譯成外部公有網(wǎng)絡(luò)IP地址的技術(shù)。如圖2所示。 簡(jiǎn)單的說(shuō),NAT就是在局域網(wǎng)內(nèi)部網(wǎng)絡(luò)中使用內(nèi)部地址,而當(dāng)內(nèi)部節(jié)點(diǎn)要與外部網(wǎng) 絡(luò)進(jìn)行通訊時(shí),就在網(wǎng)關(guān)(如NGN網(wǎng)絡(luò)中的媒體網(wǎng)關(guān))處,將內(nèi)部地址替換成公用地址,從 而在外部公網(wǎng)(Internet)上正常使用,NAT可以使多臺(tái)計(jì)算機(jī)共享Internet連接,這一功 能很好地解決了公共IP地址緊缺的問(wèn)題。通過(guò)這種方法,可以只申請(qǐng)一個(gè)合法IP地址, 就把整個(gè)局域網(wǎng)中的計(jì)算機(jī)接入Internet中。這時(shí),NAT屏蔽了內(nèi)部網(wǎng)絡(luò),所有內(nèi)部網(wǎng)計(jì) 算機(jī)對(duì)于公共網(wǎng)絡(luò)來(lái)說(shuō)是不可見(jiàn)的,而內(nèi)部網(wǎng)計(jì)算機(jī)用戶(hù)通常不會(huì)意識(shí)到NAT的存在。如 圖3所示。這里提到的內(nèi)部地址,是指在內(nèi)部網(wǎng)絡(luò)中分配給節(jié)點(diǎn)的私有IP地址,這個(gè)地址 只能在內(nèi)部網(wǎng)絡(luò)中使用,不能被路由。雖然內(nèi)部地址可以隨機(jī)挑選,但是通常使用的是下 面的地址10. 0. 0. 0 10. 255. 255. 255, 172. 16. 0. 0 172. 16. 255. 255, 192. 168. 0. 0 192. 168. 255. 255。 NAT將這些無(wú)法在互聯(lián)網(wǎng)上使用的保留IP地址翻譯成可以在互聯(lián)網(wǎng)上 使用的合法IP地址。而全局地址,是指合法的IP地址,它是由NIC(網(wǎng)絡(luò)信息中心)或者 ISP(網(wǎng)絡(luò)服務(wù)提供商)分配的地址,對(duì)外代表一個(gè)或多個(gè)內(nèi)部局部地址,是全球統(tǒng)一的可 尋址的地址。NAT功能還可以被集成到路由器、防火墻、ISDN路由器或者單獨(dú)的NAT設(shè)備 中。傳統(tǒng)NAT分為兩種類(lèi)型基本NAT (Basic NAT)和網(wǎng)絡(luò)地址端口轉(zhuǎn)換(Network Address Port Translation, NAPT)。
(1)基本NAT NAT擁有多個(gè)公開(kāi)IP地址,當(dāng)位于內(nèi)部網(wǎng)絡(luò)的主機(jī)向外部主機(jī)發(fā)起會(huì)話(huà)請(qǐng)求時(shí), 把內(nèi)部地址轉(zhuǎn)換成全球惟一的公開(kāi)IP地址。對(duì)于從內(nèi)部網(wǎng)絡(luò)中外出的IP包,轉(zhuǎn)換源IP地 址以及相關(guān)的字段,如IP/TCP/UDP/ICMP頭校驗(yàn)和。對(duì)于進(jìn)入內(nèi)部網(wǎng)絡(luò)的IP包,轉(zhuǎn)換目的 IP地址以及與上面所羅列的相關(guān)字段。如果內(nèi)部網(wǎng)絡(luò)中主機(jī)的數(shù)目不大于NAT所擁有的公 開(kāi)IP地址的數(shù)目,則可以保證每個(gè)內(nèi)部地址都可以映射到一個(gè)公開(kāi)的IP地址,否則允許同時(shí)連接到外部網(wǎng)絡(luò)的內(nèi)部主機(jī)的數(shù)目會(huì)受到NAT公開(kāi)IP地址數(shù)量的限制??梢允褂渺o態(tài) 映射的方式,把特定內(nèi)部主機(jī)映射為一個(gè)特定的全球惟一的地址,保證了外部對(duì)內(nèi)部主機(jī) 的訪(fǎng)問(wèn)。 一個(gè)內(nèi)部主機(jī)可以利用相同的地址映射同時(shí)發(fā)起多個(gè)會(huì)話(huà)。
(2) NAPT NAPT (網(wǎng)絡(luò)地址端口轉(zhuǎn)換)把"基本NAT"轉(zhuǎn)換的概念延伸了 一步,轉(zhuǎn)換地址的同 時(shí)也轉(zhuǎn)換傳輸層標(biāo)志(如TCP/UDP的端口號(hào),ICMP的查詢(xún)ID),從而把多個(gè)內(nèi)部主機(jī)的傳輸 層標(biāo)志復(fù)用為一個(gè)惟一的外部地址。NAPT使得一組主機(jī)可以共享一個(gè)惟一的外部地址。在 實(shí)際使用中可以把NAPT和基本NAT結(jié)合起來(lái),將一組外部地址與端口轉(zhuǎn)換關(guān)聯(lián)起來(lái)。
對(duì)于從內(nèi)部網(wǎng)絡(luò)向外的訪(fǎng)問(wèn)請(qǐng)求,NAPT轉(zhuǎn)換源IP地址、源傳輸層標(biāo)志以及相關(guān)的 字段,如IP, TCP, UDP和ICMP頭校驗(yàn)和。對(duì)于進(jìn)入內(nèi)部網(wǎng)絡(luò)的包,轉(zhuǎn)換目的IP地址、目的 傳輸層標(biāo)志以及IP層和傳輸層頭校驗(yàn)和。傳輸層標(biāo)志可以是TCP/UDP端口號(hào)或ICMP查詢(xún) ID中的任意一種。 另外,還有一種雙向NAT(Bi-directionaINAT,或Two-WayNAT)也能夠?qū)?nèi)部網(wǎng) 絡(luò)地址轉(zhuǎn)換成外部網(wǎng)絡(luò)地址。當(dāng)使用雙向NAT時(shí),可以從內(nèi)部網(wǎng)絡(luò)向外部網(wǎng)絡(luò)發(fā)起會(huì)話(huà)請(qǐng) 求,也可以從外部網(wǎng)絡(luò)向內(nèi)部網(wǎng)絡(luò)發(fā)起會(huì)話(huà)請(qǐng)求。當(dāng)在外出或進(jìn)入任何一個(gè)方向上建立 連接時(shí),把內(nèi)部網(wǎng)絡(luò)地址靜態(tài)或動(dòng)態(tài)綁定到全局惟一的地址上。這里假設(shè)位于內(nèi)部網(wǎng)絡(luò) 和外部網(wǎng)絡(luò)之間的名字空間(Fully QualifiedDomain Names, FQDN)是端到端惟一的,因 為只有這樣才能夠使得位于外部編址域的主機(jī)利用域名系統(tǒng)(Domain Name System, DNS) 訪(fǎng)問(wèn)內(nèi)部網(wǎng)絡(luò)的主機(jī)。在雙向NAT上必須部署DNS應(yīng)用層網(wǎng)關(guān)(DNS-A卯lication Level Gateway, DNS-ALG),以處理名字到地址的映射。當(dāng)一個(gè)DNS包需要穿越內(nèi)部和外部編址域 時(shí),DNS-ALG必須能夠?qū)NS查詢(xún)和響應(yīng)消息中的內(nèi)部地址轉(zhuǎn)換成外部地址,或把外部地址 轉(zhuǎn)換成內(nèi)部地址。 為實(shí)現(xiàn)上述NAT功能,通常需要維護(hù)NAT地址映射表,該表中有進(jìn)行內(nèi)部網(wǎng)絡(luò)地 址和外部網(wǎng)絡(luò)地址相關(guān)轉(zhuǎn)換的映射關(guān)系信息。為此,提出了網(wǎng)絡(luò)地址轉(zhuǎn)換IP路由(NAT IP Route, NIPR)上下文的概念。在NIPR上下文中通常創(chuàng)建兩個(gè)終端,一個(gè)是入終端,一個(gè)是 出終端,分別代表NAT地址轉(zhuǎn)換的內(nèi)部網(wǎng)絡(luò)接口和外部網(wǎng)絡(luò)接口 ,如,私有網(wǎng)絡(luò)接口和公有 網(wǎng)絡(luò)接口 。通過(guò)NIPR上下文中保存的NAT地址映射信息可以實(shí)現(xiàn)NAT功能。
當(dāng)媒體網(wǎng)關(guān)上的接口接收到IP報(bào)文,檢查到需要有新的NAT地址映射產(chǎn)生時(shí),終 端上報(bào)事件給媒體網(wǎng)關(guān)控制器。上報(bào)的事件中攜帶了內(nèi)部網(wǎng)絡(luò)地址和映射后的外部網(wǎng)絡(luò)地 址。還可以攜帶報(bào)文的目的地址等。媒體網(wǎng)關(guān)控制器可以通過(guò)增加(ADD)命令,修改(MOD) 命令或者移動(dòng)(MOV)等命令對(duì)NIPR上下文的屬性進(jìn)行設(shè)置,將該地址映射保存在該NIPR 上下文中。在該NIPR上下文的屬性中包括相關(guān)的內(nèi)部網(wǎng)絡(luò)地址和外部網(wǎng)絡(luò)地址。而接口 信息則通過(guò)終端名攜帶。 即在實(shí)現(xiàn)本發(fā)明過(guò)程中,發(fā)明人發(fā)現(xiàn)在現(xiàn)有技術(shù)中,進(jìn)行NAT地址映射的內(nèi)部網(wǎng) 絡(luò)接口和外部網(wǎng)絡(luò)接口是通過(guò)NIPR上下文中的兩個(gè)終端的名字來(lái)確定的。例如終端1的 終端名為"ip/InterfacelPrivate/l",終端2的終端名為"ip/Interface2Public/2"。分 別標(biāo)識(shí)終端l所在的接口是接口 l,并且該接口在該NAT地址映射中是內(nèi)部網(wǎng)絡(luò)接口 ;終端 2所在的接口是接口 2,并且該接口在該NAT地址映射中是外部網(wǎng)絡(luò)接口。
這種方式的缺點(diǎn)在于,通過(guò)終端名攜帶其所連接的IP網(wǎng)絡(luò)的信息對(duì)終端名的命名加入了限制,而這本不是終端名本身具有的功能;更重要的是,NIPR上下文用于維護(hù)NAT 地址映射,當(dāng)前規(guī)定有兩個(gè)終端能夠分別代表入接口和出接口 。例如前面說(shuō)的終端1和終 端2。但是,隨著技術(shù)的發(fā)展,有一種趨勢(shì)是在NIPR上下文中只保留一個(gè)終端,而且,該終端 可能并不能代表接口 ,而是僅僅為保證NIPR上下文的存在而存在。這樣通過(guò)終端名和NIPR 上下文的屬性的結(jié)合就不能得出完整的NAT地址映射信息,進(jìn)而進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題在于,提供一種實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的方法及相關(guān)設(shè) 備??梢詫?shí)現(xiàn)不需要通過(guò)終端名來(lái)攜帶相關(guān)的接口信息,而通過(guò)上下文屬性攜帶進(jìn)行網(wǎng)絡(luò) 地址轉(zhuǎn)換所需的接口信息。 為此,一方面,本發(fā)明的實(shí)施例提供了一種實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,包括獲得 媒體網(wǎng)關(guān)控制器發(fā)送的上下文屬性,所述上下文屬性中包括內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)和地址映射 關(guān)系;對(duì)通過(guò)所述內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)標(biāo)識(shí)的接口接收的來(lái)自?xún)?nèi)部網(wǎng)絡(luò),發(fā)往外部網(wǎng)絡(luò)的IP 報(bào)文,根據(jù)所述上下文屬性中的地址映射關(guān)系對(duì)所述IP報(bào)文中作為源地址的內(nèi)部網(wǎng)絡(luò)IP 地址進(jìn)行修改,并將所述修改了源地址的IP報(bào)文發(fā)送到外部網(wǎng)絡(luò)。 另一方面,本發(fā)明的實(shí)施例提供了一種媒體網(wǎng)關(guān)控制器,其包括地址映射關(guān)系確 定模塊,用于確定媒體網(wǎng)關(guān)的內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)和地址映射關(guān)系;上下文屬性生成單元,用 于生成攜帶所述內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)和地址映射關(guān)系的上下文屬性,該上下文屬性用于指示 媒體網(wǎng)關(guān)對(duì)通過(guò)所述內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)標(biāo)識(shí)的接口接收的來(lái)自?xún)?nèi)部網(wǎng)絡(luò)、發(fā)往外部網(wǎng)絡(luò)的 IP報(bào)文,根據(jù)所述上下文屬性中的地址映射關(guān)系對(duì)所述IP報(bào)文進(jìn)行地址映射;發(fā)送單元, 用于發(fā)送所述上下文屬性。 本發(fā)明的實(shí)施例還提供了一種媒體網(wǎng)關(guān),包括獲取單元,用于獲得媒體網(wǎng)關(guān)控制 器發(fā)送的上下文屬性,所述上下文屬性中包括內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)和地址映射關(guān)系;報(bào)文接 收單元,用于通過(guò)所述內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)標(biāo)識(shí)的接口接收來(lái)自?xún)?nèi)部網(wǎng)絡(luò),發(fā)往外部網(wǎng)絡(luò)的 IP報(bào)文;映射單元,用于根據(jù)所述上下文屬性中的地址映射關(guān)系對(duì)所述IP報(bào)文中作為源地 址的內(nèi)部網(wǎng)絡(luò)IP地址進(jìn)行修改;轉(zhuǎn)發(fā)單元,用于將所述修改了源地址的IP報(bào)文發(fā)送到外部 網(wǎng)絡(luò)。 同時(shí),本發(fā)明的實(shí)施例還提供了一種網(wǎng)絡(luò)系統(tǒng),包括媒體網(wǎng)關(guān)控制器和媒體網(wǎng)關(guān), 其中,所述媒體網(wǎng)關(guān)控制用于向媒體網(wǎng)關(guān)發(fā)送上下文屬性,所述上下文屬性中包括內(nèi)部網(wǎng) 絡(luò)接口標(biāo)識(shí)和地址映射關(guān)系;所述媒體網(wǎng)關(guān)用于根據(jù)所述上下文屬性進(jìn)行網(wǎng)絡(luò)地址映射, 以將通過(guò)內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)標(biāo)識(shí)的接口接收的來(lái)自?xún)?nèi)部網(wǎng)絡(luò)的IP報(bào)文發(fā)送到外部網(wǎng)絡(luò)。
在本發(fā)明實(shí)施例所提供的技術(shù)方案中,在上下文屬性中定義了新的信息攜帶內(nèi) 容,增加了與IP地址對(duì)應(yīng)的接口的信息,使得僅通過(guò)獲知上下文屬性就可以生成完整的上 下文,實(shí)現(xiàn)網(wǎng)絡(luò)地址的轉(zhuǎn)換。進(jìn)一步完善了現(xiàn)有的實(shí)現(xiàn)NAT功能的機(jī)制。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。 圖1是現(xiàn)有的NGN系統(tǒng)的組成示意圖; 圖2是NAT機(jī)制的原理示意圖; 圖3是NAT機(jī)制的另一原理示意圖; 圖4是本發(fā)明中的網(wǎng)絡(luò)系統(tǒng)的一個(gè)具體實(shí)施例的組成示意圖; 圖5是圖4中的媒體網(wǎng)關(guān)的第一具體實(shí)施例的組成示意圖; 圖6是本發(fā)明中的媒體網(wǎng)關(guān)的第二具體實(shí)施例的組成示意圖; 圖7是本發(fā)明中的媒體網(wǎng)關(guān)的第三個(gè)具體實(shí)施例的組成示意圖; 圖8是本發(fā)明中的媒體網(wǎng)關(guān)控制器的一個(gè)具體實(shí)施例的組成示意圖; 圖9是本發(fā)明中的媒體網(wǎng)關(guān)控制器的另一個(gè)具體實(shí)施例的組成示意圖; 圖10是本發(fā)明中的實(shí)現(xiàn)網(wǎng)路地址轉(zhuǎn)換的方法的一個(gè)具體實(shí)施例的流程示意圖。
具體實(shí)施例方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。 參見(jiàn)圖4,為本發(fā)明中網(wǎng)絡(luò)系統(tǒng)一個(gè)具體實(shí)施例的組成示意圖。該系統(tǒng)包括媒體 網(wǎng)關(guān)控制器1和媒體網(wǎng)關(guān)2。其中,媒體網(wǎng)關(guān)控制1用于向媒體網(wǎng)關(guān)2發(fā)送上下文屬性,如, 可以通過(guò)增加(ADD),修改(MOD)或者移動(dòng)(MOV)等命令下發(fā)。所述上下文屬性中包括內(nèi)部 網(wǎng)絡(luò)接口標(biāo)識(shí)和地址映射關(guān)系;所述地址映射關(guān)系可包括內(nèi)部網(wǎng)絡(luò)IP地址,以及映射后的 外部網(wǎng)絡(luò)IP地址,或還包括外部網(wǎng)絡(luò)接口標(biāo)識(shí)(由于外部網(wǎng)絡(luò)接口可能僅有一個(gè),或是可 以通過(guò)外部網(wǎng)絡(luò)IP地址分析獲知外部網(wǎng)絡(luò)接口,因此該地址映射關(guān)系中,可能不包括外部 網(wǎng)絡(luò)接口標(biāo)識(shí),由媒體網(wǎng)關(guān)2通過(guò)別的方式獲知)。對(duì)上下文屬性nmi的語(yǔ)法格式可如下定 義 Privatelnterface,, I ,,PrivatelPAddress,, | ,,PublicInterface,, | ,,PublicIPAddre ss 其中,"I "用作分割符。Privatelnterface代表內(nèi)部網(wǎng)絡(luò)側(cè)的接口名; PrivateIPAddress代表被地址映射的內(nèi)部網(wǎng)絡(luò)的IP地址;PublicInterface代表外部網(wǎng)絡(luò) 側(cè)的接口名;PublicIPAddress代表地址映射后的的外部網(wǎng)絡(luò)的IP地址。
該屬性可以是新定義的屬性,也可以是在現(xiàn)有屬性的基礎(chǔ)上增加了新的功能。
有些類(lèi)型的NAT (例如基本NAT)只進(jìn)行網(wǎng)絡(luò)IP地址的轉(zhuǎn)換(或稱(chēng)映射),則僅需 上述的標(biāo)識(shí)和IP地址信息即可;有些類(lèi)型的NAT(例如NAPT),在上下文屬性中還需包括端 口信息(包括內(nèi)部網(wǎng)絡(luò)端口和外部網(wǎng)絡(luò)端口 ),即四層標(biāo)識(shí)(例如TCP端口, UDP端口等) 的組合,在進(jìn)行網(wǎng)絡(luò)地址映射時(shí),需要同時(shí)對(duì)IP報(bào)文中的網(wǎng)絡(luò)IP地址和端口進(jìn)行轉(zhuǎn)換,獲 得轉(zhuǎn)換后的網(wǎng)絡(luò)IP地址和端口。 外部網(wǎng)絡(luò)接口標(biāo)識(shí)一些情況下可以通過(guò)外部網(wǎng)絡(luò)IP地址以及各接口上的地址配 置推斷出來(lái),所以,上下文屬性中可以不包括具體的映射后的外部網(wǎng)絡(luò)接口標(biāo)識(shí)。即將外 部網(wǎng)絡(luò)接口標(biāo)識(shí)作為可選項(xiàng)。則前述上下文屬性的語(yǔ)法格式可以定義如下
8
Privatelnterface,, I ,,PrivatelPAddress,, | ,,PublicIPAddress [,, | Pui : ,,PublicIn
terface] 后續(xù)的實(shí)施例中都將所述上下文屬性中的外部網(wǎng)絡(luò)接口標(biāo)識(shí)作為必選項(xiàng),但是, 這些實(shí)施例中將外部網(wǎng)絡(luò)接口標(biāo)識(shí)改成可選項(xiàng)也一樣是可行方案。 根據(jù)具體需要的不同,上下文屬性還可包括網(wǎng)絡(luò)目的地址信息(目的網(wǎng)絡(luò)地址或 者目的網(wǎng)絡(luò)子網(wǎng)地址)以及協(xié)議類(lèi)型信息中的一種或多種。 在本發(fā)明其他各實(shí)施例中如無(wú)特殊說(shuō)明,對(duì)上下文屬性的理解均與本處的解釋一 致。 媒體網(wǎng)關(guān)2用于根據(jù)所述上下文屬性進(jìn)行網(wǎng)絡(luò)地址映射,以將來(lái)自?xún)?nèi)部網(wǎng)絡(luò)的IP 報(bào)文發(fā)送到外部網(wǎng)絡(luò)。以及將來(lái)自外部網(wǎng)絡(luò)的IP報(bào)文發(fā)送到內(nèi)部網(wǎng)絡(luò)。所述上下文屬性 所在的上下文為NIPR上下文。其中,媒體網(wǎng)關(guān)2在增加、修改以及移動(dòng)等命令中對(duì)NIPR上 下文中的所述上下文屬性進(jìn)行處理,并根據(jù)所述NIPR上下文中的所述上下文屬性管理NAT 地址映射信息。 如圖5所示,媒體網(wǎng)關(guān)2可包括 獲取單元20,用于獲得媒體網(wǎng)關(guān)控制器發(fā)送的上下文屬性,所述上下文屬性中包 括內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)和地址映射關(guān)系,該地址映射關(guān)系中可包括內(nèi)部網(wǎng)絡(luò)IP地址,以及映 射后的外部網(wǎng)絡(luò)IP地址,或還包括外部網(wǎng)絡(luò)接口標(biāo)識(shí); 報(bào)文接收單元21 ,用于通過(guò)所述內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)標(biāo)識(shí)的接口接收來(lái)自?xún)?nèi)部網(wǎng) 絡(luò),發(fā)往外部網(wǎng)絡(luò)的IP報(bào)文; 映射單元22,用于根據(jù)所述上下文屬性中的地址映射關(guān)系對(duì)所述IP報(bào)文中作為 源地址的內(nèi)部網(wǎng)絡(luò)IP地址進(jìn)行修改,如根據(jù)NIPR上下文中的上下文屬性將所述IP報(bào)文的 作為源地址的內(nèi)部網(wǎng)絡(luò)IP地址修改成映射后的外部網(wǎng)絡(luò)IP地址; 轉(zhuǎn)發(fā)單元23,用于將所述修改了源地址的IP報(bào)文發(fā)送到外部網(wǎng)絡(luò),如通過(guò)所述外 部網(wǎng)絡(luò)IP地址或外部網(wǎng)絡(luò)接口標(biāo)識(shí)標(biāo)識(shí)的外部網(wǎng)絡(luò)接口 ,將所述修改了源地址的IP報(bào)文 發(fā)送到外部網(wǎng)絡(luò)。當(dāng)上下文屬性中包括外部網(wǎng)絡(luò)接口標(biāo)識(shí)時(shí),根據(jù)該標(biāo)識(shí)將相應(yīng)的IP報(bào)文 通過(guò)外部網(wǎng)絡(luò)接口發(fā)送到外部網(wǎng)絡(luò),當(dāng)上下文屬性中不包括外部網(wǎng)絡(luò)接口標(biāo)識(shí)時(shí),若僅有 一個(gè)外部網(wǎng)絡(luò),則僅有一個(gè)外部網(wǎng)絡(luò)接口 ,直接將相應(yīng)的IP報(bào)文通過(guò)該外部網(wǎng)絡(luò)接口發(fā)送 到外部網(wǎng)絡(luò),或者是根據(jù)外部網(wǎng)絡(luò)IP地址獲知相應(yīng)的外部網(wǎng)絡(luò)接口,再將相應(yīng)的IP報(bào)文通 過(guò)該外部網(wǎng)絡(luò)接口發(fā)送到外部網(wǎng)絡(luò)。 其中,所述上下文屬性中的地址映射關(guān)系中的部分信息可以用通配符號(hào)代替,如 外部網(wǎng)絡(luò)接口標(biāo)識(shí)、外部網(wǎng)絡(luò)IP地址等。如圖6所示,相應(yīng)的獲取單元20包括分配模塊 201,用于獲得媒體網(wǎng)關(guān)控制器發(fā)送的上下文屬性,根據(jù)所述上下文屬性中除了通配符號(hào)的 其他信息,為所述通配符號(hào)分配對(duì)應(yīng)的外部網(wǎng)絡(luò)IP地址和/或外部網(wǎng)絡(luò)接口標(biāo)識(shí);應(yīng)答模 塊203,用于根據(jù)所述上下文屬性和分配的所述外部網(wǎng)絡(luò)IP地址和/或外部網(wǎng)絡(luò)接口標(biāo)識(shí) 生成應(yīng)答消息,并返回至所述媒體網(wǎng)關(guān)控制器,所述應(yīng)答消息中包括將所述通配符號(hào)替換 為所述對(duì)應(yīng)的外部網(wǎng)絡(luò)地址和/或外部網(wǎng)絡(luò)接口標(biāo)識(shí)的上下文屬性。 如,按照上述的上下文屬性的語(yǔ)法格式(即Privatelnterface"l "PrivateIPAddr ess" I "Publiclnterface" I "PublicIPAddress),媒體網(wǎng)關(guān)控制器發(fā)給媒體網(wǎng)關(guān)的上下文屬 性為"interface" 200. 200. 100. 10 | interface2 | $,其中,映射的外部網(wǎng)絡(luò)的IP地址為通配符號(hào)"$",則分配模塊201,分配該外部網(wǎng)絡(luò)的IP地址具體為"172. 100. 9. 10",并在應(yīng)答 模±央203返回的應(yīng)答消息中包括上下文屬性為"interfacel | 200. 200. 100. 10 | interface2 172. 100. 9. 10"。 如圖7所示,所述媒體網(wǎng)關(guān)2還可包括上報(bào)生成單元24,用于當(dāng)報(bào)文接收單元21 接收到IP報(bào)文,需要產(chǎn)生新的網(wǎng)絡(luò)地址映射時(shí),生成上報(bào)事件消息,所述上報(bào)事件消息中 包括內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)和/或外部網(wǎng)絡(luò)接口標(biāo)識(shí),也還可以包括內(nèi)部網(wǎng)絡(luò)IP地址和端口 , 映射后的外部網(wǎng)絡(luò)IP地址和端口,目的網(wǎng)絡(luò)地址/目的網(wǎng)絡(luò)子網(wǎng)地址以及協(xié)議類(lèi)型信息 等。上報(bào)發(fā)送單元26,用于將所述上報(bào)事件消息發(fā)送至所述媒體網(wǎng)關(guān)控制器。
相應(yīng)的,如圖8所示,本發(fā)明實(shí)施例中還提供了一種媒體網(wǎng)關(guān)控制器,該媒體網(wǎng)關(guān) 控制器1包括地址映射關(guān)系確定模塊IO,用于確定媒體網(wǎng)關(guān)的內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)和地址 映射關(guān)系;上下文屬性生成單元12,用于生成攜帶所述內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)和地址映射關(guān)系 的上下文屬性,該上下文屬性用于指示媒體網(wǎng)關(guān)對(duì)通過(guò)所述內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)標(biāo)識(shí)的接口 接收的來(lái)自?xún)?nèi)部網(wǎng)絡(luò)、發(fā)往外部網(wǎng)絡(luò)的IP報(bào)文,根據(jù)所述上下文屬性中的地址映射關(guān)系對(duì) 所述IP報(bào)文進(jìn)行地址映射;發(fā)送單元14,用于發(fā)送所述上下文屬性。 進(jìn)一步的,如圖9所示,媒體網(wǎng)關(guān)控制器1還可包括接收單元16,用于接收媒體 網(wǎng)關(guān)上報(bào)事件消息,該上報(bào)事件消息攜帶內(nèi)部網(wǎng)絡(luò)接口信息和/或外部網(wǎng)絡(luò)接口信息。則 所述地址映射關(guān)系確定模塊10,還用于根據(jù)所述上報(bào)事件消息攜帶的內(nèi)部網(wǎng)絡(luò)接口信息和 /或外部網(wǎng)絡(luò)接口信息確定內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)和地址映射關(guān)系。 在本發(fā)明實(shí)施例所提供的技術(shù)方案中,在上下文屬性中定義了新的信息攜帶內(nèi)
容,增加了 NAT地址映射涉及的接口的信息,使得僅通過(guò)獲知上下文屬性就可以生成完整
的NAT地址映射信息,實(shí)現(xiàn)網(wǎng)絡(luò)地址的轉(zhuǎn)換。同時(shí)上下文屬性中的部分信息,如外部網(wǎng)絡(luò)的
接口信息,可以不上報(bào),在后續(xù)流程中再通過(guò)媒體網(wǎng)關(guān)和媒體網(wǎng)關(guān)控制器的交互進(jìn)行確定,
這增加了媒體網(wǎng)關(guān)處理的靈活性。進(jìn)一步完善了現(xiàn)有的實(shí)現(xiàn)NAT功能的機(jī)制。 相應(yīng)的,如圖IO所示,本發(fā)明還提供了一種實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的方法的實(shí)施例,
該方法包括如下流程 1001、獲得媒體網(wǎng)關(guān)控制器發(fā)送的上下文屬性,所述上下文屬性中包括內(nèi)部網(wǎng)絡(luò) 接口標(biāo)識(shí)和地址映射關(guān)系,地址映射關(guān)系中可包括內(nèi)部網(wǎng)絡(luò)IP地址,以及映射后的外部網(wǎng) 絡(luò)IP地址,還可以進(jìn)一步包括外部網(wǎng)絡(luò)接口標(biāo)識(shí)。其中,該上下文屬性中還包括網(wǎng)絡(luò)端口、 目的地址信息以及協(xié)議類(lèi)型信息中的一種或多種。 其中,上下文屬性中的外部網(wǎng)絡(luò)接口標(biāo)識(shí)和/或外部網(wǎng)絡(luò)IP地址可以用通配符號(hào) 代替。則本步相應(yīng)為 A、獲得媒體網(wǎng)關(guān)控制器發(fā)送的上下文屬性,根據(jù)所述上下文屬性中除了通配符號(hào) 的其他信息,為所述通配符號(hào)分配對(duì)應(yīng)的外部網(wǎng)絡(luò)IP地址和/或外部網(wǎng)絡(luò)接口標(biāo)識(shí);
B、根據(jù)所述上下文屬性和分配的所述外部網(wǎng)絡(luò)IP地址和/或外部網(wǎng)絡(luò)接口標(biāo)識(shí) 生成應(yīng)答消息,并返回至所述媒體網(wǎng)關(guān)控制器,所述應(yīng)答消息中包括將所述通配符號(hào)替換 為所述對(duì)應(yīng)的外部網(wǎng)絡(luò)地址和/或外部網(wǎng)絡(luò)接口標(biāo)識(shí)的上下文屬性。 1002、對(duì)通過(guò)所述內(nèi)部網(wǎng)絡(luò)接口接收的來(lái)自?xún)?nèi)部網(wǎng)絡(luò)的IP報(bào)文,根據(jù)NIPR上下文 中的上下文屬性將所述IP報(bào)文的內(nèi)部網(wǎng)絡(luò)IP地址修改成映射后的外部網(wǎng)絡(luò)IP地址,并通 過(guò)所述外部網(wǎng)絡(luò)接口將所述修改了 IP地址的IP報(bào)文發(fā)送到外部網(wǎng)絡(luò)。
其中,在步驟1001中,媒體網(wǎng)關(guān)控制指示媒體網(wǎng)關(guān)創(chuàng)建NIPR上下文可以是由媒 體網(wǎng)絡(luò)控制器主動(dòng)發(fā)起的,也可以是由媒體網(wǎng)關(guān)觸發(fā)媒體網(wǎng)關(guān)控制器發(fā)起的,則此時(shí)步驟 1001之前還包括 1000、當(dāng)從內(nèi)部網(wǎng)絡(luò)接口接收到IP報(bào)文并且查找不到已有可用的NAT地址映射, 需要生成新的網(wǎng)絡(luò)地址映射時(shí),入終端或出終端生成上報(bào)事件消息,所述上報(bào)事件消息中 包括內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)或/和外部網(wǎng)絡(luò)接口標(biāo)識(shí),還可以包括內(nèi)部網(wǎng)絡(luò)IP地址和端口 ,映 射后的外部網(wǎng)絡(luò)IP地址和端口等信息;將所述上報(bào)事件消息發(fā)送至所述媒體網(wǎng)關(guān)控制器。 其中,上報(bào)事件消息中還可以包括目的地址信息以及協(xié)議類(lèi)型信息中的一種或多種。該事 件可以在接口上下文(Interfacecontext)的終端上設(shè)置。也可以定義設(shè)置到其它代表接 口的終端上。 下面結(jié)合圖4中的網(wǎng)絡(luò)系統(tǒng)對(duì)本發(fā)明實(shí)施例做進(jìn)一步描述。在圖4中,媒體網(wǎng)關(guān)2 分別通過(guò)接口 1、接口 2和接口 3,與設(shè)備A、設(shè)備X和設(shè)備B相連。其中,設(shè)備A、設(shè)備X和 設(shè)備B分別屬于IP網(wǎng)絡(luò)1、IP網(wǎng)絡(luò)2和IP網(wǎng)絡(luò)3。 IP網(wǎng)絡(luò)1和IP網(wǎng)絡(luò)3為不同的內(nèi)部網(wǎng) 絡(luò),為私有網(wǎng)絡(luò);IP網(wǎng)絡(luò)2是外部網(wǎng)絡(luò),為公有網(wǎng)絡(luò)。 設(shè)備A的IP地址是addressA,使用的端口是portA ;設(shè)備B的IP地址是addressB, 使用的端口是portB ;設(shè)備A和設(shè)備B發(fā)往IP網(wǎng)絡(luò)3中的IP包通過(guò)媒體網(wǎng)關(guān)的時(shí)候,媒體 網(wǎng)關(guān)需要將其內(nèi)部網(wǎng)絡(luò)的地址映射到外部網(wǎng)絡(luò),可能只映射IP地址(例如基本NAT的情 況),也可能映射IP地址和端口 (例如NAPT的情況)。
對(duì)于設(shè)備A,有如下實(shí)施例一 步驟1 :媒體網(wǎng)關(guān)控制器指示媒體網(wǎng)關(guān)創(chuàng)建(或修改、或移動(dòng))NIPR上下文,并通 過(guò)上下文屬性nmi攜帶地址映射關(guān)系。該屬性可以是新定義的屬性,也可以是在現(xiàn)有屬性 的基礎(chǔ)上增加了新的功能。
屬性nmi的語(yǔ)法如下 Privatelnterface,, | ,, PrivatelPAddress,, | ,, Publiclnterface,, | ,,
PublicIPAddress [ " | ,,prip:PrivatePort,, ] [,, | ,,pubp:PublicPort,,]
其中,參照ABNF的語(yǔ)法,中括號(hào)"[]"代表可選。"I "用作分割符。
Privatelnterface代表內(nèi)部網(wǎng)絡(luò)側(cè)的接口名;
PrivateIPAddress代表被地址映射的內(nèi)部網(wǎng)絡(luò)的IP地址; PrivatePort代表被地址映射的內(nèi)部網(wǎng)絡(luò)的端口 ,該信息可選,可以不必?cái)y帶,例
如,如果是基本NAT ;則不需要進(jìn)行端口轉(zhuǎn)換;Publiclnterface代表外部網(wǎng)絡(luò)側(cè)的接口名; PublicIPAddress代表地址映射后的的外部網(wǎng)絡(luò)的IP地址; PublicPort代表地址映射后的外部網(wǎng)絡(luò)的端口 ,該信息可選,可以不必?cái)y帶,例
如,如果是基本NAT,則不需要進(jìn)行端口轉(zhuǎn)換。 在可選項(xiàng)前還包括可選項(xiàng)標(biāo)識(shí),如"prip"和"pubp"等。 該語(yǔ)法定義了一種可行的實(shí)現(xiàn)方式,在具體實(shí)現(xiàn)時(shí)可能形式不完全相同。例如,前 面描述過(guò)將Publiclnterface定義成可選項(xiàng)也是一種可行方案。 有些類(lèi)型NAT的地址映射和目的地址有關(guān),則該屬性中還可以攜帶目的地址信息 (目的網(wǎng)絡(luò)IP地址和端口 ,或者目的網(wǎng)絡(luò)子網(wǎng)地址等)。以使用目的網(wǎng)絡(luò)IP地址和端口為例,則語(yǔ)法增強(qiáng)為
["Ida
址;
Privatelnterface,, | ,, PrivatelPAddress,, | ,, Publiclnterface,, | ,,PublicIPAddress[ " | ,,prip:PrivatePort,,] [,, | ,,pubp:PublicPort,,]〃 DestinationIPAddress][〃 |dp:〃 DestinationPort]
DestinationIPAddress代表IP報(bào)文的目的地址;或者IP報(bào)文的目的網(wǎng)絡(luò)子網(wǎng)地
DestinationPort代表IP報(bào)文的目的端口 ;
適用本屬性描述的NAT地址映射關(guān)系的IP報(bào)文必須滿(mǎn)足該屬性已經(jīng)設(shè)置的目的地址和目的端口 。 DestinationIPAddress和DestinationPort都是可選項(xiàng)。
對(duì)于NAPT,4層的端口號(hào)也要參與到地址映射中,目前NAT支持的四層端口分別是UDP端口和TCP端口,所以可能需要在NIPR上下文中攜帶地址映射所針對(duì)的四層協(xié)議類(lèi)型。要實(shí)現(xiàn)四層協(xié)議類(lèi)型的攜帶,可以擴(kuò)展H. 248協(xié)議增加定義上下文屬性或者終端屬性來(lái)描述NAT地址映射對(duì)應(yīng)的四層協(xié)議類(lèi)型。例如定義上下文屬性proType,其數(shù)據(jù)類(lèi)型為枚舉,可能的值為"UDP"和"TCP"。 NAT上可能為同一個(gè)內(nèi)部網(wǎng)絡(luò)地址的TCP報(bào)文和UDP報(bào)文產(chǎn)生不同的地址映射。 也可以在描述NAT地址映射的屬性中攜帶協(xié)議類(lèi)型信息,則語(yǔ)法增強(qiáng)為
Privatelnterface,, | ,, PrivatelPAddress,, | ,, Publiclnterface,, | ,,
PublicIPAddress[ " | ,,prip:PrivatePort,,] [,, | ,,pubp:PublicPort,,][〃|da:〃 DestirmtionIPAddress] [〃|dp:〃 DestinationPort][〃 |pt:〃 ProtocolType] ProtocolType代表協(xié)議類(lèi)型,為可選項(xiàng)。取值分別為"UDP", " TCP"。也可能進(jìn)一步擴(kuò)展支持其它的類(lèi)型,例如ICMP等。 另一方面,上下文屬性中的一些項(xiàng)可以使用通配,例如使用"$"通配符,該上下文屬性由媒體網(wǎng)關(guān)控制器發(fā)送到媒體網(wǎng)關(guān)后,媒體網(wǎng)關(guān)給通配符項(xiàng)賦值,在應(yīng)答消息中返回給媒體網(wǎng)關(guān)。 如,按照上述語(yǔ)法定義的格式,媒體網(wǎng)關(guān)控制器發(fā)送給媒體網(wǎng)關(guān)的上下文屬性nmi值為"interfacel I 200. 200. 100. 10 | $ | $ | da: 172. 100.9.20" 該屬性表示要求媒體網(wǎng)關(guān)返回從接口 interfacel接收到的源地址為200. 200. 100. 10,目的地址是172. 100. 7. 20的IP包,對(duì)應(yīng)的外部網(wǎng)絡(luò)的接口和映射后的外部網(wǎng)絡(luò)地址。 媒體網(wǎng)關(guān)則為該通配符分配相應(yīng)的地址信息,并在應(yīng)答消息中返回"interfacel | 200. 200. 100. 10 | interface2 | 172. 100. 9. 10 | da: 172. 100. 9. 2
O",表示媒體網(wǎng)關(guān)從接口 interfacel接收到的源地址為200. 200. 100. 10,目的地址是
172. 100. 9. 20的IP包后,通過(guò)接口 interface2轉(zhuǎn)發(fā)出去,源地址被修改成172. 100. 9. 10。 再例如媒體網(wǎng)關(guān)控制器發(fā)給媒體網(wǎng)關(guān)的nmi屬性為"interfacel I 200. 200. 100. 10 | interface2 | $" 表示要求媒體網(wǎng)關(guān)為接口 interfacel接收到的源地址為200. 200. 100. 10的IP
報(bào)文上的在接口 interface2上映射一個(gè)外部網(wǎng)絡(luò)的IP地址。媒體網(wǎng)關(guān)在應(yīng)答消息中將
12nmi設(shè)置成"interfacel |200. 200. 100. 10 | interface2 1172. 100. 9. 10",表示內(nèi)部網(wǎng)絡(luò)地址200. 200. 100. 10被映射成了外部網(wǎng)絡(luò)地址172. 100. 9. 10。 通過(guò)這種在上下文屬性中的部分信息設(shè)為通配符的方法,媒體網(wǎng)關(guān)能根據(jù)本地情況自由的分配外部或內(nèi)部網(wǎng)絡(luò)的地址,接口等,增大了媒體網(wǎng)絡(luò)進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換的靈活性。 該步驟中,下發(fā)nmi屬性也可以在通過(guò)修改和移動(dòng)等命令中作為上下文屬性下發(fā)。 步驟2 :媒體網(wǎng)關(guān)接收到IP網(wǎng)絡(luò)1中發(fā)來(lái)的IP報(bào)文,如果是NAT類(lèi)型的網(wǎng)絡(luò)地址映射方式,則媒體網(wǎng)關(guān)在創(chuàng)建好的NIPR上下文中搜索已有的NAT地址映射記錄,如果發(fā)現(xiàn)符合條件的NAT地址映射,則將該IP報(bào)文的源地址修改成映射后的地址;如果是媒體網(wǎng)關(guān)進(jìn)行的是NAPT類(lèi)型的網(wǎng)絡(luò)地址映射,則媒體網(wǎng)關(guān)在創(chuàng)建好的NIPR上下文中搜索已有的NAPT地址映射記錄,如果發(fā)現(xiàn)符合條件的NAPT地址映射,則將該IP報(bào)文的源地址修改成映射后的地址,其中,NAPT地址映射中還需要獲得進(jìn)行映射的端口號(hào),并進(jìn)行端口的映射,然后通過(guò)映射到的外部網(wǎng)絡(luò)接口發(fā)送到IP網(wǎng)絡(luò)2。 媒體網(wǎng)關(guān)接收到IP網(wǎng)絡(luò)2中發(fā)來(lái)的IP報(bào)文,如果是NAT類(lèi)型的網(wǎng)絡(luò)地址映射方式,則媒體網(wǎng)關(guān)在創(chuàng)建好的NIPR上下文中搜索已有的NAT地址映射記錄,如果發(fā)現(xiàn)符合條件的NAT地址映射,則將該IP報(bào)文的目的地址修改成映射后的地址;如果是NAPT類(lèi)型的網(wǎng)絡(luò)地址映射方式,則媒體網(wǎng)關(guān)創(chuàng)建好的NIPR上下文中搜索已有的NAPT地址映射記錄,如果發(fā)現(xiàn)符合條件的NAPT地址映射,則將該IP報(bào)文的源地址修改成映射后的地址,其中,進(jìn)行NAPT地址映射時(shí),需要映射IP地址和端口號(hào),因此除了需要獲取IP地址外還需要獲得進(jìn)行映射的端口號(hào),并進(jìn)行IP地址和端口的映射,然后通過(guò)映射到的內(nèi)部網(wǎng)絡(luò)接口發(fā)送到IP網(wǎng)絡(luò)l。 其中,步驟1和步驟2并沒(méi)有必然的先后順序,在步驟2中,媒體網(wǎng)關(guān)創(chuàng)建有NIPR上下文后,就可以根據(jù)該上下文中的地址映射記錄進(jìn)行相應(yīng)的地址映射;而步驟1可能發(fā)生在初次創(chuàng)建NIPR上下文時(shí),也可能當(dāng)NIPR上下文創(chuàng)建好后對(duì)NIPR中的地址映射記錄進(jìn)行修改,或創(chuàng)建新的NIPR上下文等。 那么,在步驟2中,有可能媒體網(wǎng)關(guān)在搜索已有上下文的地址映射記錄(或稱(chēng)地址映射關(guān)系)時(shí),找不到合適的地址映射記錄,這時(shí),其需要觸發(fā)媒體網(wǎng)關(guān)控制下發(fā)相應(yīng)的地址映射記錄以便進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換,則該過(guò)程如實(shí)施例二所示。
實(shí)施例二 網(wǎng)絡(luò)地址轉(zhuǎn)換也可以通過(guò)媒體網(wǎng)關(guān)接收到的IP報(bào)文觸發(fā)產(chǎn)生,如,媒體網(wǎng)關(guān)收到IP報(bào)文后進(jìn)行搜索,發(fā)現(xiàn)沒(méi)有相應(yīng)的地址映射關(guān)系,則生成上報(bào)事件消息并發(fā)送至媒體網(wǎng)關(guān)控制器;也可能是由媒體網(wǎng)關(guān)直接生成上報(bào)事件消息并發(fā)送。該上報(bào)事件消息的生成有兩種可行的方法 1、通過(guò)檢測(cè)到新的網(wǎng)絡(luò)地址映射中代表內(nèi)部網(wǎng)絡(luò)接口的終端上報(bào)。在該情況下,上報(bào)地址映射的時(shí)候還需要上報(bào)NAT地址映射的外部網(wǎng)絡(luò)接口信息。 2、通過(guò)檢測(cè)到新的網(wǎng)絡(luò)地址映射中代表外部網(wǎng)絡(luò)接口的終端上報(bào)。在該情況下,上報(bào)地址映射的時(shí)候還需要上報(bào)NAT地址映射的內(nèi)部網(wǎng)絡(luò)接口信息。
以上上報(bào)所述事件的終端可以是接口上下文中的終端。
例如,媒體網(wǎng)關(guān)在接口 3接收到設(shè)備B發(fā)往IP網(wǎng)絡(luò)2中的設(shè)備X的IP報(bào)文。如果接口 2上設(shè)置了檢測(cè)新NAT地址映射的事件,則接口上下文中代表接口 2的終端上報(bào)事件,向媒體網(wǎng)關(guān)控制器通知新產(chǎn)生的NAT地址映射。該事件中攜帶了該NAT地址映射對(duì)應(yīng)的內(nèi)部網(wǎng)絡(luò)的接口名(私有網(wǎng)絡(luò)接口名),也可以增加攜帶外部接口的接口名。還可以增加攜帶NAT地址映射的協(xié)議類(lèi)型信息。該上報(bào)事件消息的參數(shù)rmme格式如下設(shè)置
PrivateInterfaceID 〃 | 〃 PrivateIPAddress 〃 | 〃 PublicIPAddress[ 〃prp: 〃 PrivatePort] [ 〃 |pup: 〃 PubicPort][ 〃 |da: 〃 DestinationIPAddress][〃 |dp:〃 DestinationPort][〃 IpuID:〃 PublicInterfaceID][〃 |pt:〃 ProtocolType]
ProtocolType代表協(xié)議類(lèi)型,為可選項(xiàng)。取值分別為"UDP", " TCP"。也可能進(jìn)一步擴(kuò)展支持其它的類(lèi)型。 Nnme參數(shù)可以在已定義的參數(shù)的基礎(chǔ)上擴(kuò)充功能,也可以定義成新的參數(shù)。
另外,如果規(guī)定在代表NAT地址映射內(nèi)部網(wǎng)絡(luò)接口的終端上上報(bào)新產(chǎn)生NAT地址映射的事件,則上報(bào)的事件中需要攜帶映射到的外部網(wǎng)絡(luò)接口名。也可以增加攜帶內(nèi)部接口的接口名。 參數(shù)nnme格式定義如下PublicInterfaceID 〃 | 〃 PrivateIPAddress 〃 | 〃 PublicIPAddress[ 〃prp: 〃 PrivatePort][ 〃 |pup: 〃 PubicPort][ 〃 |da: 〃 DestinationIPAddress][〃|dp:〃 DestirmtionPort]. [〃|prID:〃 PrivatelnterfaceID][〃 Ipt:〃 ProtocolType] 如果上報(bào)的事件中沒(méi)有攜帶映射到的外部網(wǎng)絡(luò)接口名和/或外部網(wǎng)絡(luò)地址,例如:nnme的值為"_|192. 168. 1. 100卜| da: 61. 27. 39. 99 | prID: interface3",媒體網(wǎng)關(guān)通知媒體網(wǎng)關(guān)控制器在IP網(wǎng)絡(luò)3的接口 3上接收到源地址為192. 168. 1. 100,目的地址為61. 27. 39. 99的IP報(bào)文。PublicInterfaceID和PublicIPAddress的位置±真寫(xiě)"_",表示當(dāng)前媒體網(wǎng)關(guān)還沒(méi)有選定或者選定了但是不上報(bào)外部網(wǎng)絡(luò)接口和映射后的外部網(wǎng)絡(luò)地址。媒體網(wǎng)關(guān)控制器下一步可以通過(guò)實(shí)施例一的方式向媒體網(wǎng)關(guān)設(shè)置NAT地址映射的外部網(wǎng)絡(luò)接口和映射后的外部網(wǎng)絡(luò)地址,或者指示媒體網(wǎng)關(guān)為該NAT地址映射分配外部網(wǎng)絡(luò)資源并在應(yīng)答消息中返回外部網(wǎng)絡(luò)接口和映射后的外部網(wǎng)絡(luò)地址。 在本發(fā)明實(shí)施例所提供的技術(shù)方案中,通過(guò)事件參數(shù)上報(bào)與地址映射有關(guān)的信息,定義了新的參數(shù)格式,在該參數(shù)中增加了與NAT地址映射相關(guān)的接口的信息,使得僅通過(guò)獲知該事件參數(shù)可以生成完整的NAT地址映射信息,便于進(jìn)一步的操作。
以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。 通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。 以上所述的實(shí)施方式,并不構(gòu)成對(duì)該技術(shù)方案保護(hù)范圍的限定。任何在上述實(shí)施方式的精神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在該技術(shù)方案的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,其特征在于,所述方法包括獲得媒體網(wǎng)關(guān)控制器發(fā)送的上下文屬性,所述上下文屬性中包括內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)和地址映射關(guān)系;對(duì)通過(guò)所述內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)標(biāo)識(shí)的接口接收的來(lái)自?xún)?nèi)部網(wǎng)絡(luò),發(fā)往外部網(wǎng)絡(luò)的IP報(bào)文,根據(jù)所述上下文屬性中的地址映射關(guān)系對(duì)所述IP報(bào)文中作為源地址的內(nèi)部網(wǎng)絡(luò)IP地址進(jìn)行修改,并將所述修改了源地址的IP報(bào)文發(fā)送到外部網(wǎng)絡(luò)。
2. 如權(quán)利要求l所述的方法,其特征在于,所述地址映射關(guān)系中還包括內(nèi)部網(wǎng)絡(luò)IP地址以及映射后的外部網(wǎng)絡(luò)IP地址; 所述根據(jù)所述上下文屬性中的地址映射關(guān)系對(duì)所述IP報(bào)文中作為源地址的內(nèi)部網(wǎng)絡(luò)IP地址進(jìn)行修改還包括根據(jù)NIPR上下文的所述上下文屬性,將所述IP報(bào)文中作為源地址的內(nèi)部網(wǎng)絡(luò)IP地址修改為映射后的外部網(wǎng)絡(luò)IP地址。
3. 如權(quán)利要求2所述的方法,其特征在于,所述上下文屬性中還包括外部網(wǎng)絡(luò)接口標(biāo)識(shí);所述將所述修改了源地址的IP報(bào)文發(fā)送到外部網(wǎng)絡(luò)包括通過(guò)所述外部網(wǎng)絡(luò)接口標(biāo)識(shí)的接口將所述修改了源地址的IP報(bào)文發(fā)送到外部網(wǎng)絡(luò)。
4. 如權(quán)利要求1所述的方法,其特征在于,所述上下文屬性中包括通配符號(hào); 所述獲得媒體網(wǎng)關(guān)控制器發(fā)送的上下文屬性包括獲得媒體網(wǎng)關(guān)控制器發(fā)送的上下文屬性,根據(jù)所述上下文屬性中除了通配符號(hào)的其他 信息,為所述通配符號(hào)分配對(duì)應(yīng)的外部網(wǎng)絡(luò)IP地址和/或外部網(wǎng)絡(luò)接口標(biāo)識(shí);根據(jù)所述上下文屬性和分配的所述外部網(wǎng)絡(luò)IP地址和/或外部網(wǎng)絡(luò)接口標(biāo)識(shí)生成應(yīng) 答消息,并返回至所述媒體網(wǎng)關(guān)控制器,所述應(yīng)答消息中包括將所述通配符號(hào)替換為所述 對(duì)應(yīng)的外部網(wǎng)絡(luò)地址和/或外部網(wǎng)絡(luò)接口標(biāo)識(shí)的上下文屬性。
5. 如權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,所述獲得媒體網(wǎng)關(guān)控制器發(fā)送 的上下文屬性之前還包括當(dāng)接收到IP報(bào)文,需要產(chǎn)生新的網(wǎng)絡(luò)地址映射時(shí),生成上報(bào)事件消息,所述上報(bào)事件 消息中包括內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)和/或外部網(wǎng)絡(luò)接口標(biāo)識(shí);將所述上報(bào)事件消息發(fā)送至所述媒體網(wǎng)關(guān)控制器,由媒體網(wǎng)關(guān)控制器根據(jù)所述上報(bào)事 件消息生成所述上下文屬性。
6. 如權(quán)利要求5所述的方法,其特征在于,所述上報(bào)事件消息中還包括內(nèi)部網(wǎng)絡(luò)地址、 映射后的外部網(wǎng)絡(luò)地址、目的網(wǎng)絡(luò)地址、目的網(wǎng)絡(luò)子網(wǎng)地址以及協(xié)議類(lèi)型信息中的一種或 多種,媒體網(wǎng)關(guān)控制器根據(jù)所述上報(bào)事件消息生成所述上下文屬性為所述媒體網(wǎng)關(guān)控制 器根據(jù)所述上報(bào)事件消息中的地址和信息生成包含相應(yīng)地址和信息的上下文屬性。
7. —種媒體網(wǎng)關(guān)控制器,其特征在于,該媒體網(wǎng)關(guān)控制器包括地址映射關(guān)系確定模塊,用于確定媒體網(wǎng)關(guān)的內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)和地址映射關(guān)系; 上下文屬性生成單元,用于生成攜帶所述內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)和地址映射關(guān)系的上下文 屬性,該上下文屬性用于指示媒體網(wǎng)關(guān)對(duì)通過(guò)所述內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)標(biāo)識(shí)的接口接收的來(lái) 自?xún)?nèi)部網(wǎng)絡(luò)、發(fā)往外部網(wǎng)絡(luò)的IP報(bào)文,根據(jù)所述上下文屬性中的地址映射關(guān)系對(duì)所述IP報(bào) 文進(jìn)行地址映射;發(fā)送單元,用于發(fā)送所述上下文屬性。
8. 如權(quán)利要求7所述的媒體網(wǎng)關(guān)控制器,其特征在于,還包括接收單元,用于接收媒體網(wǎng)關(guān)上報(bào)事件消息,該上報(bào)事件消息攜帶內(nèi)部網(wǎng)絡(luò)接口信息 和/或外部網(wǎng)絡(luò)接口信息;則所述地址映射關(guān)系確定模塊,還用于根據(jù)所述上報(bào)事件消息攜帶的內(nèi)部網(wǎng)絡(luò)接口信 息和/或外部網(wǎng)絡(luò)接口信息確定內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)和地址映射關(guān)系。
9. 一種媒體網(wǎng)關(guān),其特征在于,所述媒體網(wǎng)關(guān)包括獲取單元,用于獲得媒體網(wǎng)關(guān)控制器發(fā)送的上下文屬性,所述上下文屬性中包括內(nèi)部 網(wǎng)絡(luò)接口標(biāo)識(shí)和地址映射關(guān)系;報(bào)文接收單元,用于通過(guò)所述內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)標(biāo)識(shí)的接口接收來(lái)自?xún)?nèi)部網(wǎng)絡(luò),發(fā)往 外部網(wǎng)絡(luò)的IP報(bào)文;映射單元,用于根據(jù)所述上下文屬性中的地址映射關(guān)系對(duì)所述IP報(bào)文中作為源地址 的內(nèi)部網(wǎng)絡(luò)IP地址進(jìn)行修改;轉(zhuǎn)發(fā)單元,用于將所述修改了源地址的IP報(bào)文發(fā)送到外部網(wǎng)絡(luò)。
10. 如權(quán)利要求9所述的媒體網(wǎng)關(guān),其特征在于,所述地址映射關(guān)系中包括內(nèi)部網(wǎng)絡(luò)IP 地址以及映射后的外部網(wǎng)絡(luò)IP地址;所述映射單元用于根據(jù)NIPR上下文的所述上下文屬性,將所述IP報(bào)文中作為源地址 的內(nèi)部網(wǎng)絡(luò)IP地址修改為映射后的外部網(wǎng)絡(luò)IP地址。
11. 如權(quán)利要求9所述的媒體網(wǎng)關(guān),其特征在于,所述上下文屬性中包括通配符號(hào); 所述獲取單元包括分配模塊,用于獲得媒體網(wǎng)關(guān)控制器發(fā)送的上下文屬性,根據(jù)所述上下文屬性中除了 通配符號(hào)的其他信息,為所述通配符號(hào)分配對(duì)應(yīng)的外部網(wǎng)絡(luò)IP地址和/或外部網(wǎng)絡(luò)接口標(biāo) 識(shí);應(yīng)答模塊,用于根據(jù)所述上下文屬性和分配的所述外部網(wǎng)絡(luò)IP地址和/或外部網(wǎng)絡(luò)接 口標(biāo)識(shí)生成應(yīng)答消息,并返回至所述媒體網(wǎng)關(guān)控制器,所述應(yīng)答消息中包括將所述通配符 號(hào)替換為所述對(duì)應(yīng)的外部網(wǎng)絡(luò)地址和/或外部網(wǎng)絡(luò)接口標(biāo)識(shí)的上下文屬性。
12. 如權(quán)利要求9至11中任一項(xiàng)所述的媒體網(wǎng)關(guān),其特征在于,所述媒體網(wǎng)關(guān)還包括上報(bào)生成單元,用于當(dāng)接收到IP報(bào)文,需要產(chǎn)生新的網(wǎng)絡(luò)地址映射時(shí),生成上報(bào)事件消息,所述上報(bào)事件消息中包括內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)和/或外部網(wǎng)絡(luò)接口標(biāo)識(shí); 上報(bào)發(fā)送單元,用于將所述上報(bào)事件消息發(fā)送至所述媒體網(wǎng)關(guān)控制器。
13. 如權(quán)利要求12所述的媒體網(wǎng)關(guān),其特征在于,所述上報(bào)生成單元還用于生成包括 內(nèi)部網(wǎng)絡(luò)地址、映射后的外部網(wǎng)絡(luò)地址、目的網(wǎng)絡(luò)地址/目的網(wǎng)絡(luò)子網(wǎng)地址以及協(xié)議類(lèi)型 信息中的一種多種的上報(bào)事件消息,由所述媒體網(wǎng)關(guān)控制器根據(jù)所述上報(bào)事件消息中的地 址和信息生成包含相應(yīng)地址和信息的上下文屬性。
14. 如權(quán)利要求9至11中任一項(xiàng)所述的媒體網(wǎng)關(guān),其特征在于,所述獲取單元還用于獲 得包括內(nèi)部網(wǎng)絡(luò)端口、外部網(wǎng)絡(luò)端口、目的網(wǎng)絡(luò)地址以及協(xié)議類(lèi)型信息中的一種或多種的 上文屬性,所述映射單元根據(jù)所述上下文屬性中內(nèi)部網(wǎng)絡(luò)端口 、外部網(wǎng)絡(luò)端口 、目的網(wǎng)絡(luò)地 址以及協(xié)議類(lèi)型信息中的一種或多種進(jìn)行地址映射。
15. —種網(wǎng)絡(luò)系統(tǒng),包括媒體網(wǎng)關(guān)控制器和媒體網(wǎng)關(guān),其特征在于,所述媒體網(wǎng)關(guān)控制用于向媒體網(wǎng)關(guān)發(fā)送上下文屬性,所述上下文屬性中包括內(nèi)部網(wǎng)絡(luò) 接口標(biāo)識(shí)和地址映射關(guān)系;所述媒體網(wǎng)關(guān)用于根據(jù)所述上下文屬性進(jìn)行網(wǎng)絡(luò)地址映射,將通過(guò)所述內(nèi)部網(wǎng)絡(luò)接口 標(biāo)識(shí)標(biāo)識(shí)的接口接收的來(lái)自?xún)?nèi)部網(wǎng)絡(luò)的IP報(bào)文發(fā)送到外部網(wǎng)絡(luò)。
16. 如權(quán)利要求15所述的系統(tǒng),其特征在于,所述媒體網(wǎng)關(guān)包括獲取單元,用于獲得媒體網(wǎng)關(guān)控制器發(fā)送的上下文屬性,所述上下文屬性中的地址映 射關(guān)系包括內(nèi)部網(wǎng)絡(luò)IP地址和映射后的外部網(wǎng)絡(luò)IP地址;報(bào)文接收單元,用于通過(guò)所述內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)標(biāo)識(shí)的接口接收的來(lái)自?xún)?nèi)部網(wǎng)絡(luò),發(fā) 往外部網(wǎng)絡(luò)的IP報(bào)文;映射單元,用于根據(jù)NIPR上下文的所述上下文屬性將所述IP報(bào)文中作為源地址的內(nèi) 部網(wǎng)絡(luò)IP地址修改成映射后的外部網(wǎng)絡(luò)IP地址;轉(zhuǎn)發(fā)單元,用于將所述修改了源地址的IP報(bào)文發(fā)送到外部網(wǎng)絡(luò)。
17. 如權(quán)利要求16所述的系統(tǒng),其特征在于,所述上下文屬性中包括通配符號(hào); 所述獲取單元包括分配模塊,用于獲得媒體網(wǎng)關(guān)控制器發(fā)送的上下文屬性,根據(jù)所述上下文屬性中除了 通配符號(hào)的其他信息,為所述通配符號(hào)分配對(duì)應(yīng)的外部網(wǎng)絡(luò)IP地址和/或外部網(wǎng)絡(luò)接口標(biāo) 識(shí);應(yīng)答模塊,用于根據(jù)所述上下文屬性和分配的所述外部網(wǎng)絡(luò)IP地址和/或外部網(wǎng)絡(luò)接 口標(biāo)識(shí)生成應(yīng)答消息,并返回至所述媒體網(wǎng)關(guān)控制器,所述應(yīng)答消息中包括將所述通配符 號(hào)替換為所述對(duì)應(yīng)的外部網(wǎng)絡(luò)地址和/或外部網(wǎng)絡(luò)接口標(biāo)識(shí)的上下文屬性。
全文摘要
本發(fā)明公開(kāi)了一種實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的方法及相關(guān)設(shè)備,該方法包括獲得媒體網(wǎng)關(guān)控制器發(fā)送的上下文屬性,所述上下文屬性中包括內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)和地址映射關(guān)系;對(duì)通過(guò)所述內(nèi)部網(wǎng)絡(luò)接口標(biāo)識(shí)標(biāo)識(shí)的接口接收的來(lái)自?xún)?nèi)部網(wǎng)絡(luò),發(fā)往外部網(wǎng)絡(luò)的IP報(bào)文,根據(jù)所述上下文屬性中的地址映射關(guān)系對(duì)所述IP報(bào)文中作為源地址的內(nèi)部網(wǎng)絡(luò)IP地址進(jìn)行修改,并將所述修改了源地址的IP報(bào)文發(fā)送到外部網(wǎng)絡(luò)。在本發(fā)明實(shí)施例所提供的技術(shù)方案中,在上下文屬性中增加了與IP地址對(duì)應(yīng)的接口的信息,使得僅通過(guò)獲知上下文屬性就可以實(shí)現(xiàn)網(wǎng)絡(luò)地址的轉(zhuǎn)換。
文檔編號(hào)H04L12/66GK101729606SQ20081021857
公開(kāi)日2010年6月9日 申請(qǐng)日期2008年10月22日 優(yōu)先權(quán)日2008年10月22日
發(fā)明者祝寧 申請(qǐng)人:華為技術(shù)有限公司