新聞中心

EEPW首頁 > 網(wǎng)絡與存儲 > 設計應用 > 會話控制器實現(xiàn)VoIP防火墻/ NAT穿越

會話控制器實現(xiàn)VoIP防火墻/ NAT穿越

——
作者: 時間:2005-08-15 來源:電子產品世界 收藏

會話控制器實現(xiàn)防火墻/ NAT穿越

Traversal of Firewall and NAT using Session Controller

天津大學電子信息工程學院   王新樂 沈保鎖 韓實

2005年4月28日收到修改稿。王新樂:碩士生,研究方向為下一代網(wǎng)路、數(shù)字電視。

摘 要:技術的出現(xiàn)大大降低了電信語音業(yè)務的運營成本,但VoIP穿越防火墻/NAT等問題一直阻礙著VoIP的大規(guī)模應用。本文著重介紹了會話控制器的功能及其在解決防火墻/NAT穿越問題中的應用。

關鍵詞:VoIP;防火墻;網(wǎng)絡地址轉換;會話控制器

概述

  自上世紀90年代以來,電信業(yè)務朝著數(shù)字化和寬帶化方向發(fā)展,隨著數(shù)據(jù)業(yè)務、多媒體業(yè)務在網(wǎng)絡中主導地位的逐步確立,NGN(下一代網(wǎng)絡)正朝著全IP的方向發(fā)展,IP將成為語音、數(shù)據(jù)、信令的統(tǒng)一載體。盡管目前數(shù)據(jù)業(yè)務已經占據(jù)了約一半的網(wǎng)絡帶寬,但70%-80%的電信業(yè)務收入?yún)s仍然來自語音業(yè)務。VoIP技術成為新的電信公司進軍電信市場的利器,因此近年來VoIP技術正以前所未有的速度發(fā)展。預計到2010年,大多數(shù)撥號電話業(yè)務可望實現(xiàn)IP化。

  由于IP 地址緊缺以及網(wǎng)絡安全等原因,大量的企業(yè)網(wǎng)和用戶駐地網(wǎng)基本上都采用了私有IP 地址通過出口的防火墻(Firewall)/NAT(Network Address Translators網(wǎng)絡地址轉換)接入公網(wǎng),而目前在IP 網(wǎng)上承載語音和視頻的協(xié)議,如H.323,SIP,MGCP等,由于其本身的特點所決定,在私網(wǎng)用戶接入應用中,這些協(xié)議的信令通道/媒體通道難以穿越傳統(tǒng)的防火墻/NAT設備與公網(wǎng)進行互通,原因在于,復雜的H.323、SIP、MGCP協(xié)議動態(tài)分配端口并產生和維護多個UDP數(shù)據(jù)流。服務提供商若想大規(guī)模部署VoIP網(wǎng)絡,必須解決防火墻/NAT穿越問題。

防火墻和NAT

防火墻

  防火墻是一類防范措施的總稱,它使得內部網(wǎng)絡與其它外部網(wǎng)絡互相隔離,通過限制網(wǎng)絡互訪來保護內部網(wǎng)絡。防火墻簡單的可以只用路由器實現(xiàn),復雜的可以用主機甚至一個子網(wǎng)來實現(xiàn)。設置防火墻目的是為了在內部網(wǎng)與外部網(wǎng)之間設立唯一的通道,簡化網(wǎng)絡的安全管理。

防火墻的功能有:

  1. 過濾掉不安全服務和非法用戶;

  2. 控制對特殊站點的訪問;

  3. 提供監(jiān)視Internet安全和預警的方便端點。

  防火墻總是被配置成過濾掉所有不請自到的網(wǎng)絡,可以分為兩大類:包過濾防火墻和應用級防火墻。

NAT

  網(wǎng)絡地址轉換(NAT)置于兩網(wǎng)間的邊界,其功能是將外網(wǎng)公開的IP 地址與內網(wǎng)私有的IP地址相映射,這樣,受保護的內網(wǎng)可使用私有IP地址,而這些地址是不用于公網(wǎng)的。從外網(wǎng)來的含公網(wǎng)地址信息的數(shù)據(jù)包先到達NAT ,NAT 使用預先設定的規(guī)則(例如源地址、源端口、目的地址、目的端口、協(xié)議)來修改數(shù)據(jù)包,然后再轉發(fā)給內網(wǎng)接收點。對于流出內網(wǎng)的數(shù)據(jù)包也須經過同樣的轉換處理。NAT的作用如圖1所示。

