連載
» 2011年09月09日 00時00分 公開

デフォルトゲートウェイ冗長化プロトコルHSRPCCNP対策講座 SWITCH編(7)(1/2 ページ)

本連載では、シスコシステムズ(以下シスコ)が提供するシスコ技術者認定(Cisco Career Certification)から、ネットワーク技術者を認定する資格、CCNP(Cisco Certified Network Professional)のうち、2010年12月に日本語版が改訂された新試験【642-813 SWITCH】を解説します。

[齋藤理恵,グローバル ナレッジ ネットワーク]

 今回は、デフォルトゲートウェイを冗長化する方法と、冗長化のためのプロトコルHSRP(Hot Standby Router Protocol)について解説します。

ダイナミックルーティングだけでは足りない

 ルータを冗長構成にして、OSPF(Open Shortest Path First)などのダイナミックルーティングプロトコルを動作させると、ルータやリンクに障害が発生しても動的に経路を切り替えて通信を継続することができます。しかし、クライアントが指定しているルータ(デフォルトゲートウェイ)に障害が発生すると、ほかのサブネットにあてたトラフィックを送信できなくなります。

 クライアントと同じサブネットに、デフォルトゲートウェイとして動作させることが可能なルータが他に存在していたとしても、通常のクライアントにはデフォルトゲートウェイを動的に切り替える機能がありません。つまり、デフォルトゲートウェイに障害が発生すると、ほかのネットワークにトラフィックを送信できなくなります。

 このようにホストとデフォルトゲートウェイ間の障害はダイナミックルーティングプロトコルだけでは解決できません。デフォルトゲートウェイを冗長化する必要があります。デフォルトゲートウェイの冗長化を実現する代表的なプロトコルとしてはHSRP、VRRP(Virtual Router Redundancy Protocol)、GLBP(Gateway Load Balancing Protocol)が挙げられます。

 デフォルトゲートウェイを冗長化すると、サブネットにつながっている複数のルータをまとめて1台の「仮想ルータ」とすることができます。この仮想ルータにはIPアドレスなどを設定できるので、クライアントから仮想ルータにパケットを送信すれば、仮想ルータを構成するルータのうちどれかがパケットを他のネットワークに送信してくれるのです(図1)。

図1 2台のルータでデフォルトゲートウェイを冗長化した例 図1 2台のルータでデフォルトゲートウェイを冗長化した例

シスコのデフォルトゲートウェイ冗長化プロトコル

 HSRPは、シスコが開発したデフォルトゲートウェイ冗長化プロトコルです。HSRPを利用するには、1つのサブネットにつながっている複数のルータで、HSRPグループを作成します。このグループは番号で管理します。

 1つのHSRPグループには、必ず1台の仮想ルータを作る必要があります。仮想ルータは物理的には存在しませんが、HSRPグループを形成している複数のルータをあたかも1台のルータであるかのようにクライアントに見せかけるものです。この仮想ルータには、仮想ルータが参加するサブネット内で使用していないIPアドレスを割り当てます。

 クライアントには仮想ルータに設定したIPアドレスをデフォルトゲートウェイとして設定します。また仮想ルータにはHSRPグループ番号をもとにした仮想MACアドレスが自動的に付きます。仮想MACアドレスの1〜5バイト目まではシスコのベンダIDとHSRP固有のアドレスが入ると決まっており、6バイト目にHSRPのグループ番号が入ります。クライアントはこの仮想IPアドレスと仮想MACアドレスで仮想ルータを認識して、パケットを送信します(図2)。

図2 HSRPグループの構成例 図2 HSRPグループの構成例

 HSRPグループを構成すると、1台のアクティブルータと1台のスタンバイルータが決まります。アクティブルータを決めるときは、それぞれのルータの「プライオリティ値」を利用します。ルータの初期設定では、プライオリティ値は100となっており、HSRPグループ内でプライオリティ値が最も大きいルータがアクティブルータになります。プライオリティ値が最も大きなルータを探した結果、同一の値を持つルータが複数存在すると判明したときは、サブネット内で最も大きいIPアドレスを設定してあるルータがアクティブルータとなります(例えば、172.16.0.254/16と172.16.1.1/16を比較すると、第3オクテットが「1」となっている172.16.1.1の方が「大きなアドレス」となります)。

 アクティブルータは仮想ルータあてのARP要求に対してARP応答を返します。つまり、仮想ルータにやってきたパケットを実際にルーティングするルータです。スタンバイルータはアクティブルータのバックアップとして控えているルータで、アクティブルータが停止したときに、アクティブルータに代わって仮想ルータあてのパケットをルーティングします。スタンバイルータはHSRPグループ内で2番目にプライオリティ値が大きいルータとなります。アクティブルータの場合と同じように、スタンバイルータを選ぶときにプライオリティ値が同一の候補が複数存在するときは、IPアドレスが大きいルータがスタンバイルータとなります。

図3 アクティブルータとスタンバイルータの関係。クリックすると拡大 図3 アクティブルータとスタンバイルータの関係。クリックすると拡大

 3台以上のルータでHSRPグループを構成すると、アクティブルータでもスタンバイルータでもない「その他のルータ」がHSRPグループ内に存在することになります。このルータは、アクティブルータとスタンバイルータの両方が停止したときのバックアップとして待機します。

 アクティブルータとスタンバイルータは、互いに動作していることを確認するためにHelloパケットを定期的に交換します。初期設定では、Helloパケットの送信間隔は3秒です。

 アクティブルータが停止するとスタンバイルータはアクティブルータからのHelloパケットを受け取れなくなります。10秒間Helloパケットを受け取れないと、スタンバイルータはアクティブルータに障害が発生したと判断し、自身をアクティブルータに昇格させ、パケット転送処理を引き継ぎます。10秒間という値はあくまで初期設定値で、変更することも可能です。そして、この間隔を「Deadタイマー」と呼びます。

 このようにアクティブルータが停止してもHSRPグループ内で調整し、スタンバイルータが処理を引き継ぎます。クライアントは仮想ルータあてにパケットを転送しますので、物理的な転送ルータが変わったことを意識することなく通信を継続できるのです。

確認問題1

  • 問題

HSRPグループについて適切に説明しているものを2つ選択しなさい。

a.アクティブルータは1グループにつき複数選ばれる
b.仮想ルータがパケットの転送を担当する
c.アクティブルータがパケットを転送する
d.アクティブルータは1グループにつき1台選ばれる

  • 正解

 c、d

  • 解説

 1グループにつきアクティブルータ、スタンバイルータはそれぞれ1台ずつ選ばれます。実際にパケットの転送処理を受け持つのはアクティブルータです。仮想ルータは複数台のルータを、あたかも1台のルータであるかのようにクライアントに見せかけるためのもので、実際にパケットを転送するわけではありません。従って正解はc、dです。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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