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

?

STUN技術(shù)及在VOIP中的應(yīng)用

2010-11-07 08:19:37張炳
中國科技信息 2010年24期
關(guān)鍵詞:端口號公網(wǎng)服務(wù)器端

張炳

山西大同同煤集團通信有限責(zé)任公司數(shù)據(jù)網(wǎng)絡(luò)中心

STUN技術(shù)及在VOIP中的應(yīng)用

張炳

山西大同同煤集團通信有限責(zé)任公司數(shù)據(jù)網(wǎng)絡(luò)中心

STUN ;VOIP ;公私網(wǎng)穿越

前言

隨著互聯(lián)網(wǎng)的迅速發(fā)展,以IP技術(shù)為基礎(chǔ)的新一代通信系統(tǒng)逐漸發(fā)展成熟,其中以VOIP技術(shù)為代表的通信技術(shù)已逐漸得到廣泛的應(yīng)用。SIP、H.323、MGCP等網(wǎng)絡(luò)通信協(xié)議的開發(fā)為VOIP技術(shù)提供了技術(shù)保障,目前在國內(nèi)正在大規(guī)模實施的NGN技術(shù)的核心即應(yīng)用了VOIP技術(shù)。

盡管VOIP技術(shù)已經(jīng)得到了廣泛的應(yīng)用,但在具體實施的過程中,仍普遍面臨很多實際問題,大多數(shù)企業(yè)在部署VOIP應(yīng)用時,大多采用了以下方案:

1、從安全的角度進行考慮,一般將VOIP網(wǎng)絡(luò)放在公司防火墻后面,由防火墻實施保護。因此必須考慮如何讓VOIP流可以穿越防火墻。特別是VOIP的客戶端和服務(wù)端均位于防火墻之后。

2、部分企業(yè)在實施VOIP項目時,由于沒有充足的IP地址,不得不采用私網(wǎng)地址,為了保證公網(wǎng)用戶可以注冊到VOIP系統(tǒng)中,需要在公司路由器或者邊界會話器等設(shè)備中進行NAT轉(zhuǎn)換。

在上述兩種方案中,均面臨如何解決NGN用戶公私網(wǎng)穿越這一難題,在VOIP技術(shù)的發(fā)展過程中,先后出現(xiàn)了多種針對以上問題的解決方案,可以讓基于VoIP呼叫穿透防火墻,但不同的NAT設(shè)備要求使用不同的NAT技術(shù)。因此在實施的過程中仍存在諸多不便。本文即討論一種新的解決方案:利用STUN服務(wù)器技術(shù)解決VOIP應(yīng)用中的NAT問題。

一、STUN簡介

STUN技術(shù)是一種輕量級協(xié)議,它允許位于NAT之后的VOIP客戶獲取所分配的公網(wǎng)IP及端口號,同時還能夠獲取NAT及防火墻類型。利用所獲取的公網(wǎng)IP信息可以以VOIP服務(wù)器端進行交互,從而實現(xiàn)NAT穿越。由于該技術(shù)實現(xiàn)簡單,因此它可以廣泛地應(yīng)用于有NAT設(shè)備的VOIP網(wǎng)絡(luò)中。

STUN分為CLIENT和SERVER兩部分,其中CLIENT位于私網(wǎng)內(nèi)部,可以集成到終端設(shè)備中,用于產(chǎn)生和發(fā)送STUN請求報文,而SERVER部分位于公網(wǎng)之中,用來接收并響應(yīng)CLIENT發(fā)送的請求報文。所有的STUN報文均有20個字節(jié)長的報頭組成,如圖一所示:

圖一

其中消息類型分為Binding Request、BindingResponse、Binding ErrorResponse、SharedSecret Request、SharedSecretResponse、SharedSecretErrorResponse六類。事務(wù)ID是一個16個字長的標(biāo)識符,在同一個事務(wù)中使用相同的事務(wù)ID。

在消息頭之后是消息屬性部分,如圖二所示屬性部分由三部分組成,屬性類型、屬性長度、屬性值:

圖二

其中屬性類型部分可分為MAPPEDADDRESS等共11種消息。

二、NAT技術(shù)

在FRC3489中將STUN協(xié)議中的NAT4種類型,分別為:FullCone、RestrictedCone、PortRestrictedCone和Symmetric。

FullCone:即一對一(one-toone)NAT,此類NAT中,同一個內(nèi)部IP及端口均被映射到同一個公網(wǎng)的IP及端口上,公網(wǎng)的其他IP均可以通過所映射的公網(wǎng)IP及端口訪問該內(nèi)部IP。

RestrictedCone:此類NAT中,一個內(nèi)部IP及端口(IP1)映射到公網(wǎng)中的同一個IP及端口(IP2),IP1的數(shù)據(jù)包都需要通過IP2進行發(fā)送。公網(wǎng)其他IP3只有在IP1首先給IP3發(fā)送報文之后,才可以通過IP2訪問IP1。

PortRestrictedCone:該類NAT類似于RestrictedCone,但比Restricted Cone多了對端口的限制,在此類NAT中,一個內(nèi)部IP及端口(IP1)映射到公網(wǎng)中的一個IP及端口(IP2),IP1的數(shù)據(jù)包都需要通過IP2進行發(fā)送。公網(wǎng)其他IP3只有在IP1首先給IP3發(fā)送包含IP及端口的報文之后,才可以通過IP2訪問IP1。

