軟交換FW/NAT穿透解決方案探討
徐文卓
2004/01/06
摘 要:軟交換系統中,如何給防火墻/NAT后的用戶(hù)提供完善的多元化服務(wù)是很多運營(yíng)商和設備制造商困惑已久的問(wèn)題。現在,有不少標準化組織和設備生產(chǎn)廠(chǎng)家針對這個(gè)困難提出了自己的解決方案。UT斯達康憑借豐富的通訊行業(yè)經(jīng)驗和深厚的技術(shù)研發(fā)能力,在軟交換系統中實(shí)現防火墻/NAT穿越問(wèn)題上提出了完善的解決方案—使用SBC(邊界媒體控制器)控制信令和媒體穿越FW/NAT。該方案不僅很好地解決了防火墻/NAT穿越問(wèn)題,還基于考慮用戶(hù)、源自信令和下行網(wǎng)絡(luò )拓撲結構的策略使用,滿(mǎn)足網(wǎng)絡(luò )所需的獨特的QoS和安全要求。
關(guān)鍵詞:FW、NAT、防火墻、穿越、Softswitch、軟交換、VoIP、mSwitch
1 FW/NAT問(wèn)題簡(jiǎn)介
隨著(zhù)近年IP網(wǎng)寬帶業(yè)務(wù)的蓬勃發(fā)展,基于分組的多媒體通信系統標準H.323、SIP、MGCP廣泛運用于視頻會(huì )議和IP電話(huà)中。VoIP業(yè)務(wù)的應用也帶來(lái)一個(gè)值得關(guān)注的問(wèn)題:絕大部分企業(yè)部門(mén)從網(wǎng)絡(luò )安全考慮配置了專(zhuān)用防火墻,但H.323、SIP、MGCP很難通過(guò)傳統專(zhuān)用防火墻。原因在于,復雜的H.323、SIP、MGCP協(xié)議動(dòng)態(tài)分配端口并產(chǎn)生和維護多個(gè)UDP數據流。
同時(shí)由于Internet快速膨脹,IPV4地址空間處于嚴重耗盡的境況。為解決這個(gè)問(wèn)題,人們設計出了網(wǎng)址轉換器(NAT)。然而NAT后的IP語(yǔ)音和視頻設備僅有私有IP地址,這些地址在公眾網(wǎng)上是不可路由的。
這樣一來(lái),多媒體通訊中的防火墻和NAT問(wèn)題嚴重地制約了IP電話(huà)和視頻會(huì )議的應用。解決這個(gè)問(wèn)題也就成為多業(yè)務(wù)寬帶IP網(wǎng)絡(luò )至關(guān)重要的事情。
在這里,我們先簡(jiǎn)要回顧一下防火墻和NAT設備是如何保護網(wǎng)絡(luò )安全的和為什么實(shí)時(shí)多媒體通訊協(xié)議是對安全問(wèn)題的一個(gè)挑戰。
1.1 網(wǎng)絡(luò )防火墻和NAT如何工作
1.1.1 防火墻
為了網(wǎng)絡(luò )的安全性,公司一般都安裝防火墻,它是一個(gè)放于私有網(wǎng)的設備,用來(lái)保護網(wǎng)絡(luò )資源免受外部的惡意破壞。
防火墻檢查從外部進(jìn)來(lái)的每個(gè)數據包的IP地址和目的端口號,它經(jīng)常如此設置:如果防火墻內的一臺計算機A向防火墻外的一臺計算機B主動(dòng)發(fā)出請求要數據,防火墻會(huì )讓外部計算機B的數據包通過(guò),而且當且僅當數據包的目的地址和端口號與防火墻內發(fā)起請求的計算機A的地址和端口號相同;如果計算機B發(fā)來(lái)的數據包僅僅目的地址是防火墻內發(fā)起請求的計算機A的地址,而端口號不是計算機A發(fā)出請求的那個(gè)端口號,防火墻也將會(huì )丟棄那個(gè)外來(lái)的數據包。
防火墻總是被配置過(guò)濾掉所有不請自到的網(wǎng)絡(luò )通信,有一個(gè)例外是在防火墻內提供Web Server供外部訪(fǎng)問(wèn)。在這種情況下,公司會(huì )配置防火墻允許目的地址是Web Server的IP地址且目的端口號為80的數據包通過(guò),這就使得公司外部可以主動(dòng)向公司的Web Server發(fā)起請求得到一些公司放在Server上的數據。
1.1.2 NAT
網(wǎng)絡(luò )地址轉換(NAT)是一個(gè)Internet標準,置于兩網(wǎng)間的邊界,其功能是將外網(wǎng)可見(jiàn)的IP地址與內網(wǎng)所用的地址相映射,這樣,每一受保護的內網(wǎng)可重用特定范圍的IP地址(例如192.168.x.x),而這些地址是不用于公網(wǎng)的。從外網(wǎng)來(lái)的含公網(wǎng)地址信息的數據包先到達NAT,NAT使用預設好的規則 (其組元包含源地址、源端口、目的地址、目的端口、協(xié)議) 來(lái)修改數據包,然后再轉發(fā)給內網(wǎng)接受點(diǎn)。對于流出內網(wǎng)的數據包也須經(jīng)過(guò)這樣的轉換處理。NAT服務(wù)有兩個(gè)主要目的:
1. 許多公司使用NAT用作一個(gè)網(wǎng)絡(luò )安全設備,因為它隱藏了內部IP地址,如果黑客不知道特定計算機的IP地址,想要攻擊那臺計算機是更困難的。
2. NAT讓一個(gè)公司可以使用更多的內部IP地址,因為這些地址僅僅在內部使用,不可能與被別的公司和組織的IP地址產(chǎn)生沖突。
2 防火墻和NAT阻礙IP語(yǔ)音和視頻通訊
基于IP的語(yǔ)音和視頻通訊協(xié)議,象H.323,要求終端之間使用IP地址和數據端口來(lái)建立數據通信通道。因此存在一個(gè)兩難境地:為了建立數據連接終端必須隨時(shí)偵聽(tīng)外來(lái)的呼叫,而防火墻卻通常被配置來(lái)阻止任何不請自到的數據包通過(guò)。
即使網(wǎng)絡(luò )管理者打開(kāi)防火墻上的一個(gè)端口來(lái)接收呼叫建立數據包,例如1720端口,但IP語(yǔ)音和視頻通訊協(xié)議還要求打開(kāi)許多別的端口接收呼叫控制信息來(lái)建立語(yǔ)音和視頻通道,這些端口號事先并不知道,是動(dòng)態(tài)分配的,這也就是說(shuō)網(wǎng)絡(luò )管理者為了允許語(yǔ)音和視頻通訊將不得不打開(kāi)防火墻上所有的端口,防火墻也就失去了存在的意義。由于網(wǎng)絡(luò )安全的原因,很少企業(yè)會(huì )讓他們的網(wǎng)絡(luò )防火墻如此開(kāi)放。
在IP語(yǔ)音和視頻通訊中NAT問(wèn)題也是常見(jiàn)的問(wèn)題。一個(gè)NAT設備允許一個(gè)公司為局域網(wǎng)上設備分配私有的IP地址。不幸的是控制Internet上信息流向的路由設備僅僅能把數據送到具有可路由IP地址(公眾IP地址)的設備。
NAT后的終端可以向位于相同局域網(wǎng)上的任何別的終端發(fā)起呼叫,因為在局域網(wǎng)內的這些IP地址是可路由的,然而他們的IP地址是私有的,對局域網(wǎng)外來(lái)說(shuō)是不可路由的,因此NAT后的終端不能接收局域網(wǎng)外終端的呼叫。
即使NAT內的終端可以向NAT外的終端發(fā)起呼叫,這仍然存在問(wèn)題。當進(jìn)行呼叫時(shí),發(fā)起呼叫的終端A的IP地址會(huì )包含在數據包負載中,根據H.323協(xié)議被呼叫的終端B收到呼叫建立(call setup)數據包后,會(huì )從該數據包負載中獲取終端A的IP地址,并開(kāi)始發(fā)送音頻和視頻數據到這個(gè)IP地址的終端A。如果這個(gè)IP地址是私有的,Internet路由器將丟棄從外部終端發(fā)送往內部終端的音頻和視頻數據包,因為這些數據包正被送往一個(gè)不可路由的IP地址。這個(gè)呼叫將顯示已經(jīng)連接上,但NAT后的終端A將永遠不會(huì )收到外部終端B的音頻和視頻。
3 現有VoIP的FW/NAT穿透技術(shù)
3.1 不使用防火墻/NAT
其實(shí)解決防火墻和NAT問(wèn)題的一個(gè)最簡(jiǎn)單的辦法就是避免使用它們,對大多數機構來(lái)說(shuō),這種方法太冒險,網(wǎng)絡(luò )安全沒(méi)有保證,而且要得到足夠多的可路由的IP地址或許是困難的,昂貴的。對運營(yíng)商來(lái)說(shuō)也是這樣,若不是用FW/NAT來(lái)保護核心設備,使核心交換設備直接跟用戶(hù)端聯(lián)接,這樣無(wú)疑是很冒險的做法。
3.2 使用PSTN網(wǎng)關(guān)
如果不太關(guān)心在局域網(wǎng)外是否基于IP通信,那么可以使用網(wǎng)關(guān)把局域網(wǎng)上的IP語(yǔ)音和視頻轉換為公共電路交換網(wǎng)上的PSTN語(yǔ)音和視頻。使用這樣一個(gè)網(wǎng)關(guān)就不用關(guān)心網(wǎng)絡(luò )防火墻的穿透問(wèn)題了,因為沒(méi)有數據包要通過(guò)防火墻。這也解決了NAT問(wèn)題,所有到局域網(wǎng)內終端的呼叫都是可路由的,因為通過(guò)網(wǎng)關(guān)進(jìn)入局域網(wǎng)的呼叫都是可路由的。今天大多數IP電話(huà)都是通過(guò)一個(gè)網(wǎng)關(guān)和非IP電話(huà)來(lái)進(jìn)行通訊的。網(wǎng)關(guān)方法是一個(gè)局部解決方案,要求所有參與呼叫者在最后一道NAT和防火墻后要有一個(gè)相應的網(wǎng)關(guān)。
3.3 隧道穿透方案
一般企業(yè)網(wǎng)都不想升級或者改動(dòng)他們的防火墻和NAT設備的配置,也不想讓內外的交互通訊繞過(guò)這些設備,采用允許IP語(yǔ)音和視頻穿越防火墻和NAT的隧道穿透方案也許是最合適的,目前提供此類(lèi)解決方案的有美國的Ridgeway公司。
隧道穿透解決方案由兩個(gè)組件構成,Server軟件和Client軟件。Client放在防火墻內的私有網(wǎng),它同時(shí)具有網(wǎng)守功能和代理功能,私有網(wǎng)內的終端注冊到Client上,它和防火墻外的Server創(chuàng )建一個(gè)信令和控制通道,可以把所有的注冊和呼叫控制信令轉發(fā)到Server,也把音視頻數據轉發(fā)到Server,在轉發(fā)時(shí)它把內部終端發(fā)送的和外部發(fā)往終端的數據包的地址和端口號替換為自己的。Server放在防火墻外的公眾空間,可以位于服務(wù)提供商網(wǎng)絡(luò )或者位于企業(yè)網(wǎng)的DMZ區域,Server扮演網(wǎng)守代理的角色,從Client收到的所有注冊和呼叫信令都被Server轉發(fā)到中心網(wǎng)守。
3.4 STUN
STUN (Simple Traversal of UDP Through NATs)是一種由IETF研制的UDP流協(xié)議穿透NAT的協(xié)議。STUN可以在不改變NAT的情況下,與任何現有NAT共存。在STUN服務(wù)器和客戶(hù)端之間可以有任意多的NAT設備。STUN技術(shù)僅針對NAT穿越有效,對防火墻穿越?jīng)]有幫助,所以,如果在整個(gè)通話(huà)話(huà)路中沒(méi)有防火墻僅有NAT,STUN將是一種成本低廉的穿越NAT的選擇方案。就STUN協(xié)議本身而言,對哪種協(xié)議并沒(méi)有要求,不過(guò)目前為止的一些成功案例,都是在基于SIP協(xié)議的系統中實(shí)現的。
UT斯達康自行研制的軟電話(huà)—iSmart,就是采用了STUN技術(shù)的SIP終端。在用戶(hù)側和網(wǎng)絡(luò )側都沒(méi)有設置防火墻,而僅有NAT轉換問(wèn)題的時(shí)候,借助iSmart上的STUN穿越機制,就可以正常使用其服務(wù),STUN支持NAT的多重穿越。
3.5 MidCom
Middlebox Communications (MidCom) 是通過(guò)在第三方實(shí)體和防火墻/NAT之間建立中間盒通訊,使防火墻/NAT設備變?yōu)榭煽氐囊环N新的概念。這種方法是允許第三方成為受防火墻/NAT信任的實(shí)體,然后代表防火墻/NAT做出決定,強迫其開(kāi)放端口傳送媒體流或數據流。這些受信任的實(shí)體通過(guò)“MidCom”定義的新協(xié)議與防火墻/NAT進(jìn)行通信。受信任的第三方實(shí)體幫助防火墻/NAT操作,而不必在其中加入智能程序去判斷是否允許媒體流通過(guò)。這樣,防火墻/NAT可以在對應用層內容未知的情況下繼續提供安全服務(wù)。
3.6 Full Proxy
SIP或H.323 proxy可以用于穿越NAT或者FW/NAT,但穿越防火墻時(shí)要考慮防火墻是如何配置的。Proxy有點(diǎn)類(lèi)似于網(wǎng)關(guān),只是在Proxy的兩邊都是同樣的協(xié)議,它起不到協(xié)議轉換的作用。Proxy可以對內外的IP網(wǎng)絡(luò )都有所了解, 并使基于IP的呼叫看起來(lái)像兩個(gè)完全分離的呼叫:其中一個(gè)是從內部網(wǎng)絡(luò )起呼的終端到Proxy,另一個(gè)是從Proxy到外部網(wǎng)絡(luò )上的終呼終端。而這個(gè)Proxy則起到把兩個(gè)呼叫融合在一起的作用,從而解決了NAT的問(wèn)題。
3.7 ALG(Application Level Gateway)
應用層網(wǎng)關(guān)(Application layer gateways)是被設計能識別指定IP協(xié)議(象H.323、SIP或MGCP)的設備。它不是簡(jiǎn)單地察看包頭信息來(lái)決定數據包是否可以通過(guò),而是更深層的分析數據包負載內的數據,也就是應用層的數據。H.323和SIP協(xié)議都在負載中放了重要的控制信息,例如語(yǔ)音和視頻終端使用哪一個(gè)數據端口來(lái)接收別的終端的語(yǔ)音和視頻數據。通過(guò)分析哪一個(gè)端口需要打開(kāi),防火墻動(dòng)態(tài)地打開(kāi)那些被應用的端口,而所有別的端口依然安全地保持關(guān)閉狀態(tài)。 如果一個(gè)NAT被應用來(lái)屏蔽內部IP地址,這時(shí)ALG就需要一個(gè)代理,一些防火墻生產(chǎn)廠(chǎng)商把代理結合到ALG上越過(guò)NAT。
應用層網(wǎng)關(guān)可以是單獨的連接于外網(wǎng)和內網(wǎng)之間的設備,也可以是內置于防火墻內的插件。當防火墻發(fā)現外網(wǎng)呼叫信號為H.323、SIP或MGCP呼叫信息時(shí),將其轉發(fā)到ALG(應用層網(wǎng)關(guān)),通過(guò)ALG建立起內網(wǎng)偽地址終端與外網(wǎng)終端的通信連接。它主要完成以下幾個(gè)功能:H.323、SIP或MGCP協(xié)議棧的部分功能、H.323、SIP或MGCP代理服務(wù)器、網(wǎng)守、IP地址翻譯等。
3.8 SBC(Session Border Controller)
SBC方案,是迄今為止,對FW/NAT問(wèn)題解決最完善的方案,也是UT斯達康公司推薦使用的解決方案之一。實(shí)施SBC方案,不僅不用對原有網(wǎng)絡(luò )中的FW/NAT設備做任何改動(dòng),而且對原有網(wǎng)絡(luò )沒(méi)有任何特殊要求。
SBC本身可以被看作支持VoIP的Proxy,它是一種“可識別應用層”的設備,可以識別第五層和第七層的消息,并且還可以處理第五層的眾多會(huì )話(huà)信令協(xié)議,修改數據包頭的地址,從而實(shí)現SBC內外網(wǎng)地址變換。
SBC同時(shí)還可以用于協(xié)助VoIP穿越遠端防火墻/NAT設備。它一般放置在網(wǎng)絡(luò )核心交換設備側。所有經(jīng)過(guò)SBC的信令和媒體流經(jīng)過(guò)SBC的協(xié)調和修改,可以在系統側和用戶(hù)側正確傳輸。用戶(hù)側的NAT/Firewall可以接受這種修改后的信令和媒體流并把他們傳送到用戶(hù)側內網(wǎng)。這種利用SBC實(shí)現的防火墻穿越技術(shù)可以稱(chēng)之為“遠端防火墻穿越”。
SBC可以幫助SIP/MGCP信令穿越已經(jīng)存在的FW/NAT,而不需要對現有的FW/NAT設備做任何改變。具體來(lái)說(shuō),對于SIP終端,SIP終端設備會(huì )周期性發(fā)注冊消息到SBC;對于MGCP終端,當收到MGCP設備的第一個(gè)注冊消息后,SBC會(huì )周期性發(fā)AUEP消息到終端,強制其再不停的周期性回復200OK消息。這樣,由于不停的有信令消息經(jīng)過(guò)防火墻/NAT設備,可以使防火墻/NAT對通過(guò)的消息流始終保持一個(gè)確定的端口;同時(shí),當注冊信息經(jīng)過(guò)SBC,它將記錄在防火墻上的第三層的IP地址和端口等信息,并且將此信息與防火墻后面的終端的用戶(hù)名或電話(huà)號碼等第五層信息進(jìn)行綁定記錄。這樣,當一個(gè)信令到來(lái),SBC將通過(guò)防火墻上正確的地址和端口發(fā)送給被叫方。
當呼叫建立后,雙向的媒體流端口都是動(dòng)態(tài)建立的。由于媒體流同樣也通過(guò)SBC,SBC將通過(guò)與該媒體流相關(guān)的呼叫(第五層消息中的用戶(hù)名或電話(huà)號碼)識別出防火墻上的IP地址和端口。因此,SBC可以把相應的媒體流發(fā)送到防火墻上的相關(guān)IP地址和端口,然后正確的使媒體流到達防火墻后的用戶(hù)側。
SBC本身可以被看作支持VoIP的防火墻,不過(guò)它們不僅僅有此功能。它們還可以修改IP包的包頭,使IP包能夠順利通過(guò)網(wǎng)絡(luò )邊緣設備(如:FW或NAT)。SBC是一種“可識別應用層”的設備,可以識別第五層和第七層的消息,并且還可以處理第五層的眾多會(huì )話(huà)信令協(xié)議,修改數據包頭的地址,從而實(shí)現“遠端防火墻穿越”。同時(shí),SBC可以通過(guò)對會(huì )話(huà)數目的限制,實(shí)現應用層防D.O.S.攻擊。
4 各種語(yǔ)音穿越防火墻技術(shù)的優(yōu)劣比較

