HSRPの概要

HSRP(Hot Standby Router Protocol)は、Cisco独自のデフォルトゲートウェイ冗長化プロトコルです。複数のルータをグループ化して1つの仮想ルータを構成します。仮想ルータは、実ルータと同様にIPアドレス、MACアドレスを持っています。仮想ルータのIPアドレスとMACアドレスは以下のとおりです。

他の記事でも述べていますが、「仮想ルータ」といってもルータまるごとグループ化しているわけではありません。デフォルトゲートウェイとして動作しているインタフェースだけを仮想ルータとしてグループ化しています。

仮想ルータのIPアドレス: 設定で指定
仮想ルータのMACアドレス: 00-00-0c-07-ac-XX (XX:HSRPグループ番号)

グループ化した実ルータはアクティブルータとスタンバイルータの役割を分担します。アクティブルータは仮想ルータ宛てのパケットをルーティングするルータです。アクティブルータがダウンすると、スタンバイルータがアクティブルータとなり仮想ルータ宛てのパケットをルーティングします。

PCやサーバのデフォルトゲートウェイとして仮想ルータのIPアドレスを設定しておけば、これまでのアクティブルータがダウンしても新しいアクティブルータがパケットをルーティングするので、継続して他のネットワークとの通信が可能です。

HSRPのIPアドレスとポート番号

HSRPを有効にすると、HSRPメッセージを交換します。HSRPは階層としてはアプリケーション層に位置してトランスポート層にUDPを利用します。HSRPメッセージは、UDPポート1985でカプセル化されています。また、HSRPメッセージの宛先IPアドレスは224.0.0.2のマルチキャストアドレスです。このマルチキャストアドレスは、同じネットワーク内のすべてのルータを表しています。

HSRPのカプセル化
図 HSRPのカプセル化

HSRPの仕組み

HSRPメッセージのうちHSRP Helloを交換することによって、複数のルータで仮想ルータのIPアドレスを認識し、アクティブルータを決めます。アクティブルータは、HSRPプライオリティによって決められます。プライオリティが大きいルータがアクティブルータです。プライオリティのデフォルト値は100です。プライオリティが同じ場合は、IPアドレスが大きいルータがアクティブルータとなります。

次の図では、R1とR2のFa0/0でHSRPを有効化しています。R1とR2はFa0/0でHSRP Helloメッセージをやりとりして、仮想ルータがIPアドレス192.168.1.3を認識します。また、HSRP Helloメッセージにはプライオリティの値が含まれていて、プライオリティが大きいR1がアクティブルータになります。

HSRPの仕組み その1
図 HSRPの仕組み その1

アクティブルータは、仮想ルータ宛てのパケットをルーティングする役割を担っています。具体的には、以下のような動作を行います。

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

仮想ルータ宛てのパケットがアクティブルータへ転送される詳細な仕組みを知りたい方は、以下の記事をご覧ください。


簡単にいえば、アクティブルータは実IPアドレス/MACアドレスに加えて、仮想ルータのIPアドレス/MACアドレスも持っていることになります。さきほどのネットワーク構成では、R1がアクティブルータです。すると、R1は実IPアドレス 192.168.1.1以外に仮想ルータのIPアドレスも持っています。さらに、R1はFa0/0のMACアドレスだけではなく仮想ルータのMACアドレスも持っています。たとえば、HSRPのグループ番号を1とすれば、R1は「00-00-0c-07-ac-01」という仮想MACアドレスも持っています。

HSRPの仕組み その2
図 HSRPの仕組み その2

HSRPでデフォルトゲートウェイを冗長化している場合、PCのデフォルトゲートウェイには仮想ルータのIPアドレスを設定します。PCから他のネットワークへパケットを送信するときには、デフォルトゲートウェイのIPアドレスに対するMACアドレスを求めるためにARPを実行します。そして、仮想ルータのIPアドレスに対するARPリクエストには、アクティブルータであるR1が応答します。R1は仮想ルータのIPアドレスに対するMACアドレスとして、仮想MACアドレスをARPリプライで返します。

PCはARPリプライでデフォルトゲートウェイのMACアドレスがわかるので、イーサネットヘッダの送信先MACアドレスに仮想MACアドレスを指定して、他のネットワーク宛てのパケットをデフォルトゲートウェイへと転送します。そして、送信先MACアドレスが仮想MACアドレスとなっているイーサネットフレームは、アクティブルータであるR1へと転送され、R1がルーティングします。

HSRPの仕組み その3
図 HSRPの仕組み その3
図の動作は、PCに仮想IPアドレスに対するARPキャッシュが存在しない場合を想定しています。

アクティブルータとスタンバイルータは、それぞれ定期的にHSRP Helloメッセージを送信しています。デフォルトは3秒間隔です。アクティブルータがダウンすると、アクティブルータからの定期的なHelloメッセージが届かなくなり、スタンバイルータが新しいアクティブルータとなります。現在のアクティブルータであるR1がダウンすると、スタンバイルータのR2が新しいアクティブルータとなります。R2は仮想IPアドレスとMACアドレスを引き継ぎます。

HSRPの仕組み その4
図 HSRPの仕組み その4

PCはデフォルトゲートウェイとなるルータが切り替わったことを特に意識しません。他のネットワーク宛てにパケットを送信するときは、解決した仮想MACアドレスを送信先MACアドレスに指定すれば、新しいアクティブルータのR2へ転送されてR2がルーティングします。

HSRPの仕組み その5
図 HSRPの仕組み その5

HSRPの設定と確認コマンド、設定例を以下の記事にまとめています。


IPルーティングのキホン