連載
» 2012年04月02日 00時00分 公開

これから始めるIPv6(5):簡単、便利、高信頼! IPv6ネットワークの冗長化 (1/3)

IPv4アドレス在庫の枯渇やWorld IPv6 Dayの実施に伴い、「そういえば昔IPv6について読んだけれど、いまはどうなっているんだろう?」と感じている人も多いのではないでしょうか。最新状況を踏まえたIPv6の「基礎」を改めて紹介します。(編集部)

[高津智明,株式会社日立製作所/アラクサラネットワークス株式会社]

おさらい——ネットワーク冗長化の基本

 従来はネットワークの冗長化というと、金融系の勘定システムや公共サービスシステムなど、ほんの少しでも停止すると大変な問題となる重要拠点で運用するイメージがありました。しかし、コンパクトなゲーム機やスマートフォンなどの携帯端末の普及が一役かっているのか「いつでもどこでもインターネットを利用する」ことが多くなり、今日ではごく普通の用途でもネットワークが切れると、正直いってイライラします。また、IT技術に依存している会社では、ネットワークに問題があると一般の業務だって停滞します。

 そこでこの記事では、止まらないネットワークを実現するため、あるいは自動的にすぐに復旧できる高信頼で便利なネットワークを実現するため、IPv6ネットワークの冗長化、中でも、主に端末を収容するゲートウェイを冗長化する方法についてまとめます。

 IPv4ネットワークでゲートウェイを冗長化するには、VRRPなどのプロトコルを用いて1つのIPアドレス(またはサブネット)を仮想的に2台以上のルータで共有するアクティブ/スタンバイ方式図1)と、OSPFなどのダイナミックルーティングを用いて複数のネットワークに収容するマルチパス方式図2)が一般的でした。

図1 VRRPを用いたアクティブ/スタンバイ方式の冗長化 図1 VRRPを用いたアクティブ/スタンバイ方式の冗長化
図2 ダイナミックルーティングを用いるマルチパス方式の冗長化 図2 ダイナミックルーティングを用いるマルチパス方式の冗長化

 前者のアクティブ/スタンバイ方式は、ルータ(ゲートウェイ側)が冗長制御を行うので、ホスト(端末側)は特に意識することなく、特別な設定なしにネットワークに接続できます。しかし、ホストから、スタンバイ側のステータスや安全性を確認する手段がないため、何らかの問題があってネットワークが自動的に切り替わるまで、冗長制御が正しく動作しているか否かを確認することが難しく、信頼性の点でデメリットがあります。

 後者のマルチパス方式は、基本的にホスト(端末側)が主経路と副経路の両方を認識し、通信路を選択するので信頼性は高いのですが、特別な設定あるいは制御が必要になります。このため、サーバ用途には向きますが、スマートフォンなどに採用するにはハードルが高く、理想的ではありません。

【関連記事】

ネットワーク設計の定石(前編) どのように社内LANを設計するのか

http://www.atmarkit.co.jp/fnetwork/tokusyuu/jouseki01/01.html


最も簡単なIPv6ルータの冗長化設定

 IPv6ではRA(Router Advertisement)を利用して、ルータからホストにサブネットプレフィックス(IPv4でのネットワークアドレスに相当)を通知し、ホスト側はルータから通知されたサブネットプレフィックスを基にして自分のIPv6アドレスを決定します(第2回の記事参照)。

 この時、IPv6ノードは1つのインターフェイスに対して複数のアドレスを付けることができます。これらの仕組みを利用することで、IPv6ゲートウェイの冗長化が容易に行えます。

【関連記事】

第2回 どう割り振る? IPv6でのアドレス設計 - IPv6におけるネットマスクとアドレス生成

http://www.atmarkit.co.jp/fnetwork/rensai/v6again02/01.html


 まず、冗長化された2台のルータの一般的な設定内容を見てみましょう(図3)。

図3 RAを用いたIPv6ゲートウェイの冗長化 図3 RAを用いたIPv6ゲートウェイの冗長化

・ルータAの設定内容

interface vlan 100
  ipv6 address 2001:db8:beef::1/64
  ipv6 address fe80::beef:1 link-local
  ipv6 enable
  no ipv6 nd suppress-ra
注:“no”で始まる設定内容は実際には表示されません

・ルータBの設定内容

interface vlan 100
  ipv6 address 2001:db8:cafe::1/64
  ipv6 address fe80::cafe:1 link-local
  ipv6 enable
  no ipv6 nd suppress-ra
