NAT助VoIP穿越防火墻
陳代壽 2003/04/23
NAT構(gòu)筑于企業(yè)防火墻,擔當著網(wǎng)絡(luò)“守護神”的作用,它是公司內(nèi)部LAN與外部Internet連接的分界線。會話邊界控制器在服務(wù)提供商網(wǎng)絡(luò)中的工作流程
這是因為語音通信中同時包含了數(shù)據(jù)流和信號流,語音呼叫信息組成了數(shù)據(jù)流,而信號流則進行呼叫建立和控制,依據(jù)的信號協(xié)議通常是H.323、會話初始協(xié)議(SIP)或媒體網(wǎng)關(guān)控制協(xié)議(MGCP)。信號信息很容易通過防火墻,因為一般可預(yù)留少量端口用于呼叫接入。而對于呼叫本身,由于是基于實時協(xié)議(RTP)和采用動態(tài)分配UDP端口方式,而不是通常情況下防火墻針對特定用戶或應(yīng)用采用的靜態(tài)分配方式,因而讓VoIP呼叫接入通過意味著為所有通信打開了通道。
同樣,NAT本身也不能識別輸入信號信息包類型。端點間VoIP會話攜帶有三組雙向數(shù)據(jù)流:信號信息,用于創(chuàng)建、修改和終止會話;包含語音或視頻通信的RTP媒體,依據(jù)端點動態(tài)分配通信端口傳輸;媒體統(tǒng)計信息,用于測定會話質(zhì)量。這些信息包具有呼叫方LAN的專用地址,同時它們所攜帶的相應(yīng)公用地址又無法為NAT設(shè)備所識別,因而也就無法通過。
SBC擔當防火墻
解決這類問題的原理,一是通過在內(nèi)部為將輸出的信號信息包調(diào)整專用IP地址,二是為輸入信息包創(chuàng)建相關(guān)信息列表。簡言之,就是利用一類新型設(shè)備來更改對等(P2P)通信單元,將它們變換為類似客戶端/服務(wù)器的協(xié)議通信模式,以使網(wǎng)絡(luò)邊界設(shè)備能夠識別。
為什么采用這類方法?這得從VoIP設(shè)計原理說起。VoIP自推出以來,已廣泛應(yīng)用于服務(wù)提供商核心網(wǎng),在一些企業(yè)LAN中也有一定程度應(yīng)用(通過IP
PBX實現(xiàn))。但這類IP信息包在整個網(wǎng)絡(luò)中并不是連續(xù)的,因為網(wǎng)絡(luò)邊緣的接入連接通常是采用電路交換TDM,因而VoIP信號在一定程度上是一類“孤立”信息包,它脫離不了傳統(tǒng)的PSTN架構(gòu)。當呼叫信號以IP
PBX方式發(fā)出時,必須轉(zhuǎn)換為TDM方式傳輸?shù)椒⻊?wù)提供商IP核心網(wǎng),隨后又被轉(zhuǎn)換為純IP信號方式。這種來回“倒換”需要媒體網(wǎng)關(guān)的參與,而且會增加時延,降低QoS,最終影響到客戶服務(wù),增加服務(wù)提供商應(yīng)用成本(有服務(wù)商稱,信號轉(zhuǎn)換使通信成本增加到差不多是純內(nèi)部IP通信的五倍)。使IP流以內(nèi)部信號方式遍歷整個分離IP網(wǎng),而不需要在網(wǎng)絡(luò)邊緣將其轉(zhuǎn)換為TDM信號,這個處理過程稱為內(nèi)部IP對等(P2P
IP)操作。
實現(xiàn)P2P IP操作的處理過程是相當復(fù)雜的,它必須使P2P通信流像客戶端/服務(wù)器通信流那樣暢行無阻,同時提高效率。在網(wǎng)絡(luò)邊緣實現(xiàn)TDM到IP轉(zhuǎn)換的功能部件稱為會話邊界控制器(SBC)。SBC可位于現(xiàn)行防火墻的前端,專注于處理大量VoIP作業(yè),以減輕防火墻負荷。它還可工作于服務(wù)提供商的本地接入網(wǎng),用于管理IP業(yè)務(wù),如IP
Centrex。所有輸入通信流都經(jīng)過SBC,SBC在內(nèi)部LAN與Internet之間建立了一種仲裁機制,這是通過修改雙向信號和封裝包來實現(xiàn)的。目標防火墻接收經(jīng)修正的控制信號和媒體流,然后轉(zhuǎn)發(fā)到預(yù)定的LAN地址,即使這個地址是專用的。這個處理過程又稱為遠端遍歷,因為輸出信息包得遍歷終端用戶防火墻。防火墻負責區(qū)分輸入呼叫是否帶惡意性質(zhì)。
可將SBC視為一類具備VoIP功能的防火墻,只是功能實現(xiàn)更為復(fù)雜。更進一步講,它能實現(xiàn)以每次會話為基礎(chǔ)的P2P IP操作,視需要通過修改IP包標題,使之能夠通過網(wǎng)絡(luò)邊界。SBC對等操作在第5和第7層實現(xiàn),它能處理第5層會話信號協(xié)議以維持一次會話的狀態(tài)信息,這在修改地址標題用于遠端遍歷時顯得至關(guān)重要。SBC中的“邊界”指LAN與Internet間的分界線。
SBC為VoIP而設(shè)計
SBC性能參數(shù)體現(xiàn)在以下四個方面:安全性、QoS及服務(wù)級別(SLA)保證、信號協(xié)議互聯(lián)及服務(wù)規(guī)則。
其中安全性是SBC應(yīng)解決的主要課題。SBC必須具備防火墻/NAT遍歷、在第5層(會話層)和第3層(網(wǎng)絡(luò)層)隱藏網(wǎng)絡(luò)拓撲以及網(wǎng)絡(luò)資源保護功能;必要時通過關(guān)閉信號及媒體會話端口,防止出現(xiàn)安全漏洞。另外,還需集成更多現(xiàn)行和將來可用到的安全特性,包括入侵檢測、帶寬控制策略、保護會話不被竊取、防止RTP流擁塞和呼叫干擾,以及源IP地址隱藏的識別。
QoS及SLA保證對于客戶意義重大。SBC必須負責媒體流的生成和維護,解決相關(guān)QoS需求。服務(wù)提供商網(wǎng)的邊緣路由器支持大部分IP服務(wù)類別(CoS)、排隊和通信管理技術(shù),但并不能保證基于會話層信號信息的QoS,因為這包括用于呼叫建立、終止以及路由控制的特定標識符和指令。因而,通過基于會話認可控制策略接受或拒絕呼叫,來管理實時通信命令是完全必要的。在跨國IP通信服務(wù)環(huán)境下,服務(wù)提供商必須構(gòu)建合適的呼叫路由和QoS參數(shù),并能透過網(wǎng)絡(luò)邊界共享呼叫情況記錄。系統(tǒng)不具備這些功能,服務(wù)提供商就沒法對SLA實施監(jiān)控,也就無法保證IP對IP環(huán)境下的服務(wù)質(zhì)量。簡言之,SBC必須能夠在出現(xiàn)過多終端用戶接入和傳輸鏈接的情況下,防止帶寬擁塞,保證良好QoS。
信號協(xié)議互聯(lián)是實現(xiàn)IP對等操作的基礎(chǔ),因為分離IP網(wǎng)可能用到的是不同的信號協(xié)議。如今占主導(dǎo)地位的信號協(xié)議是H.323,由于SIP相對簡單、可擴展性強且效率要高,將來極有可能取而代之。而且,很多新型VoIP方案將基于SIP來實現(xiàn),因為如今大多數(shù)軟交換機、IP電話和媒體網(wǎng)關(guān)都側(cè)重于采用SIP。另外,支持MGCP和H.248協(xié)議也相當重要。
最后,需要一定的通信規(guī)章來約束這類新興通信運營(包括企業(yè)客戶)服務(wù)模式,其中重要一點就是保存呼叫識別和內(nèi)容記錄。這點于普通客戶意義尤為重大,而開發(fā)商在實現(xiàn)方面還很難做到統(tǒng)一,這就需要一個明確規(guī)范。
SBC技術(shù)的市場開發(fā)已初露端倪,其中包括Acme Packet、Kagoor Networks、Netrake、Jasomi Networks以及NexTone。Aravox自被Alcatel收購起,就在從事這方面的開發(fā)。防火墻市場的領(lǐng)軍人物Cisco、NetScreen和Check
Point都聲稱已開發(fā)出低層專有VoIP解決方案,目前正向高層發(fā)展。
Acme Packet的方案最為出名,它的Session Director可用于服務(wù)提供商網(wǎng),也適用于大型企業(yè)客戶。Session Director支持主機NAT遍歷,信號會話能遍歷現(xiàn)行前端NAT/防火墻,而不需要作配置變更。
從網(wǎng)絡(luò)拓撲角度來說,SBC比較適合于企業(yè)網(wǎng)。防火墻是企業(yè)網(wǎng)中必不可少的臨界作業(yè)網(wǎng)絡(luò)處理單元,SBC能與現(xiàn)行企業(yè)防火墻協(xié)同工作,因而大大減少了手工配置各類規(guī)則的工作量,也不需要針對LAN應(yīng)用和VoIP接入更改網(wǎng)絡(luò)設(shè)置。
SBC位于防火墻之前,大大降低了主防火墻處理VoIP通信作業(yè)的負荷,使網(wǎng)絡(luò)單元“各司其職”。相對單一的設(shè)備,降低了VoIP通信處理時延。由于位于防火墻前,SBC還能隱藏LAN拓撲,防止網(wǎng)絡(luò)拓撲通過可能的請求方法(嵌于IP標題中)泄漏出去,暴露專用地址。