stun(網路協定)

stun(網路協定)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

STUNSession Traversal Utilities for NAT,NAT會話穿越應用程式)是一種網路協定,它允許位於NAT(或多重NAT)後的客戶端找出自己的公網地址,查出自己位於哪種類型的NAT之後以及NAT為某一個本地連線埠所綁定的Internet端連線埠。這些信息被用來在兩個同時處於NAT路由器之後的主機之間創建UDP通信。該協定由RFC 5389定義。

基本介紹

  • 外文名:Simple Traversal of UDP over NATs
  • 簡稱:stun
  • 屬性:網路協定
  • 位置NAT的客戶端
  • 協定定義:RFC 3489
  • 功能:找出自己的公網地址
簡介,方案,算法,參見,

簡介

STUN(Simple Traversal of User Datagram Protocol through Network Address Translators (NATs),NAT的UDP簡單穿越)是一種網路協定,它允許位於NAT(或多重NAT)後的客戶 端找出自己的公網地址,查出自己位於哪種類型的NAT之後以及NAT為某一個本地連線埠所綁定的Internet端連線埠。這些信息被用來在兩個同時處於 NAT路由器之後的主機之間建立UDP通信。該協定由RFC 3489定義。目前RFC 3489協定已被RFC 5389協定所取代,新的協定中,將STUN定義為一個協助穿越NAT的工具,並不獨立提供穿越的解決方案。它還有升級版本RFC 7350,目前正在完善中。

方案

一旦客戶端得知了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的溝通是沒有可能性的。一旦通過黃色或是綠色的箱子,就有連線的可能。
圖1.stun算法圖1.stun算法

參見

相關詞條

熱門詞條

聯絡我們