詳細解析軟交換系統中的私網(wǎng)地址轉換
korn 2007/02/12
概述軟交換用戶(hù)接入方式
第一種接入方式,通過(guò)原有的PSTN交換機接入,和傳統方式相比用戶(hù)側沒(méi)有任何變化,也不存在IP地址問(wèn)題;第二種接入方式(包括IP-IP、IP-PSTN等),IP多媒體用戶(hù)通過(guò)IP網(wǎng)接入,必須分配IP地址。由于IPv4本身地址空間有限,且分配不均,隨著(zhù)互聯(lián)網(wǎng)用戶(hù)的飛速發(fā)展,IP地址匱乏情況越來(lái)越嚴重,因此運營(yíng)商、企業(yè)用戶(hù)等大量采用私有IP地址。據估計目前網(wǎng)上使用私有IP地址的設備數量遠遠超過(guò)使用合法IP地址的設備數量。
這些私網(wǎng)用戶(hù)在訪(fǎng)問(wèn)公網(wǎng)時(shí),一般采用NAT+PAT技術(shù)來(lái)解決地址轉換問(wèn)題。當私網(wǎng)內部設備試圖訪(fǎng)問(wèn)外部網(wǎng)絡(luò )時(shí),NAT(網(wǎng)絡(luò )地址轉換)技術(shù)可將其私有的IP地址轉換成合法的IP地址。動(dòng)態(tài)的端口轉換(PAT)技術(shù)可解決合法IP地址緊缺的問(wèn)題,PAT將私有地址+TCP/UDP端口轉換并為一個(gè)合法地址+一個(gè)TCP/UDP端口,這樣可有多個(gè)私有地址對應一個(gè)合法地址,用不同的TCP/UDP端口進(jìn)行區分。NAT與PAT通常被同時(shí)使用,稱(chēng)為網(wǎng)絡(luò )地址端口轉換(NAPT)。
NAPT一般只完成IP層地址的轉換,而軟交換協(xié)議(如H.323、SIP、MGCP等)需要依靠封裝在高層的地址信息完成通信。一方面,由于NAPT不能相應地修改這些封裝在協(xié)議包內的地址,使軟交換系統無(wú)法獲得終端正確的地址信息,結果造成無(wú)法建立通信;另一方面,私網(wǎng)設備只有在向外部主動(dòng)發(fā)起連接時(shí),才會(huì )被分配到合法IP和端口號。若不做特殊處理,設備對外部網(wǎng)絡(luò )來(lái)說(shuō)是不可見(jiàn)的,也無(wú)法接受軟交換發(fā)來(lái)的呼叫請求。
目前業(yè)界有多種解決私網(wǎng)穿越的方案。完善的方案應能解決私網(wǎng)穿越中可能遇到的各種問(wèn)題,如NAT、PAT、對稱(chēng)NAT(Symmetric
NAT)、防火墻等,另外在建設時(shí)對現有IP承載網(wǎng)和軟交換系統的影響要盡可能小。本文介紹兩種被多數廠(chǎng)家采用,并已有成熟產(chǎn)品的方案:ALG和SBC。
2、ALG解決方案
ALG(應用層網(wǎng)關(guān),Application Layer Gateway)要求設備有識別應用程序的功能。在軟交換系統中,ALG需要支持IP語(yǔ)音和多媒體協(xié)議(H.323、SIP、MGCP/H.248)。ALG方案的組網(wǎng)模型見(jiàn)圖2。
ALG組網(wǎng)方案
以SIP協(xié)議為例,簡(jiǎn)述ALG工作原理(MGCP、H.248和H.323情況類(lèi)似)。假設圖2中終端A、C都是SIP終端,軟交換機是SIP代理。位于私網(wǎng)的終端A用戶(hù)通過(guò)公網(wǎng)的SIP代理向終端C發(fā)出INVITE請求,并創(chuàng )建相應的SDP消息體。當消息通過(guò)ALG時(shí),ALG會(huì )分析IP包頭、UDP包頭及SIP/SDP消息體,并用ALG外部端口的合法IP地址和臨時(shí)分配的UDP端口號來(lái)替換相應的終端A的私網(wǎng)地址和端口號。如表1所示。
ALG網(wǎng)關(guān)將轉換后的消息發(fā)往SIP代理(軟交換),呼叫接續流程的其它信令消息、轉換方式與INVITE類(lèi)似。SDP描述中RTP信息也相應被ALG修改,這樣,參與通信的終端都能獲得正確的IP地址和端口信息。如圖2所示,當呼叫建立后,終端A、C間的RTP媒體流通過(guò)ALG事先分配的端口建立連接。
另外,如果ALG判斷出兩臺終端在同一私網(wǎng)內(如圖2中終端A、終端B),將不對IP包做修改,終端A、B可直接用自己的私有地址建立RTP連接。
ALG方式不需要對軟交換協(xié)議和終端做任何修改,是比較簡(jiǎn)單的解決方式。在實(shí)際應用中,ALG可以是私網(wǎng)原有NAT/防火墻的一部分,也可是與原有NAT/防火墻并列的新增設備。本文建議采用后一種方式,這樣可以避免原有設備升級對網(wǎng)絡(luò )的影響,同時(shí)也便于軟交換系統的管理,尤其在IP承載網(wǎng)和軟交換系統由不同運營(yíng)商所有的情況。不過(guò),由于A(yíng)LG放置在客戶(hù)端,在軟交換大規模部署時(shí),對現網(wǎng)改造的工作量還很大。另外,當有新的應用出現時(shí),需要對所有ALG進(jìn)行升級來(lái)支持新的應用協(xié)議。
圖2所示的方案中,數據應用仍通過(guò)網(wǎng)絡(luò )中原有的NAT訪(fǎng)問(wèn)互聯(lián)網(wǎng),軟交換應用則通過(guò)ALG與公網(wǎng)連接。由于A(yíng)LG本身可具有防火墻和高層安全應用功能,可以設置只允許通過(guò)軟交換消息和媒體流,只要選擇適當的ALG產(chǎn)品,采用這種建設方案并不會(huì )降低原有網(wǎng)絡(luò )的安全性。
3、SBC解決方案
SBC(邊界會(huì )話(huà)控制器,Session Border Controller)是目前主要的解決方案。與ALG設置在用戶(hù)側不同,SBC一般設置在軟交換側,該方案的優(yōu)點(diǎn)是無(wú)需改動(dòng)現有的NAT設備。
SBC方案的組網(wǎng)模型參見(jiàn)圖3。
SBC組網(wǎng)方案
不同廠(chǎng)商的系統呼叫流程可能不同,有的系統終端直接向SBC注冊,所有消息和媒體流都需要經(jīng)SBC轉接;還有的系統則首先由軟交換來(lái)判斷是否需要SBC介入。兩種方式SBC在地址轉換功能上工作原理大同小異,以下以第一種方式為例簡(jiǎn)要介紹。
當終端向軟交換注冊時(shí),SBC會(huì )給每個(gè)終端分配一個(gè)信令代理端口,所有消息都會(huì )經(jīng)過(guò)這個(gè)端口轉發(fā)給軟交換,同時(shí)SBC會(huì )用自身地址和這個(gè)端口來(lái)替換消息體中終端的地址信息。因此在軟交換系統中維護的用戶(hù)地址信息,實(shí)際上是SBC的地址和SBC分配給終端的端口號。
如圖3所示,呼叫建立時(shí),SBC會(huì )給終端分配一對RTP代理端口(收、發(fā)),并以此替換SDP消息中對RTP接收端口的描述,再轉發(fā)給軟交換。即:每個(gè)終端收到的對方RTP信息實(shí)際上是SBC分配的RTP代理端口號,RTP流經(jīng)SBC在兩個(gè)終端間建立連接。
一般NAPT為私網(wǎng)終端分配的UDP端口有一定生命期(如40s),因此SBC和終端間要有某種機制來(lái)保持這個(gè)端口始終對終端開(kāi)放。如,SIP終端可定期向SBC發(fā)注冊信息;而對MGCP系統,軟交換收到終端RSIP消息后,可定期向終端發(fā)AUEP消息,強制終端回應,來(lái)保持NAPT上相應端口開(kāi)放。
由于所有消息和媒體流都是經(jīng)過(guò)同一SBC轉接,這就解決了對稱(chēng)NAT(Symmetric NAT)問(wèn)題。
需要指出,在軟交換系統中,SBC還可實(shí)現很多重要功能,如防止帶寬盜用、安全管理、QoS管理、合法監聽(tīng)等,本文僅涉及其中的私網(wǎng)穿越功能。引入SBC可使軟交換系統更加完善,但也帶來(lái)了新問(wèn)題:如果所有消息和媒體流都需要經(jīng)過(guò)SBC轉接,似乎與軟交換呼叫控制與承載分離的設計思想不符,SBC有可能會(huì )成為整個(gè)系統的瓶頸。
4、結束語(yǔ)
業(yè)內還有其它解決私網(wǎng)穿越的方案,具體采用哪種方法,要綜合考慮承載網(wǎng)現狀、相關(guān)設備的成熟度、軟交換系統要實(shí)現的功能、規模等來(lái)確定。如上文提到的,這一問(wèn)題的根源在于IPv4系統本身的限制,未來(lái)IPv6網(wǎng)絡(luò )將會(huì )從根據上解決這一問(wèn)題,也將會(huì )給軟交換帶來(lái)更廣闊的發(fā)展空間。
賽迪網(wǎng)技術(shù)社區
基于軟交換實(shí)現多媒體業(yè)務(wù)的關(guān)鍵 2007-02-12 |
基于業(yè)務(wù)感知的下一代網(wǎng)絡(luò )服務(wù)質(zhì)量管理模型 2007-02-08 |
NGN在固網(wǎng)智能化改造中的引入與發(fā)展 2007-02-07 |
基于軟交換實(shí)現多媒體業(yè)務(wù)的關(guān)鍵 2007-02-07 |
NGN和無(wú)所不在的NGI 2007-02-06 |