国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SIP電話的NAT穿越技術(shù)研究

2011-08-04 06:37郭朝鑫
通信技術(shù) 2011年12期
關(guān)鍵詞:公網(wǎng)端口消息

郭朝鑫

(中國電子科技集團(tuán)第三十研究所,四川 成都 610041)

0 引言

近年來,隨著通信技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)融合的進(jìn)程進(jìn)一步加快,IP分組網(wǎng)絡(luò)作為實(shí)時(shí)和非實(shí)時(shí)業(yè)務(wù)的承載已成為大勢所趨,IP電話相關(guān)技術(shù)及應(yīng)用受到廣泛關(guān)注。其中,會(huì)話初始協(xié)議(SIP,Session Initiation Protocol)由于簡單、靈活、可擴(kuò)展性強(qiáng)的特點(diǎn),是目前通信界最為活躍的通信協(xié)議之一,SIP電話是當(dāng)前研究的熱點(diǎn)之一,也是電話網(wǎng)發(fā)展的方向之一。

當(dāng)前越來越多企業(yè)采用 SIP電話進(jìn)行企業(yè)內(nèi)部數(shù)據(jù)網(wǎng)絡(luò)和語音網(wǎng)絡(luò)的整合,出于共享公網(wǎng) IP資源及保護(hù)內(nèi)網(wǎng)安全的考慮,大量的企業(yè)網(wǎng)和用戶本地網(wǎng)采用了私有 IP地址通過出口的網(wǎng)絡(luò)地址轉(zhuǎn)換器(NAT, Network Address Translators)接入公網(wǎng),NAT的大量部署給SIP電話的應(yīng)用造成了較大困難。一方面,NAT后的SIP電話作為被叫時(shí),由于其 IP地址是私有的,對(duì)公網(wǎng)不可見,呼叫消息無法到達(dá)NAT后的SIP電話,通信不能建立;另一方面,即使NAT后的SIP電話做主叫時(shí),由于其 SIP呼叫消息中包含了IP層的信息如主叫的IP地址等,而此IP地址是私有的,對(duì)于公網(wǎng)上的網(wǎng)絡(luò)設(shè)備和被叫都是不可路由的,同樣會(huì)導(dǎo)致通信無法正常建立。綜上所述,SIP電話的NAT穿越技術(shù)是影響SIP電話大規(guī)模部署應(yīng)用的關(guān)鍵技術(shù)之一,該技術(shù)的研究對(duì)推動(dòng)SIP電話的大規(guī)模應(yīng)用具有重要的意義。

1 SIP電話簡介

SIP電話系統(tǒng)包含兩個(gè)基本組件:SIP用戶代理[1]和SIP網(wǎng)絡(luò)服務(wù)器。用戶代理是呼叫的終端系統(tǒng)元素,而SIP網(wǎng)絡(luò)服務(wù)器是處理與多個(gè)呼叫相關(guān)信令的網(wǎng)絡(luò)設(shè)備。網(wǎng)絡(luò)服務(wù)器包括代理服務(wù)器、注冊(cè)服務(wù)器和重定向服務(wù)器。

SIP的消息采用文本方式,報(bào)文語法格式和整體框架都借鑒了超文本傳輸協(xié)議(HTTP,Hypertext Transfer Protocol)和簡單郵件傳輸協(xié)議(SMTP,Simple Mail Transfer Protocol),簡單、擴(kuò)展性好。SIP協(xié)議[2-3]定義了INVITE、ACK、BYE、CANCEL、REGISTER、OPTIONS 等 6 種基本方法來實(shí)現(xiàn)呼叫,每一種方法都是一個(gè)請(qǐng)求消息。

圖1表示了一種典型的中小規(guī)模SIP電話系統(tǒng)。該系統(tǒng)中,SIP服務(wù)器集成了代理服務(wù)器、注冊(cè)服務(wù)器和重定向服務(wù)器的功能,為方便進(jìn)行集中的媒體控制和提供增值服務(wù)以及媒體的NAT穿越,系統(tǒng)配置了媒體服務(wù)器,SIP電話終端位于NAT之后。

圖1 一個(gè)中小規(guī)模的SIP電話系統(tǒng)組成

2 NAT穿越技術(shù)分析

2.1 NAT類型

NAT穿越技術(shù)與NAT的類型[4]關(guān)系密切,根據(jù)映射方式的不同,NAT可分為完全圓錐型,地址受限圓錐型,端口受限圓錐型和對(duì)稱型這4種。

完全圓錐型 NAT:將從同一內(nèi)部 IP 地址和端口出來的所有請(qǐng)求,都映射到相同的外部 IP 地址和端口。任何外部主機(jī)通過向映射的外部地址發(fā)送報(bào)文,可以實(shí)現(xiàn)和內(nèi)部主機(jī)進(jìn)行通信。

