STUN
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/11/10 18:08 UTC 版)
概要
STUNは、軽量なクライアントサーバ型のプロトコルである。STUNクライアントは、例えばVoIP (Voice Over IP) 電話やインスタントメッセージクライアントなどのアプリケーションが有するプロトコルライブラリに含まれる。STUNクライアントは、NATによるIPマスカレードが行われるローカルネットワーク内で動作する。STUNを使用するホスト間で通信を行い始める際に、STUNクライアントはインターネット上のSTUNサーバにリクエストを送る。STUNサーバは、双方のSTUNクライアントのそれぞれのリクエストに対し、他方のパブリックIPアドレスとポート番号とを返す。数種類のリクエストの結果から、クライアントアプリケーションはNATのポート接合の有効時間を含む、NATの操作法を学ぶことができる。
NATデバイスは、アドレス及びポートマッピングの方式が異なるいくつかの種類で実装される。STUNは、全種類のNATで正常に機能するわけではない。STUNは、NATの主な4種類のうちフルコーン、制限コーン、ポート制限コーンの3種類で機能する。双方向性NATとも呼ばれ、企業などのネットワークで使われることの多い対称形NATではSTUNは機能しない。制限コーンまたはポート制限コーンの場合は、クライアントがエンドポイントにパケットを送らなければ、NATはエンドポイントからクライアントへのパケットを通すことを許可しない。対称型のNATでは、STUNサーバのIPアドレスはエンドポイントのIPアドレスとは異なるので、STUNサーバへのNATマッピングはエンドポイントへのものとは異なる。対称型NATではTURNがベターな解決方法となる。
STUNサーバは、通常3478番ポートでリクエストを待ち受ける。
クライアントが通信相手の外部アドレスを見つけたならば、その相手との接続が可能となる。NATがフルコーンならばどちら側からも通信を始められ、NATが制限コーンまたはポート制限コーンならば双方が同時に通信を始めなければならない。
STUNは、NATの後ろにあるホストがUDP接続を行う際に使用される。例えばRTPやSIPなどのプロトコルが、音声、映像、文章などのシグナリングトラフィックを転送する際にUDPパケットを用いる。
想定されうるアプリケーションの使用状況において、双方のエンドポイントが共にNATの後ろにあることは一般的である。このような二重のNAT問題の解決はSTUNを用いても容易でなく、通常はアプリケーションプロキシサーバが必要とされる。
- STUNのページへのリンク