5 滿(mǎn)足市場(chǎng)需求的解決方案
作為下一代電信網(wǎng)的核心技術(shù), 基于VoIP技術(shù)的軟交換技術(shù)在實(shí)際應用時(shí), 無(wú)疑需要很多的IP地址,在IPv6技術(shù)大規模應用前,VoIP軟交換網(wǎng)絡(luò )中利用私有IP地址是一個(gè)節省有限共有IP資源的現實(shí)選擇,所以實(shí)際布網(wǎng)時(shí)常常會(huì )大量使用NAT。
防火墻技術(shù)是建立在現代通信網(wǎng)絡(luò )技術(shù)和信息安全技術(shù)基礎上的應用性安全技術(shù),越來(lái)越多地應用于專(zhuān)用網(wǎng)絡(luò )與公用網(wǎng)絡(luò )的互聯(lián)環(huán)境之中,尤以Internet網(wǎng)絡(luò )為最甚。
而作為電信網(wǎng),互聯(lián)互通是軟交換所必須的,顯而易見(jiàn),使用NAT和防火墻在節省了公有IP資源和保障安全性的同時(shí),也帶來(lái)了需要解決一些互聯(lián)互通的問(wèn)題。
UT斯達康公司的防火墻/NAT穿透技術(shù)針對電信運營(yíng)商的具體網(wǎng)絡(luò )需求,給出了完整解決方案。其中,SBC方案可以在不改變網(wǎng)絡(luò )中其他設備的情況下,保障防火墻/NAT后面的終端用戶(hù)能夠使用所有mSwitch系統所提供的語(yǔ)音/視頻/數據服務(wù)。不僅如此,SBC設備還可以為mSwitch核心網(wǎng)絡(luò )提供安全防護功能。傳統的數據防火墻不能達到運營(yíng)商網(wǎng)絡(luò )在傳送實(shí)時(shí)媒體通信所需要的動(dòng)態(tài)特點(diǎn)和規模,大多數的邊緣路由器在執行一些安全功能,如許可控制和地址轉換時(shí),主要都是用于單向而非實(shí)時(shí)的通信,卻并不是針對處理VoIP信號通信的特別要求而設計。SBC設備正好就可以跟傳統數據防火墻和邊緣路由器起到互補作用。UT斯達康公司提供的應用于軟交換系統中的FW/NAT穿越方案,結合了高性能和可靠性的優(yōu)越特點(diǎn),為運營(yíng)商提供更多能為其帶來(lái)盈利的服務(wù)。
6 結語(yǔ)與展望
從上述各項FW/NAT穿越技術(shù)的研究和分析可看出,UT斯達康的軟交換系統采用了先進(jìn)的STUN、SBC等技術(shù),力求為運營(yíng)商和終端用戶(hù)提供更為完善的多元化服務(wù)。隨著(zhù)科技的進(jìn)一步發(fā)展,FW/NAT穿越技術(shù)也必將走向成熟和完善。
中國通信網(wǎng)(www.c114.net)
相關(guān)鏈接:
亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩
康平县|
潍坊市|
凤山县|
勃利县|
射阳县|
湘西|
格尔木市|
靖州|
三明市|
哈巴河县|
城口县|
山西省|
汝南县|
永昌县|
阳信县|
尼木县|
尼木县|
潼南县|
原阳县|
杂多县|
叶城县|
广平县|
建宁县|
新乐市|
竹北市|
澜沧|
五台县|
宾川县|
吉首市|
东台市|
六盘水市|
佛山市|
南皮县|
贺兰县|
扬州市|
彭州市|
墨竹工卡县|
伊宁县|
鹿邑县|
安康市|
平谷区|
http://444
http://444
http://444
http://444
http://444
http://444