HSRPとは?現役が教える仕組みと「コマンドは暗記しなくていい」理由

CCNAと実務

HSRPは、CCNAの試験範囲(IPコネクティビティ分野)で問われる技術であり、そして現場では本当によく出てきます。ネットワークの冗長化構成を組むなら、まず避けて通れない技術です。

ただ、先に現役10年のネットワークエンジニアとして正直なことを言っておきます。HSRPは、実はそんなに「ハマる」技術ではありません。

ネットで調べると設計の落とし穴を細かく解説した記事がたくさん出てきますが、私の実感としては、押さえるべきポイントはもっと絞れます。この記事では、仕組みの解説に加えて、現場で本当に押さえるべきところはどこかを、はっきり書きます。

HSRPとは:デフォルトゲートウェイを冗長化する仕組み

HSRP(Hot Standby Router Protocol)は、デフォルトゲートウェイを冗長化するためのCisco独自プロトコルです。FHRP(First Hop Redundancy Protocol=最初の出口を冗長化するプロトコル群)の1つに分類されます。

なぜ必要か。PCが外のネットワークと通信するとき、必ずデフォルトゲートウェイを経由します。もしそのゲートウェイ機器が1台しかなければ、その1台が壊れた瞬間、配下の端末すべてが通信不能になります。単一障害点というやつです。

そこでゲートウェイを2台用意し、両方で1つの仮想IPアドレス(VIP)を共有します。PC側には、この仮想IPをデフォルトゲートウェイとして設定しておく。

すると、実際にどちらの機器が動いているかをPCは意識する必要がなくなります。片方が壊れても、もう片方が自動的に引き継いでくれる——これがHSRPです。

サイト主
サイト主

2台で1つの仮想IPを共有して、片方が壊れても自動で引き継ぐ——これがHSRPです。試験だとコマンドを問われますが、大事なのは“何のための機能か”のほうです。

現場では、拠点のL3スイッチを2台構成にして冗長化する、といった形でよく使われます。機器そのもののHA構成(High Availability=高可用性構成)と組み合わせて設計されることも多い技術です。

Active と Standby:どちらが働くかを決める仕組み

HSRPでは、2台のうち片方がActive(実際に通信を転送する側)、もう片方がStandby(待機する側)になります。

どちらがActiveになるかは優先度(priority)で決まります。デフォルト値は100で、この値が大きいほうがActiveになります。つまり「こっちを主系にしたい」という機器に、100より大きい値(120など)を設定しておくわけです。

2台はお互いにHelloパケットをやり取りして、相手が生きているかを常に確認しています。Activeからの応答が途絶えれば、Standbyが「相手が落ちた」と判断してActiveに昇格し、通信を引き継ぎます。

押さえるべきポイント①:プリエンプト

ここが、初学者がつまずくとしたら唯一と言っていいポイントです。

プリエンプト(preempt)とは、「一度Standbyに降格した優先度の高い機器が、復旧したときにActiveの座を奪い返すかどうか」の設定です。

ここで大事なのは、HSRPではプリエンプトがデフォルトで無効だということです(VRRPではデフォルトで有効という違いがあります)。

つまりHSRPでは、優先度120の機器が一度落ちて、優先度100の機器がActiveになった場合——優先度120の機器が復旧しても、そのままStandbyのままです。Activeには戻りません。

「優先度が高いほうがActiveになる」とだけ覚えていると、この挙動で混乱します。優先度で決まるのはあくまで初期状態や、プリエンプトを有効にした場合の話です。主系を必ず戻したいなら、明示的にプリエンプトを設定する必要があります。

逆に言えば、プリエンプトを有効にすると、機器が不安定な状態で復旧・停止を繰り返した場合に、Activeが行ったり来たりして通信が不安定になるリスクもあります。どちらの挙動が自分の設計にとって望ましいのかを意識して設定する——これがプリエンプトを理解するということです。

押さえるべきポイント②:切り替わり時間の調整

現場でよく議論になるのが、切り替わりにかかる時間です。

Activeが落ちてからStandbyが昇格するまでには、当然ながらタイムラグがあります。この時間は、HelloパケットのタイマーやHold時間の設定によって変わります。デフォルトのままだと、切り替わりに数秒〜十数秒かかることがあり、その間は通信が止まります。

