ネットワークTOP  |  IPv6 TOP

IPv6ネットワークを作ろう

IPv6とはどのようなものか?

まずはそのメリットについて確認してみよう。IPv6のメリットとしては、

@ 豊富なアドレス空間 → アドレス枯渇問題の解消
A P2P通信の実現 → 全員がグローバルアドレス
→ NATを使用せず直接通信が可能。
→ NATの存在で使用をあきらめていたアプリケーションが使用できる。
B セキュリティの確保 → 標準でIPsecを実装
C アドレス自動設定 → エンドユーザー・管理者の負担軽減
D ブロードバンド通信対応 → マルチキャストが標準実装
があげられる。

いわゆるキャリアと呼ばれる通信事業者と、ユーザをインターネットに接続するISPは、FTTHなどのブロードバンド回線を普及させるために、その広い帯域を十分に活用する動画コンテンツの充実に力を入れているということだ。動画コンテンツを配信するのに、IPv4では帯域を圧迫するユニキャスト通信が一般的だ。もちろんIPv4でもマルチキャストに対応しているがオプションである。IPv6ではマルチキャストが標準機能であり、これからの広帯域動画の配信・通信方法として、回線を圧迫しないIPv6マルチキャストの利用が、一般的になると思われる。そこで、一般ユーザの方へのIPv6サービスへの取っ掛かりは、動画のストリーミングコンテンツかも知れない。

運用面では、アドレス自動設定などユーザにとってはメリットであるが、ユーザにとって簡単・便利になるということは、サービスを提供・準備するエンジニアにとっては、IPv4に比べて難しくなっている部分・習得せざるを得ない新技術もある。

例)アドレス自動設定のためには、アドレス払い出しの機能が必要。 もちろんこれはWindows Server 2003で実現可能だ。更に今回は、IPv6ネットワークをWindowsで構築したときに、通常のIPv4ネットワークと比べてどのように運用方法が異なるのか、という部分を、Windows Server標準のDNSサーバとHTTPサーバ(IIS)を例にして述べる。

IPv6の概要

IPv6は次世代プロトコルである。現在利用されているIPv4プロトコルで足りない機能を実装し、使用されていなかった機能を省き、次世代を担うプロトコルとして生まれた。インターネット プロトコルの現在のバージョン (IPv4) のアドレスの枯渇、セキュリティ、自動構成、拡張性などの問題の多くを解決するように設計されている。IPv6では、インターネットに接続している全てのホストにグローバルアドレスを提供できるのでエンド・ツー・エンドの通信が可能である。ピアツーピア アプリケーションやモバイル アプリケーションなど、新しい種類のアプリケーションに対応できるようにインターネットの機能を拡張している。

アドレス枯渇問題の解消

IPv4の32bitアドレス空間では約42億個のアドレスを利用できる。これでは残念ながら、人口一人当たりにひとつのIPアドレスを割り当てられない。IPv4アドレス空間で、約42億個のこの空間が使い果たされると明らかになったときに、NAT・NAPTなどの対策が考案され、ユーザのインターネットアクセスには現在のところ支障は出ていないが、エンド・ツー・エンドの通信ができないことから、エンド・ツー・エンドのアプリケーションの利用に不都合が出ているのが現状だ。

IPv6は、IPv4よりもはるかに多くのアドレスを使用できる。IPv6アドレスのサイズは128bitで、IPv4アドレスの32bitの4倍となる。128bitアドレス空間で利用可能なアドレスは340,282,366,920,938,463,463,374,607,431,768,211,456個である。筆者は兆より遥かに大きなこの数字を漢字の単位で呼ぶことが出来ない。

IPv4アドレス空間で、この空間が使い果たされると明らかになったときに、NAT・NAPTなどの対策が考案され、ユーザーのインターネットアクセスには現在のところ支障は出ていないが、エンド・ツー・エンドの通信ができないことから、エンド・ツーエンドのアプリケーションの利用に不都合が出ているのが現状だ。

IPv6アドレスの表現方法

16bitブロック・16進表示

IPv4アドレスは32bitの2進数を8ビットのブロック(オクテット)に分け、それぞれを10進数で表示する。区切り記号はピリオドだ。

2進数 11000000. 10101000. 00000000. 00000001
10進数 192. 168. 0. 1

IPv6アドレスは128bitの2進数を16ビットのブロックに分け、それぞれを16進数で表示する。区切り記号はコロンである。

2進数 0010000000000100: 1111111110101000: 0000000000000000: 0000000000000000:
0000000000000000: 0000000000000000: 1111000100000000: 0000000011110001
16進数 2004: FFA8: 0000: 0000:
0000: 0000: F100: 00F1

やっと一行で書ける長さに表現できた。一行表示する。

16進数 2004: FFA8: 0000: 0000: 0000: 0000: F100: 00F1

各ブロック先頭の0を省略できる。

16進数 2004: FFA8: 0: 0: 0: 0: F100: F1

さらに、ブロックを超えて0の連続を一箇所だけ省略できる。

16進数 2004: FFA8: : F100: F1

プレフィックス

IPv6では、ネットワーク部分ホスト部分IPv4のCIDRと同じ、<アドレス>/<プレフィックス長> という表記で表示する。

