SPONSORED

ICE(WebRTC)(あいす)

最終更新:2026/4/27

ICEは、WebRTCにおいて、ネットワークアドレス変換(NAT)やファイアウォールを透過し、ピア間の直接通信を確立するためのプロトコルである。

別名・同義語 WebRTC ICE

ポイント

ICEは、STUNとTURNという2つのプロトコルを組み合わせて利用することで、様々なネットワーク環境下での通信を可能にする。

ICEの概要

ICE(Interactive Connectivity Establishment)は、WebRTC(Web Real-Time Communication)における重要な要素技術の一つであり、ピアツーピア(P2P)通信を確立するためのフレームワークです。WebRTCは、ブラウザ間で音声、映、データをリアルタイムに通信することを可能にするAPIですが、インターネット上の多くのデバイスは、NAT(Network Address Translation)やファイアウォールによって保護されています。これらのネットワーク環境下では、直接的なP2P通信は困難となるため、ICEがその役割を果たします。

ICEの動作原理

ICEは、以下の2つの主要なプロトコルを組み合わせて動作します。

  • STUN (Session Traversal Utilities for NAT): STUNサーバーは、クライアントのパブリックIPアドレスとポート番号を特定するために使用されます。クライアントはSTUNサーバーにリクエストを送信し、自身のネットワークアドレス情報を取得します。
  • TURN (Traversal Using Relays around NAT): TURNサーバーは、クライアント間の直接通信が不可能な場合に、中継サーバーとして能します。クライアントはTURNサーバーを介してデータを送受信します。

ICEは、まずSTUNを使用して直接通信が可能かどうかを試みます。直接通信が不可能な場合は、TURNサーバーを使用して中継通信を行います。ICEは、これらの複数の通信経路を同時に試み、最適な経路を選択することで、信頼性の高いP2P通信を実現します。

ICEの利用例

ICEは、WebRTCを利用する様々なアプリケーションで使用されています。

  • ビデオ会議: Google Meet、Zoomなどのビデオ会議アプリケーション
  • オンラインゲーム: ブラウザベースのオンラインゲーム
  • ファイル共有: ブラウザベースのファイル共有アプリケーション

ICEの課題

ICEは、NATやファイアウォールを透過するための効果的なプロトコルですが、TURNサーバーの運用コストや、TURNサーバーの負荷分散などが課題として挙げられます。

SPONSORED