Cisco HSRPアクティブルータ

Cisco HSRPアクティブルータは、仮想ルータ宛てのパケットをルーティングする役割を持っています。アクティブルータの主な動作は、以下のようになります。

  • 仮想IPアドレスのARPリクエストに対してARPリプライを返す。ARPリプライには仮想MACアドレスが含まれる
  • 宛先MACアドレスが仮想MACアドレスのパケットを受信
  • HSRP Helloパケットの送信元MACアドレスとして仮想MACアドレスを利用する

さらに、アクティブルータになったときにGratuitous ARPで、仮想IPアドレスと仮想MACアドレスの対応を送信しています。

仮想ルータ宛てのパケットをアクティブルータがルーティングするためには、当たり前のことですが、仮想ルータ宛てのパケットがアクティブルータへと転送されなければいけません。どうやって仮想ルータ宛てのパケットがアクティブルータへ転送されているのかという仕組みもしっかりと把握しておきましょう。

仮想ルータ宛てのパケットがアクティブルータへ転送される仕組み

こうなればOK

仮想ルータには、仮想IPアドレスだけではなくて仮想MACアドレスもあります。設定で決めるHSRPグループ番号を組み込んで「00-00-0C-07-AC-XX (XX:HSRPグループ番号)」というMACアドレスです。

PCとデフォルトゲートウェイとなるルータ/レイヤ3スイッチの間には、たいていレイヤ2スイッチが介在します。レイヤ2スイッチのMACアドレステーブルがどのようになるかがポイントです。レイヤ2スイッチのMACアドレステーブルに仮想MACアドレスの情報がアクティブルータと接続しているポートで登録されるようにすればOKです。

図 PCとR1/R2間のレイヤ2スイッチのMACアドレステーブル
図 PCとR1/R2間のレイヤ2スイッチのMACアドレステーブル
図のMACアドレスは表記を簡略化しています。

そうすると、仮想ルータ宛て、すなわち、宛先MACアドレスが仮想MACアドレスであるイーサネットフレームがアクティブルータへと転送されます。

図 仮想ルータ宛てのイーサネットフレームの転送
図 仮想ルータ宛てのイーサネットフレームの転送

どうやってMACアドレステーブルに仮想MACアドレスを適切に登録するか?

そして、このようなMACアドレステーブルになるようにするために、アクティブルータは以下のように動作します。

  • アクティブルータになったときにGratuitous ARPを送信
  • HSRP Helloパケットの送信元MACアドレスとして仮想MACアドレスを利用

アクティブルータになると、Gratuitous ARPを送信します。Gratuitous ARPでホストのARPキャッシュに仮想IPアドレスと仮想MACアドレスを速やかに登録しようとします。そして、Gratuitous ARPの送信元MACアドレスとして仮想MACアドレスを利用しています。その結果、間に介在するレイヤ2スイッチのMACアドレステーブルには仮想MACアドレスがアクティブルータが接続されているインタフェースで登録されます。

図 アクティブルータからGratuitous ARPを送信
図 アクティブルータからGratuitous ARPを送信

MACアドレステーブルのエントリは時間が経つと消えます。MACアドレステーブルの仮想MACアドレスのエントリを維持できるように、HSRP Helloパケットの送信元MACアドレスとして仮想MACアドレスを利用しています。アクティブルータからHSRP Helloを送信すると、レイヤ2スイッチはその送信元MACアドレスを受信したポートでMACアドレステーブルに登録します。すでに登録されているMACアドレスであれば、エージングタイマがリセットされます。定期的にHSRP Helloを送信することで、仮想MACアドレスのエントリがレイヤ2スイッチのMACアドレステーブル上で維持されるようになります。

図 アクティブルータからHSRP Helloを送信
図 アクティブルータからHSRP Helloを送信
スタンバイルータはHSRP Helloメッセージの送信元MACアドレスとして本来のMACアドレスを利用します。
図では、間に介在するレイヤ2スイッチは1台のみですが、何台いても同様です。

アクティブルータが切り替わったら、新しいアクティブルータはGratuitous ARPを送信します。このときに、介在するレイヤ2スイッチのMACアドレステーブル上の仮想MACアドレスの情報はポートが書き換わります。 新しいアクティブルータのポートで仮想MACアドレスが登録されることになります。

図 新しいアクティブルータからGratuitous ARPを送信
図 新しいアクティブルータからGratuitous ARPを送信

そして、HSRP Helloで切り替わった仮想MACアドレスの情報をMACアドレステーブル上で維持されるようにしています。

図 新しいアクティブルータからHSRP Helloを送信
図 新しいアクティブルータからHSRP Helloを送信

その結果、仮想ルータ宛てのイーサネットフレームは新しいアクティブルータへと転送されます。

図 新しいアクティブルータへイーサネットフレームが転送される
図 新しいアクティブルータへイーサネットフレームが転送される

IPルーティングのキホン