ネットワークに接続された端末機器はデフォルトゲートウェイとなるL3スイッチやルーターの障害などで機能が停止すると、ネットワーク全体に大きな影響が出てしまいます。このような事態にそなえて、デフォルトゲートウェイを冗長化するシスコ独自のプロトコルが HSRP となります。
HSRPの基本動作
HSRP(Hot Standby Router Protocol)は、複数のルーターで構成された論理的な1つのデフォルトゲートウェイでルーティング機能を冗長化することができるシスコ独自のプロトコルです。
複数のルーターで共通の HSRP グループを設定しグループの中から1つのルーターがアクティブルーターとしてルーティング機能を提供します。アクティブルーターとなったルーターは、グループごとに割り当てられた仮想 IP アドレスと仮想 MAC アドレスを保持します。
その他のもう1台がスタンバイルーターとして常にアクティブルーターを監視しアクティブルーターに障害が発生すると機能を引き継ぎます。
ホスト端末から見ると常に1つの仮想 IP アドレスと仮想 MAC アドレスをもつデフォルトゲートウェイにしか見えませんので、障害で切り替わってもホスト側も設定変更等は必要なく通信を継続できます。
仮想 IP アドレスと仮想 MAC アドレス
仮想 IP アドレスは、インタフェースに設定された IP アドレスとは別に、HSRP グループ内で共通で設定された IP アドレスです。
アクティブルーターがもつ仮想 MAC アドレスは以下のような形でフォーマットが定義されています。
c000.0c07.acXX
(XXは設定したHSRPグループの16進数で表記された番号が入ります)
アクティブルーターの選出方法
各ルーターがやり取りをおこなう hello パケットの中に、設定したプライオリティ値が入っているため、この値を比較し最も大きい値を持つルーターがアクティブルーターとなります。値が同じ場合は、最も IP アドレスの値が大きいルーターがアクティブルーターとなります。アクティブルーターになるとデフォルトゲートウェイとして仮想IPアドレスに到着するデータを転送します。
HSRP Hello パケット
HSRP グループのルーター同士の情報のやり取りには HSRP の hello パケットを使用します。すべてのルーターと通信をおこなうために予約されたマルチキャストアドレス宛にデフォルト設定の3秒間隔でデバイス間を流れます。
また、スタンバイルーターでは、hold タイムの10秒(デフォルト値) の間に アクティブルーターから hello パケットが届かない場合は、自身がアクティブルーターを引き継ぎます。
hello タイム 3秒
hold タイム 10秒
HSRP 状態遷移
HSRP の設定されたルーターのインターフェイスは、Listen/Standby/Active のいずれかの状態で安定します。
Initial | 初期状態 。 |
Learn | ルーターに仮想IPアドレスが設定されておらず学習するためにアクティブルーターから hello パケットを待っている状態。 |
Listen | ルーターは仮想IPアドレスを認識しているが、アクティブルーターまたはスタンバイルーターからの hello パケットを待っている状態。どちらにもなれないルーターは、このステータスの状態でとどまります。 |
Speak | ルーターはアクティブルーターまたはスタンバイルーターに参加するために、hello パケットを送信します。 |
Standby | スタンバイルーターになり、定期的にhelloパケットを送信している状態。 |
Active | アクティブルーターとなり、グループ内の仮想MACアドレスをもっており、受信したパケットをルーティングします。定期的にhelloパケットを送信している状態。 |
参考リンク
ネットワークのゲートウェイとは – Gateway の種類と役割
ゲートウェイを冗長化する Cisco HSRP の基本設定と確認方法
コメント