VoIP穿越防火墻/ NAT存在的問題

VoIP穿越防火墻存在的問題

  防火墻檢查從外部進來的每個數(shù)據(jù)包的IP地址和目的端口號,它經常如此設置:如果防火墻內的終端A向防火墻外的終端Y主動發(fā)出請求,防火墻會讓外部終端Y的數(shù)據(jù)包通過,而且僅當數(shù)據(jù)包的目的地址和端口號與防火墻內發(fā)起請求的終端A的地址和端口號相同;如果終端Z向防火墻內的終端B發(fā)送連接請求,呼叫信息就會被防火墻攔截而無法到達。如圖2所示。

  像傳統(tǒng)電信一樣,基于SIP的,也必須能夠接受來自各個地域的呼叫,也就是必須支持真正的公共服務。SIP在初始會話時通常要用到TCP或UDP作為傳輸協(xié)議,同時采用任意分配的動態(tài)隨機端口,而目前的防火墻一般僅允許事先打開特定的協(xié)議和端口,并不支持動態(tài)分配媒體流的隧道機制。這也就是說網(wǎng)絡管理者為了允許SIP媒體流通過防火墻將不得不打開防火墻上所有的端口,這樣一來,防火墻也就失去了存在的意義。由于網(wǎng)絡安全的原因,很少企業(yè)會讓他們的網(wǎng)絡防火墻如此開放。

VoIP穿越NAT存在的問題

  NAT像PABX(專用自動交換分機)類似的方式工作。PABX用戶可以使用幾個可用的公共電話線(等同于公共IP地址)中的一個進行呼叫,使用的線路(端口號)被自動的選擇,并且對用戶是不可見的。接收輸入呼叫更困難一些,呼入用戶必須首先被接入到一個服務員(自動的或人工的)以被連接到正確的分機號。然而在VoIP網(wǎng)絡中,事情卻沒有這么簡單。

  如圖3所示,當私有地址為192.168.0.45:5060的終端向外發(fā)起呼叫時,信令信息通過帶有NAT功能的防火墻后地址被轉換為202.113.2.50:5000。當呼叫建立后,終端使用地址192.168.0.45:8000發(fā)送媒體流,這個地址是通過SIP信令信息告訴對方的。然而,媒體流經過帶有NAT功能的防火墻后,地址被轉換為202.113.2.50:8000,而被呼叫方仍向地址192.168.0.45:8000發(fā)送媒體信息。由于此地址是不可路由的,路由器會丟棄此信息,呼叫顯示已連接,但無法完成媒體信息的傳送。

會話控制器及其實現(xiàn)防火墻/NAT穿越

會話控制器

  會話控制器是一種新的網(wǎng)絡設備,它為各種IP網(wǎng)絡提供單一的接口以完成端到端的VoIP。會話控制器是一個完整的網(wǎng)絡管理解決方案,它能在一個單一的平臺上為VoIP服務提供商提供智能路由、網(wǎng)絡保護和網(wǎng)絡邊界控制等功能。會話控制器有先進的跨網(wǎng)絡傳輸管理能力,傳統(tǒng)上阻礙SIP網(wǎng)絡和H.323網(wǎng)絡通過IP互連的圍繞網(wǎng)絡安全、信令互通和防火墻/NAT穿越等多種問題均可得以克服。

  目前,生產會話控制器的廠商主要有:Nextone,MERA Systems,Newport Networks,Acme Packet等。全球已有30多個國家的250多家服務提供商使用MVTS會話控制器。

會話控制器能夠:

_ 解決防火墻/NAT穿越問題,使得位于防火墻后的用戶可以使用公共SIP服務。例如:安全的接聽呼入的SIP語音呼叫;

_ 按會話的不同修改和加強QoS標記(ToS 比特,DiffServ代碼)以提供SLAs(服務級別協(xié)議);

_ 通過隱藏內部網(wǎng)絡地址來保護服務提供商的網(wǎng)絡,并防止拒絕服務攻擊(DoS);

_ 收集用于產生費用詳細記錄(Charge Detail Records)的有用信息。

