企業や家庭のパソコンにはプライベートIPアドレスが割り当てられている。そのままでは、グローバルIPアドレスで運用されているインターネットにアクセスできない。そこで活躍しているのが「NAT」だ。NATの基本や仕組み、そしてオンラインゲームを例にどう動いているのかを学ぼう。

 最近はスマートフォンでLINEやSkypeのようなメッセンジャーアプリを使って会話をしたり、ゲームアプリで離れた場所の人と一緒に遊んだりするのは当たり前になっている。

 スマートフォンなどのモバイル端末は、NAT(Network Address Translation)配下のプライベートIPv4アドレスが割り当てられており、グローバルIPアドレスで運用されているインターネットを介して直接通信することはできない。

 しかし、NATの内側でプライベートIPアドレスを持つ端末同士でも、NATを越えて直接通信できるようにする技術がある。それが「NATトラバーサル」だ。

NAT配下の端末が直接通信できる「NATトラバーサル」
[画像のクリックで拡大表示]

 VoIPアプリの黎明期からNATトラバーサルを積極的に活用してきたアプリにSkypeがある。Skypeを遠隔地との音声・ビデオ会議で使ったことがある人は多いはずだ。ほかにもSoftEther VPNやL2TP/IPsec VPNなどのVPNアプリがNATトラバーサルを利用している。最近では、P2Pのオンラインゲームでも使われている。

 筆者が最初にNATトラバーサルに触れたのは2002年ごろ。NATを越えて直接VPNを構築できるアプリケーションを開発していたときだ。当時はIPv6によるグローバルIPアドレスでの直接通信やP2P技術が盛り上がってきた時期で、NATをどのような技術で越えるかという模索も盛んだった。なかでも個人的に最もインパクトを感じたのはSkypeだった。

 Skypeはあらゆる方法でNAT越えを試みる。現在のNATトラバーサルを利用するアプリケーションのお手本になったといっても過言ではないだろう。一方で、同一ネットワーク上にあるSkype端末を検出すると、ローカルネットワーク上で直接通信するなど、端末の環境に合わせて柔軟に動作を変えて通信する仕組みになっている。この点には衝撃を覚えた。

この先は有料会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら