軟交換FW/NAT穿透解決方案探討

徐文卓 2004/01/06

  摘 要:軟交換系統(tǒng)中,如何給防火墻/NAT后的用戶提供完善的多元化服務是很多運營商和設備制造商困惑已久的問題。現(xiàn)在,有不少標準化組織和設備生產廠家針對這個困難提出了自己的解決方案。UT斯達康憑借豐富的通訊行業(yè)經驗和深厚的技術研發(fā)能力,在軟交換系統(tǒng)中實現(xiàn)防火墻/NAT穿越問題上提出了完善的解決方案—使用SBC(邊界媒體控制器)控制信令和媒體穿越FW/NAT。該方案不僅很好地解決了防火墻/NAT穿越問題,還基于考慮用戶、源自信令和下行網絡拓撲結構的策略使用,滿足網絡所需的獨特的QoS和安全要求。

  關鍵詞:FW、NAT、防火墻、穿越、Softswitch、軟交換、VoIP、mSwitch

  1 FW/NAT問題簡介

  隨著近年IP網寬帶業(yè)務的蓬勃發(fā)展,基于分組的多媒體通信系統(tǒng)標準H.323、SIP、MGCP廣泛運用于視頻會議和IP電話中。VoIP業(yè)務的應用也帶來一個值得關注的問題:絕大部分企業(yè)部門從網絡安全考慮配置了專用防火墻,但H.323、SIP、MGCP很難通過傳統(tǒng)專用防火墻。原因在于,復雜的H.323、SIP、MGCP協(xié)議動態(tài)分配端口并產生和維護多個UDP數(shù)據流。

  同時由于Internet快速膨脹,IPV4地址空間處于嚴重耗盡的境況。為解決這個問題,人們設計出了網址轉換器(NAT)。然而NAT后的IP語音和視頻設備僅有私有IP地址,這些地址在公眾網上是不可路由的。

  這樣一來,多媒體通訊中的防火墻和NAT問題嚴重地制約了IP電話和視頻會議的應用。解決這個問題也就成為多業(yè)務寬帶IP網絡至關重要的事情。

  在這里,我們先簡要回顧一下防火墻和NAT設備是如何保護網絡安全的和為什么實時多媒體通訊協(xié)議是對安全問題的一個挑戰(zhàn)。

1.1 網絡防火墻和NAT如何工作

1.1.1 防火墻

  為了網絡的安全性,公司一般都安裝防火墻,它是一個放于私有網的設備,用來保護網絡資源免受外部的惡意破壞。

  防火墻檢查從外部進來的每個數(shù)據包的IP地址和目的端口號,它經常如此設置:如果防火墻內的一臺計算機A向防火墻外的一臺計算機B主動發(fā)出請求要數(shù)據,防火墻會讓外部計算機B的數(shù)據包通過,而且當且僅當數(shù)據包的目的地址和端口號與防火墻內發(fā)起請求的計算機A的地址和端口號相同;如果計算機B發(fā)來的數(shù)據包僅僅目的地址是防火墻內發(fā)起請求的計算機A的地址,而端口號不是計算機A發(fā)出請求的那個端口號,防火墻也將會丟棄那個外來的數(shù)據包。

  防火墻總是被配置過濾掉所有不請自到的網絡通信,有一個例外是在防火墻內提供Web Server供外部訪問。在這種情況下,公司會配置防火墻允許目的地址是Web Server的IP地址且目的端口號為80的數(shù)據包通過,這就使得公司外部可以主動向公司的Web Server發(fā)起請求得到一些公司放在Server上的數(shù)據。

