このページの本文へ

前へ 1 2 次へ

使えばわかる!IPv6入門第1回

実際に操作をして仕組みを理解

WindowsでIPv6の基本を試してみよう

2011年05月24日 08時00分更新

文● 伊藤玄蕃

  • この記事をはてなブックマークに追加
  • 本文印刷

IPv6アドレスの構造

 IPv6アドレスには、図2のように「ネットワークプレフィックス」と「インターフェイス識別子(ID)」の2つの要素がある。

図2 IPv6アドレスの「ネットワークプレフィックス」と「インターフェイス識別子(ID)」

 プレフィックスはIPv4のネットワークアドレスに相当し、以下のように表記する。

プレフィックス値/プレフィックス長

 よって、「アドレス"fe80::4163:ee0e:40ff:8b23"のネットワークプレフィクスは"fe80::/64"」のように表現する。通常、プレフィックス長は64ビットである。

 インターフェイスIDには、

  1. EUI-64(Extended Unique Identifier-64)という変換規則により、NICのMACアドレスから機械的に生成される値
  2. 乱数によりランダムに生成された値

の2つが使われる。初期のIPv6の実装ではEUI-64が多く、Windows XP、Mac OS XのIPv6はEUI-64を使っている。

 ここではWindows XP SP2 の例を先に示そう。NICのMACアドレス情報まで表示させるには、「ipconfig」コマンドに「/all」というオプションを付けて実行する。注目してほしいのは、画面3の部分である。6オクテットのMACアドレス(Physical Address)のうち、2オクテット目から6オクテット目までが、インターフェイスID(IPv6アドレスの下位8オクテット)に含まれていることがわかるだろう。

画面3 Windows XPで“ipconfig /all”を実行する

 しかしながら、EUI-64で生成されるインターフェイスIDを使うと、IPv6をアドレスを見ただけでコンピュータのMACアドレスを特定できてしまうので、インターネット上ではセキュリティ上の問題が生じる。そこで、Vista以降ではEUI-64により値を生成するのをやめ、ランダムな値を使うようになった。Windows 7で「ipconfig /all」を実行してみよう(画面4)。

画面4 Windows 7 で“ipconfig /all”を実行する

 MACアドレス(物理アドレス)の“00-16-36-F7-73-D2”から、インターフェイスIDをEUI-64で生成すると“0216:36ff:fef7:73d2”になる。しかし、画面4のリンクローカルIPv6アドレスのインターフェイスIDは、まったく異なる値になっている。これは、Windows Vistaで実行しても、同様の結果だ。Windows Vista以降のWindowsでは、このように、リンクローカルIPv6アドレスのインターフェイスIDから、MACアドレス(物理アドレス)を推測できないようになっている。

IPv6のアドレス

 IPv4には多くの種類のアドレスがあるが、そのうち重要なのはグローバルアドレスとプライベートアドレスの2種類である。同様に、IPv6も多くの種類のアドレスがあり、そのうち重要なのは以下の3種類のアドレスだ。これだけは絶対に覚えておこう。

1.グローバルアドレス

 インターネット上では、IPv4と同じくインターネット内で一意の(重複しない)グローバルアドレスを利用する。グローバルアドレスの構造は、IPv6アドレスの配布状況や技術動向に応じて修正される。現時点で実際に配布されるグローバルアドレスは、上位3ビットが「001」固定、次の61~45ビットがグローバルルーティングプレフィックス、その次の16~0ビットがサブネットID、下位64ビットがインターフェイス識別子である(図3)。

図3 IPv6のグローバルアドレスの構造

2.ユニークローカルアドレス

 ユニークローカルアドレスはIPv4のプライベートアドレスに相当し、組織内で閉じたイントラネットなどで利用する。以前はサイトローカルアドレスがこの目的で使われていたが、さまざまな問題が生じたため、RFC4193でユニークローカルユニキャストアドレスに置き換えられた。ユニークローカルアドレスの上位7ビットは“1111110”で、アドレスの範囲は“fc00::/7”である。ただし、8桁目が“0”のアドレスの使用が禁止されているため、現時点でイントラネットで実際に使えるアドレスの範囲は“fd00::/8”に限られる(図4)。

図4 ユニークローカルアドレスの構造

 ユニークローカルアドレスは、インターネットとの接続は想定していない。しかし、40ビットのGlobal IDは重複しないよう乱数により決定する。これにより、企業の合併や統合により複数のネットワークが接続された場合でも、アドレスを付け直さなくて済む。

3.リンクローカルアドレス

 IPv6では、Ethernetのブロードキャストの到達範囲(ブロードキャストドメイン)を「リンク」と呼ぶ。リンクローカルアドレスは、ノードの起動時にインターフェイスに自動的に割り当てられるアドレスで、グローバルアドレスなどの設定を自動化するために用いられる。

 リンクローカルアドレスは、リンク内では一意性が保証されるが、ルーターを超える通信では使用できない。アドレスの形式は、上位10ビットが“1111111010”、次の54ビットがすべて0、そして下位64ビットがインターフェイス識別子である(図5)。

図5 リンクローカルアドレスの構造

 インターフェイス識別子は、ノードの起動時やインターフェイスを有効にした際に例外なく自動設定され、手動で設定することはできない。リンクローカルアドレスは“fe80::インターフェイス識別子”と表記でき、プレフィクスは“fe80::/64”である。

 次回は手元にあるLANをIPv6化するというテーマで解説していく。

初出時、図2の画像に誤りがありました。お詫びし、訂正させていただきます。(2011年6月14日)

前へ 1 2 次へ

カテゴリートップへ

この連載の記事
ピックアップ