
Windows Vistaのネットワークってどうなってるの?
VistaのIPv6関連機能をおさらいしよう
2007年1月末、ついにWindows Vistaが登場する。これまで何度もお伝えしてきているとおり、Vistaのネットワーク機能における最大の特徴が「IPv6のネイティブサポート」だ。これは、単にVistaのIPスタックが標準でIPv6になるということを指し示すだけではなく、「搭載するすべてのアプリケーションをIPv6対応にする」ということを開発目標として掲げていることを意味する。
従来のWindows XPでもOSとしてIPv6をサポートし、いくつかのアプリケーションがIPv6対応になっていたが、OSの開発当初から対応したものではないということもあって、IPv6のすべての機能が使えなかったり、アプリケーションの対応も不完全なものであったりと、実際に使うシーンではつまずくことが少なくなかった。
しかしVistaでは、先にも述べたように「すべてIPv6対応」の名の下にブラウザ、メーラー、各種ツールにいたるまでIPv6対応が最初からなされている。今回はIPv6ネイティブなOSとしてのWindows Vistaを使用して、IPv6との簡単で新しい付き合い方を提案しよう。
VistaとXPの違い
VistaとIPv6の具体的な使い方の前に、従来のWindowsとVistaとではいったい何が違うのかを確認しておこう。
Windows XPで利用できるIPv6対応のアプリケーションといえばInternet Exploreが筆頭にあがる。「IPv6でインターネットにつながっている」ことを確かめるためには、IPv6対応のサイトを見るのが一番わかりやすいということもあって、その存在が目立つことになる。初めてIPv6環境を手に入れた人ならば、動くカメを見たいというのが人情だろう。
しかし、いつもインターネットを利用する=ネットサーフィンというわけではない。メールやメッセンジャーといったコミュニケーションツールの重要性は言わずもがなだし、その他ネットワークを利用するアプリケーションは山のようにある。ところがXPに標準搭載されているOutlook ExpressやWindows MessengerはIPv6に対応していなかった。
実は、メールサーバー自体(Exchange Server)はかなり前からIPv6対応していたにもかかわらず、もっともシェアのあるメールクライアントがIPv6対応していなかったため、オフィスなどでIPv6導入を図ろうにも、難しい状況だった。
それに、そもそもWindows XPはIPv6に対応しているとはいうものの、IPv4とのデュアルスタックが前提であり、IPv6だけで運用することが出来ないという問題があった。現実問題として、現在のインターネットを鑑みれば、オフィスのネットワークはIPv6オンリーではなく、IPv4/IPv6デュアルネットワークが必然だろう。
したがって、XPの時でも一見するとこの状況はそれほど変わったとはいえないように見える。なぜならメールクライアントにしてもサードパーティやオープンソースのものを使えばXPでも十分使えたからだ。メッセンジャーもパッチや前述のport forwarderのようなツールを使う方法を取れば、少なくともインターネット上は(中身がIPv4パケットだとしても)IPv6を使うことはできた。
ではVistaがIPv6を使うということにおいて最も勝っている点、言い換えるとXPで足りなかったものとはなんだろうか。
Vistaで変わったこと
IPv6を利用する上でのVistaのメリットは、いくつもある。技術的なポイントで言えば、DNSに関することが大きい。
インターネット上のサイトにIPv4でアクセスする際、DNSが使えない場合に210.xxx.yyy.zzzのようにアドレスをそのまま書くことは、テストのときに限らず特に珍しいことではない。ところがIPv6になるとそうはいかないことはすぐわかるだろう。つまりIPv6を使うにはDNSが絶対必須といえるわけだ。
例えばwww.sample.comというサイトのアドレスをDNSサーバーに問い合わせると、IPv6アドレスを持っていればAAAAレコードとして返答が帰ってくる。もしwww.sample.comがIPv4アドレスを持っていればAレコードで返答を返す。そしてIPv4、IPv6の2つともを持っている場合は、答えが2つ返ってくるということになる。
XPの場合、この流れに2つの問題が潜んでいる。1つはDNSサーバーに問い合わせ(クエリ)を投げるためにIPv4しか使えないということだ。仮にすべてをIPv6で構築しようとしてもDNSだけはどうしてもIPv4を使わざるをえない。とはいえまだこの問題は(現実的にはIPv6だけということは考えにくいという意味で)目をつぶれないこともない。
2つ目の問題は重大だ。それは接続先のホストやサイトがIPv4とIPv6の2つのアドレスを持つ場合に起きる。XPの場合、AAAAレコードが優先するということにもかかわらずAレコードを使ってしまう挙動を示すことがある。マイクロソフトのKBにも書かれているものの、DNSサーバーの問題ということで回避できない場合がある。これでは安心して使えない。
1つの解決策として考えられるのはDNSサーバーをIPv6でも動作させ、IPv6アドレスからのリクエストに対しはAAAAレコードがあれば、それだけを返すようにする方法だ。もちろんAレコードしかなければAレコードだけを返すことは言うまでもない。なぜこれが解決策になるかといえばIPv6でリクエストを送ることができる=IPv6でアクセスすることが保証されるからだ。これがIPv4でリクエストした場合、もしIPv6のコネクティビティがあってもDNS側では判断できない。
さらに現在のアプリケーションを実装する場合、AAAAレコードとAレコードがあり、どちらかがある事情で停止していた場合にフォールバックさせるためには、プロトコルスタックがそのような機能を持っていない以上、アプリケーション自身が切り替えるしかない。そしてこの解決策を採用するにしても、クライアントがIPv6でDNSクエリを投げることができなければならないが、XPでは不可能だったというわけだ。
XPでのIPv6でもう1つ足りなかったものとしてIPSECのサポートが未熟だったということが挙げられる。そもそもデータの暗号化ができないIPSECでは使いでがほとんど無かったと言わざるをえない。それがVistaではフルセットではないものの、使えるレベルのものが提供されている。
さらにファイアウォールもIPv6に対応した。XPでも使うことはできたがコマンドラインで設定するといった使いやすいとはいえないものだったが、従来のIPv4と同様に設定できるようになった。機能面でも単なるパケットフィルタではなく、ステートフルなものになり、P2Pのように直接接続が増えることが予想されるIPv6に相応しいものにバージョンアップしている。
Vistaのブレイクスルー
しかし、VistaでIPv6を利用することのメリットは、単にVistaのIPv6機能が仕様通りに動くと言うだけではない。従来は難しかったネットワークの使い方が、簡単に利用できるようになるのだ。
たとえば、オフィスにPCと自宅にあるPCをIPsecで接続してファイル共有することで、自宅で作った資料を会社から取り出したり、出先で打合せの時にIPv6とWi-Fiでアドホックネットワークを構築して、Windows Meeting Spaceを利用してデータやデスクトップを共有したり、ファイヤーウォールでIPsec以外の通信をすべて遮断してセキュアな通信環境を構築したりといったことが、Vista+IPv6にいよてこれまで以上に簡単になるのだ。
このようにVistaはIPv6を「なんとか使える」から「普通に使える」レベルに引きあげることのできるポテンシャルを持っている。次回からは実際にいくつかの機能を試していくことで、IPv6が「普通に使える」ことを知り、そしてVistaのさまざまな新機能と組み合わせることで、日常の仕事における作業が「もっと便利に、簡単になる」ことを実感して欲しい。