地址受限圓錐型 NAT:將從相同的內(nèi)部 IP 地址和端口的所有請(qǐng)求,映射到相同的外部 IP 地址和端口。但是與完全圓錐型NAT 不同,當(dāng)且僅當(dāng)內(nèi)網(wǎng)主機(jī)之前已經(jīng)向公網(wǎng)主機(jī)發(fā)送了分組,此公網(wǎng)主機(jī)才能夠向內(nèi)網(wǎng)主機(jī)發(fā)送分組。

端口受限圓錐型 NAT:類似于地址受限圓錐型 NAT,但更嚴(yán)格,它增加了端口號(hào)的限制。

對(duì)稱型NAT:從相同的內(nèi)部IP地址和端口,并且到相同的目的地址和端口的所有請(qǐng)求,都映射到同一個(gè)外部 IP地址和端口。如果同一個(gè)內(nèi)部主機(jī),用相同的內(nèi)部 IP地址和端口,發(fā)送了一個(gè)報(bào)文到另一個(gè)目的主機(jī),則會(huì)使用不同的映射。而公網(wǎng)主機(jī),只有在接收到分組后,才能與發(fā)送分組的內(nèi)網(wǎng)主機(jī)進(jìn)行通信。

2.2 NAT穿越技術(shù)

目前主要的NAT穿越技術(shù)[5-6]有以下幾類。

(1)應(yīng)用層網(wǎng)關(guān)

應(yīng)用層網(wǎng)關(guān)(ALG,Application Level Gateway)工作在應(yīng)用層,一般駐留在NAT設(shè)備中。ALG通過修改SIP信令中所攜帶的內(nèi)網(wǎng)終端的地址和端口為NAT 的公網(wǎng)地址和端口,并保存相應(yīng)的映射,控制NAT打開映射條目所對(duì)應(yīng)的NAT端口來穿透 NAT。ALG 原理比較簡單,但擴(kuò)展性不好,每增加一種應(yīng)用時(shí),都需要對(duì)NAT進(jìn)行升級(jí)。

(2)基于UDP的NAT簡單穿越

基于UDP的NAT簡單穿越(STUN[7],Simple Traversal of UDP Through Network Address Translators),通過某種機(jī)制由內(nèi)網(wǎng)終端預(yù)先從 STUN 服務(wù)器(部署于公網(wǎng))獲得內(nèi)網(wǎng)主機(jī)IP 和端口在NAT 上映射的IP 和端口,然后在報(bào)文消息中所描述的地址信息直接填寫NAT上的對(duì)外地址,從而實(shí)現(xiàn)NAT穿越。該方式最大的優(yōu)點(diǎn)是無需改動(dòng)NAT,局限性在于終端需具備STUN代理功能,不支持TCP連接的穿越,不支持對(duì)稱NAT的穿越。

(3)采用中繼的NAT穿越

采用中繼的 NAT穿越(TURN[8],Traversal Using Relay NAT)解決NAT問題的思路與STUN相似,也是基于用戶通過某種機(jī)制預(yù)先得到其內(nèi)網(wǎng)地址對(duì)應(yīng)在公網(wǎng)的地址,STUN方式得到的地址為出口NAT上的地址,而TURN方式得到的地址為TURN服務(wù)器上的地址。該方式解決了STUN應(yīng)用無法穿透對(duì)稱NAT的缺陷,同時(shí)支持基于TCP的應(yīng)用,局限性在于所有報(bào)文都必須經(jīng)過 TURN服務(wù)器轉(zhuǎn)發(fā),增大了包的延遲和丟包的可能性。

(4)會(huì)話邊界控制器

會(huì)話邊界控制器(SBC,Session Border Controller)是近幾年一種較新的NAT穿越技術(shù),它位于接入控制層,其服務(wù)器部署在內(nèi)網(wǎng)和SIP服務(wù)器(公網(wǎng))之間,完成信令中轉(zhuǎn)和媒體轉(zhuǎn)發(fā)。對(duì)于SIP終端而言,可以將SBC看作集成注冊(cè)服務(wù)器和代理服務(wù)器的SIP服務(wù)器。SBC進(jìn)行NAT穿越最大的優(yōu)點(diǎn)在于不需要對(duì)現(xiàn)有的網(wǎng)絡(luò)結(jié)構(gòu)作任何的假設(shè)和變更,但是SBC服務(wù)器也容易成為內(nèi)網(wǎng)和公網(wǎng)通信的瓶頸。

3 NAT穿越設(shè)計(jì)

3.1 需求分析

在圖1所示的SIP電話系統(tǒng)中,針對(duì)NAT的穿越設(shè)計(jì),主要的應(yīng)用需求分析如下:

