會話控制器實現(xiàn)VoIP防火墻/ NAT穿越
會話控制器實現(xiàn)VoIP防火墻/ NAT穿越
VoIP Traversal of Firewall and NAT using Session Controller
天津大學(xué)電子信息工程學(xué)院 王新樂 沈保鎖 韓實
2005年4月28日收到修改稿。王新樂:碩士生,研究方向為下一代網(wǎng)路、數(shù)字電視。
摘 要:VoIP技術(shù)的出現(xiàn)大大降低了電信語音業(yè)務(wù)的運營成本,但VoIP穿越防火墻/NAT等問題一直阻礙著VoIP的大規(guī)模應(yīng)用。本文著重介紹了會話控制器的功能及其在解決防火墻/NAT穿越問題中的應(yīng)用。
關(guān)鍵詞:VoIP;防火墻;網(wǎng)絡(luò)地址轉(zhuǎn)換;會話控制器
概述
自上世紀90年代以來,電信業(yè)務(wù)朝著數(shù)字化和寬帶化方向發(fā)展,隨著數(shù)據(jù)業(yè)務(wù)、多媒體業(yè)務(wù)在網(wǎng)絡(luò)中主導(dǎo)地位的逐步確立,NGN(下一代網(wǎng)絡(luò))正朝著全IP的方向發(fā)展,IP將成為語音、數(shù)據(jù)、信令的統(tǒng)一載體。盡管目前數(shù)據(jù)業(yè)務(wù)已經(jīng)占據(jù)了約一半的網(wǎng)絡(luò)帶寬,但70%-80%的電信業(yè)務(wù)收入?yún)s仍然來自語音業(yè)務(wù)。VoIP技術(shù)成為新的電信公司進軍電信市場的利器,因此近年來VoIP技術(shù)正以前所未有的速度發(fā)展。預(yù)計到2010年,大多數(shù)撥號電話業(yè)務(wù)可望實現(xiàn)IP化。
由于IP 地址緊缺以及網(wǎng)絡(luò)安全等原因,大量的企業(yè)網(wǎng)和用戶駐地網(wǎng)基本上都采用了私有IP 地址通過出口的防火墻(Firewall)/NAT(Network Address Translators網(wǎng)絡(luò)地址轉(zhuǎn)換)接入公網(wǎng),而目前在IP 網(wǎng)上承載語音和視頻的協(xié)議,如H.323,SIP,MGCP等,由于其本身的特點所決定,在私網(wǎng)用戶接入應(yīng)用中,這些協(xié)議的信令通道/媒體通道難以穿越傳統(tǒng)的防火墻/NAT設(shè)備與公網(wǎng)進行互通,原因在于,復(fù)雜的H.323、SIP、MGCP協(xié)議動態(tài)分配端口并產(chǎn)生和維護多個UDP數(shù)據(jù)流。服務(wù)提供商若想大規(guī)模部署VoIP網(wǎng)絡(luò),必須解決防火墻/NAT穿越問題。
防火墻和NAT
防火墻
防火墻是一類防范措施的總稱,它使得內(nèi)部網(wǎng)絡(luò)與其它外部網(wǎng)絡(luò)互相隔離,通過限制網(wǎng)絡(luò)互訪來保護內(nèi)部網(wǎng)絡(luò)。防火墻簡單的可以只用路由器實現(xiàn),復(fù)雜的可以用主機甚至一個子網(wǎng)來實現(xiàn)。設(shè)置防火墻目的是為了在內(nèi)部網(wǎng)與外部網(wǎng)之間設(shè)立唯一的通道,簡化網(wǎng)絡(luò)的安全管理。
防火墻的功能有:
1. 過濾掉不安全服務(wù)和非法用戶;
2. 控制對特殊站點的訪問;
3. 提供監(jiān)視Internet安全和預(yù)警的方便端點。
防火墻總是被配置成過濾掉所有不請自到的網(wǎng)絡(luò)通信,可以分為兩大類:包過濾防火墻和應(yīng)用級防火墻。
NAT
網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)置于兩網(wǎng)間的邊界,其功能是將外網(wǎng)公開的IP 地址與內(nèi)網(wǎng)私有的IP地址相映射,這樣,受保護的內(nèi)網(wǎng)可使用私有IP地址,而這些地址是不用于公網(wǎng)的。從外網(wǎng)來的含公網(wǎng)地址信息的數(shù)據(jù)包先到達NAT ,NAT 使用預(yù)先設(shè)定的規(guī)則(例如源地址、源端口、目的地址、目的端口、協(xié)議)來修改數(shù)據(jù)包,然后再轉(zhuǎn)發(fā)給內(nèi)網(wǎng)接收點。對于流出內(nèi)網(wǎng)的數(shù)據(jù)包也須經(jīng)過同樣的轉(zhuǎn)換處理。NAT的作用如圖1所示。
VoIP穿越防火墻/ NAT存在的問題
VoIP穿越防火墻存在的問題
防火墻檢查從外部進來的每個數(shù)據(jù)包的IP地址和目的端口號,它經(jīng)常如此設(shè)置:如果防火墻內(nèi)的終端A向防火墻外的終端Y主動發(fā)出請求,防火墻會讓外部終端Y的數(shù)據(jù)包通過,而且僅當(dāng)數(shù)據(jù)包的目的地址和端口號與防火墻內(nèi)發(fā)起請求的終端A的地址和端口號相同;如果終端Z向防火墻內(nèi)的終端B發(fā)送連接請求,呼叫信息就會被防火墻攔截而無法到達。如圖2所示。
像傳統(tǒng)電信一樣,基于SIP的通信,也必須能夠接受來自各個地域的呼叫,也就是必須支持真正的公共服務(wù)。SIP在初始會話時通常要用到TCP或UDP作為傳輸協(xié)議,同時采用任意分配的動態(tài)隨機端口,而目前的防火墻一般僅允許事先打開特定的協(xié)議和端口,并不支持動態(tài)分配媒體流的隧道機制。這也就是說網(wǎng)絡(luò)管理者為了允許SIP媒體流通過防火墻將不得不打開防火墻上所有的端口,這樣一來,防火墻也就失去了存在的意義。由于網(wǎng)絡(luò)安全的原因,很少企業(yè)會讓他們的網(wǎng)絡(luò)防火墻如此開放。
VoIP穿越NAT存在的問題
NAT像PABX(專用自動交換分機)類似的方式工作。PABX用戶可以使用幾個可用的公共電話線(等同于公共IP地址)中的一個進行呼叫,使用的線路(端口號)被自動的選擇,并且對用戶是不可見的。接收輸入呼叫更困難一些,呼入用戶必須首先被接入到一個服務(wù)員(自動的或人工的)以被連接到正確的分機號。然而在VoIP網(wǎng)絡(luò)中,事情卻沒有這么簡單。
如圖3所示,當(dāng)私有地址為192.168.0.45:5060的終端向外發(fā)起呼叫時,信令信息通過帶有NAT功能的防火墻后地址被轉(zhuǎn)換為202.113.2.50:5000。當(dāng)呼叫建立后,終端使用地址192.168.0.45:8000發(fā)送媒體流,這個地址是通過SIP信令信息告訴對方的。然而,媒體流經(jīng)過帶有NAT功能的防火墻后,地址被轉(zhuǎn)換為202.113.2.50:8000,而被呼叫方仍向地址192.168.0.45:8000發(fā)送媒體信息。由于此地址是不可路由的,路由器會丟棄此信息,呼叫顯示已連接,但無法完成媒體信息的傳送。
會話控制器及其實現(xiàn)防火墻/NAT穿越
會話控制器
會話控制器是一種新的網(wǎng)絡(luò)設(shè)備,它為各種IP網(wǎng)絡(luò)提供單一的接口以完成端到端的VoIP通信。會話控制器是一個完整的網(wǎng)絡(luò)管理解決方案,它能在一個單一的平臺上為VoIP服務(wù)提供商提供智能路由、網(wǎng)絡(luò)保護和網(wǎng)絡(luò)邊界控制等功能。會話控制器有先進的跨網(wǎng)絡(luò)傳輸管理能力,傳統(tǒng)上阻礙SIP網(wǎng)絡(luò)和H.323網(wǎng)絡(luò)通過IP互連的圍繞網(wǎng)絡(luò)安全、信令互通和防火墻/NAT穿越等多種問題均可得以克服。
目前,生產(chǎn)會話控制器的廠商主要有:Nextone,MERA Systems,Newport Networks,Acme Packet等。全球已有30多個國家的250多家服務(wù)提供商使用MVTS會話控制器。
會話控制器能夠:
_ 解決防火墻/NAT穿越問題,使得位于防火墻后的用戶可以使用公共SIP服務(wù)。例如:安全的接聽呼入的SIP語音呼叫;
_ 按會話的不同修改和加強QoS標記(ToS 比特,DiffServ代碼)以提供SLAs(服務(wù)級別協(xié)議);
_ 通過隱藏內(nèi)部網(wǎng)絡(luò)地址來保護服務(wù)提供商的網(wǎng)絡(luò),并防止拒絕服務(wù)攻擊(DoS);
_ 收集用于產(chǎn)生費用詳細記錄(Charge Detail Records)的有用信息。
會話控制器能夠讓服務(wù)提供商管理兩個相關(guān)聯(lián)的通信平面:
_ 控制平面——打開、關(guān)閉選定類型的媒體連接,決定用戶策略,為相應(yīng)連接提供相關(guān)服務(wù),如會議橋;
_ 媒體平面——在特定的連接上提供可靠的端到端的媒體流傳輸。
會話控制器實現(xiàn)VoIP防火墻/NAT穿越
會話控制器完成信令代理和媒體代理的功能,從而解決防火墻/NAT穿越問題。
如圖4所示,會話控制器中的信令代理(SignallingProxy)相當(dāng)于用戶代理(User Agent)和呼叫代理(Call Agent)間的信令傳輸點。媒體代理(MediaProxy)在信令代理的控制下,為用戶代理間的RTP和RTCP媒體流提供傳輸服務(wù)。信令代理和媒體代理間使用Megaco/H.248協(xié)議交換信息。當(dāng)防火墻內(nèi)的用戶代理向會話控制器發(fā)送SIP信令信息時,NAT將內(nèi)網(wǎng)地址轉(zhuǎn)換為公網(wǎng)地址,再發(fā)往會話控制器的信令代理。當(dāng)信令代理收到用戶代理發(fā)送過來的REGISTER信息時,會話控制器為此終端分配一個地址和端口并修改REGISTER信息作為源地址發(fā)往呼叫代理。若使用UDP傳輸協(xié)議,終端設(shè)備會周期性地發(fā)注冊信息到會話控制器,使防火墻/NAT對通過的信息流始終保持一個確定的端口(NAT一般將60秒內(nèi)不活動的端口沖刷掉)。為了減輕呼叫代理的負擔(dān),會話控制器的信令代理收到相同的注冊信息時不再向呼叫代理轉(zhuǎn)發(fā)(或每一小時向呼叫代理轉(zhuǎn)發(fā)一次注冊信息)。
呼叫建立過程為:當(dāng)會話控制器的信令代理收到來自內(nèi)網(wǎng)的用戶代理'X'發(fā)起的INVITE信息時,信令代理與媒體代理交換信息,獲得為此次呼叫動態(tài)分配的用于傳輸媒體流的地址信息,然后修改源IP地址和SDP域,使得信令代理作為返回信令的地址,媒體代理地址作為媒體流的發(fā)送地址。之后,INVITE信息被轉(zhuǎn)發(fā)給呼叫代理。在呼叫代理看來,INVITE信息來自于會話控制器。當(dāng)接收終端'Y'返回ACK信息時,會話控制器修改ACK信息,以便讓發(fā)起端發(fā)送媒體流到會話控制器為此次呼叫分配的地址。會話控制器從媒體流中讀取源IP地址和端口號以便媒體代理完成雙方間的媒體流轉(zhuǎn)發(fā),從而完成此次呼叫的建立。
當(dāng)INVITE信息來自于公共網(wǎng)絡(luò)時,會話控制器的信令代理對SIP信息進行類似的修改,以保證能夠正確建立呼叫。由于媒體會話總是首先從防火墻內(nèi)發(fā)往會話控制器媒體代理上的端口,媒體代理可從中讀取出發(fā)送端的地址和端口以便將兩終端間的媒體流正確轉(zhuǎn)發(fā)。同時會話控制器拒絕非法的媒體流進入,提高了網(wǎng)絡(luò)的安全性。
由于所有的信令信息和媒體流都經(jīng)過會話控制器,服務(wù)提供商可以對會話進行控制,并記錄費用信息等內(nèi)容。
結(jié)語
會話控制器是對防火墻/NAT穿越問題完善的解決方案,它對原有防火墻/NAT無需做任何改變,同時還可以用于協(xié)助VoIP穿越遠端防火墻/NAT設(shè)備。會話控制器簡化了VoIP網(wǎng)絡(luò)的互連,能更有效地進行路由選擇,管理跨IP網(wǎng)絡(luò)的實時會話業(yè)務(wù)并控制網(wǎng)絡(luò)邊緣。
當(dāng)服務(wù)提供商計劃向電信伙伴和企業(yè)客戶提供基于IP的實時服務(wù)時,會話控制器是完成這項任務(wù)的最好選擇。會話控制器讓各種IP網(wǎng)絡(luò)能自由連接,使得服務(wù)提供商和用戶均能從中受益。隨著VoIP和其它實時的、基于分組的服務(wù)的市場需求的強烈,服務(wù)提供商們正處于電信基礎(chǔ)架構(gòu)的變革之中。會話控制器可部屬于服務(wù)提供商網(wǎng)絡(luò)的核心和邊緣,正逐步成為VoIP網(wǎng)絡(luò)的核心設(shè)備。
參考文獻:
1. Raj Shama. Softswitch Migration and the Rise of Session Management. Nextone Communication Inc. http://www.newtelephony.com. 09/24/2004
2. MERA Systems Inc. MVTS Session Controller Business Case. http://www.mera-voip.com
評論