TURN 【Traversal Using Relays around NAT】
概要
TURN(Traversal Using Relays around NAT)とは、インターネットとの境界でNATによるアドレス変換が行われているネットワーク内の端末同士が通信できるよう、中継サーバがデータ伝送を取り次ぐためのプロトコル(通信手順)の一つ。IP電話やビデオ会議などのUDP通信で利用されることが多い。家庭や企業、大学などの構内ネットワーク(LAN)では、内部の機器間はLAN内でのみ通用するプライベートIPアドレスで通信し、インターネットへ中継するルータのみがグローバルIPネットワークで外部と通信するという構成を取ることが多い。その際、内外で通信を中継するため、ルータがNAT(Network Address Translation)技術によって内部側と外部側のIPアドレスとポート番号を対応付けて相互に変換するという処理を行う。
NATは内部の端末から外部のサーバへ接続することを想定しており、内部の端末が自身のグローバルIPアドレスやポート番号を直接知ることはできないため、そのままでは互いにNATの内側にある端末同士が直に接続を確立してデータを伝送することができない。
TURNはこれを解決するNATトラバーサル技術の一種で、インターネット上で接続を仲介する専用のサーバ(TURNサーバ)を必要とする。各端末は同じTURNサーバへ接続を確立し、サーバが一方から送られてきたデータをそのままもう一方へ送り出す。途中のルータから見ると端末は相手方ではなくTURNサーバとのみ通信を行っているように見える。
端末間のすべてのデータ伝送を中継するため、サーバ側の処理能力や通信回線の負荷が大きいが、STUNなど端末間を直に接続する技術が利用できない場合でも通信することができる。最初にSTUNによる接続を促し、STUNが機能しない環境の利用者にのみTURNによる接続を許可するといった運用にすることが多い。
TURNは2010年にIETFによってRFC 5766として標準化され、2011年にはIPv6に対応する仕様がRFC 6156として追加された。2020年には改訂版のRFC 8656が発行された。
(2021.7.16更新)
関連用語
関連リンク (外部サイト)
- Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN) - IETFによる仕様書(初版)
- Traversal Using Relays around NAT (TURN) Extension for IPv6 - IETFによる仕様書(IPv6対応)
- Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN) - IETFによる仕様書(改訂版)