私網(wǎng)穿越技術在軟交換體系中的應用
三、一種私網(wǎng)穿越問題的解決方法
1. 解決NAPT穿越問題的各種方法
?。?)NAT/ALG方法
此方法通過在防火墻或路由器上,增加對VoIP相關的應用層協(xié)議的識別和處理能力,來實現(xiàn)私網(wǎng)穿越。這種方案比較直觀,但是最大缺點就是對于用戶來說,必須更換或升級他們的路由器或防火墻,并且隨著相關協(xié)議的發(fā)展和擴充,設備也必須跟著進行升級。
?。?)為私網(wǎng)設備設置代理的方法
這種方法不用對用戶設備做任何改動,僅在運營軟交換網(wǎng)絡的局端增加一種特殊的Proxy設備,就可以實現(xiàn)私網(wǎng)的穿越。筆者認為,這種技術與前面的技術相比,具有更大的優(yōu)越性。這種Proxy,在進行信令的代理和轉(zhuǎn)換的同時,也進行媒體流的代理,我們暫且稱其為NAT/FW Proxy。
?。?)其它的一些方案
其它穿越私網(wǎng)的方案,還有MIDCOM 方案、STUN方案、TURN方案等,這些方案與NAT/ALG方案類似,不是需要升級路由器、防火墻,就是需要升級終端設備。
2. 用NAT/FW Proxy解決私網(wǎng)PAT問題
以圖1為例,將NAT/FW Proxy設備添加到軟交換網(wǎng)絡中,形成的如圖5所示的網(wǎng)絡結(jié)構。添加了NAT/FW Proxy設備以后,所有私網(wǎng)網(wǎng)關(路由器或防火墻)后面的終端設備,都要將注冊地址從軟交換設備地址更改為NAT/FW Proxy設備的IP地址。而NAT/FW Proxy設備與軟交換設備之間的交互可以采用SIP,MGCP或者H.248等協(xié)議,這與其代理的設備類型有關。
一方面,在設備向NAT/FW Proxy發(fā)出注冊信息后,NAT/FW Proxy會為設備分配一個代理信令端口,然后用NAT/FW Proxy的地址替換原注冊信息中的終端地址(Contact域),并通過這個端口向軟交換發(fā)送。這樣,今后無論是終端發(fā)向軟交換的信令消息,還是軟交換發(fā)向終端的信令消息,都會經(jīng)過NAT/FW Proxy,以便于其對這些信令進行特殊處理。另一方面,當私網(wǎng)中的終端設備向NAT/FW Proxy設備發(fā)出注冊消息時,安裝在私網(wǎng)外層的私網(wǎng)網(wǎng)關就會給這個連接隨機分配一個合法IP地址與端口號,形成一個“窗口”。NAT/FW PROXY設備收到注冊消息后,只要能夠設法保持這個“窗口”一直開放,然后把這個端口號與在設備上分配的代理端口號綁定,就相當于建立了一條設備到軟交換之間透明的信令通道,也就解決了NAPT中的PAT問題。
保持這個“窗口”的方法,根據(jù)終端的不同也會有所區(qū)別。比如對于SIP終端,可以設置一個較小的注冊有效期,這樣終端設備就會不斷的向NAT/FW Proxy發(fā)出注冊消息。對于MGCP終端,可以讓NAT/FW Proxy向其不斷發(fā)送AUEP消息,然后由終端發(fā)相應消息來保持“窗口”的開放。無論哪種方式,都要保證終端發(fā)送消息的時間間隔要小于“窗口”的開放時限。
3. 用NAT/FW Proxy解決私網(wǎng)NAT問題
假設所有終端都是SIP終端,軟交換與終端間的通訊也采用標準的SIP協(xié)議。如圖5中的配置,由于終端A和終端B都是私網(wǎng)中的設備,因此在向NAT/FW Proxy注冊時在私網(wǎng)設備中被分配了訪問外部的端口號,假設分別為123.44.55.11:1050(終端A)和123.44.55.22:1060(終端B),同時在NAT/FW Proxy上都被分配了代理信令端口,假設分別為123.44.55.77:1001(終端A)和123.44.55.77:1002(終端B)。現(xiàn)在由A向B發(fā)起呼叫,INVITE消息通過私網(wǎng)網(wǎng)關后到達NAT/FW PROXY,NAT/FW PROXY會將這條信令進行代理轉(zhuǎn)換,并發(fā)給軟交換。如圖6、圖7所示:
軟交換在收到INVITE消息并做相應處理后,準備將其轉(zhuǎn)發(fā)給B,由于B也是通過NAT/FW Proxy代理注冊到軟交換的,因此發(fā)送的消息如圖8所示,由NAT/FW PROXY接收并做代理轉(zhuǎn)換后,發(fā)送給B外層的路由器或防火墻,轉(zhuǎn)換結(jié)果如圖9所示。
評論