亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

STUN協議簡介

系統 2917 0

STUN簡要

STUN (Simple Traversal of UDP over NATs, NAT 的UDP簡單穿越 是一種網絡協議 它同意位于NAT(或多重NAT)后的client找出自己的公網地址。查出自己位于哪種類型的NAT之后以及NAT為某一個本地port所綁定的Internet端port 。這些信息被用來在兩個同一時候處于NAT 路由器之后的主機之間建立UDP通信。該協議由RFC 3489定義。

???? 一旦client得知了Internet端的UDPport。通信就能夠開始了。假設NAT是全然圓錐型的,那么兩方中的不論什么一方都能夠發起通信。假設NAT是受限圓錐型或port受限圓錐型,兩方必須一起開始傳輸。

???? 須要注意的是。要使用STUN RFC中描寫敘述的技術并不一定須要使用STUN協議——還能夠另外設計一個協議并把同樣的功能集成到執行該協議的server上。

????? SIP之類的協議是使用UDP分組在Internet上傳輸音頻和/或視頻數據的

不幸的是,因為通信的兩個末端往往位于NAT之后,因此用傳統的方法是無法建立連接的。這也就是STUN發揮作用的地方。

????? STUN是一個客戶機-server協議 。一個VoIP電話或軟件包可能會包含一個STUNclient。這個client會向STUNserver發送請求,之后。server就會向STUNclient報告NAT路由器的公網IP地址以及NAT為同意傳入流量傳回內網而開通的port。

????? 以上的響應同一時候還使得STUNclient可以確定正在使用的NAT類型—— 由于不同的NAT類型處理傳入的UDP分組的方式是不同的

四種主要類型中有三種是可以使用的 :全然圓錐型NAT、受限圓錐型NAT和port受限圓錐型NAT——但大型公司網絡中常常採用的 對稱型NAT(又稱為雙向NAT)則不能使用

?

?????? Simple Traversal of User Datagram Protocol (UDP) Through Network

Address Translators (NATs) (STUN)

????? STUN,是為了實現透明的穿透NAT,而定義的一套協議 它使本地的內網的機器。具有取得,可以得知它的NAT網關的IP,NAT類型的能力

?

????? 為什么須要STUN:

由于NAT盡管攻克了IP地址稀少的問題,可是也帶來了非常多的問題。比方全部P2P應用,像文件SHARE。 多媒體 ,和在線游戲等等.

????? 要想穿透NAT,首先知道NAT的一些特性:

NAT分為4種(加上防火墻的話,多幾種情況):

?

?1.全然透明NAT(Full Cone NAT):

????? 從同樣內部主機(IN IPX) +port(IN PORTX)發送的數據MAPING為同樣的IP(OUT IP X)和port(OUT PORT X)發送帶外網.而且從還有一個server(Y)。假設直連到MAPING的IP(OUT IP X)和port(OUT PORT X )上,數據將會被轉發到內部主機上. (IN IPX), (IN PORTX).

也就是說進內部網的數據包的SPORT,SPORT不受限制

2.受限NAT(Restricted Cone),

??? 從同樣內部主機(IN IPX) +port(IN PORTX)發送的數據MAPING為同樣的IP(X)和port發送帶外網.和全然NAT不同的是。僅僅有當為X時,外部機器的的請求就被轉發到主機(IN IPX) +port(IN PORTX)。

也就是說進內部網的數據包的,SPORT不受限制,SIP受限制,僅僅能為NAT MAP數據的IP

3,port受限NAT(Port Restricted Cone)

???? 和受限NAT不同的是。僅僅有當外部主動請求的的源IP和port,等于內部網發送的請求的目的IP和port。

4.對稱NAT

???? 假設發送的包的目的IP AND PORT,那么MAPPING IP AND PORT,將同樣。

內部網同一臺機器,同一個port假設目的地址不同,那么MAPPING的port也不同。所以僅僅有他主動連的server才可能知道他的MAPPING后port。別的server假設想連他僅僅能靠推測port。

總結:前面3重NAT。MAPING PORT 和 IP,是依據發送包的的內部網的IP和port決定的。假設數據的內網IP和port同樣,那么MAPPING后的port和地址是固定。這個功能為我們的穿越提供了非常好條件。

第4種NAT,打洞后的MAPPING 地址和port將變地不可靠。非常難穿越

注意SERVERA,和SERVERB是兩個公網地址。而不是兩臺機器.

?

?

STUN協議 (淺析樣例分析)

主要功能是檢測是否位于NAT后面。假設位于NAT后面。經過NAT轉換后的地址和port是什么,另外能夠檢測NAT的類型。

???? 基本思想

???? 在私網內部安裝一個STUN client。在公網上安裝一個STUN Server 。STUN協議定義了一些消息格式,大體上分成Request/Response,client向server發送 request,server發送response給client。

怎樣檢測STUN client是否在NAT后面呢?原理非常easy,Server在收到client的UDP包以后,Server將接收到該包的地址和port利用udp傳回來給 client。client把這些地址和port與本機的ip地址和port進行比較。假設不同,說明在NAT后面。否則就位于NAT前面。

為了檢測不同類型的 NAT,STUN協議定義了一些消息屬性。要求Server有不同的動作,比方發送響應的時候使用不同的IP地址和port,或者改變port等等。 STUN協議 對NAT可能有效,可是對防火墻就無能為力了。由于防火墻可能不會打開UDPport

???? NAT分類

STUN協議將NAT粗略分為4種類型,即Full Cone、Restricted Cone、Port Restricted Cone和Symmetric。舉個實際樣例來說明這四種NAT的差別:

A機器在私網(192.168.0.4)

NATserver(210.21.12.140)

B機器在公網(210.15.27.166)

C機器在公網(210.15.27.140)

如今,A機器連接過B機器,如果是 A(192.168.0.4:5000)-> NAT(轉換后210.21.12.140:8000)-> B(210.15.27.166:2000)。

同一時候A從來沒有和C通信過。

則對于不同類型的NAT,有下列不同的結果:

Full Cone NAT:C發數據到210.21.12.140:8000。NAT會將數據包送到A(192.168.0.4:5000)。由于NAT上已經有了192.168.0.4:5000到210.21.12.140:8000的映射。

Restricted Cone:C無法和A通信。由于A從來沒有和C通信過,NAT將拒絕C試圖與A連接的動作。但B能夠通過210.21.12.140:8000與A的 192.168.0.4:5000通信。且這里B能夠使用不論什么port與A通信。如:210.15.27.166:2001 -> 210.21.12.140:8000,NAT會送到A的5000port上。

Port Restricted Cone:C無法與A通信,由于A從來沒有和C通信過。而B也僅僅能用它的210.15.27.166:2000與A的192.168.0.4:5000通信。由于A也從來沒有和B的其它port通信過。該類型NAT是port受限的。

????? Symmetric NAT: 上面3種類型,統稱為Cone NAT。有一個共同點:僅僅要是從同一個內部地址和port出來的包,NAT都將它轉換成同一個外部地址和port 可是Symmetric有點不同,詳細表如今: 僅僅要是從同一個內部地址和port出來,且到同一個外部目標地址和port,則NAT也都將它轉換成同一個外部地址和port。但假設從同一個內部地址和port出來。是 到還有一個外部目標地址和port,則NAT將使用不同的映射。轉換成不同的port(外部地址僅僅有一個,故不變)。 并且和Port Restricted Cone一樣,僅僅有以前收到過內部地址發來包的外部地址,才干通過NAT映射后的地址向該內部地址發包。

現針對Symmetric NAT舉例說明:

A機器連接過B機器,假使是 A(192.168.0.4:5000)-> NAT(轉換后210.21.12.140:8000)-> B(210.15.27.166:2000)

假設此時A機器(192.168.0.4:5000)還想連接C機器 (210.15.27.140:2000),則NAT上產生一個新的映射,相應的轉換可能為A(192.168.0.4:5000)-> NAT(轉換后210.21.12.140:8001)-> C(210.15.27.140:2000)。此時。B僅僅能用它的210.15.27.166:2000通過NAT的210.21.12.140: 8000與A的192.168.0.4:5000通信, C也僅僅能用它的210.15.27.140:2000通過NAT的210.21.12.140:8001與A的192.168.0.4:5000通信,而 B或者C的其它port則均不能和A的192.168.0.4:5000通信。

?

?


STUN 的簡單操作過程:

發送請求。請求分為兩種

1.Binding Requests, sent over UDP,

?用來發現NAT的公網地址,和MAPPING后的port

?2.??Binding Response,

server產生Binding Response。并把得到的MAPPINGIP 和port。返回到client, client比較MAPPING地址是否和本機地址同樣。假設是說明是本機也是公網,否則推斷NAT的類型(推斷方法:client uses additional STUN Binding Requests)

3.Binding Error。

4.Shared Secret Requests, sent over TLS [2] over TCP.

這個請求要求server返回一暫時username和password。用來下一步的Binding Requests/ Response,用來驗證信息的完整性

5.Shared Secret Response,

6 Shared Secret Error Response。

?


STUN 信息結構

STUN 由以后數據結構構成:STUN頭+STUN有效載荷

STUN頭結構例如以下: 存儲的值都是以網絡順序存放

字段??? 類型??

STUN message type??? Short int??? 消息類型

Length??? Short int??? 有效載荷長度,不包括頭長度

transaction ID??? octet[16]??? 連接的ID值,檢查Request,和Response

STUN的有效載荷

SHUN的有效載荷是一些STUN的屬性構成,屬性的類型由信息的類型來決定。

STUN的屬性是定義好了的,屬性列表(attribute)例如以下:

MAPPED-ADDRESS??? 必選??? 用在Binding Response,(添入MAPING IP 和PORT)

RESPONSEADDRESS??? 可選??? 用在Binding Request,指定Response,發送到哪里

假設沒有指定。Response發送到MAPING IP 和 PORT

CHANGE-REQUEST??? 可選??? 用在Binding Request。用來決定。CLIENT的NAT類型是

制NAT,還是port限制NAT,(命令server從不同的源port/IP,Response請求)

CHANGED-ADDRESS??? 可選??? 用在Binding Responses告訴Client改變的port和IP

SOURCE-ADDRESS??? 必選??? 僅僅用在Binding Responses。標記信息的源PORT HE IP

USERNAME??? 可選??? Shared Secret Response/ Binding Requests

PASSWORD,??? 必選??? SharedSecret Response

ESSAGEINTEGRITY??? 可選??? 用在Binding Responses, Binding Request記錄信息的完整性

ERROR-CODE??????? Binding Error Response and Shared Secret Error Response.

UNKNOWN-ATTRIBUTES??????

REFLECTED-FROM??????? Binding Responses.可追溯性和預防DDOS

?通過這些方法和過程

?

STUN協議簡介


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品久久久久久免费播放 | 奇米影视777狠狠狠888不卡 | 夜色私人影院永久地址入口 | 四虎永久在线视频 | 欧美影视一区 | 黄色片网站视频 | 国产精品视频a | xxxxxx国产精品视频 | 亚洲欧美在线中文字幕不卡 | 九九99九九视频在线观看 | 欧美综合中文字幕久久 | 欧美精欧美乱码一二三四区 | 午夜精品久久久久久久四虎 | 亚洲精品久久久久影 | 久久99精品久久久久久国产越南 | 精品 日韩 国产 欧美在线观看 | 久久99久久精品国产99热 | 欧美国产在线观看 | 99精品视频在线在线视频观看 | 免费视频 久久久 | 国产精品a人片在线观看 | 国产成人久久 | 韩国一级特黄毛片大 | 91探花国产综合在线精品 | 午夜影视在线 | 欧美日韩亚洲综合 | 欧美日屁| 亚洲伊人tv综合网色 | 亚洲国产精久久久久久久春色 | 大学生久久香蕉国产线看观看 | 日本黄大片影院一区二区 | 99精品视频在线观看re | 精品国产香蕉 | 亚洲a在线播放 | 伊人热| 国产一区二区三区不卡观 | 亚洲精品美女久久久aaa | 操美女模特 | 久久精品国产精品亚洲艾 | 久草精品视频在线播放 | 国产成人精品一区二区三区 |