私網(wǎng)穿越技術(shù)在軟交換體系中的應(yīng)用介紹
摘要:分析了在軟交換體系中使用私網(wǎng)及NAT技術(shù)所產(chǎn)生的問題,介紹了一種解決軟交換私網(wǎng)穿越問題的方法,并對使用這種方法有可能為軟交換網(wǎng)絡(luò)帶來的進(jìn)一步影響進(jìn)行了探討。
關(guān)鍵詞:NGN 軟交換 NAT PAT 私網(wǎng)穿越
一、引言
下一代網(wǎng)絡(luò)(Next Generation Network,NGN)是一種基于分組交換技術(shù)的通信網(wǎng)絡(luò),在整體構(gòu)架、信令控制、承載網(wǎng)絡(luò)等方面都與現(xiàn)有的電路交換網(wǎng)絡(luò)存在很大不同。軟交換技術(shù)作為一種在分組網(wǎng)內(nèi)實現(xiàn)通信話路交換與媒體傳輸?shù)募夹g(shù),將是NGN網(wǎng)絡(luò)的核心技術(shù)。由于軟交換技術(shù)本身就是基于IP分組網(wǎng)的,因此在現(xiàn)有的基礎(chǔ)數(shù)據(jù)網(wǎng)上,完全可以建立起一套軟交換的構(gòu)架。帶來的好處有:現(xiàn)有的許多基于IP的協(xié)議可以被繼續(xù)利用,大量的網(wǎng)絡(luò)設(shè)備和終端設(shè)備都可以直接被應(yīng)用到軟交換網(wǎng)絡(luò)中。雖然在現(xiàn)有數(shù)據(jù)網(wǎng)的基礎(chǔ)上構(gòu)建軟交換網(wǎng)絡(luò)具有上述的優(yōu)點,但也存在許多問題,其中私網(wǎng)穿越就是一個需要解決的問題。
二、在軟交換體系中面臨的私網(wǎng)穿越問題
1. 私網(wǎng)的概念與NAPT技術(shù)的產(chǎn)生
隨著基于TCP/IP的互聯(lián)網(wǎng)的普及,私有網(wǎng)絡(luò)(簡稱私網(wǎng))的數(shù)量和規(guī)模也越來越大。私網(wǎng),就是采用私有的IP地址來連接各個網(wǎng)絡(luò)設(shè)備組成的相對獨立和封閉的網(wǎng)絡(luò)。這種組網(wǎng)方式在組建各種規(guī)模局域網(wǎng)時被大量應(yīng)用。可以說,在當(dāng)今的網(wǎng)絡(luò)世界里,使用私網(wǎng)IP地址的網(wǎng)絡(luò)設(shè)備的數(shù)量,要遠(yuǎn)遠(yuǎn)大于擁有合法Internet網(wǎng)IP地址的設(shè)備數(shù)量。為了能夠讓這些設(shè)備可以訪問私網(wǎng)外部的資源,NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)技術(shù)也就應(yīng)運(yùn)而生。私網(wǎng)內(nèi)部設(shè)備試圖訪問外部網(wǎng)絡(luò)時NAT技術(shù)可以將其私有的IP地址轉(zhuǎn)換成合法的IP地址。在運(yùn)用NAT的同時,一般還會運(yùn)用動態(tài)的端口轉(zhuǎn)換(PAT)技術(shù),以解決合法IP地址緊缺的問題。這種技術(shù)實現(xiàn)方法是,對于一個私網(wǎng)中的所有設(shè)備,共用一個或多個合法的IP地址作為出口地址,只有在設(shè)備請求連接外部網(wǎng)絡(luò)時,才為這個請求分配一個合法IP地址和一個端口號,來進(jìn)行外部連接;當(dāng)這個請求結(jié)束時,端口號和IP地址也就隨即被收回。NAT與PAT經(jīng)常被同時使用,稱為網(wǎng)絡(luò)地址端口轉(zhuǎn)換(NAPT)。NAPT的運(yùn)用,為IP網(wǎng)絡(luò)帶來了很多好處:如緩解了IPv4構(gòu)架下Internet網(wǎng)絡(luò)的IP地址緊張問題,提高了私有網(wǎng)絡(luò)內(nèi)部的安全性和可管理性。由于具有這些優(yōu)點,NAPT被大量運(yùn)用到各種私網(wǎng)網(wǎng)關(guān)設(shè)備上,它是絕大多數(shù)網(wǎng)絡(luò)路由器設(shè)備的一個基本功能,也是網(wǎng)絡(luò)防火墻功能的重要組成部分。
2. NAPT影響軟交換的問題
?。?)NAT問題
現(xiàn)在假設(shè)我們具有一個如圖1所示的軟交換網(wǎng)絡(luò),在這個網(wǎng)絡(luò)中,終端A與終端B在私網(wǎng)內(nèi),只有私網(wǎng)IP地址,而終端C具有獨立的合法IP地址。為了便于描述,假設(shè)所有終端都是SIP終端,軟交換與終端間的通訊也采用標(biāo)準(zhǔn)的SIP協(xié)議。若終端A向終端B發(fā)起呼叫請求,則會產(chǎn)生一個如圖2所示的消息包,這個消息包在經(jīng)過路由器的NAPT后,變成圖3所示的消息包(其中1050為NAPT動態(tài)分配的端口號)。
由于終端B在向軟交換注冊時,通過SIP協(xié)議層的注冊消息告訴軟交換的是它的私有地址,并且在終端B沒有主動對外發(fā)起連接請求時,防火墻不會為其分配可被訪問的IP地址和端口號,因此軟交換根本無法將INVITE消息發(fā)送給終端B,呼叫無法接續(xù)。
?。?)PAT問題
假設(shè)由終端A向終端C發(fā)起呼叫,由于終端C上面沒有防火墻或路由器,軟交換可以順利地把INVITE消息包轉(zhuǎn)發(fā)到終端C,這個消息中攜帶SDP信息,用于終端間的媒體協(xié)商。媒體協(xié)商的主要目的就是選擇合適的編解碼器,并建立RTP媒體流的連接。由終端A發(fā)送的INVITE消息中攜帶的SDP信息內(nèi)容如圖4所示(其中10006是終端A建立RTP連接的端口號)。
圖4 INVITE消息中的SDP信息
終端C收到SDP信息后,就會試圖與192.168.0.3:10006建立RTP連接,很明顯這是一個私網(wǎng)內(nèi)部的地址,因此通話也自然無法建立起來。
從以上分析可以看出,NAPT影響到軟交換通信的主要有兩方面:一方面,私網(wǎng)內(nèi)設(shè)備都采用內(nèi)部IP地址,雖然經(jīng)過NAPT可以將IP層的地址轉(zhuǎn)換為外部地址,但是對于更上面的應(yīng)用層消息中的私有IP地址卻無能為力,稱作NAT問題。另一方面,私網(wǎng)設(shè)備只是在向外部主動發(fā)起連接時,才會被分配到合法IP和端口號。若不做特殊處理,設(shè)備對外部網(wǎng)絡(luò)來說是不可見的,也無法接受軟交換發(fā)來的呼叫請求,這個可以稱作PAT問題。基于SIP協(xié)議的問題如此,當(dāng)軟交換與終端間使用其它協(xié)議如H.323,MGCP或H.248協(xié)議時,類似的問題也同樣存在。
評論