HSRPの設定と確認 / GLBPとVRRPの特徴


CCNAの試験に向けて学習中。
復習に見返せるようにメモしていきます。
ほぼ自分の勉強メモです。
過度な期待はしないでください。

1. HSRP概要

1-1.HSRPとは

HSRPとは、Ciscoが開発したプロトコルで、デフォルトゲートウェイの冗長化※1を行う為のものです。
実際には、複数存在しているルータを、1つのルータのように見せる事が出来ます。

その為に次のような考え方が取り入れられています。

※1 システムの一部に何らかの障害が発生した場合に備えて、障害発生後でもシステム全体の機能を
維持し続けられるように、予備装置を平常時からバックアップとして配置し運用しておくこと。

■1-1-1.HSRPスタンバイグループ

複数のファーストホップルータ※2を含む共通のグループをHSRPスタンバイグループといい、
HSRPスタンバイグループは、0 ~ 255の番号で管理されています。

※2 PCから見て最初に通過するルータの事。デフォルトゲートウェイと同様の意味合い。

■1-1-2.仮想IPアドレス

HSRPスタンバイグループには、仮想IPアドレスを割り当てます。
仮想IPアドレスとは、スタンバイグループ内のルータで共有する仮想ルータのIPアドレスです。

仮想IPアドレスの注意点として、ルータのインターフェイスに設定されていないIPアドレスを
使用する事。設定に使われているIPアドレスは設定出来ません。

■1-1-3.仮想MACアドレス

HSRPスタンバイグループには、「0000.0C07.AC」で始まる仮想MACアドレスを割り当てます。
最後の6オクテット目には、スタンバイグループ番号を16進数にした値が入ります。

MACアドレスの表記の仕方は、
XX-XX-XX-XX-XX-XX
XXXX-XXXX-XXXX
のパターンがある。なので、6オクテット目とは上のパターンでの話

例えば、グループ番号が13だった場合は、16進数に変換すると「D」となる為、
仮想MACアドレスは、「0000.0C07.AC0D」となる。

■1-1-4.アクティブルータ

HSRPでは、複数のルータを1つの共通のスタンバイグループに割り当てますが、
PCからの通信の転送を行うのは、1台だけです。転送処理を行うルータをアクティブルータといいます。

アクティブルータは、HSRPスタンバイグループの内でプライオリティが最も大きいルータ
選出されます。プライオリティに差がない場合はHSRPが動作しているインターフェイスの
IPアドレスが最も大きいルータ
が選ばれます。

※ プライオリティのデフォルトは「100」です。

■1-1-5.スタンバイルータ

アクティブルータのバックアップとなるルータです。

スタンバイルータは、HSRPスタンバイグループの内でプライオリティが2番目に大きいルータ
選出されます。プライオリティに差がない場合はアクティブルータと同様に、
HSRPが動作しているインターフェイスのIPアドレスが2番目に大きい大きいルータが選ばれます。


1-2.HSRPの動作

■1-2-1.HSRPの動作の流れ

① Helloパケッドの交換
ルータは、HSRPの設定を有効にすると、Helloパケット※3 をマルチキャストアドレスの「224.0.0.2」
送信します。Helloパケットによりルータ間でHSRP情報を交換します。
Helloパケットの送信間隔はデフォルトで「3」です。

※3 Helloパケットは、ネイバーの発見とネイバーの維持を行う

② アクティブルータとスタンバイルータの選出
Helloパケットで送られてきたHSRP情報を基に、アクティブルータとスタンバイルータの選出します。

③ Helloパケットによる生存確認
アクティブルータとスタンバイルータが決定した後は、この2台だけがHelloパケットを
送信します。その他のルータは、受け取るだけの Listen状態になります。

スタンバイルータは、アクティブルータからのHelloパケットを 10秒間受け取らなかった場合
アクティブルータがダウンした
と判断し、自身がアクティブルータになります。

④ PCからの通信
PCからのARP※4 要求に対し、アクティブルータが仮想MACアドレスを含むARP応答を返します。
これにより、PCのARPテーブルに仮想IPアドレスと仮想MACアドレスが登録されます。

※4 ARPは、与えられたIPアドレスからMACアドレスを求める為のプロトコル