1.1.2 NAT

  網絡地址轉換(NAT)是一個Internet標準,置于兩網間的邊界,其功能是將外網可見的IP地址與內網所用的地址相映射,這樣,每一受保護的內網可重用特定范圍的IP地址(例如192.168.x.x),而這些地址是不用于公網的。從外網來的含公網地址信息的數(shù)據包先到達NAT,NAT使用預設好的規(guī)則 (其組元包含源地址、源端口、目的地址、目的端口、協(xié)議) 來修改數(shù)據包,然后再轉發(fā)給內網接受點。對于流出內網的數(shù)據包也須經過這樣的轉換處理。NAT服務有兩個主要目的:

  1. 許多公司使用NAT用作一個網絡安全設備,因為它隱藏了內部IP地址,如果黑客不知道特定計算機的IP地址,想要攻擊那臺計算機是更困難的。

  2. NAT讓一個公司可以使用更多的內部IP地址,因為這些地址僅僅在內部使用,不可能與被別的公司和組織的IP地址產生沖突。

  2 防火墻和NAT阻礙IP語音和視頻通訊

  基于IP的語音和視頻通訊協(xié)議,象H.323,要求終端之間使用IP地址和數(shù)據端口來建立數(shù)據通信通道。因此存在一個兩難境地:為了建立數(shù)據連接終端必須隨時偵聽外來的呼叫,而防火墻卻通常被配置來阻止任何不請自到的數(shù)據包通過。

  即使網絡管理者打開防火墻上的一個端口來接收呼叫建立數(shù)據包,例如1720端口,但IP語音和視頻通訊協(xié)議還要求打開許多別的端口接收呼叫控制信息來建立語音和視頻通道,這些端口號事先并不知道,是動態(tài)分配的,這也就是說網絡管理者為了允許語音和視頻通訊將不得不打開防火墻上所有的端口,防火墻也就失去了存在的意義。由于網絡安全的原因,很少企業(yè)會讓他們的網絡防火墻如此開放。

  在IP語音和視頻通訊中NAT問題也是常見的問題。一個NAT設備允許一個公司為局域網上設備分配私有的IP地址。不幸的是控制Internet上信息流向的路由設備僅僅能把數(shù)據送到具有可路由IP地址(公眾IP地址)的設備。

  NAT后的終端可以向位于相同局域網上的任何別的終端發(fā)起呼叫,因為在局域網內的這些IP地址是可路由的,然而他們的IP地址是私有的,對局域網外來說是不可路由的,因此NAT后的終端不能接收局域網外終端的呼叫。

  即使NAT內的終端可以向NAT外的終端發(fā)起呼叫,這仍然存在問題。當進行呼叫時,發(fā)起呼叫的終端A的IP地址會包含在數(shù)據包負載中,根據H.323協(xié)議被呼叫的終端B收到呼叫建立(call setup)數(shù)據包后,會從該數(shù)據包負載中獲取終端A的IP地址,并開始發(fā)送音頻和視頻數(shù)據到這個IP地址的終端A。如果這個IP地址是私有的,Internet路由器將丟棄從外部終端發(fā)送往內部終端的音頻和視頻數(shù)據包,因為這些數(shù)據包正被送往一個不可路由的IP地址。這個呼叫將顯示已經連接上,但NAT后的終端A將永遠不會收到外部終端B的音頻和視頻。

  3 現(xiàn)有VoIP的FW/NAT穿透技術

  3.1 不使用防火墻/NAT

  其實解決防火墻和NAT問題的一個最簡單的辦法就是避免使用它們,對大多數(shù)機構來說,這種方法太冒險,網絡安全沒有保證,而且要得到足夠多的可路由的IP地址或許是困難的,昂貴的。對運營商來說也是這樣,若不是用FW/NAT來保護核心設備,使核心交換設備直接跟用戶端聯(lián)接,這樣無疑是很冒險的做法。

  3.2 使用PSTN網關

  如果不太關心在局域網外是否基于IP通信,那么可以使用網關把局域網上的IP語音和視頻轉換為公共電路交換網上的PSTN語音和視頻。使用這樣一個網關就不用關心網絡防火墻的穿透問題了,因為沒有數(shù)據包要通過防火墻。這也解決了NAT問題,所有到局域網內終端的呼叫都是可路由的,因為通過網關進入局域網的呼叫都是可路由的。今天大多數(shù)IP電話都是通過一個網關和非IP電話來進行通訊的。網關方法是一個局部解決方案,要求所有參與呼叫者在最后一道NAT和防火墻后要有一個相應的網關。

  3.3 隧道穿透方案

  一般企業(yè)網都不想升級或者改動他們的防火墻和NAT設備的配置,也不想讓內外的交互通訊繞過這些設備,采用允許IP語音和視頻穿越防火墻和NAT的隧道穿透方案也許是最合適的,目前提供此類解決方案的有美國的Ridgeway公司。

  隧道穿透解決方案由兩個組件構成,Server軟件和Client軟件。Client放在防火墻內的私有網,它同時具有網守功能和代理功能,私有網內的終端注冊到Client上,它和防火墻外的Server創(chuàng)建一個信令和控制通道,可以把所有的注冊和呼叫控制信令轉發(fā)到Server,也把音視頻數(shù)據轉發(fā)到Server,在轉發(fā)時它把內部終端發(fā)送的和外部發(fā)往終端的數(shù)據包的地址和端口號替換為自己的。Server放在防火墻外的公眾空間,可以位于服務提供商網絡或者位于企業(yè)網的DMZ區(qū)域,Server扮演網守代理的角色,從Client收到的所有注冊和呼叫信令都被Server轉發(fā)到中心網守。

  3.4 STUN

  STUN (Simple Traversal of UDP Through NATs)是一種由IETF研制的UDP流協(xié)議穿透NAT的協(xié)議。STUN可以在不改變NAT的情況下,與任何現(xiàn)有NAT共存。在STUN服務器和客戶端之間可以有任意多的NAT設備。STUN技術僅針對NAT穿越有效,對防火墻穿越沒有幫助,所以,如果在整個通話話路中沒有防火墻僅有NAT,STUN將是一種成本低廉的穿越NAT的選擇方案。就STUN協(xié)議本身而言,對哪種協(xié)議并沒有要求,不過目前為止的一些成功案例,都是在基于SIP協(xié)議的系統(tǒng)中實現(xiàn)的。

  UT斯達康自行研制的軟電話—iSmart,就是采用了STUN技術的SIP終端。在用戶側和網絡側都沒有設置防火墻,而僅有NAT轉換問題的時候,借助iSmart上的STUN穿越機制,就可以正常使用其服務,STUN支持NAT的多重穿越。

  3.5 MidCom

  Middlebox Communications (MidCom) 是通過在第三方實體和防火墻/NAT之間建立中間盒通訊,使防火墻/NAT設備變?yōu)榭煽氐囊环N新的概念。這種方法是允許第三方成為受防火墻/NAT信任的實體,然后代表防火墻/NAT做出決定,強迫其開放端口傳送媒體流或數(shù)據流。這些受信任的實體通過“MidCom”定義的新協(xié)議與防火墻/NAT進行通信。受信任的第三方實體幫助防火墻/NAT操作,而不必在其中加入智能程序去判斷是否允許媒體流通過。這樣,防火墻/NAT可以在對應用層內容未知的情況下繼續(xù)提供安全服務。

  3.6 Full Proxy

  SIP或H.323 proxy可以用于穿越NAT或者FW/NAT,但穿越防火墻時要考慮防火墻是如何配置的。Proxy有點類似于網關,只是在Proxy的兩邊都是同樣的協(xié)議,它起不到協(xié)議轉換的作用。Proxy可以對內外的IP網絡都有所了解, 并使基于IP的呼叫看起來像兩個完全分離的呼叫:其中一個是從內部網絡起呼的終端到Proxy,另一個是從Proxy到外部網絡上的終呼終端。而這個Proxy則起到把兩個呼叫融合在一起的作用,從而解決了NAT的問題。

  3.7 ALG(Application Level Gateway)

  應用層網關(Application layer gateways)是被設計能識別指定IP協(xié)議(象H.323、SIP或MGCP)的設備。它不是簡單地察看包頭信息來決定數(shù)據包是否可以通過,而是更深層的分析數(shù)據包負載內的數(shù)據,也就是應用層的數(shù)據。H.323和SIP協(xié)議都在負載中放了重要的控制信息,例如語音和視頻終端使用哪一個數(shù)據端口來接收別的終端的語音和視頻數(shù)據。通過分析哪一個端口需要打開,防火墻動態(tài)地打開那些被應用的端口,而所有別的端口依然安全地保持關閉狀態(tài)。 如果一個NAT被應用來屏蔽內部IP地址,這時ALG就需要一個代理,一些防火墻生產廠商把代理結合到ALG上越過NAT。

  應用層網關可以是單獨的連接于外網和內網之間的設備,也可以是內置于防火墻內的插件。當防火墻發(fā)現(xiàn)外網呼叫信號為H.323、SIP或MGCP呼叫信息時,將其轉發(fā)到ALG(應用層網關),通過ALG建立起內網偽地址終端與外網終端的通信連接。它主要完成以下幾個功能:H.323、SIP或MGCP協(xié)議棧的部分功能、H.323、SIP或MGCP代理服務器、網守、IP地址翻譯等。

  3.8 SBC(Session Border Controller)

  SBC方案,是迄今為止,對FW/NAT問題解決最完善的方案,也是UT斯達康公司推薦使用的解決方案之一。實施SBC方案,不僅不用對原有網絡中的FW/NAT設備做任何改動,而且對原有網絡沒有任何特殊要求。

  SBC本身可以被看作支持VoIP的Proxy,它是一種“可識別應用層”的設備,可以識別第五層和第七層的消息,并且還可以處理第五層的眾多會話信令協(xié)議,修改數(shù)據包頭的地址,從而實現(xiàn)SBC內外網地址變換。

  SBC同時還可以用于協(xié)助VoIP穿越遠端防火墻/NAT設備。它一般放置在網絡核心交換設備側。所有經過SBC的信令和媒體流經過SBC的協(xié)調和修改,可以在系統(tǒng)側和用戶側正確傳輸。用戶側的NAT/Firewall可以接受這種修改后的信令和媒體流并把他們傳送到用戶側內網。這種利用SBC實現(xiàn)的防火墻穿越技術可以稱之為“遠端防火墻穿越”。

  SBC可以幫助SIP/MGCP信令穿越已經存在的FW/NAT,而不需要對現(xiàn)有的FW/NAT設備做任何改變。具體來說,對于SIP終端,SIP終端設備會周期性發(fā)注冊消息到SBC;對于MGCP終端,當收到MGCP設備的第一個注冊消息后,SBC會周期性發(fā)AUEP消息到終端,強制其再不停的周期性回復200OK消息。這樣,由于不停的有信令消息經過防火墻/NAT設備,可以使防火墻/NAT對通過的消息流始終保持一個確定的端口;同時,當注冊信息經過SBC,它將記錄在防火墻上的第三層的IP地址和端口等信息,并且將此信息與防火墻后面的終端的用戶名或電話號碼等第五層信息進行綁定記錄。這樣,當一個信令到來,SBC將通過防火墻上正確的地址和端口發(fā)送給被叫方。

  當呼叫建立后,雙向的媒體流端口都是動態(tài)建立的。由于媒體流同樣也通過SBC,SBC將通過與該媒體流相關的呼叫(第五層消息中的用戶名或電話號碼)識別出防火墻上的IP地址和端口。因此,SBC可以把相應的媒體流發(fā)送到防火墻上的相關IP地址和端口,然后正確的使媒體流到達防火墻后的用戶側。

  SBC本身可以被看作支持VoIP的防火墻,不過它們不僅僅有此功能。它們還可以修改IP包的包頭,使IP包能夠順利通過網絡邊緣設備(如:FW或NAT)。SBC是一種“可識別應用層”的設備,可以識別第五層和第七層的消息,并且還可以處理第五層的眾多會話信令協(xié)議,修改數(shù)據包頭的地址,從而實現(xiàn)“遠端防火墻穿越”。同時,SBC可以通過對會話數(shù)目的限制,實現(xiàn)應用層防D.O.S.攻擊。

  4 各種語音穿越防火墻技術的優(yōu)劣比較


  5 滿足市場需求的解決方案

  作為下一代電信網的核心技術, 基于VoIP技術的軟交換技術在實際應用時, 無疑需要很多的IP地址,在IPv6技術大規(guī)模應用前,VoIP軟交換網絡中利用私有IP地址是一個節(jié)省有限共有IP資源的現(xiàn)實選擇,所以實際布網時常常會大量使用NAT。

  防火墻技術是建立在現(xiàn)代通信網絡技術和信息安全技術基礎上的應用性安全技術,越來越多地應用于專用網絡與公用網絡的互聯(lián)環(huán)境之中,尤以Internet網絡為最甚。

  而作為電信網,互聯(lián)互通是軟交換所必須的,顯而易見,使用NAT和防火墻在節(jié)省了公有IP資源和保障安全性的同時,也帶來了需要解決一些互聯(lián)互通的問題。

  UT斯達康公司的防火墻/NAT穿透技術針對電信運營商的具體網絡需求,給出了完整解決方案。其中,SBC方案可以在不改變網絡中其他設備的情況下,保障防火墻/NAT后面的終端用戶能夠使用所有mSwitch系統(tǒng)所提供的語音/視頻/數(shù)據服務。不僅如此,SBC設備還可以為mSwitch核心網絡提供安全防護功能。傳統(tǒng)的數(shù)據防火墻不能達到運營商網絡在傳送實時媒體通信所需要的動態(tài)特點和規(guī)模,大多數(shù)的邊緣路由器在執(zhí)行一些安全功能,如許可控制和地址轉換時,主要都是用于單向而非實時的通信,卻并不是針對處理VoIP信號通信的特別要求而設計。SBC設備正好就可以跟傳統(tǒng)數(shù)據防火墻和邊緣路由器起到互補作用。UT斯達康公司提供的應用于軟交換系統(tǒng)中的FW/NAT穿越方案,結合了高性能和可靠性的優(yōu)越特點,為運營商提供更多能為其帶來盈利的服務。

  6 結語與展望

  從上述各項FW/NAT穿越技術的研究和分析可看出,UT斯達康的軟交換系統(tǒng)采用了先進的STUN、SBC等技術,力求為運營商和終端用戶提供更為完善的多元化服務。隨著科技的進一步發(fā)展,F(xiàn)W/NAT穿越技術也必將走向成熟和完善。

中國通信網(www.c114.net)


相關鏈接:
UT斯達康宣布在印度建IPTV技術中心 2009-09-27
從國內外IPTV發(fā)展看IPTV的核心驅動力作用 2009-09-24
聚焦IP通信 致力互動溝通 UT斯達康締造精彩 2009-09-16
UT斯達康宣布公司執(zhí)行董事長陸弘亮離職 2009-08-04
UT斯達康奔流系統(tǒng)助廣電互動電視內容運營 2009-07-08

分類信息:     技術_NGN及軟交換_新聞   技術_NGN及軟交換_文摘