CCNA 200-301でHSRPはほぼ毎回出る定番論点。仕組みを雰囲気で理解しているとpriorityの計算でミスしたり、vIP/vMACの対応関係を取り違えて1点を落とす。受験者で意外と多い。この記事では、HSRPの状態遷移・priority/preemptの暗算判定・vIP/vMACの覚え方・trackの動きまで、試験で30秒で解けるレベルに落とし込んで整理する。実機を触りながら覚えた現場のコツも一緒に解説する。
前提として、CCNA 200-301 v1.1のObjective 3.5「Configure and verify first hop redundancy」に対応した内容。HSRPだけでなくVRRP/GLBPとの違いも問われやすいので、最後にFAQで補足する。
HSRPの基礎と6つの状態
HSRP(Hot Standby Router Protocol)はCisco独自のFHRP。デフォルトGWを冗長化するために、複数台のルータが1つの仮想IP(vIP)と仮想MAC(vMAC)を共有して、Active/Standbyで切り替える仕組み。RFC 2281で公開されている(独自プロトコルだけどIETFには情報提供されている)。
CCNAで問われるのはだいたい5つの論点に集約される。状態遷移、priority、preempt、vIP/vMACの法則、track。これだけ押さえれば、HSRPの問題で迷うことはほぼなくなる。
新人の頃、HSRPの状態を「Active/Standbyの2つだけ」と思い込んでいた。客先で先輩に「いまListen状態のルータがいるんだけど、これって何?」と聞かれて固まったことがある。実際は6つの状態がある。試験でもInitial/Learn/Listen/Speak/Standby/Activeの選択肢が紛れ込むので、暗記しておくと得点源になる。
| 状態 | 意味 | Hello送信 |
|---|---|---|
| Initial | 起動直後、HSRPは無効 | なし |
| Learn | vIPがまだ未学習。Hello受信待ち | なし |
| Listen | vIPは把握、Active/Standbyではない | 受信のみ |
| Speak | Active/Standby選出に参加中 | 送受信 |
| Standby | Activeのバックアップ。次の昇格候補 | 送受信 |
| Active | vIP宛てパケットを実際に転送 | 送受信 |
図1: 状態遷移はInitial→Learn→Listen→Speak→(Standby/Active)の順
「Listen」と「Speak」を試験で混同しないこと。Listenは「Helloを聞いているだけ」、Speakは「自分もHelloを送って選出に参加している」状態。順番はListen→Speak→Standby/Activeで進む。これ、地味に出題される。
Active選出ルールを3秒で判定する
Active選出ルールはシンプル。priority値が高い方が勝ち、同じならIPアドレスが大きい方が勝つ。デフォルトpriorityは100。これは丸暗記でいい。
で、ここで罠になるのがpreemptの設定。priorityが高くてもpreempt未設定だと、後から起動したルータはActiveを奪えない。試験ではこのパターンが頻出する。
| 条件 | R1 (先に起動) | R2 (後から起動) | Activeになるのは |
|---|---|---|---|
| priority同値、preempt無 | 100 | 100 | R1(先着優先) |
| R2のpriority高、preempt無 | 100 | 150 | R1のまま(奪えない) |
| R2のpriority高、preempt有 | 100 | 150 (preempt) | R2に切替 |
| priority同値、IP差 | .1 | .2 | R2(IP大の勝ち) |
図2: Active選出のフローチャート(priority → IPアドレス)
90%
75%
35%
図3: 試験での出題比率(体感)— priority関連が圧倒的に多い
R1(config)# interface GigabitEthernet0/0 R1(config-if)# ip address 192.168.1.2 255.255.255.0 R1(config-if)# standby 1 ip 192.168.1.1 R1(config-if)# standby 1 priority 150 R1(config-if)# standby 1 preempt R1(config-if)# standby 1 name HSRP-LAN R1# show standby brief Interface Grp Pri P State Active Standby Virtual IP Gi0/0 1 150 P Active local 192.168.1.3 192.168.1.1
「P」のフラグがpreempt設定済みの目印。show standby briefの出力で「P」が消えていたら、preempt未設定なのでActiveを奪えない。これ、現場でも試験でもよくチェックされる。
vMACは「0000.0c07.acXX」で覚える
vIPはconfigで指定した値そのまま。試験で迷うのはvMACの方。HSRPv1のvMACは決まり切ったフォーマットがある。
0000.0C07.ACXX(XX = グループ番号を16進数で2桁)
例えばstandby 1 ip … なら vMACは 0000.0C07.AC01。standby 10 ip …なら 0000.0C07.AC0A(10は16進で0A)。試験ではこの変換がよく出る。グループ番号256(=0x100)以上はHSRPv1では扱えないので注意。
| グループ番号 | HSRPv1 vMAC | HSRPv2 vMAC |
|---|---|---|
| 0 | 0000.0C07.AC00 | 0000.0C9F.F000 |
| 1 | 0000.0C07.AC01 | 0000.0C9F.F001 |
| 10 | 0000.0C07.AC0A | 0000.0C9F.F00A |
| 255 | 0000.0C07.ACFF | 0000.0C9F.F0FF |
| 4095 | 扱えない | 0000.0C9F.FFFF |
図4: HSRPv1とv2のvMAC対応表
5項目で見分けるバージョン判定
HSRPはv1がデフォルト。v2にするにはstandby version 2が必要。試験では「マルチキャストアドレス」「グループ番号の上限」「IPv6対応」のどれかで違いを問うパターンが多い。
| 項目 | HSRPv1 | HSRPv2 |
|---|---|---|
| マルチキャスト | 224.0.0.2 | 224.0.0.102 |
| UDPポート | 1985 | 1985(共通) |
| グループ番号 | 0〜255 | 0〜4095 |
| IPv6対応 | なし | あり |
| Helloタイマー精度 | 1秒単位 | ミリ秒単位 |
図5: HSRPv1 vs v2の主要な違い
ちなみに、デフォルトのHelloは3秒、Holdは10秒。試験では「3-10ルール」で覚えておくと出題されたとき即答できる。
track設定でpriorityが下がる仕組み
trackはCCNAでも頻出。インターフェイスのup/downを監視して、ダウンしたらpriorityを「decrement値」だけ下げる仕組み。下がった結果Standbyの方がpriorityで上回ったら、preempt有でActiveが切り替わる。
R1(config)# track 10 interface GigabitEthernet0/1 line-protocol
R1(config-if)# standby 1 priority 150 R1(config-if)# standby 1 preempt R1(config-if)# standby 1 track 10 decrement 60
この設定だとR1のpriorityは150→90に低下する(150-60=90)。R2のpriorityが100ならR2が上回るのでActiveに昇格。試験では「decrement後のpriorityはいくつか?」を計算させる問題が定番。
decrement値を指定しないとデフォルトで10下がる。priority 150でtrack設定してデフォルトdecrementだと、ダウン時のpriorityは140。これだと相手が100のままならActiveが切り替わらない。試験で「切り替わらないのはなぜか」と問われたらココを疑う。
本番で出る形式に慣れる
Q. 以下の設定の場合、vMACアドレスは何になるか。R1(config-if)# standby 25 ip 10.1.1.1
A. 0000.0C07.AC19。25を16進数に変換すると0x19。HSRPv1のフォーマットに当てはめて完成。
Q. R1のpriorityは120でpreempt未設定、R2のpriorityは150でpreempt有。R1が先にActiveになっていた状態でR2が起動した。Activeになるのは?
A. R2。preemptが有効なのでpriority上位のR2がActiveを奪う。これがR2のpreempt未設定だったらR1のままだった。
Q. priority 200、track decrement 50で監視中のインターフェイスがダウンした。ダウン後のpriorityは?
A. 150。200-50=150の単純な引き算。試験ではこの「引いた後の値で他ルータと比較できるか」までセットで聞かれることが多い。
HSRPは型を覚えれば30秒で解ける
HSRPの試験対策は5論点に絞ること。状態遷移(Initial/Learn/Listen/Speak/Standby/Active)、priority + preempt(preempt無は奪えない)、vMACの暗算(v1=0000.0C07.ACXX)、v1とv2の違い(マルチキャスト・グループ範囲・IPv6)、track decrement(引き算した後の値で比較)。これだけ叩き込めばHSRP問題は満点取れる。
よくある質問(FAQ)
Q. HSRPのデフォルトpriorityは?
100。これは最頻出。standbyコマンドでpriorityを明示しない限り全員100になる。
Q. preemptを設定しないと何が起きる?
priorityが高くても先着のActiveを奪えない。再起動後は元のActiveが復帰してもStandbyのまま居続ける。試験での超頻出パターン。
Q. HSRPとVRRPの最大の違いは?
HSRPはCisco独自、VRRPはRFC 5798の標準プロトコル。VRRPはvIPに物理IPを使えるけどHSRPは別のIPが必要。試験ではマルチキャスト宛先(HSRP=224.0.0.2、VRRP=224.0.0.18)の違いも頻出。
Q. 状態遷移の途中で止まることはある?
ある。例えばStandbyが1台もいない場合はSpeakで止まる。Active側でACLがマルチキャストをdenyしているとListen→Speakに進めずInitに戻る、なんてケースも実機で経験した。
Q. HSRPv2を使うべきケースは?
グループ番号256以上が必要なとき、IPv6を使うとき、ミリ秒単位のフェイルオーバーを実現したいとき。普通のIPv4設計ならv1のままで困らない。ただ、新規構築なら無難にv2にしておく現場が増えている。