會話控制器能夠讓服務提供商管理兩個相關聯(lián)的通信平面:

_ 控制平面——打開、關閉選定類型的媒體連接,決定用戶策略,為相應連接提供相關服務,如會議橋;

_ 媒體平面——在特定的連接上提供可靠的端到端的媒體流傳輸。

會話控制器實現(xiàn)VoIP防火墻/NAT穿越

會話控制器完成信令代理和媒體代理的功能,從而解決防火墻/NAT穿越問題。

  如圖4所示,會話控制器中的信令代理(SignallingProxy)相當于用戶代理(User Agent)和呼叫代理(Call Agent)間的信令傳輸點。媒體代理(MediaProxy)在信令代理的控制下,為用戶代理間的RTP和RTCP媒體流提供傳輸服務。信令代理和媒體代理間使用Megaco/H.248協(xié)議交換信息。當防火墻內的用戶代理向會話控制器發(fā)送SIP信令信息時,NAT將內網(wǎng)地址轉換為公網(wǎng)地址,再發(fā)往會話控制器的信令代理。當信令代理收到用戶代理發(fā)送過來的REGISTER信息時,會話控制器為此終端分配一個地址和端口并修改REGISTER信息作為源地址發(fā)往呼叫代理。若使用UDP傳輸協(xié)議,終端設備會周期性地發(fā)注冊信息到會話控制器,使防火墻/NAT對通過的信息流始終保持一個確定的端口(NAT一般將60秒內不活動的端口沖刷掉)。為了減輕呼叫代理的負擔,會話控制器的信令代理收到相同的注冊信息時不再向呼叫代理轉發(fā)(或每一小時向呼叫代理轉發(fā)一次注冊信息)。

  呼叫建立過程為:當會話控制器的信令代理收到來自內網(wǎng)的用戶代理'X'發(fā)起的INVITE信息時,信令代理與媒體代理交換信息,獲得為此次呼叫動態(tài)分配的用于傳輸媒體流的地址信息,然后修改源IP地址和SDP域,使得信令代理作為返回信令的地址,媒體代理地址作為媒體流的發(fā)送地址。之后,INVITE信息被轉發(fā)給呼叫代理。在呼叫代理看來,INVITE信息來自于會話控制器。當接收終端'Y'返回ACK信息時,會話控制器修改ACK信息,以便讓發(fā)起端發(fā)送媒體流到會話控制器為此次呼叫分配的地址。會話控制器從媒體流中讀取源IP地址和端口號以便媒體代理完成雙方間的媒體流轉發(fā),從而完成此次呼叫的建立。

  當INVITE信息來自于公共網(wǎng)絡時,會話控制器的信令代理對SIP信息進行類似的修改,以保證能夠正確建立呼叫。由于媒體會話總是首先從防火墻內發(fā)往會話控制器媒體代理上的端口,媒體代理可從中讀取出發(fā)送端的地址和端口以便將兩終端間的媒體流正確轉發(fā)。同時會話控制器拒絕非法的媒體流進入,提高了網(wǎng)絡的安全性。

  由于所有的信令信息和媒體流都經過會話控制器,服務提供商可以對會話進行控制,并記錄費用信息等內容。

結語

  會話控制器是對防火墻/NAT穿越問題完善的解決方案,它對原有防火墻/NAT無需做任何改變,同時還可以用于協(xié)助VoIP穿越遠端防火墻/NAT設備。會話控制器簡化了VoIP網(wǎng)絡的互連,能更有效地進行路由選擇,管理跨IP網(wǎng)絡的實時會話業(yè)務并控制網(wǎng)絡邊緣。

  當服務提供商計劃向電信伙伴和企業(yè)客戶提供基于IP的實時服務時,會話控制器是完成這項任務的最好選擇。會話控制器讓各種IP網(wǎng)絡能自由連接,使得服務提供商和用戶均能從中受益。隨著VoIP和其它實時的、基于分組的服務的市場需求的強烈,服務提供商們正處于電信基礎架構的變革之中。會話控制器可部屬于服務提供商網(wǎng)絡的核心和邊緣,正逐步成為VoIP網(wǎng)絡的核心設備。

 

參考文獻:

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



評論


相關推薦

技術專區(qū)

關閉