第6章 Windows 8のネットワークとセキュリティ - Windows 8の基本的なネットワーク その2

Windows 8におけるネットワーク機能で気になるのが、RFC 3484で定義している「Default Address Selection for Internet Protocol version 6(IPv6)」に準拠していない点。このRFC 3484は"IPv6使用時のデフォルトアドレス選択"に関して定めたものだが、まずはIPv6について解説しよう。

以前から各誌で報じられているように"IPアドレス枯渇問題"というものがある。現在使用中のIPv4は、32ビットアドレスで管理されているため、単純計算すると2の32乗=約43億のIPアドレスしか管理することができない。もちろん43億でも相当な数と言えるが、十数年で爆発的に増えたユーザー数は、その相当な数を食い尽くすことになってしまった。

インターネットの運用が始まった1983年当時、現在のように何十億ものユーザーがインターネットに接続するような世界は想像し得ないものだったのだろう。「インターネットの父」に数えられるVinton Gray Cerf(ヴィントン・グレイ・サーフ)氏は、現在Googleの副社長兼チーフインターネットエバンジェリストという役職だが、同社の公式ブログで、IPv4を設計した当時のことを"夢のまた夢であった"と述べている。

もちろんIPv4アドレスを使用しているのは、日本を含むアジア地区だけではない。世界中のインターネットに関するIPアドレスなどを管理するIANA(Internet Assigned Numbers Authority)が保有していたIPv4アドレスは2011年2月に枯渇。日本でも、東部および南部アジア、太平洋エリアを担当するAPNIC(Asia-Pacific Network Information Centre)に所属中のJPNIC(日本ネットワークインフォメーションセンター)が、同月にIPv4アドレスの在庫が同年4月に枯渇すると発表した(図391)。

図391 JPNICが発表した「IPv4アドレスの在庫枯渇に関して」

この問題を知る方々は「IPv6に切り替えれば済む話だ」と思われるだろう。そもそもIPv6アドレスとは、単純計算すると2の128乗=約340澗(かん)個まで使えるように拡張した規格である。IPv4の四倍となるIPv6は、前述のIPアドレス枯渇問題から生まれたものだが、IPv4と互換性がないため、ルーターやOS、ソフトウェアの改良が欠かせない。そのためWebサービス提供者が中心となって、月に一日だけ自社サービスをIPv6に切り替える「World IPv6 Day」を実施している。直近では2012年6月6日に実施されたばかりだ(図392)。

図392 World IPv6 Dayの公式サイト

使用しているネットワーク機器やISPによって、IPv6が使用できるか異なるものの、既にWindows OSは以前からIPv6に対応しており、Windows XP時代は特定のコマンドを実行することでIPv6を有効にできる。Windows Vista以降は初期状態で有効になっているため、ユーザー側が能動的に操作を行う必要はない。Googleが提供しているIPv6接続テストページに、ISPがPPTPを用いてIPv6アドレスを動的に割り当てるサービスを有効にすると、「既にIPv6を使用しているようです」というメッセージと共にIPv6の接続を確認できた(図393)。

図393 Googleが提供しているIPv6接続テストページ(http://ipv6test.google.com/)。使用環境によってメッセージは異なる

さて、冒頭の話に戻ろう。現在のインターネットはIPv4からIPv6からの移行期であり、両方のプロトコルがネット上を飛び交う状態だ。そのためWindows 8では、IPv4とIPv6の両方(IPv4/IPv6デュアルスタック環境)、もしくはそのいずれかの状態を判断し、適切な動作を取るように設計されていると、Core Networking Program ManagementチームのChristopher Palmer(クリストファー・パーマー)氏は述べている。

前述のとおりWindows Vista以降のWindows OSはIPv4/IPv6デュアルスタック環境となり、一部のISPで「IPv6/IPv4フォールバック」の問題が発生していた。その場合Windows VistaもしくはWindows 7は、RFC 3484に準拠しているため、IPv6を優先する仕組みになっている。だが、Windows 8は、RFC 3484をベースに改良を施しているため、冒頭の"RFC 3484に準拠していない"ということになるのだ。具体的にはIPv6の接続を確立できなかった場合はIPv4を使用。IPv6を必要とするサーバーに接続する際はTeredo(テレード)によってIPv6パケットをIPv4でカプセル化し、通信を行う。

また、同社が運用するIPv6専用のWebサーバーに対してパケットを送信し、その結果を元にプロトコルの優先度を決定する仕組みも用意された。このテストは毎月繰り返され、IPv6が使用できる環境であれば、Windows UpdateもIPv6を用いるという。このようにWindows 8は、従来のWindows OSと同じくIPv6をサポートしながらも、接続性を高めるための処理が加わっている。

繰り返しになるが、現在はIPv4からIPv6からの移行期であり、両方のプロトコルがネット上を飛び交う状態である。もちろんエンドユーザーがこれらのことを考慮する必要はないが、Windows 8がIPv6への移行をうながすように、ネットワーク環境を考えなす時期が来ているのではないだろうか。