Simple traversal of UDP over NATs

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire

STUN(Simple Traversal of UDP through NATs)は、音声、映像、文章などの双方向リアルタイムIP通信を行うアプリケーションにおいて、NAT traversal(NAT通過)の方法の1つとして使われる標準化された(standards-based)インターネットプロトコルである。 STUNプロトコルは、アプリケーションがNATの存在と種類とを発見し、リモートホストへのUDP(User Datagram Protocol)接続にNATが割り当てたグローバルIPアドレスとポート番号とを得ることを許す。 STUNプロトコルが動作するには、インターネット上にSTUNサーバが存在する必要がある。 STUNプロトコルは、RFC(Request for Comments) 3489に定められる。

ネットワーク・プロトコル
アプリケーション層
DHCP · DNS · FTP · Gopher · HTTP · IMAP4 · IRC · NNTP · XMPP · POP3 · SIP · SMTP · SNMP · SSH · TELNET · RPC · RTCP · RTSP · SSL/TLS · SDP · SOAP · CMIP · STUN · GTP · NTP · EHRP
トランスポート層
TCP · UDP · DCCP · SCTP · RTP · RSVP · IGMP · PPTP · RUDP · UDP-Lite
ネットワーク層
IP (IPv4 · IPv6) · OSPF · IS-IS · BGP · IPsec · ARP · RARP · RIP · ICMP · ICMPv6 · IGP
データリンク層
802.11 · 802.16 · Wi-Fi · WiMAX · ATM · DTM · トークンリング · イーサネット · FDDI · フレームリレー · GPRS · EVDO · HSPA · HDLC · PPP · SLIP · L2TP · ISDN · SMDS · アークネット
物理層
イーサネット物理層 · モデム · PLC · SONET/SDH · G.709 · OFDM · 光ファイバー · 同軸ケーブル · ツイストペアケーブル

目次

概要

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マッピングはエンドポイントへのものとは異なる。

STUNサーバは、通常3478番ポートでリクエストを待ち受ける。

クライアントが通信相手の外部アドレスを見つけたならば、その相手との接続が可能となる。NATがフルコーンならばどちら側からも通信を始められ、NATが制限コーンまたはポート制限コーンならば双方が同時に通信を始めなければならない。

STUNは、NATの後ろにあるホストがUDP接続を行う際に使用される。 例えばRTPやSIPなどのプロトコルが、音声、映像、文章などのシグナリングトラフィックを転送する際にUDPパケットを用いる。

想定されうるアプリケーションの使用状況において、双方のエンドポイントが共にNATの後ろにあることは一般的である。このような二重のNAT問題の解決はSTUNを用いても容易でなく、通常はアプリケーションプロキシサーバが必要とされる。


アルゴリズム

STUNはNATゲートウェイとファイアウォールとの存在を発見するために、RFC 3489から構成される下図のアルゴリズムを使用する。

図を通る経路が赤い箱で終わる所ではUDP通信は可能でない。経路が黄色であるか緑の箱で終わる所で、UDP通信は可能である。

RFC3489に従ったSTUNの後継技術

RFC 3489の方法は、プロダクションネットワークで遭遇するNATの実装形態の多様性とアプリケーションシナリオに対処するにはあまりに頼みにならないとわかった。 文書は非難され、2008年7月現在、それに代わる新たな方法が策定されつつあるが、まだ草案ステータスにある。(draft-ietf-behave-rfc3489bis)

参照

外部リンク

実装

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net