注:“no”で始まる設定内容は実際には表示されません

 ルータAには「beef」、ルータBは「cafe」というIPv6アドレスが付いています。“no ipv6 nd suppress-ra”の設定は、このインターフェイスでRAを使うという意味です。端末を収容することが多いボックススイッチでは、デフォルトでこの設定になっていることが多く、サンプルのように明示的に設定する必要はほとんどありません。

 次に、ホスト側の設定を見てみましょう(画面1画面2)。Windows 7の場合はコントロールパネルからローカルエリアネットワークのプロパティを表示して“インターネット プロトコル バージョン 6”のチェックボックスがONになっていることを確認します。

画面1 RAを利用する場合のWindows 7の設定例(1) 画面1 RAを利用する場合のWindows 7の設定例(1)
画面2 RAを利用する場合のWindows 7の設定例(2) 画面2 RAを利用する場合のWindows 7の設定例(2)

 最低限必要な設定はこれだけです。IPv6ルータでRAを有効にすると、ホスト側のアドレスは自動的に生成されるのでDHCPサーバは必要ありませんし、デフォルトゲートウェイを明示的に指定する必要もありません。冗長化する2台のルータのアドレスを設定してホストを接続するだけで設定が完了します。

ノード(ホストやサーバ)主導の冗長制御

 ホストと各ルータの接続ができたので、続いて、ホスト側でIPv6のアドレスがどのように付加されているか確認してみます。

 Windows系のOSでは、確認用のコマンド“ipconfig”を用い、Mac OS XなどのUNIX系では“ifconfig”を用います。ここではWindows 7で実行した例を挙げます。

・Windows 7でのIPv6アドレスの確認

C:\>ipconfig
Windows IP 構成
イーサネット アダプター ローカル エリア接続:
   接続固有の DNS サフィックス . . . :
   IPv6 アドレス . . . . . . . . . . . : 2001:db8:beef:0:c414:4e77:b627:40e7
   IPv6 アドレス . . . . . . . . . . . : 2001:db8:cafe:0:c414:4e77:b627:40e7
   リンクローカル IPv6 アドレス. . . . : fe80::c414:4e77:b627:40e7%12
   デフォルト ゲートウェイ . . . . . . : fe80::beef:1%12
                                        fe80::cafe:1%12

 “beef”と“cafe”の両方のアドレスが付いて、デフォルトゲートウェイも2つ登録されていることが確認できると思います。

 ここで“2001:db8:beef:0:”と“2001:db8:cafe:0:”がルータからRAで通知されたプレフィックス(IPv4のネットワークアドレスに相当)で、それ以後の“c414:4e77:b627:40e7”はWindows 7が自動生成したインターフェイスIDです。

 さて、ここで大きな疑問がわいてきます。ホストが実際に通信する際、いったいどちらのアドレスとゲートウェイを使うのでしょうか?

 試しに、いくつかのサーバ宛に通信して経路を確認しましょう。

 通信経路を確認するには、IPv4でもおなじみのトレースルート(Traceroute)を用います。Windows系のOSでは“tracert”、Mac OS XなどのUNIX系では“traceroute”に続けて宛先のサーバを指定します。次のWindows 7における実行例では、途中経路を確認する必要がないので、ホップリミットを1に指定しています。

・Windows 7で“www.kokatsu.jp”宛ての通信路を確認した例

C:\>tracert -h 1 www.kokatsu.jp
www.kokatsu.jp [2001:dc2:1000:2008::5456] へのルートをトレースしています
経由するホップ数は最大 1 です:
  1    <1 ms     *       <1 ms  2001:db8:beef::1
トレースを完了しました。

・Windows 7で“www.v6pc.jp”宛ての通信路を確認した例

C:\>tracert -h 1 www.v6pc.jp
v6pc.jp [2001:218:2001:3003::66c] へのルートをトレースしています
経由するホップ数は最大 1 です:
  1     3 ms     *       <1 ms  2001:db8:cafe::1
トレースを完了しました。

 www.kokatsu.jp宛には“beef”のインターフェイス、www.v6pc.jp宛には“cafe”のインターフェイスを使用していることが分かります。このように、ホストが複数のプレフィックス(マルチプレフィックス)を持つ場合、ノードが自分自身のアルゴリズムに従って通信経路を選択し、結果的にロードバランスされるのです。

【関連記事】

ipconfig - Windowsのネットワーク設定を確認する

http://www.atmarkit.co.jp/fnetwork/netcom/ipconfig/ipconfig.html

traceroute - ネットワークの経路を調査する

http://www.atmarkit.co.jp/fnetwork/netcom/traceroute/traceroute.html


       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

@ITのメールマガジン(無料)

✔ 【@IT通信】
  編集部のおすすめ記事、限定コラムをお届け
✔ 【@IT新着速報】
  新着記事・速報をまとめてお届け
✔ 【@IT自分戦略研究所Weekly】
  転職支援情報やキャリアアップ情報をお届け

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。