VoIP電話終端穿越NAT技術(shù)的研究-基礎(chǔ)電子_第1頁
VoIP電話終端穿越NAT技術(shù)的研究-基礎(chǔ)電子_第2頁
VoIP電話終端穿越NAT技術(shù)的研究-基礎(chǔ)電子_第3頁
VoIP電話終端穿越NAT技術(shù)的研究-基礎(chǔ)電子_第4頁
VoIP電話終端穿越NAT技術(shù)的研究-基礎(chǔ)電子_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精品文檔-下載后可編輯VoIP電話終端穿越NAT技術(shù)的研究-基礎(chǔ)電子摘要:VoIP技術(shù)在近幾年發(fā)展非常迅速;在NAT后的電話終端怎樣穿越NAT成為通信系統(tǒng)能否正常工作的關(guān)鍵。利用將網(wǎng)守和VoIP電話終端的H.323協(xié)議棧進(jìn)行擴(kuò)展是穿越NAT的技術(shù)關(guān)鍵,但同時(shí)也帶來了網(wǎng)守負(fù)荷增加的問題。

1引言

近年來VoIP(VoiceoverIP)技術(shù)和市場(chǎng)發(fā)展迅猛,IP電話的市場(chǎng)份額已經(jīng)占長(zhǎng)途電話業(yè)務(wù)的60%以上。寬帶VoIP電話終端產(chǎn)品如雨后春筍般蓬勃發(fā)展,產(chǎn)品的功能也從過去的單純的語音業(yè)務(wù)過渡到音視頻業(yè)務(wù)[1][2]。因國內(nèi)網(wǎng)絡(luò)環(huán)境的限制,寬帶VoIP電話終端的市場(chǎng)仍然沒有達(dá)到某些預(yù)期的那樣紅火。其中,制約寬帶VoIP電話終端發(fā)展的一個(gè)重要的技術(shù)原因就是寬帶VoIP電話終端穿越NAT的技術(shù)的限制。該技術(shù)已經(jīng)成為許多終端生產(chǎn)廠家的快速發(fā)展的瓶頸之一。

2IP語音和視頻通信的工作機(jī)理

VoIP技術(shù)的迅速發(fā)展與Internet的迅速發(fā)展是密不可分的;Internet的信道被范圍地共享,基于Internet通過分組進(jìn)行多媒體通信的低廉成本[3][4]。VoIP通信系統(tǒng)標(biāo)準(zhǔn)廣泛應(yīng)用于視頻會(huì)議和IP電話中。目前,主要的通信協(xié)議有H.323、MGCP、SIP和H.248,相應(yīng)的寬帶VoIP電話終端也就相應(yīng)地分為H.323、MGCP、SIP和H.248電話終端。為敘述方便,在以下的論述中以國內(nèi)應(yīng)用廣泛的H.323寬帶電話終端為例。

基于H.323協(xié)議的通信系統(tǒng)一般有網(wǎng)守、通信終端、MCU等構(gòu)成[5]。其中網(wǎng)守為基于H.323協(xié)議的通信系統(tǒng)中的通信控制服務(wù)器,通信終端可以是多口網(wǎng)關(guān)和電話終端,MCU為多點(diǎn)控制單元。與其他協(xié)議一樣,H.323協(xié)議也是一協(xié)議組。該協(xié)議組的結(jié)構(gòu)如圖1所示,圖中RAS協(xié)議是為網(wǎng)守提供管理通信系統(tǒng)的資源與狀態(tài)的協(xié)議;如終端向網(wǎng)守注冊(cè)、信道帶寬管理、狀態(tài)查詢等;H.225.0協(xié)議也是進(jìn)行通信終端的呼叫控制;H.245協(xié)議被用來進(jìn)行多媒體通信信道控制。RTP協(xié)議用來傳輸多媒體信息。所有H.323協(xié)議的實(shí)現(xiàn)均通過UDP和TCP兩種IP包承載。

VoIP電話終端能夠正常通信的前提條件是至少應(yīng)該有2個(gè)TCP端口和3個(gè)UDP端口是可達(dá)的;在公網(wǎng)上,每一VoIP電話終端都有自己的公網(wǎng)IP地址,上述要求是非常容易滿足的。然而NAT(NetworkAddressTranslator)后的VoIP設(shè)備僅有私有IP地址,這些地址在公眾網(wǎng)上是不可路由的,同時(shí),除非人工進(jìn)行靜態(tài)映射,NAT的端口與私有IP設(shè)備的地址端口的映射是動(dòng)態(tài)分配的。復(fù)雜的H.323協(xié)議動(dòng)態(tài)分配端口并產(chǎn)生和維護(hù)多個(gè)UDP數(shù)據(jù)流,這就決定了一般的NAT后的VoIP電話終端的通信端口是不可達(dá)的。這樣一來,多媒體通信中的NAT問題就嚴(yán)重地制約了IP電話和視頻會(huì)議的應(yīng)用。解決這個(gè)問題也就成為VoIP電話終端正常通信的關(guān)鍵。為了闡述解決這一問題的原理,我們先簡(jiǎn)要回顧一下NAT設(shè)備是如何工作的。

