
NAT(ネットワークアドレス変換)
技術複数のデバイスが単一のパブリックIPアドレスを共有できるようにする技術。
NATとは?
NAT(Network Address Translation)は、プライベートネットワーク上の複数のデバイスがインターネットにアクセスする際に、単一のパブリックIPアドレスを共有できるようにするネットワーク技術です。自宅のルーターはNATを使用して、ラップトップ、スマートフォン、スマートTVなどのデバイスに、ISPが提供する1つのパブリックIPアドレスを通じてインターネットアクセスを提供しています。
P2P接続の問題
WebRTCビデオ通話を開始したい場合、友人に192.168.1.100に接続するよう伝えることはできません。それはプライベートアドレスであり、パブリックインターネット上には存在しないからです。NATの根本的な問題は、両方のピアがルーターのパブリックIPを通じてのみ到達可能であり、どちらのルーターも着信P2P接続の試行を正しい内部デバイスにルーティングする方法を知らないことです。
NATの種類
- フルコーンNAT:最も寛容な種類。外部のどのホストでもマッピングされた外部アドレスに送信可能。STUNが完全に機能
- 制限コーンNAT:以前連絡したIPアドレスからの着信パケットのみを受け入れ
- ポート制限コーンNAT:正確なIP:ポートの組み合わせからのパケットのみを受け入れ。2025年のほとんどの家庭用ルーターはこの動作
- 対称NAT:最も制限が厳しく問題が多い種類。宛先ごとに異なるポートマッピングを作成し、STUNが無効に。TURNリレーのみが機能
WebRTCがNATを解決する方法
- STUN(発見):インターネットから見たパブリックIPとポートを発見
- ICE(インテリジェントな選択):複数の接続戦略を同時に試行し、最適な動作パスを選択
- TURN(最後の手段):STUNが失敗した場合に、両方のピアが到達可能なリレーサーバーを提供
まとめ
NATは現代のインターネットアーキテクチャの必要悪です。IPv4アドレス枯渇を解決しましたが、WebRTCが克服すべきP2P接続の問題を生み出しました。STUN、TURN、ICEを通じたNATトラバーサルの習得は、2025年以降のWebRTC開発者にとって不可欠です。