會話控制器實現(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所示。
>圖1 網(wǎng)絡(luò)地址轉(zhuǎn)換NAT將內(nèi)網(wǎng)地址轉(zhuǎn)換為公網(wǎng)地址
VoIP穿越防火墻/ NAT存在的問題
VoIP穿越防火墻存在的問題
防火墻檢查從外部進來的每個數(shù)據(jù)包的IP地址和目的端口號,它經(jīng)常如此設(shè)置:如果防火墻內(nèi)的終端A向防火墻外的終端Y主動發(fā)出請求,防火墻會讓外部終端Y的數(shù)據(jù)包通過,而且僅當數(shù)據(jù)包的目的地址和端口號與防火墻內(nèi)發(fā)起請求的終端A的地址和端口號相同;如果終端Z向防火墻內(nèi)的終端B發(fā)送連接請求,呼叫信息就會被防火墻攔截而無法到達。如圖2所示。