3NAT的工作機(jī)理

網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)軟件雖然種類很多,但都遵循統(tǒng)一的Internet標(biāo)準(zhǔn),網(wǎng)絡(luò)地址轉(zhuǎn)換軟件一般配置于企業(yè)的服務(wù)器上,置于公網(wǎng)和企業(yè)的私有網(wǎng)絡(luò)的邊界,其功能是將外網(wǎng)可見的IP地址與內(nèi)網(wǎng)所有的地址相映射。NAT后的所有IP終端可以使用Internet標(biāo)準(zhǔn)所規(guī)定的私有IP地址(例如10.0.x.x和192.168.x.x等),而這些地址是不用于公網(wǎng)的。從外網(wǎng)來的含公網(wǎng)地址信息的數(shù)據(jù)包先到達(dá)NAT,NAT使用預(yù)設(shè)好的規(guī)則(其組元包含源地址、源端口、目的地址、目的端口、協(xié)議)來修改數(shù)據(jù)包,然后再轉(zhuǎn)發(fā)給內(nèi)網(wǎng)接收點(diǎn)。對(duì)于流出內(nèi)網(wǎng)的數(shù)據(jù)包也須經(jīng)過這樣的轉(zhuǎn)換處理,其轉(zhuǎn)換過程如下所述。

假設(shè)NAT的公網(wǎng)的IP地址為:a1.b1.c1.d1;有一個(gè)NAT后的IP終端的IP地址為:192.168.0.8。此客戶機(jī)向a2.b2.c2.d2的Web服務(wù)器發(fā)出請(qǐng)求,數(shù)據(jù)包的部分格式如下:

{目標(biāo)IP:a2.b2.c2.d2,源IP:192.168.0.8,目標(biāo)端口:TCP端口80,源端口:TCP端口1025}經(jīng)過NAT的轉(zhuǎn)換變成如下格式為:

{目標(biāo)IP:a2.b2.c2.d2,源IP:a1.b1.c1.d1,目標(biāo)端口:TCP端口80,源端口:TCP端口5000}。此時(shí),在NAT的映射表中將臨時(shí)建立如下映射:{192.168.0.8,TCP1025}{a1.b1.c1.d1,TCP5000}。

當(dāng)遠(yuǎn)端Web服務(wù)器收到請(qǐng)求后,返回的數(shù)據(jù)包格式如下:

{目標(biāo)IP:a1.b1.c1.d1,源IP:a2.b2.c2.d2,目標(biāo)端口:TCP端口5000,源端口:TCP端口80};

經(jīng)過NAT轉(zhuǎn)換后的格式如下:{目標(biāo)IP:192.168.0.8,源IP:a2.b2.c2.d2,目標(biāo)端口:TCP端口1025,源端口:TCP端口80}。

對(duì)于VoIP電話終端,要求終端之間使用IP地址和數(shù)據(jù)端口來建立數(shù)據(jù)通信道。因此存在一對(duì)矛盾:為了建立數(shù)據(jù)連接終端必須隨時(shí)偵聽外來的呼叫;而NAT卻通常被配置成動(dòng)態(tài)映射,分配自己的端口,任何不請(qǐng)自到的數(shù)據(jù)包到達(dá)NAT后,往往因?yàn)椴恢榔湔嬲哪康慕K端而被丟棄,致使外來的呼叫無法到達(dá)電話終端。

4穿越NAT技術(shù)

解決NAT穿越一直是一個(gè)棘手的問題。在近幾年的VoIP電話終端研發(fā)過程中,總結(jié)出一些切實(shí)可行的解決該問題的方案[6]:如在NAT后增加H.323代理、使用VPN(VirtualPrivateNetwork)、利用內(nèi)網(wǎng)和外網(wǎng)的兩個(gè)服務(wù)器建立呼叫隧道、在非保護(hù)區(qū)配置多點(diǎn)控制單元等。雖然每一個(gè)方案均有其局限性、但在某些特定的場(chǎng)合這些方案是非常實(shí)用的。這些方案的一個(gè)共同點(diǎn)是要添加額外的輔助設(shè)備。

