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