Symmetric:該類NAT中,一個內(nèi)網(wǎng)的IP及端口發(fā)送請求到一個公網(wǎng)的IP地址和端口,均被映射到一個特殊的公網(wǎng)IP地址和端口。同一個內(nèi)網(wǎng)IP訪問不同的公網(wǎng)IP,將使用不同的映射關(guān)系,該NAT的安全級別較高。

三、STUN在VOIP中的具體應(yīng)用

如圖三所示:STUN客戶端如:IP電話、IP語音網(wǎng)關(guān)等設(shè)備位于各自的私網(wǎng)內(nèi),通過防火墻(FireWall)或邊界會話器(SBC)公網(wǎng)互聯(lián),與STUN技術(shù)在具體應(yīng)用中,Stun客戶端會通過三種測試方式與公網(wǎng)上的Stun服務(wù)器的兩個IP和port進行交互,根據(jù)返回的結(jié)果可以判斷出NAT的類型。

圖三STUN技術(shù)示意圖

測試一:STUN客戶端給STUN服務(wù)器通過UDP協(xié)議發(fā)送一個STUN BindingRequest,如果STUN服務(wù)器沒有返回響應(yīng),則表明此類鏈接并非UDP鏈接。如果服務(wù)端接收到該請求,該服務(wù)器將檢查源IP地址和端口,并將該地址與端口號放入一個BindingResponse中發(fā)送會客戶端中。當(dāng)客戶端收到該BindingResponse消息后,將其中由服務(wù)器端寫入的地址與端口號與客戶端地址及端口號進行對比,如果一致,則表明該客戶端位于公網(wǎng)之中,否則表明該客戶端位于一個或多個NAT之后。

測試二:經(jīng)過測試一后,如果該客戶端位于NAT之后,則客戶端將進行測試二,該測試中將利用同一源IP地址和端口向服務(wù)器端的另一個IP地址及端口發(fā)送一個BindingRequest,服務(wù)器收到該請求后,將返回客戶端一個Binding Response。如果客戶端可以收到該BindingResponse,則表明客戶端位于一個FullCone類型的NAT之后。如果客戶端沒有收到BindingResponse,接著客戶端將利用該IP地址和端口再進行一次測試一,如果兩次測試中的IP地址和端口號一樣,則表明該客戶端位于RestrictedCone或PortRestrictedCone類型的NAT之后,否則該客戶端位于Symmetric類型NAT之后。

測試三:在測試中客戶端將向服務(wù)器端B向C的第二個IP的一個端口發(fā)送一個BindingRequest,并服務(wù)器端的第二個IP使用不同的端口號給客戶端返回一個BindingResponse。如果客戶端收到該BindingResponse,則表明該NAT類型為RestrictedCone,如果沒有收到該消息則表明該NAT對端口進行了限制,及客戶端位于PortRestrictedCone類型NAT之后。

通過上述測試流程,STUN客戶端即可獲取到NAT的公網(wǎng)IP端口號,利用該IP地址和端口即可替換VOIP注冊時的IP地址和端口號并進行注冊,即可實現(xiàn)NAT穿越進行VOIP注冊。而現(xiàn)在市場上大多數(shù)的VOIP設(shè)備均內(nèi)置了STUN客戶端,因此使用該方法可以非常方便地實現(xiàn)VOIP功能。

10.3969/j.issn.1001-8972.2010.24.034

猜你喜歡
端口號公網(wǎng)服務(wù)器端
淺析大臨鐵路公網(wǎng)覆蓋方案
中國新通信(2022年4期)2022-04-23 23:04:20
公網(wǎng)鐵路應(yīng)急通信質(zhì)量提升的技術(shù)應(yīng)用
在Docker容器中安裝應(yīng)用程序
淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
成功(2018年10期)2018-03-26 02:56:14
淺談以java為基礎(chǔ)的Socket通信簡介及實現(xiàn)
青春歲月(2017年5期)2017-04-20 18:34:23
基于公網(wǎng)短信的河北省高速公路數(shù)據(jù)傳輸應(yīng)用
在Windows中安裝OpenVPN
我國警用通信專網(wǎng)與公網(wǎng)比較研究
Winsock編程在《計算機網(wǎng)絡(luò)基礎(chǔ)》教學(xué)中的應(yīng)用
基于Android系統(tǒng)的互動展示APP的研究與設(shè)計
巴中市| 康保县| 宝山区| 天峨县| 福建省| 喀喇沁旗| SHOW| 灵川县| 庆安县| 织金县| 吴江市| 英德市| 历史| 沅江市| 元阳县| 石嘴山市| 金溪县| 会理县| 泸定县| 江油市| 沁阳市| 平阴县| 江源县| 馆陶县| 雅江县| 望城县| 调兵山市| 台南县| 昌宁县| 上虞市| 昌江| 珠海市| 紫阳县| 锡林浩特市| 崇礼县| 安阳市| 额敏县| 德化县| 东山县| 涿鹿县| 洪洞县|