一般情況下,企業(yè)網(wǎng)網(wǎng)管并不想改動(dòng)他們的NAT設(shè)備的配置,也不想讓內(nèi)外的交互通信繞過這些設(shè)備,這就要求VoIP電話終端的設(shè)計(jì)人員在系統(tǒng)設(shè)計(jì)時(shí),采取其他的更為先進(jìn)NAT穿越技術(shù)。

NAT后的電話終端可以向位于相同局域網(wǎng)上的任何別的電話終端發(fā)起呼叫,因?yàn)樵诰钟蚓W(wǎng)內(nèi)的這些IP地址是可以通過私網(wǎng)內(nèi)的網(wǎng)關(guān)路由的;然而他們的IP地址是私有的,在局域網(wǎng)外不可路由,因此NAT后的終端不能接收局域網(wǎng)外終端的呼叫。當(dāng)NAT內(nèi)的終端向NAT外的終端發(fā)起呼叫時(shí),發(fā)起呼叫的終端A的IP地址會(huì)包含在數(shù)據(jù)包負(fù)載中,根據(jù)H.323協(xié)議被呼叫的終端B收到呼叫建立(callsetup)數(shù)據(jù)包后,會(huì)從該數(shù)據(jù)包負(fù)載中獲取終端A的IP地址,并開始發(fā)送音頻和視頻數(shù)據(jù)到這個(gè)IP地址的終端A。如果這個(gè)IP地址是私有的,Internet路由器將丟棄從外部終端發(fā)送往內(nèi)部終端的音頻和視頻數(shù)據(jù)包,因?yàn)檫@些數(shù)據(jù)包正被送往一個(gè)不可路由的IP地址。這個(gè)呼叫將顯示已經(jīng)連接上,但NAT后的終端A將永遠(yuǎn)不會(huì)收到外部終端B的音頻和視頻數(shù)據(jù)包。也就是說,私網(wǎng)內(nèi)的VoIP電話終端無法與外部的電話終端進(jìn)行正常通信。

NAT有一個(gè)非常重要的特性,為VoIP電話終端穿越NAT正常通信提供了可乘之機(jī)。首先,由上述的NAT的工作機(jī)理我們可以看出,NAT一般不會(huì)限制由NAT后的設(shè)備發(fā)起的TCP鏈接,也就是說,在NAT后的VoIP電話終端隨時(shí)都可以與網(wǎng)守主動(dòng)建立TCP鏈接。其次,當(dāng)UDP包由NAT后的VoIP電話終端向NAT外傳輸時(shí),NAT服務(wù)器將為VoIP電話終端動(dòng)態(tài)的分配一個(gè)映射端口,在一定的時(shí)間內(nèi),NAT將暫存一條映射信息在映射表內(nèi)。由外網(wǎng)返回的UDP包到達(dá)該端口時(shí),NAT服務(wù)器將根據(jù)映射表中的信息,自動(dòng)將該UDP包轉(zhuǎn)發(fā)給VoIP電話終端。但受H.323協(xié)議的限制,VoIP電話終端的現(xiàn)有技術(shù)并不能自動(dòng)完成穿越NAT的任務(wù)。如圖2所示,NAT后的終端在與公網(wǎng)上的電話終端通信之前,首先要向公網(wǎng)上的網(wǎng)守注冊(cè)。顯然,由VoIP發(fā)出的所有數(shù)據(jù)報(bào)均可到達(dá)公網(wǎng)網(wǎng)守;依據(jù)H.323協(xié)議棧中的RAS協(xié)議可知,由私網(wǎng)VoIP電話終端發(fā)出的UDP數(shù)據(jù)包中只含有私網(wǎng)IP地址;這些私網(wǎng)IP地址在公網(wǎng)上是不可以路由的,由網(wǎng)守返回的UDP數(shù)據(jù)包不能返回私網(wǎng)內(nèi)的終端。

