STUN(Simple Traversal of User Datagram Protocol through Network Address Translators (NATs),NAT的UDP簡單穿越)是一種網路協議,它允許位於NAT(或多重NAT)後的客戶端找出自己的公網地址,查出自己位於哪種類型的NAT之後以及NAT為某一個本地埠所綁定的Internet端埠。這些信息被用來在兩個同時處於NAT 路由器之後的主機之間建立UDP通信。該協議由RFC 3489定義。
| 網路協議 | |
|---|---|
| 應用層 | |
| DHCP · DNS · FTP · Gopher · HTTP · IMAP4 · IRC · NNTP · XMPP · POP3 · SIP · SMTP · SNMP · SSH · TELNET · RPC · RTCP · RTP ·RTSP · SDP · SOAP · GTP · STUN · NTP · SSDP · 更多 | |
| 傳輸層 | |
| TCP · UDP · TLS · DCCP · SCTP · RSVP · PPTP · 更多 | |
| 網路層 | |
| IP (IPv4 · IPv6) · OSPF · BGP · IS-IS · IPsec · 更多 | |
| 資料連結層 | |
| Wi-Fi(IEEE 802.11) · WiMAX(IEEE 802.16) · ARP · RARP · ATM · DTM · 令牌環 · 乙太網 · FDDI · 訊框中繼 · GPRS · EVDO · HSPA · HDLC · PPP · L2TP · ISDN · 更多 | |
| 實體層 | |
| 乙太網路 · 數據機 · PLC(Power Line Communication) · SONET/SDH · G.709 · 光導纖維 · 同軸電纜 · 雙絞線 · 更多 | |
|
本模板:檢視 • 討論 • 編輯 • 歷史
|
目錄 |
一旦客戶端得知了Internet端的UDP埠,通信就可以開始了。如果NAT是完全圓錐型的,那麼雙方中的任何一方都可以發起通信。如果NAT是受限圓錐型或埠受限圓錐型,雙方必須一起開始傳輸。
需要注意的是,要使用STUN RFC中描述的技術並不一定需要使用STUN協議——還可以另外設計一個協議並把相同的功能集成到運行該協議的伺服器上。
SIP之類的協議是使用UDP分組在Internet上傳輸音頻和/或視頻數據的。不幸的是,由於通信的兩個末端往往位於NAT之後,因此用傳統的方法是無法建立連接的。這也就是STUN發揮作用的地方。
STUN是一個客戶機-伺服器協議。一個VoIP電話或軟體包可能會包括一個STUN客戶端。這個客戶端會向STUN伺服器發送請求,之後,伺服器就會向STUN客戶端報告NAT路由器的公網IP位址以及NAT為允許傳入流量傳回內網而開通的埠。
以上的響應同時還使得STUN客戶端能夠確定正在使用的NAT類型——因為不同的NAT類型處理傳入的UDP分組的方式是不同的。四種主要類型中有三種是可以使用的:完全圓錐型NAT、受限圓錐型NAT和埠受限圓錐型NAT——但大型公司網路中經常採用的對稱型NAT(又稱為雙向NAT)則不能使用。
STUN 使用下列的演算法(取自 RFC 3489)來發現 NAT gateways 以及防火牆(firewalls):
一旦路經通過紅色箱子的終點時,UDP的溝通是沒有可能性的。一旦通過黃色或是綠色的箱子,就有連線的可能。
stock | retire | vm
Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History