ネットワーク部分をプレフィックスといい、ホスト部分をホストIDもしくはインターフェースIDと呼ぶ。 IPv4と同様、プレフィックス長によって1つのネットワークに属するホスト数も変動する。IPv6では全アドレス数が膨大なので、IPv4でのクラスA・クラスB・クラスCのような分け方をしなくても十分にアドレスを割り当てられる。そこで、ISPからユーザにアドレスが提示されるときは/64(ホストの場合)もしくは/48(ネットワークの場合)のプレフィックス長で払い出されることが多いだろう。

IPv6アドレスの種類

IPv6アドレスはIPv4アドレスと異なり、インターフェース1つに複数のアドレスがある。もちろんIPv4のときでも複数のインターフェースとして構成する場合に、複数のIPアドレスを明示的に設定することもあった。IPv6の場合は、マルチホームコンピュータとして構成しなくても、1つのインターフェースに複数のIPアドレスを設定する。各ホストに設定するアドレスの種類は、ローカル リンク トラフィック用のリンク ローカル アドレスと、ルーティング可能なグローバル ユニキャスト アドレスの 2 つである。IPv4と同様、ループバックアドレスも存在する。

  • インターフェイスごとに 1 つのリンクローカルアドレス(ルーターを超えない。)
  • インターフェイスごとに1つ以上のグローバル ユニキャスト アドレス(ルーターを超える。)
  • ループバック インターフェイスのループバック アドレス (::1)

アドレス空間がどのように割り当てられているかを知りたいときはここ。

アドレス自動設定・リンクローカルアドレス・グローバルアドレス

サーバーやルーターを除くほとんどのホストでは、IPv6 アドレスを手動で設定する必要はない。リンク ローカル アドレスは、インターフェイスごとに自動的に設定され、FE80::/64 というプレフィックスが付く。Windows 2000以降に実装されたIPv4のAPIPAに相当する。

Windows Server 2003IPv6プロトコルには、ルーター検出機能が追加されており、ローカルネットワーク内のIPv6対応ルーターの存在を検出し、追加のグローバルIPv6アドレスを自動的に設定する。更にnetsh interface ipv6 add addressコマンドを使用して、インターフェイスに追加の IPv6 アドレスを手動で設定できる。このコマンドにより、インターフェイス、アドレス、希望する有効期間、およびアドレスがユニキャストかエニキャストかを指定できる。IPv4のグローバルアドレス(パブリックアドレス)に相当する。

また、netsh int ipv6 set int <intface name> forwarding=enabled advertise=enabledコマンドとnetsh int ipv6 add route <ip addr::>/<prefix> <intface name> publish=yesコマンドでWindows Server 2003をルーターとして構成できる。IPv6ルーターは、プレフィックス情報オプションを含むルーター アドバタイズ (RA) メッセージを送信する。クライアントのグローバル ユニキャスト アドレスは、RAの受信に基づいて自動的に設定される。

Windows Server 2003のIPv6機能

DNS

Windows Server 2003では、次のようにDNSをサポートする。

  • DNSクライアント(resolv)機能は、AAAA (クアッド A) レコードと呼ばれるIPv6 ホスト リソース レコードの照会、処理、動的登録をサポートする。DNS メッセージは、IPv4 でも IPv6 でも交換できる。
  • DNSクライアント(resolv)機能は、FEC0:0:0:FFFF::1、FEC0:0:0:FFFF::2、および FEC0:0:0:FFFF::3 という DNS サーバー アドレスを自動的に設定する。この値はデフォルトで有効である。netsh interface ipv6 add dnsコマンドを使用して、静的にIPv6対応DNS サーバーのIPv6アドレスを設定することもできる。この場合は、自動設定されたFEC0:0:0:FFFF::1、FEC0:0:0:FFFF::2、および FEC0:0:0:FFFF::3のアドレスは消去される。明示的な追加は可能だ。
  • DNSサーバーサービスでは、IPv6ホスト リソース レコードの格納、照会、および動的登録をサポートする。DNS メッセージは、IPv4 でも IPv6 でも交換できる。ネイティブにIPv6クエリに対応している。Windows 2000の時は、AAAAレコードの登録と照会が出来たが、IPv6クエリに対応しておらず、IPv4クエリに対して、AAAAレコードの登録内容をIPv4で応答していた。

その他のアプリケーション

Windows Server 2003には、以下のものが用意されている。

  • IpconfigPingTracertPathpingNetstatおよびRouteコマンドの IPv6 対応バージョン
  • IPv6 対応の Microsoft Internet Explorer およびインターネット インフォメーション サービス (IIS) Web サービス
  • Telnet クライアント (Telnet.exe)、Telnet サーバー (Tlntsvr.exe)、ファイル転送プロトコル (FTP) クライアント (Ftp.exe)、および Windows Media サービスIPv6 対応バージョン
  • Network Monitor IPv6 ヘッダー解析サポート

つづく・・・・

 
ネットワークTOP  |  IPv6 TOP
Copyright (C) 2003 by Yasumaro. All rights reserved.
 ↑ ご意見・ご感想・ご要望・苦情はこちらまで。↑
最終更新日2004年04月04日
HIEDA.NET