🎓 レベル:標準 | 重要度:B(重要) 📎 前提:ルーティングの基礎
要点(BLUF)
- 端末はデフォルトゲートウェイのIPを1つしか持てません。そのルータが落ちると、端末は外へ出られなくなります。
- FHRP(First Hop Redundancy Protocol)は、複数のルータで1つの仮想IP/仮想MACを共有し、ゲートウェイを冗長化します。
- 代表がHSRP(Cisco)。1台がアクティブ、もう1台がスタンバイで待機し、障害時に端末側の設定を変えずに切り替わります。
なぜゲートウェイ冗長が要るのか
端末のデフォルトゲートウェイは1つ。物理ルータを2台用意しても、端末が向くIPは片方だけなので、そのルータが死ねば全端末が孤立します。FHRPは**「仮想のゲートウェイIP」を作り、実機が裏で持ち回る**ことで、端末から見たゲートウェイを不動にします。
graph TD PC["端末(GW=192.168.1.1 を見る)"] V["仮想IP 192.168.1.1(仮想MACを共有)"] R1["ルータ1(アクティブ・実IP .2)"] R2["ルータ2(スタンバイ・実IP .3)"] PC --> V V --> R1 V -.->|"R1障害時に昇格"| R2
HSRPの仕組み
- 仮想IP:端末がゲートウェイとして使う住所(例
192.168.1.1)。 - 仮想MAC:HSRPv1は
0000.0c07.acXX(XXはグループ番号)。端末のARPにはこの仮想MACが返る。 - アクティブ/スタンバイ選出:プライオリティ最大(既定100)、同値なら実IP最大が勝つ。
- Helloで死活監視:アクティブからのHelloが途絶えるとスタンバイが昇格。
- プリエンプション:既定では無効。優先度の高い機が復帰しても、自動では奪い返さない(
preemptで有効化)。
Router(config)# interface Gi0/0
Router(config-if)# ip address 192.168.1.2 255.255.255.0
Router(config-if)# standby 1 ip 192.168.1.1
Router(config-if)# standby 1 priority 110
Router(config-if)# standby 1 preempt
確認:
Router# show standby brief
切替時に端末側で何が起きるか
端末はゲートウェイの仮想MACをARPキャッシュに持っています。アクティブが切り替わっても仮想IPも仮想MACも同じなので、端末はARPし直す必要すらありません。これが「端末の設定・状態を変えずに冗長化できる」FHRPの肝です。
FHRPの種類
| プロトコル | 標準 | 特徴 |
|---|---|---|
| HSRP | Cisco独自 | アクティブ/スタンバイ。CCNA中心 |
| VRRP | 標準(RFC) | HSRP相当の標準版。マルチベンダー |
| GLBP | Cisco独自 | 複数ルータで負荷分散も行う |
HSRP/VRRPは基本「1台が働き他は待機」。GLBPは待機側も同時に負荷を分担できる点が違います。
なぜ仮想MACまで共有するのか(設計の直観)
仮想IPだけ共有してMACが実機ごとに違うと、切替のたびに端末のARPキャッシュが古いMACを指し、再ARPまで通信が止まります。仮想MACも一緒に持ち回れば、L2から見てもゲートウェイは同一機器に見え、切替が端末に透過になります。「IPもMACも動かさない」ことで、上位(端末・TCP)に一切の変更を強いない——冗長化を透過にする設計判断です。
⚠️ よくある誤解
- 「HSRPは負荷分散する」ではない。基本はアクティブ1台が働き、他は待機。負荷分散したいならGLBP、または複数グループで分担。
- 「プリエンプションは既定で有効」ではない。HSRPは既定無効。高優先機が復帰しても自動では戻りません(明示設定が要る)。
- 「仮想IPは実機のどれかのIP」ではない。仮想IPは実IPとは別の専用アドレスで、端末はこれをゲートウェイにします。
対応 lab
- なし(IOS設定。Packet Tracer等での切替確認を推奨)
関連
- ゲートウェイの役割:
[[03-03_ルーティングの基礎]]/章ハブ:[[06-00_ルーティングプロトコル_目次]] - 物理冗長との合わせ技:
[[02-05_EtherChannelと近隣探索]]