■1-2-2.アクティブルータで障害発生時の動作

上記で記載しましたが、スタンバイルータは、アクティブルータからのHelloパケットを
10秒間受け取らなかった場合アクティブルータがダウンした
と判断し、自身がアクティブルータに
なります。

アクティブルータになったルータは、スイッチやPCに特殊なARPパケット(Gratuitous ARP)
送り、MACアドレステーブルの内容を置き換えます。これにより転送される通信が新しい
アクティブルータへ向かうようになります。

■1-2-3.HSRPのステータス遷移

HSRPが設定されているルータでは、以下のステータス遷移が行われます。

状態   定義                                     
Initial 初期状態。HSRPの設定直後は、この状態になる。
Learn ルータがアクティブルータからHelloパケットを受け取っておらず、仮想IPアドレスを認識していない状態。
Listen アクティブルータ、スタンバイルータにもならなかったルータがなる状態。
Speak Helloパケットを送信して、アクティブルータとスタンバイルータを選出している状態。
Standby スタンドバイルータがこの状態となる。定期的にHelloパケットを送信。
Active アクティブルータがこの状態となる。仮想IPと仮想MACアドレス宛のパケット転送処理を行うステータス。定期的にHelloパケットを送信。


1-3.HSRPの機能

■ 1-3-1.プリエンプト

プリエンプトとは、プライオリティが大きいルータを常にアクティブルータとする機能をいいます。
プリエンプトを有効にすると、一度ダウンしたルータが復旧した際に、
そのルータのプライオリティが最も大きい場合、自動でアクティブルータとして選出します。

■ 1-3-2.インターフェイストラッキング

インターフェーストラッキングとは、HSRPを有効にしていないインターフェースがダウンした時に、
HSRPを有効にしているインターフェースのHSRPプライオリティ値を小さくして、アクティブルータを
切り替える
機能をいいます。

下記の画像を使って詳しく説明します。

SW1とSW2のHSRPが設定(有効)されている側のインターフェイスが障害発生した場合、
Helloパケットを送信されなくなる為障害が発生した事が分かります。

しかし、HSRPが設定されていないインターフェイスに障害が発生した場合、
どちらのルータもHelloパケットを送信している(HSRPが設定されている)インターフェイスは
問題なく動作している為、生存確認が出来てしまい SW1側がアクティブルータとして動作し続ける事に
なります。しかし、「Gi0/0」がダウンしているのでPCからの通信は届いても異なる
ネットワークには届きません。
そこで、インターフェイストラッキング機能を使用して、
指定したインターフェイス(HSRPを有効にしていない)がダウンした時にプライオリティを下げる事で
プライオリティが大きい他のルータをアクティブルータにする事が出来るようになります。

但し、インターフェイストラッキングを使用するには、プリエンプトを有効にする必要が
あります。

■ 1-3-3.HSRP認証機能

HSRPには、認証機能があり、パスワードを暗号化しないプレーンテキスト認証(平文認証)
パスワードを暗号化する MD5認証※5があります。
認証機能により、想定外のルータがスタンバイグループに接続されたとしても仮想IPアドレス等は
学習されません。

MD5認証とは、隣接するルータの双方で同じキーID( 番号 )とキー( パスワード )が
一致した場合に認証は成功してネイバーが確立します。認証に失敗した場合は、
Helloパケットが無視されるのでネイバーが確立せず、既存の経路情報が不正に交換されることを
防ぐ事が出来ます。

■ 1-3-4.HSRPのversion

HSRPには、version1とversion2があります。
HSRPの有効化を行うとデフォルトではversion 1が有効化されています。

主な違いは以下の通りです。

上記以外にも、version1ではIPv6のサポートがなく、version2ではある等の違いもあります。

※ xxには、グループ番号が入ります。


1-4.HSRPの負荷分散

各ルータを複数のスタンバイグループに参加させ、そして、それぞれのスタンバイグループで
アクティブとなるルータを変える事で負荷の分散を行う事が出来ます。
このHSRP設定をMHSRPと言います。

下記の画像を使って詳しく説明します。