解決該問題的關(guān)鍵是:讓私網(wǎng)內(nèi)的終端在發(fā)UDP數(shù)據(jù)包時(shí),攜帶自己所在私網(wǎng)的公網(wǎng)IP地址;私網(wǎng)內(nèi)的終端必須通過某種途徑了解自己所在私網(wǎng)的相關(guān)信息,通過修改網(wǎng)守的相關(guān)功能,使其在標(biāo)準(zhǔn)的H.323協(xié)議上進(jìn)行擴(kuò)展就可以達(dá)到這一目的。我們可以根據(jù)上述的NAT的對(duì)TCP鏈接的管理特性,在私網(wǎng)VoIP電話終端注冊(cè)之初,由該電話終端發(fā)起與網(wǎng)守的TCP鏈接,在TCP鏈接建立后,利用網(wǎng)守的地址翻譯功能,將私網(wǎng)內(nèi)的終端的實(shí)際公網(wǎng)地址告知終端。同時(shí),對(duì)VoIP電話終端的H.323協(xié)議棧也進(jìn)行相應(yīng)的擴(kuò)展,在發(fā)送UDP數(shù)據(jù)包時(shí),將原來的私網(wǎng)IP地址用公網(wǎng)IP地址來替代。網(wǎng)守接到由私網(wǎng)內(nèi)的VoIP電話終端發(fā)來的UDP承載的數(shù)據(jù)包(如RTP和RAS包)后,記錄其IP地址和端口號(hào),再返回RTP和RAS包時(shí),以紀(jì)錄的IP地址和端口號(hào)為目的地址進(jìn)行發(fā)送。NAT接到網(wǎng)守返回的數(shù)據(jù)包,根據(jù)映像表中暫存的地址映像關(guān)系,將收到的數(shù)據(jù)轉(zhuǎn)發(fā).由此,網(wǎng)守發(fā)出的信息正確到達(dá)VoIP電話終端。基于上述工作機(jī)理的VoIP通信系統(tǒng),不僅可以完成由VoIP電話終端向網(wǎng)守的注冊(cè),而且還能夠?qū)崿F(xiàn)音視頻信息的正常傳輸。為了保證私網(wǎng)內(nèi)VoIP—電話終端能夠隨時(shí)響應(yīng)外部的呼叫,該VoIP電話終端與網(wǎng)守一直維持著一個(gè)TCP鏈接。對(duì)于圖3所示的通信系統(tǒng),采用上述的設(shè)計(jì)方案后,私網(wǎng)內(nèi)外的VoIP電話終端可以進(jìn)行正常的通信;雙方既可以做被叫方,也可以做主叫方。

對(duì)于圖3所示的通信系統(tǒng),兩個(gè)私網(wǎng)內(nèi)的VoIP電話終端均可以與公網(wǎng)上的VoIP電話終端直接交換音、視頻信息,但兩個(gè)私網(wǎng)內(nèi)的VoIP電話終端要想直接通信,仍然是不現(xiàn)實(shí)的。造成兩私網(wǎng)內(nèi)的VoIP電話終端不能直接通信的原因是:

○1NAT后的終端不能建立起與另一個(gè)不同NAT后的終端的TCP鏈接,被叫方的NAT根本無法知道對(duì)方呼叫的對(duì)象是哪個(gè)終端,無法響應(yīng)外部向內(nèi)部中斷發(fā)起的TCP鏈接請(qǐng)求。

○2流媒體的數(shù)據(jù)交換是基于UDP承載的,兩個(gè)希望建立通信連接的VoIP電話終端沒有途徑知道對(duì)方在其NAT上所對(duì)應(yīng)的UDP映射端口,也就沒有能力將音視頻數(shù)據(jù)直接送達(dá)對(duì)方。

在H.323協(xié)議中,描述了網(wǎng)守的路由功能;因雙方與公網(wǎng)上的網(wǎng)守的通信已經(jīng)沒有任何障礙,在不同私網(wǎng)內(nèi)VoIP電話終端完全可以通過網(wǎng)守的轉(zhuǎn)接實(shí)現(xiàn)無障通信。網(wǎng)守在圖3所示的通信系統(tǒng)中,既要處理信令數(shù)據(jù),又要完成流媒體的轉(zhuǎn)發(fā),其通信流量顯著增加,對(duì)網(wǎng)守服務(wù)器及其運(yùn)行環(huán)境的要求也顯著提高。同時(shí),由上述的論述中可以看出,該穿越NAT的方案是建立在每一個(gè)私網(wǎng)內(nèi)的VoIP電話終端都一直與網(wǎng)守維持著一個(gè)TCP鏈接的基礎(chǔ)上的。隨著VoIP電話終端數(shù)量的增多,網(wǎng)守需要維持的TCP鏈接也會(huì)增加,導(dǎo)致網(wǎng)守的負(fù)荷過重,網(wǎng)守的用戶容量大幅減少。近幾年,服務(wù)器硬件與運(yùn)行環(huán)境質(zhì)量的大幅提升雖然從一定程度上緩和了這一問題的嚴(yán)重性,但尋求減輕網(wǎng)守負(fù)荷的技術(shù)手段仍然是一個(gè)值得研究的課題。除了盡量避免由網(wǎng)守轉(zhuǎn)發(fā)媒體流數(shù)據(jù)外,還有一個(gè)為有效的減輕網(wǎng)守負(fù)荷的技術(shù)手段,這就是盡量減少網(wǎng)守同時(shí)維持的TCP鏈接的數(shù)量。在減輕網(wǎng)守負(fù)荷技術(shù)的研究上雖然有一定得的進(jìn)展,但仍然沒有找到一個(gè)比較

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論