①SIP電話系統(tǒng)最好不對(duì)網(wǎng)絡(luò)結(jié)構(gòu)提出限制;

②不要對(duì)現(xiàn)有的網(wǎng)絡(luò)設(shè)備如NAT等升級(jí)改造;

③為減少維護(hù)管理投入,在內(nèi)網(wǎng)和公網(wǎng)邊界處不建議新增設(shè)備;

④SIP相關(guān)服務(wù)設(shè)備直接與公網(wǎng)連接,無NAT;

⑤SIP相關(guān)服務(wù)設(shè)備種類應(yīng)盡量少,以減少系統(tǒng)部署后的維護(hù)工作量;

⑥SIP電話以及SIP相關(guān)服務(wù)設(shè)備可以增加支持NAT穿越的功能實(shí)體。

3.2 設(shè)計(jì)方案

根據(jù)上述需求分析,ALG方式需要對(duì)NAT進(jìn)行升級(jí)改造,不適合該SIP電話系統(tǒng)采用。而SBC方式需要在NAT邊界處部署SBC服務(wù)器,也不能完全滿足需求,但是,SBC的NAT穿越思路對(duì)本系統(tǒng)有較大借鑒意義。STUN方式和TURN方式,與本系統(tǒng)的NAT穿越需求比較接近,然而,如單獨(dú)使用其中的一種方式,仍存在著或多或少的缺陷,如STUN方式對(duì)NAT的類型有較大限制,TURN方式其服務(wù)器較容易成為系統(tǒng)瓶頸。因此,需綜合分析本系統(tǒng)的NAT穿越需求,借鑒這幾種NAT穿越技術(shù),設(shè)計(jì)出適合的NAT穿越方案。

針對(duì)圖1所示的SIP電話系統(tǒng),設(shè)計(jì)NAT穿越方案如下。

對(duì)于SIP信令等協(xié)議消息的穿越,借鑒TURN方式,SIP電話終端通過與公網(wǎng)服務(wù)器的消息交互,預(yù)先得到其內(nèi)網(wǎng)地址與公網(wǎng)地址的映射關(guān)系,然后在協(xié)議消息中修改相關(guān)信息。同時(shí),為簡化設(shè)備種類,將NAT穿越服務(wù)器功能實(shí)體與SIP服務(wù)器集成在一起。SIP服務(wù)器采用分布式部署方式,在系統(tǒng)用戶規(guī)模較大時(shí),配置多臺(tái)SIP服務(wù)器進(jìn)行負(fù)荷分擔(dān),同時(shí) SIP服務(wù)器可互為備份。SIP服務(wù)器還具有控制媒體服務(wù)器完成媒體通道的開啟和釋放相關(guān)功能。

為解決SBC方式媒體轉(zhuǎn)發(fā)的瓶頸,將媒體轉(zhuǎn)發(fā)功能獨(dú)立出來,采用單獨(dú)的媒體服務(wù)器完成。媒體服務(wù)器采用分布式部署的方式,根據(jù)系統(tǒng)用戶的規(guī)模,系統(tǒng)中可配置一臺(tái)或多臺(tái)媒體服務(wù)器,1臺(tái)SIP服務(wù)器可控制管理多臺(tái)媒體服務(wù)器。在SIP服務(wù)器管理區(qū)域內(nèi),媒體服務(wù)器可互為備份。

對(duì)于SIP電話終端,針對(duì)NAT穿越,主要的功能包括:維護(hù)與SIP服務(wù)器的消息交互,以獲得其內(nèi)網(wǎng)地址與公網(wǎng)地址的映射關(guān)系;修改SIP消息相關(guān)參數(shù);話音通信時(shí)建立與媒體服務(wù)器的媒體轉(zhuǎn)發(fā)通道。

3.3 協(xié)議流程

圖2給出了一次典型通話的通信流程。在圖2中,假定SIP電話終端A、B均位于NAT之后,NAT的類型為對(duì)稱型。

圖2 一次典型通話的通信流程

SIP電話終端A、B入網(wǎng)時(shí),需向SIP服務(wù)器發(fā)出探測消息,終端根據(jù)SIP服務(wù)器的應(yīng)答,獲得NAT上的外部地址。同時(shí),為維持該地址綁定,終端應(yīng)定時(shí)向SIP服務(wù)器發(fā)送探測消息。該過程在圖2中未表示。

通信流程描述如下:

①終端A向SIP服務(wù)器發(fā)出“INVITE”消息,SIP服務(wù)器收到此消息后,通知媒體服務(wù)器開啟媒體轉(zhuǎn)發(fā)通道;

②SIP服務(wù)器向終端A發(fā)送“100TRY”消息,消息中攜帶媒體服務(wù)器的地址;

