• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于UDP 的防火墻穿透技術(shù)的應(yīng)用研究

      2014-04-29 17:14:29周斌等
      電腦知識與技術(shù) 2014年10期
      關(guān)鍵詞:網(wǎng)絡(luò)通信客戶端

      周斌等

      摘要:該文主要研究防火墻的穿透技術(shù),通過使用尋址服務(wù)器和中轉(zhuǎn)服務(wù)器來對各種NAT的類型進行穿透研究,并利用UDP打通的通道建立數(shù)學(xué)模型,分析如何檢測防火墻及NAT類型,通信過程如何建立,此過程中中轉(zhuǎn)服務(wù)器充當(dāng)?shù)淖饔谩?/p>

      關(guān)鍵詞:防火墻穿透;NAT;網(wǎng)絡(luò)通信;P2P;客戶端/服務(wù)器模式

      中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2014)10-2226-03

      Abstract: This paper studies the firewall penetrating technology, sets up a mathematical model using the UDP channel. Besides, it discusses how to detect the type of firewall and NAT, how to create the communication process, and the role of transit server in the communicate process.

      Key words: Firewall penetrating;NAT;Network communication;P2P;Client /Server mode

      在安全問題越發(fā)敏感的今天,越來越多的用戶開始注意到信息安全的重要性,除了安裝相應(yīng)的殺毒軟件,防火墻則是作為保護網(wǎng)絡(luò)安全的第一屏障。一般的防火墻會依照特定的規(guī)則,允許或是限制傳輸?shù)臄?shù)據(jù)通過。當(dāng)然,該文不考慮企業(yè)級別的防火墻,因為通過一些禁用協(xié)議、端口,甚至基于應(yīng)用層的控制,會使我們的穿透無從談起,此處,我們只討論它的NAT特性。在我們研究的問題中,需要實現(xiàn)在P2P環(huán)境的,不同網(wǎng)段的用戶自由通信,而且這種通訊往往需要外網(wǎng)用戶請求內(nèi)網(wǎng)建立連接,然而,防火墻通常會認(rèn)為此連接是不受信的,通信在此就會被阻斷,該文研究的穿透就此而來。

      1 UDP 穿透防火墻簡介

      1.1 使用UDP 穿透防火墻的原因

      防火墻在內(nèi)外網(wǎng)之間建立了一道屏障,用于保護內(nèi)網(wǎng)的用戶免受外部用戶的攻擊,防火墻的安全策略之一,就是阻止外部不受信的用戶訪問內(nèi)部網(wǎng)絡(luò),尤其是對TCP的連接敏感,往往會被阻斷,并且TCP三次握手的建立是不對稱的,所以使用TCP穿透防火墻很困難,想要成功,往往決定與NAT對各種TCP包的序列的響應(yīng),該文選用UDP來進行穿透。在P2P通信的過程中,外網(wǎng)用戶通常需要發(fā)起通信,如何使用UDP報文來實現(xiàn)真正意義上的P2P通信就顯得更加有必要。

      1.2 使用UDP 穿透防火墻的技術(shù)簡介

      STUN(Session Traversal Utilities for NAT,NAT會話傳輸應(yīng)用程序)是一種以client/server模式設(shè)計的協(xié)議,它允許位于NAT(或多層NAT)后的客戶端找出自己的公網(wǎng)地址,查出自己位于哪種類型的NAT以及由NAT為本地使用的端口所綁定公網(wǎng)端口。這些信息被用來在兩個同時處于NAT設(shè)備之后的PC之間建立UDP通信,而且不需要改造現(xiàn)有NAT。該協(xié)議由RFC 5389定義[1]。

      通信中,一旦終端得知公網(wǎng)端的UDP端口,通信就可以開始了。如果NAT是完全圓錐型的,那么雙方中的任何一方都可以發(fā)起通信;如果NAT是IP限制圓錐型或端口限制圓錐型,雙方必須一起開始傳輸。該文中的邊界設(shè)備會提供一個STUN服務(wù)器,Laptop端自帶此類的客戶端。客戶端會向STUN服務(wù)器發(fā)送請求,接受到請求之后,服務(wù)器會向STUN客戶端報告NAT路由器的公網(wǎng)IP地址以及NAT為允許流量傳回內(nèi)網(wǎng)的端口,可以認(rèn)為打通了一個臨時的UDP通道[2],圖1是STUN的工作流程。

      優(yōu)點:

      1) STUN服務(wù)器的部署位置靈活,且不需要對現(xiàn)有網(wǎng)絡(luò)進行改造,易實現(xiàn);

      2) 協(xié)議簡單,在多層NAT的網(wǎng)絡(luò)環(huán)境下也可以使用

      限制:

      1) 不能檢測對稱型ANT;

      2) 不能處理同一NAT下的檢測

      在該文中,采用STUN技術(shù)和中轉(zhuǎn)服務(wù)器來彌補單一STUN技術(shù)的不足,實現(xiàn)穿透。

      2 UDP穿透防火墻的建模

      2.1 數(shù)學(xué)模型的建立

      2.1.1 “STUN+中轉(zhuǎn)服務(wù)器”模型

      該文中所采用的NAT穿透方案,是將STUN技術(shù)和中轉(zhuǎn)服務(wù)器聯(lián)合實現(xiàn)的。為了分析得比較清楚,我們把防火墻和NAT邏輯分離,用等效模型來分析穿透的特征,由于是搭建的實驗環(huán)境,可以認(rèn)為通信成功建立的概率是100%,將穿透模型細(xì)分,則可以描述為以下的六類:

      1) 通信雙方均無防火墻且非嚴(yán)格NAT;

      2) 一方無防火墻且非嚴(yán)格NAT,另一方有防火墻且非嚴(yán)格NAT;

      3) 一方無防火墻且非嚴(yán)格NAT,另一方有防火墻且嚴(yán)格NAT;

      4) 雙方都有防火墻且非嚴(yán)格NAT;

      5) 一方有防火墻且非嚴(yán)格NAT,另一方有防火墻且嚴(yán)格NAT;

      6) 雙方都有防火墻且非嚴(yán)格NAT;

      終端與STUN服務(wù)器之間通訊維護:終端定期向服務(wù)器發(fā)送在keepalive,服務(wù)器收到后返回相應(yīng)的keepalive,從而保證通信以及UPD hole的及時、有效。在服務(wù)器端,STUN本身有一個老化時間來可以通過keepalive來判斷對方的失效與否,如果超過3倍時間的keepalive,則認(rèn)為對端連接失效,從而保證了的連接效率[3]。

      2.1.2 模型的穿透機制

      穿透的機制分為兩種:

      第一,借助一個通訊雙方都信任的轉(zhuǎn)發(fā)者,該轉(zhuǎn)發(fā)者必須有一定的協(xié)議機制來協(xié)商,傳輸轉(zhuǎn)發(fā)數(shù)據(jù),然而,為了方便起見,我們認(rèn)為的轉(zhuǎn)發(fā)者為:無防火墻,無NAT的公網(wǎng)中間節(jié)點來實現(xiàn),這就是尋址服務(wù)器。

      第二,對于第一種情況不能解決的問題,還需要再借助一個第三方—中轉(zhuǎn)服務(wù)器,透過中轉(zhuǎn)服務(wù)器的作用,我們能實現(xiàn)對于各種情況的的防火墻穿透。

      2.1.3 P2P技術(shù)與尋集中式中轉(zhuǎn)服務(wù)并存的方案

      要想在存在防火墻的環(huán)境下,要實現(xiàn)Laptop1 和Laptop 2之間的P2P通信,它們之間必須彼此信任或者說能使它們變得相互信任。直接信任是很難實現(xiàn),通常使部分終端之間變得相互信任,最終不能互相信任的結(jié)點需要通過中轉(zhuǎn)服務(wù)器中轉(zhuǎn)。提供尋址服務(wù)的結(jié)點必須被兩個終端信任,簡單而直接的辦法就是在公網(wǎng)中部署,因為公網(wǎng)的IP是可以直接訪問的,只要不設(shè)立相應(yīng)的防火墻,那么所有知道該服務(wù)器域名以及IP的終端都可以訪問它。尋址服務(wù)器的工作模式為:

      注冊:Laptop 1、Laptop 1在初始化階段,并各自在尋址服務(wù)器上注冊,注冊的過程中,邊界路由會透過NAT,將信息發(fā)送到尋址服務(wù)器,并在防火墻上登記,在尋址服務(wù)器反饋回來的信息則會被防火墻認(rèn)定為可信的,一次注冊或者說登錄的過程就結(jié)束了。尋址服務(wù)器會將公網(wǎng)上的UDP地址,建立一張包含“終端ID—終端UDP地址—終端端口”的映射表[4]。

      數(shù)據(jù)的發(fā)送:當(dāng)Laptop 1 發(fā)送數(shù)據(jù)到Laptop 2時,Laptop 1的數(shù)據(jù)將由UDP報文來封裝,其中包含Laptop 2的ID,數(shù)據(jù)報會發(fā)送到尋址服務(wù)器,尋址服務(wù)器取出數(shù)據(jù)報中的目的地的ID,然后在映射表中獲取Laptop 2的地址,然后將數(shù)據(jù)報直接轉(zhuǎn)發(fā)到相應(yīng)的地址,數(shù)據(jù)報最終到達了Laptop 2。這種通過尋址服務(wù)器轉(zhuǎn)發(fā)數(shù)據(jù)的方法叫做“集中式中轉(zhuǎn)服務(wù)”。

      保持:為了保證穿透的UDP hole有效,每隔幾秒鐘終端需向?qū)ぶ贩?wù)器 發(fā)送keepalive報文。

      2.2 中轉(zhuǎn)服務(wù)器

      2.2.1 中轉(zhuǎn)服務(wù)器的工作原理

      1) 中轉(zhuǎn)服務(wù)器的使用條件:雙方均有防火墻,有一方是嚴(yán)格NAT或者雙方都是嚴(yán)格NAT。

      2) 成為中轉(zhuǎn)服務(wù)器的選擇條件:受信任的(無防護墻);還不是已經(jīng)成為中轉(zhuǎn)服務(wù)器。

      2.2.2 中轉(zhuǎn)服務(wù)器的工作模型

      以Laptop 1和Laptop 2通信為例,Laptop 1發(fā)起會話:

      1) Laptop 1根據(jù)尋址服務(wù)器返回的尋址應(yīng)答報文,向中轉(zhuǎn)服務(wù)器發(fā)起請求,將這個請求報文以及本次通信的所有數(shù)據(jù)包發(fā)給中轉(zhuǎn)服務(wù)器;

      2) Laptop 2收到通知后,如果發(fā)現(xiàn)本次通話需要用中轉(zhuǎn)服務(wù)器,則向中轉(zhuǎn)服務(wù)器發(fā)送UDP的防火墻打通包。

      3) 中轉(zhuǎn)服務(wù)器收到需要轉(zhuǎn)發(fā)的請求時,可根據(jù)請求中的雙方IP地址、ID,建立一個鏡像通道,并且將數(shù)據(jù)報文轉(zhuǎn)發(fā)給Laptop 2。同時,將中轉(zhuǎn)服務(wù)器置為busy;

      4) 在之后的工作中,中轉(zhuǎn)服務(wù)器收到其他需要轉(zhuǎn)發(fā)的數(shù)據(jù)包時,會先和已建立的鏡像通道匹配,如果匹配成功,則轉(zhuǎn)發(fā)到另一端;匹配不成功則不作處理;

      5) Laptop 2收到請求,如果發(fā)現(xiàn)使用了中轉(zhuǎn)服務(wù)器,則給它返回應(yīng)答報文,將這個請求報文以及本次通信的所有數(shù)據(jù)包發(fā)給中轉(zhuǎn)服務(wù)器,等待中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)[14]。

      如果鏡像通道建立以后,收到“通話結(jié)束”的包或在老化時間內(nèi)沒有收到匹配成功的數(shù)據(jù)包,則關(guān)閉該鏡像通道,同時將中轉(zhuǎn)服務(wù)器置為idle。

      2.3 有中轉(zhuǎn)服務(wù)器介入的終端之間的UDP會話的建立及撤消

      2.3.1注冊信息和UDP通道的維持

      健全的網(wǎng)絡(luò)中,用戶、中轉(zhuǎn)服務(wù)器會先和尋址服務(wù)器建立UDP連接,之后,就需要和有通信需求的外網(wǎng)用戶建立UDP會話時, UDP會話則分幾種情況,通常稱一次會話建立的過程叫做一次呼叫,涉及到主叫、被叫、尋址服務(wù)器、可能涉及中轉(zhuǎn)服務(wù)器,成功通信的前提是主叫、被叫及中轉(zhuǎn)服務(wù)器均已在尋址服務(wù)器上注冊。中轉(zhuǎn)服務(wù)器的注冊和UDP通道的維持,同樣使用“集中式中轉(zhuǎn)服務(wù)”,但是超時時間可能不同,中轉(zhuǎn)服務(wù)器本身也具備自己的狀態(tài)。

      2.3.2數(shù)據(jù)請求流程

      3 結(jié)論

      基于UDP的防火墻穿透技術(shù)的是現(xiàn)代P2P應(yīng)用下的重要技術(shù)之一,它對語音,視屏數(shù)據(jù)的處理有著重要的意義,但是現(xiàn)實網(wǎng)絡(luò)存在的一些因素往往給P2P用戶的直接通信帶來了問題,比如防火墻,又比如NAT。要想正真實現(xiàn)通信,穿透技術(shù)就很有研究的價值了。其實現(xiàn)在有不少的基于TCP的防火墻穿透技術(shù)的出現(xiàn),但是使用UDP的優(yōu)勢使得二者并存。穿透技術(shù)中有一個重要的角色,那就是中轉(zhuǎn)服務(wù)器,通過研究需要使用第三方直接中轉(zhuǎn)的情況是:通訊雙方,一方有防火墻且非嚴(yán)格NAT,另一方有防火墻且嚴(yán)格NAT和雙方都有防火墻且非嚴(yán)格NAT。其他情況只需要借助尋址服務(wù)器皆可以通信,完全直通的情況只有完全圓錐型NAT且無防火墻的情況。對于通信雙方均在一個NAT下的情況,也是可以通信的,只是尋址服務(wù)器直接會反饋一個私網(wǎng)的地址,終端直接在私網(wǎng)內(nèi)通信。關(guān)于第三方的取代問題,中轉(zhuǎn)服務(wù)器可以使用公網(wǎng)的服務(wù)器(當(dāng)然,只要公網(wǎng)服務(wù)器的功能夠強大而且也允許我們這么做),但是通常是使用一個通信的終端來實現(xiàn)的,因為大量的音頻和視頻數(shù)據(jù)往往會給公網(wǎng)服務(wù)器帶來巨大的負(fù)擔(dān),這個通信的終端來轉(zhuǎn)發(fā)這些大量的數(shù)據(jù),有利于提高網(wǎng)絡(luò)的性能,節(jié)約寶貴的公網(wǎng)資源。

      參考文獻:

      [1] F2F team.防火墻穿透原理[R]. F2F team,2006.

      [2] RFC 2993. Architectural Implications of NAT[S]. IETF. November 2000.

      [3] 高揚,肖繼民. NAT的穿越技術(shù)研究[J].江蘇通信技術(shù),2005(5).

      猜你喜歡
      網(wǎng)絡(luò)通信客戶端
      基于網(wǎng)絡(luò)通信的智能照明系統(tǒng)設(shè)計
      電子制作(2019年15期)2019-08-27 01:11:48
      縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
      傳媒評論(2018年4期)2018-06-27 08:20:24
      孵化垂直頻道:新聞客戶端新策略
      傳媒評論(2018年4期)2018-06-27 08:20:16
      網(wǎng)絡(luò)通信中信息隱藏技術(shù)的應(yīng)用
      基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
      電子測試(2018年10期)2018-06-26 05:53:34
      基于網(wǎng)絡(luò)通信的校園智能音箱設(shè)計
      電子制作(2018年1期)2018-04-04 01:48:30
      談計算機網(wǎng)絡(luò)通信常見問題及技術(shù)發(fā)展
      電子制作(2017年17期)2017-12-18 06:41:06
      客戶端空間數(shù)據(jù)緩存策略
      奉贤区| 东海县| 迭部县| 财经| 定结县| 府谷县| 余姚市| 团风县| 老河口市| 旬邑县| 巴林右旗| 杭州市| 峡江县| 长乐市| 漳浦县| 五莲县| 南雄市| 玉林市| 从化市| 平罗县| 巴楚县| 德令哈市| 瑞丽市| 凯里市| 攀枝花市| 凤台县| 佛学| 嘉黎县| 广宁县| 嘉定区| 庆城县| 潮州市| 沈阳市| 龙陵县| 高安市| 油尖旺区| 钦州市| 比如县| 金寨县| 泾阳县| 横山县|