PCは同一のネットワークに属していて、
それぞれのPCには、別々のデフォルトゲートウェイが設定されています。
そして、SW1とSW2は2つスタンバイグループに属しています。

▶︎ PC A
スタンバイグループ1(HSRP group 1)には仮想IPアドレスが 172.16.5.253と設定されていて、
PCAは、デフォルトゲートウェイを 172.16.5.253に設定している為、スタンバイグループ1のSWを
経由していく。
スタンバイグループ1のSW1のプライオリティは 105、SW2のプライオリティは 100
なので、PCAは、SW1を経由して異なるネットワークに通信していく。

▶︎ PC B
スタンバイグループ2(HSRP group 2)には仮想IPアドレスが 172.16.5.254と設定されていて、
PCBは、デフォルトゲートウェイを 172.16.5.254に設定している為、スタンバイグループ2のSWを
経由していく。
スタンバイグループ2のSW1のプライオリティは 100、SW2のプライオリティは 105
なので、PCAは、SW2を経由して異なるネットワークに通信していく。

このように、複数のスタンバイグループに所属させ、それぞれのグループでアクティブルータ、
スタンバイルータの役割を変える事で、負荷の分散を行う事が出来ます。

2. GLBPとVRRPの特徴

2-1.GLBPとは

GLBPとは、HSRP同様、ルータを冗長化させるCisco独自のプロトコルです。
GLBPでは、1つのグループ内で利用可能なデフォルトゲートウェイを複数存在させる事が出来る為、
デフォルトゲートウェイの負荷分散を行う
事が可能になっています。

GLBPでも共通のグループに属しているルータが連携して、1つの仮想ルータとして見せている
という事には変わりありません。この共通のグループを、GLBPグループといいます。
GLBPグループは、1024まで作成可能です。
また、HSRPでは仮想MACアドレスが1つでしたが、GLBPでは最大4つの仮想MACアドレスを
使用します。
仮想MACアドレスは、「0007.B40X.XXYY」の仮想MACアドレスを割り当てます。

Xの部分に、GLBPグループ番号を16進数に変換した値が入ります。
Yの部分に、01 ~ 04までの値が使用されます。

つまり、GLBPでは1つの仮想IPアドレスに対して複数の仮想MACアドレスをARP応答で返すので、
負荷分散を行う事が可能になっています。また、これによりクライアントPCは同じ仮想IPアドレスの
デフォルトゲートウェイを指定しながらも、クライアントPCごとに異なるルータに対してパケットを
送信
するようになります。

2-2.GLBP動作

GLBPでは、グループ内のルータから AVG※4 と最大4台のAVF※5 を選出します。
また、GLBPではプライオリティに 1 ~ 255の値を選出する事ができプライオリティの値が
最も高いルータがAVGに選出されます。プライオリティが同じだった場合は、IPアドレスの最も
大きなルータがAVGに選出されます。

※4 AVGとは、ARP応答とAVFへの仮想MACアドレスの自動割当を行うルータ
※5 AVFとは、AVGによって仮想MACアドレスを割り当てられたルータで、そのグループでパケットの
転送処理する役割を担っており、1つのグループで最大4つのAVFが機能(選出)します。

GLBP動作は以下のようになります。

GLBPプライオリティ値がR1のルータの方が大きいことから「R1がAVG、R1とR2がAVF」となっています。
R1はAVGであると同時にAVFとなります。
AVGによって、AVFに対して末尾が異なるMACアドレスがそれぞれに割り当てられます。

2-3.VRRP

■2-3-1.VRRPとは

VRRPは、HSRP同様、ルータを冗長化させる為のプロトコルですが、HSRPと異なり
どのベンダーの機器でも使用出来ます。

VRRPは、基本的にHSRP同様で、VRRPグループに属しているルータが連携して、1つの仮想ルータと
して見せているという事や、グループ内の1台がアクティブルータとしてARPの応答やパケットの
転送処理を行っていた等の動きもHSRP同様なので、基本的に動作は同様です。

■2-3-2.VRRPの特徴

呼び名の名称が異なり、アクティブルータをマスタールータといい、
残りのルータを全てバックアップルータといいます。

また、VRRPでは仮想IPアドレスにルータに実際に割り当てられているIPアドレスを設定する事
可能です。割り当てると、そのルータのプライオリティが 255と最大になり、必ずマスタールータに
なります。

