TURN

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
TCP/IP群
アプリケーション層

BGP / DHCP / DNS / FTP / HTTP / IMAP / IRC / LDAP / MGCP / NNTP / NTP / POP / RIP / RPC / RTP / SIP / SMTP / SNMP / SSH / Telnet / TFTP / TLS/SSL / XMPP

カテゴリ
トランスポート層

TCP / UDP / DCCP / SCTP / RSVP

カテゴリ
ネットワーク層

IP (IPv4, IPv6) / ICMP / ICMPv6 / IGMP / IPsec

カテゴリ
リンク層

ARP/InARP / NDP / OSPF / SPB / トンネリング (L2TP) / PPP / MAC (イーサネット, IEEE 802.11, DSL, ISDN)

カテゴリ

TURN(Traversal Using Relay NAT)とは、NATファイアーウォールの背後にある要素が、TCP,UDP接続上でNATの外側からのデータを受信することを可能にするインターネットプロトコルである。 TURNは、単一のピアとの通信において受信側の端末になろうとする要素が、対称型NAT(symmetric NATs)やファイヤーウォールの背後にいる場合に最も有効なものである。 TURNは、NATの背後にいるユーザーが、well-known portsを利用してサーバーを実行することを許可しない。 TURNはNATの背後にいるユーザに対しては単一のピアとの接続のみを可能にする。この点で、TURNの役割は、対称型NATとファイヤーウォールによって提供されるセキュリティの機能と同等のものを提供しながらも、NATの内部にある要素が、クライアントが要求して確立する接続における送信側の端末というよりもむしろ、受信側の端末となれるようにテーブルを変更することである。

TURNは RFC 5766 として標準化されている。

概略[編集]

多くの利益を提供している一方で、NAT(Network Address Translators)はまた多くの欠点を持っている。 それらの欠点の中で最も厄介なものは、NATが多くの現存するIPアプリケーションに弊害をもたらし、また新規にIPアプリケーションを展開することを難しくしていることである。 どのようにしてNATと親和的な通信規約を作るかを記述したガイドラインが開発されてきた。 しかし、多くの通信規約はそれらのガイドラインにしたがってはどうしても構築することができなかった。そういった構築できなかった通信規約の例としてはマルチメディアアプリケーションやファイル共有関連の通信規約がある。

STUN(Simple Traversal of UDP through NAT)は、アプリケーションがNATを越えるための1つの方法を提供する。 STUNはクライアントがピアからのパケットを受信するために利用するトランスポートアドレス(IPアドレスとポート)を入手することを可能にする。 しかしながら、STUNによって入手されたアドレスはすべてのピアに対して利用可能ではないかもしれない。 それらのアドレスは、ネットワークのトポロジー的状況に依存して機能する。そのため、STUNはそれ自身ではNAT超えについて完全な解決を提供することはできない。

完全な解決には、インターネットへパケットを送信することができるあらゆるピアから、クライアントがメディアを受けることができるトランスポートアドレスを入手できることが必要である。 これは、インターネット上に存在するサーバを通過したデータに頼ることによってのみ達成することができる。 この仕様はTURN、つまり上記のようなサーバを通過したデータからのIPアドレスやポートをクライアントが獲得することを可能にする通信規格を記述している。

TURNはほとんどの場合にクライアントに接続性を提供するが、それはTURNサーバの提供者にとって高いコストがかかる。 それゆえ、STUNなどの他の手段が利用可能な場合はそちらを利用し、TURNを最終手段として利用することが望ましい。 この方法を達成するために、ICE(Interactive Connectivity Establishment)という方法は、接続性の最適な方法を発見するために使うことができる。

参照[編集]

外部リンク[編集]

(すべて英文)

実装[編集]

  • Numb is a free STUN/TURN server.
  • TurnServer - OpenSource TURN server.