STUN
STUN(Session Traversal Utilities for NAT、RFC 5389)は、クライアントが NAT 経由で見える自分のパブリック IP とポート、そして NAT の種類を発見できるようにする。
目的
NAT 背後のエンドポイントにパブリックな反射アドレスの発見を提供する。ICE と WebRTC の NAT トラバーサルの基盤である。
メカニズム
クライアントは STUN サーバーに Binding Request を送り、サーバーが観測した送信元 IP:ポート(反射パブリックアドレス)を返す。追加属性で NAT の種類と動作を調査できる。
ユースケース
- WebRTC の NAT トラバーサル
- VoIP の SIP
- P2P でのパブリックアドレス発見