その他にも、プリエンプトがデフォルトで有効になっている事や、仮想MACアドレスには
「0000.5E00.01××」にグループ番号を16進数に変換したもの付加したものを使用します。

3. HSRP、GLBPとVRRPまとめ

冗長化のプロトコルのまとめ

プロトコル名 仕様 負荷分散 冗長構成 仮想MACアドレス マルチキャストアドレス
HSRP Cisco独自 サブネット単位で可能 アクティブ/スタンバイ 0000.0C07.AC 224.0.0.2
GLBP Cisco独自 ホスト単位で可能 AVG/AVF 0007.B40X.XXYY 224.0.0.102
VRRP 標準 サブネット単位で可能 マスタ/バックアップ 0000.5E00.01×× 224.0.0.18


4. HSRPの設定

4-1.HSRPの有効化

HSRPの有効化するには、インターフェイスコンフィギュレーションモード
次のstandby ip コマンドを実行します。

(config-if)# standby [< スタンバイグループ番号 >] ip [< 仮想IPアドレス >]

<スタンバイグループ番号>には、version 1であれば 0 ~ 255のスタンバイグループの
番号から指定します。省略した場合は 0となります。
<仮想IPアドレス>には、仮想IPアドレスを指定します。省略した場合他のルータから
送信されたHelloパケットから仮想IPアドレスを習得します。なので、最低でも
スタンバイグループ内のどれか1つには設定しておく必要があります。

4-2.HSRPプライオリティ値の設定

HSRPプライオリティ値の設定を行うには、インターフェイスコンフィギュレーションモード
次のstandby priority コマンドを実行します。

(config-if)# standby [< スタンバイグループ番号 >] priority < プライオリティ値 >

<スタンバイグループ番号>には、HSRPプライオリティ値を設定したい
スタンバイグループ番号を指定します。
<プライオリティ値>には、HSRPプライオリティ値を 0 ~ 255の間から指定します。
指定しなかった場合は、デフォルトの 100となります。

4-3.プリエンプトの設定

プリエンプトの設定を行うには、インターフェイスコンフィギュレーションモード
次のstandby preempt コマンドを実行します。

(config-if)# standby [< スタンバイグループ番号 >] preempt

<スタンバイグループ番号>には、プリエンプト設定したいスタンバイグループの番号の指定をする。

4-4.インターフェイストラッキングの設定

インターフェイストラッキングの設定は、インターフェイスコンフィギュレーションモード
次のstandby track コマンドを実行します。

(config-if)# standby [< スタンバイグループ番号 >] track < インターフェイス > [< 減少値 >]

<スタンバイグループ番号>には、インターフェイストラッキングを設定したいスタンバイグループ番号を指定します。
<インターフェイス>には、追跡したいインターフェイスを指定します。
<減少値>には、そのインターフェイスがdownした際に減少するHSRPプライオリティ値を
指定します。指定しないとデフォルトの 10となります。


5.HSRPの設定の確認

5-1.HSRPの要約情報の確認

HSRPの要約情報の確認をするには、特権EXECモード
次のshow standby brief コマンドを実行します。

# show standby brief

show standby brief コマンドの実行結果を確認していきます。

項番     説明                                 
Interface HSRPが有効になっているインターフェイス
Grp グループ番号
Prio プライオリティ値
P プリエンプトが有効になっている事を表す。
State Activeはアクティブルータ、Standbyはスタンバイルータを表す。
Active アクティブルータのIPアドレス。localは、自分自身を表す。
Standby スタンバイルータのIPアドレス。localは、自分自身を表す。
Virtual IP 仮想IPアドレス

5-2.HSRPの詳細情報の確認

HSRPの詳細情報の確認をするには、特権EXECモード
次のshow standby コマンドを実行します。

# show standby

show standby コマンドの実行結果を確認していきます。

項番     説明                                 
2行目 有効になっているインターフェイスグループ
3行目 ルータの役割
5行目 仮想IPアドレス
6行目 仮想MACアドレス
10行目 プリエンプトが有効になっているかどうか
13行目 HARPプライオリティ値