インターネット接続事業者(ISP)が提供するIPv6サービスは個人にとって使い勝手の悪いものだった。IPv4サービスではユーザ側のルータにPPPoEやDHCPなどで各種アドレスが自動的に割り当てられるのに,IPv6では割り当てられないからである。IPv6サービスに契約したユーザはIPv6アドレスを手作業でルータに設定する必要がある。
このような状況を一新するIPv6サービスが登場した。NTTコミュニケーション(NTT Com)が2002年8月1日から受け付けを開始した試験サービス「OCN ADSLサービス IPv6デュアル(A) 」である。“プラグ・アンド・プレイ”を標榜し,つないだだけでIPv6のネットワークに接続できることをうたい文句にしている。
では,本当にこのサービスは,ネットワーク設定を自動化してくれるのだろうか。そこで本誌はアッカ・ネットワークスに協力してもらい,実際にどれぐらい簡単にサービスが利用できるのかを検証してみた。アッカ・ネットワークスは今回のサービスのADSL回線部分を提供している事業者である。
IETFの検討案を先取りで実装
検証の結果を示す前に,今回のサービスを整理しておく。
NTT Comは今回の“プラグ・アンド・プレイ”環境を提供するに当たって「DHCPv6」とその拡張技術である「DHCPv6-PD(Prefix Delegation)」を採用した。前者はDHCPのIPv6版である。後者はIPv6アドレスの先頭部分64ビット(ネットワーク部またはプレフィクスと呼ばれる,詳細は後述)の一部または全部を動的に受け取るための技術である。これらの新技術を使い,今回のサービスではユーザ側ルータがプロバイダの管理サーバから,DNSサーバのIPv6アドレスと,ルータに割り当てるネットワーク部の値を動的に受け取る。DHCPv6とDHCPv6-PDはともに,現在IETFで仕様検討を進めている。
このサービスに合わせる形で,ヤマハが同社のルータ「ネットボランチRTA55i」向けにDHCPv6/DHCPv6-PDに対応したファームウェアの配布を始めた。今回のテストでもこれを使った。
自動設定がなかった理由
図1●IPv6アドレスの構造 |
IPv6のアドレスは,128ビットで表現されるが,前/後半それぞれ64ビットずつに大きく分けられる(図1[拡大表示])。前半をネットワーク部と呼び,後半部分はホスト部と呼ばれる。
IPv6ではコンピュータ自身が,IPv6ネットワークに接続した段階で自分のIPv6アドレスを生成する機能を備える。
具体的には,マシン起動時に自身のいるネットワークの情報を周囲に問い合わせる。それに対して,ルータがネットワーク部を教える。IPv6マシンはこのネットワーク部と自身で生成したホスト部を合体させて自分のIPv6アドレスとして登録する。ホスト部の値は一般的にネットワーク・カードのMACアドレスから自動生成する。
一方のIPv6ルータは,これまで自動設定というわけにいかなかった。というのも,これまでネットワーク部の値を動的にやり取りする仕組みがなかったため,ネットワーク部を管理者が手入力しなければならなかったからだ。現在,ネットワーク部の前半48ビットはプロバイダが契約ユーザごとに固定的に割り当てるルールになっている。後半16ビットはユーザ側で任意に指定する。DHCPv6-PDをプロバイダとルータの両方でサポートすれば,ネットワーク部の前半48ビットの自動設定が可能になる。
プラグ&プレイ評価の三つの観点
図2●OCN ADSLサービス IPv6デュアル(A)の仕組みと,その仕組みから浮かぶ疑問点 |
ここまでを踏まえた上で,今回のサービスを実際に検証してみよう。検証で注目するポイントは三つある(図2[拡大表示])。
一つ目のポイントはルータのLAN側,WAN側に割り当てられるIPアドレスの種類である。一般にISPにつなぐ際,WAN側にはISPのアドレス,LAN側はユーザに割り当てられたアドレスが必要だ。今回のサービスでは二つのアドレスを配布するのだろうか。
二つ目がネットワーク部の後半の値をどうするかという点である。DHCPv6-PDがやり取りする値はネットワーク部の先頭48ビットだけで,全体(64ビット)ではない。このため,後半の16ビットをユーザが手入力する必要があるかもしれない。
三つ目はLANにつながるパソコンがどのように名前解決するのかという点だ。自身のIPv6アドレスは先に述べたような方法で自動生成する。しかし,DNSサーバのIPv6アドレスの取得方法に関しては現在IETFで議論中であり,Windows 2000/XPには何も実装されていない。今回のサービスではこれを解決する手段が与えられているだろうか。
v4サービス並みの簡単さを実感
まず,ルータへの設定は至極簡単だった。具体的には,PPPoEのためのユーザ名,パスワードを設定し,IPv6設定画面でDHCPv6を使ってプレフィックスを取得することを明示するだけある。以後,すぐにIPv6でつながるようになる。これはIPv4において,DHCPサーバからIPアドレスを取得するための手順と同じである。
このとき,ルータに割り当てられるIPv6アドレスはLAN側だけのものだ。WAN側には何も割り当てられない。いわゆるunnumberedの構成になる(WAN側のIPアドレスは対向に置かれるISP側のルータのものになる)。
LAN側ポートに割り当てられるIPv6アドレスのうち先頭48ビット以外の部分は,ルータ自身が自動設定した。48ビットに続く16ビットが「0」,ホスト部が「1」である。
クライアントへのDNSサーバのIPv6アドレス通知については,ルータは何も行わない。このため,LAN内のマシンに手作業でDNSサーバのIPv6アドレスを登録しない限り,IPv6による名前解決はされない。とはいうものの実際にはこれで困ることはない。Windows XPの実装上,Internet Explorerでの名前解決はIPv4を使い,IPv6アドレスが得られればIPv6で通信するからである。今回のサービスではIPv4もIPv6と同時に利用できる。そのため,この仕組みが使える。
つまり今回のサービスでは,IPv4並にアドレスが自動設定され,利用できることがわかった。