業務システムによっては、この数秒の断が許容できない場合があります。だからこそ、現場では「タイマーをどこまで詰めるか」という調整の話がよく出てきます。

ただし、タイマーを詰めすぎると、わずかな遅延で誤検知して不要な切り替えが起こるリスクもあります。可用性と安定性のバランスをどう取るか——これが実際の設計判断です。

トラッキング:上位リンクの障害を検知する

HSRPの設計で、もう1つ決めるべきことがあります。トラッキングです。

HSRPは基本的に「相手の機器が生きているか」しか見ていません。つまり、自分自身は元気でも、自分の上位リンク(インターネット側への回線)が切れているという状況では、そのままActiveであり続けてしまいます。通信は当然どこにも届きません。

これを防ぐのがトラッキングです。

特定のインターフェースの状態を監視し、そのリンクがダウンしたら自分の優先度を自動的に下げて、Standbyに降格するという設定ができます。現場でHSRPを設計するとき、実質的に考えることといえば「トラッキングの監視先をどこにするか」くらいです。裏を返せば、ここさえ適切に設計できていれば、HSRPで大きくハマることは多くありません。

HSRPとVRRPの違い

同じFHRPとして、VRRPもよく比較されます。

HSRPVRRP
規格Cisco独自標準規格(RFC)
役割の呼び方Active / StandbyMaster / Backup
プリエンプトデフォルト無効デフォルト有効
マルチベンダー不可(Cisco機器のみ)可能

選定の基本は「Cisco機器で統一されているならHSRP、マルチベンダー環境ならVRRP」です。現場では両方とも出てきますが、Cisco機器を扱う案件が多いこともあって、実際にはHSRPを触る機会のほうが多いというのが私の実感です。

ちなみに、冗長化に加えて負荷分散もしたい場合はGLBP(これもCisco独自)という選択肢もありますが、設定と運用が複雑になるため、まずはHSRPとVRRPを押さえておけば十分です。

現役の本音:コマンドは暗記しなくていい。でも機能は知らないとダメ

サイト主
サイト主

正直に言うと、私も設定するときは都度調べています。この仕事は記憶力を競うものじゃない。ただし“機能を知らない”のは別問題で、そこは押さえておく必要があります。

この記事で一番伝えたいことを書きます。

HSRPの学習では、standby コマンドの構文を細かく暗記しなければいけない、という空気があります。試験対策としては、確かにある程度は覚える必要があります(CCNAでは問われるので、そこは割り切ってください)。

ただし、現場で仕事をするうえでは、コマンドを暗記している必要はほとんどありません。実際、私も設定するときは都度調べています。ネットワークエンジニアの仕事は、記憶力を競うことではないからです。

その代わり、「HSRPにどんな機能があるか」を知らないのは致命的です

プリエンプトという概念があること、トラッキングで上位リンクを監視できること、タイマーで切り替わり時間を調整できること——これを知らなければ、そもそも「調べる」ことすらできません。設計の選択肢が頭の中になければ、適切な構成を組めないのです。

だから学習の優先順位はこうです。コマンドの丸暗記より、機能の全体像を理解すること。「こういうことができる」という引き出しさえ持っていれば、具体的な構文は現場でマニュアルを見ればいい。この考え方は、HSRPに限らずCCNAのコマンド全般に言えることです。

まとめ

  • HSRPはデフォルトゲートウェイを冗長化するCisco独自のプロトコル(FHRPの一種)。2台で仮想IPを共有し、Active/Standbyで動作する。
  • Activeを決めるのは優先度(デフォルト100)。
  • 初学者が押さえるべきはプリエンプト(HSRPはデフォルト無効。復旧しても主系に戻らない)。
  • 現場で議論になるのは切り替わり時間の調整トラッキングの監視先。逆に言えば、ここさえ押さえれば大きくハマる技術ではない。
  • VRRPとの違いは「Cisco独自か標準規格か」。Cisco機器が多い現場ではHSRPを触る機会が多い。
  • コマンドは現場では都度調べる。ただし「どんな機能があるか」は知らないと設計できない。

ネットワークの冗長化を理解するうえでは、VLANやルーティングの知識も土台になります。VLANの記事OSPFの記事、CCNAの知識が現場でどう活きるかはCCNAと実務の記事もあわせてどうぞ。

コメント

タイトルとURLをコピーしました