③終端A收到SIP服務(wù)器的“100TRY”消息,得到媒體服務(wù)器地址,向媒體服務(wù)器發(fā)出媒體轉(zhuǎn)發(fā)請(qǐng)求消息,由此媒體服務(wù)器和終端A均獲得媒體轉(zhuǎn)發(fā)時(shí)的NAT上的外部地址;

④SIP服務(wù)器向終端B轉(zhuǎn)發(fā)“INVITE”消息,消息中攜帶媒體服務(wù)器的地址;

⑤終端B收到SIP服務(wù)器的“INVITE”消息,得到媒體服務(wù)器地址,向媒體服務(wù)器發(fā)出媒體轉(zhuǎn)發(fā)請(qǐng)求消息,媒體服務(wù)器和終端B均獲得媒體轉(zhuǎn)發(fā)時(shí)的NAT上的外部地址;

⑥終端B向SIP服務(wù)器發(fā)送“100TRY”消息;

⑦終端B向SIP服務(wù)器發(fā)送“180RING”消息,SIP服務(wù)器轉(zhuǎn)發(fā)至終端A;

⑧終端B向SIP服務(wù)器發(fā)送“200 OK”消息,SIP服務(wù)器轉(zhuǎn)發(fā)至終端A,終端A發(fā)送“ACK”消息至SIP服務(wù)器,SIP服務(wù)器轉(zhuǎn)發(fā)給終端B;

⑨終端 A、B進(jìn)入通話態(tài),媒體通過媒體服務(wù)器轉(zhuǎn)發(fā)方式完成NAT的穿越;

⑩通話結(jié)束后,終端A向SIP服務(wù)器發(fā)送“BYE”消息,SIP服務(wù)器通知媒體服務(wù)器釋放此媒體通道;SIP服務(wù)器轉(zhuǎn)發(fā)“BYE”消息給終端B;

4 結(jié)語

上述SIP電話系統(tǒng)的NAT穿越方案,將SIP代理服務(wù)器、注冊(cè)服務(wù)器和重定向服務(wù)器,以及針對(duì)NAT穿越的信令代理功能集成到SIP服務(wù)器中,大大減少了用戶的使用維護(hù)成本,同時(shí),將媒體轉(zhuǎn)發(fā)功能采用獨(dú)立的服務(wù)器實(shí)現(xiàn),結(jié)合分布式部署方式,克服了通常的NAT穿越方案媒體轉(zhuǎn)發(fā)的瓶頸。該方案特別適合于對(duì)網(wǎng)絡(luò)結(jié)構(gòu)無限制,網(wǎng)絡(luò)設(shè)備不改造的應(yīng)用環(huán)境。話音數(shù)據(jù)通過媒體服務(wù)器轉(zhuǎn)發(fā)帶來的時(shí)延和抖動(dòng),對(duì)SIP電話語音質(zhì)量的影響評(píng)估以及相應(yīng)的技術(shù)解決途徑,是下一步需要研究的工作之一。

[1] 陳蕊,唐紅,趙國峰.SIP協(xié)議用戶代理的研究與實(shí)現(xiàn)[J]. 通信技術(shù),2010,43(02):171-173.

[2] ROSENBERG J, SCHULZRINNE H, CAMARILLO G,et al.RFC3261,SIP:Session Initiation Protocol[S].[s.l.]:IETF, 2002.

[3] HANDLEY M, JACOBSON V.RFC2327,SDP:Session Description Protocol[S]. [s.l.]:IETF, 1998.

[4] 賈姍姍.基于SIP協(xié)議的VoIP系統(tǒng)中NAT穿越方案的研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2009.

[5] 王嘯,周淵平.VoIP系統(tǒng)中 NAT穿越技術(shù)的研究與實(shí)現(xiàn)[J].通信技術(shù),2010,43(11): 111-113.

[6] 曹淼,李健,張燁,等. 基于 SIP的 VoIP穿透 NAT方法的研究與實(shí)現(xiàn)[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2009(04):64-66.

[7] ROSENBERG J, WEINBERGER J, HUITEMA C, et al.RFC3489,STUN -Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs) [S]. [s.l.]: IETF, 2003.

[8] 閔江. 一種利用TURN穿越對(duì)稱型NAT方案的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2008.

猜你喜歡
公網(wǎng)端口消息
淺析大臨鐵路公網(wǎng)覆蓋方案
一種端口故障的解決方案
公網(wǎng)鐵路應(yīng)急通信質(zhì)量提升的技術(shù)應(yīng)用
一張圖看5G消息
端口阻塞與優(yōu)先級(jí)
如何迎接公網(wǎng)對(duì)講的春天
系統(tǒng)網(wǎng)絡(luò)端口安全防護(hù)
基于公網(wǎng)短信的河北省高速公路數(shù)據(jù)傳輸應(yīng)用
消息
消息