成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

UDP NAT 穿透

alogy / 3430人閱讀

摘要:穿透的協(xié)議穿透協(xié)議系列介紹了協(xié)議協(xié)議版本變化屬于的協(xié)議通過與之間發(fā)送數(shù)據包通信以獲取一些信息。同樣和交互其作用是穿透失敗使用中繼,確保通信成功的低優(yōu)先級策略。

UDP NAT穿透俗稱p2p打洞。
講到NAT, 追溯一下NAT產生原因:使用ipv4的時候,地址數(shù)量有限,NAT設備可以讓接上它的其他設備在其上共享ip,緩解地址不夠用。當然ipv6的概念早就來臨了,國內推廣的程度和推廣慢原因這里就先忽略,下面介紹一下NAT穿透以及實現(xiàn)。

NAT的類型(NAPT)

完全錐型(Full Cone)

 內部地址[internal_ip:internal_port]通過NAT映射外部地址[external_ip:external_port],
 NAT分配端口后,所有外部設備可以通過這個[external_ip:external_port]和[internal_ip:internal_port]通信

受限錐型(Restricted Cone), 或者說是IP受限錐型

內部必須主動鏈接外部,  被訪問的目標設備[tag_exrenal_ip:*]可以與之任意端口通信, 而其他外部IP則不能

端口受限錐型(Port Restricted Cone), 或者說是IP + PORT受限錐型

 在受限錐型的基礎之上,對端口進一步約束;目標設備[tag_exrenal_ip:tag_port1]可以與之通信,而[tag_exrenal_ip:tag_port2]不行

對稱型(Symmetric)

  每次對外訪問, NAT映射外部地址[external_ip:external_port]的端口均不一樣。如:
  當主機A訪問主機B, A的IP被映射為[ip:port1]后;
  當主機A訪問主機C, A的IP被映射為[ip:port2]后。

穿透NAT的協(xié)議

    Google穿透協(xié)議[RFC3489][RFC5766]系列介紹了[STUN][TURN]協(xié)議(協(xié)議版本變化),屬于
client-server的協(xié)議,通過client與server之間發(fā)送數(shù)據包,通信以獲取一些信息。

STUN

   STUN-client位于NAT后面,它通過與STUN-server交互,發(fā)送接收[協(xié)議的]數(shù)據報,可以通過抓包
簡略查看(比如tcpdump)交互過程,最終將NAT類型和內外二元組返回給STUN-client。當然詳細的
通信過程,查看goole定義RFCxxxx的協(xié)議,最好結合開源的client實現(xiàn)結合。

TURN

   TURN-client同樣和server交互,其作用是穿透失敗,使用中繼,確保通信成功的低優(yōu)先級策略。
就是實際數(shù)據中轉的傳輸中心,當然如果TURN存在NAT,需要支持hairpin。協(xié)議簡要概括:client
Allocate請求、創(chuàng)建Permission、建立Channel等等,通過在TURN-server上分配一個Port,作為
己方的一個候選通信 [ip:port]。

ICE

   穿越協(xié)議[RFC5245],可以理解為對STUN和TURN的擴展,利用STUNTURN client收集、檢查、優(yōu)
先級本地候選地址,用于其他peer使用并用于連接。

NAT穿透實現(xiàn)

試驗幾個組件

  1.STUN服務器使用google開放stun.l.google.com:19302
  2.TURN使用開源coturn,主機阿里云即可,支持hairpin
  3.客戶端實現(xiàn),使用開源ice4j(實現(xiàn)了STUNTURN的client,協(xié)議版本可能有異)

架構

流程

step1:通過ice4j獲取候選[ip:port]
step2:通過login-server權限校驗以及SDP交換
step3:檢測彼方SDP,進而通信,ice完成

結語

UDP穿透成功,兩端位于對稱NAT后,這里沒有使用生日攻擊等端口預測,通過realy可以通信

測試源碼

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/70972.html

相關文章

  • JavaScript 是如何工作的:WebRTC 和對等網絡的機制!

    摘要:為了使連接起作用,對等方必須獲取元數(shù)據的本地媒體條件例如,分辨率和編解碼器功能,并收集應用程序主機的可能網絡地址,用于來回傳遞這些關鍵信息的信令機制并未內置到中。所有特定于多媒體的元數(shù)據都使用協(xié)議傳遞。 這是專門探索 JavaScript 及其所構建的組件的系列文章的第 18 篇。 想閱讀更多優(yōu)質文章請猛戳GitHub博客,一年百來篇優(yōu)質文章等著你! 如果你錯過了前面的章節(jié),可以在這里...

    XBaron 評論0 收藏0
  • 視頻通信原理之NET的簡單介紹

    摘要:網絡地址轉換,其基本工作原理是當私有網主機與公共網逐漸通信的經過網關時,將包中的源或目的在私有和的公共之間進行轉換。由于包的源已經被轉換成的公共,響應的包將被發(fā)送到。對于通信雙方而言,這種地址的轉換過程是完全透明的。 一:為什么需要NAT 由于IP地址隨著互聯(lián)網的發(fā)展而逐漸稀缺,難以使得每臺主機都擁有一個公網上的IP地址,且并不是所有主機都需要一個公網上的地址,于是就有了NAT技術。 ...

    zhaot 評論0 收藏0

發(fā)表評論

0條評論

alogy

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<