IP : ホット スタンバイ ルータ プロトコル(HSRP)

ホットスタンバイ ルータ プロトコルの特長と機能

2016 年 10 月 27 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2006 年 5 月 25 日) | 英語版 (2015 年 8 月 22 日) | フィードバック


目次

ISL

概要

この文書では、Hot Standby Router Protocol(HSRP; ホットスタンバイ ルータ プロトコル)の特長と機能について説明します。

前提条件

要件

このドキュメントに関する固有の要件はありません。

使用するコンポーネント

このドキュメントは、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

HSRP の背景と操作

ネットワークの稼働率を 100%に近づける方法の 1 つは、HSRP を使用することです。HSRP は、ネットワーク エッジ デバイスやアクセス回線における第 1 ホップ障害からユーザ トラフィックが即時かつ透過的に復旧する冗長性を IP ネットワークに提供します。

IP アドレスと MAC(レイヤ 2)アドレスを共有することで、複数のルータが単一の「仮想」ルータとして動作できます。 仮想ルータ グループのメンバが絶えずステータス メッセージを交換します。 このようにして、一方のルータが予定された理由または予期せぬ理由で使用不能になった場合は、他方のルータがルーティングを負担します。 ホストから同じ IP および MAC アドレスに IP パケットを転送し続けていても、ルーティングを行うデバイスは透過的に切り替えられます。

ダイナミック ルータ検出メカニズム

次に、ホストが使用するダイナミック ルータ検出メカニズムについて説明します。 これらのメカニズムの多くは、ネットワーク管理者が求めるネットワークの復元力を提供するものではありません。 これは、本来プロトコルはネットワークに復元力を提供するものではないからです。あるいは、ネットワーク上のすべてのホストがプロトコルを実行するのは現実的ではないからです。 次に挙げる事項の他に、多くのホストで設定可能なのは、デフォルト ゲートウェイだけであることに注意しておくことが重要です。

プロキシ ARP

IP ホストの中には、ルータの選択にプロキシ Address Resolution Protocol(ARP)を使用するものがあります。 プロキシ ARP を実行しているホストは、接続しようとするリモート ホストの IP アドレスに ARP 要求を送信します。 ネットワーク上のあるルータ(ルータ A とします)が、リモート ホストの代理として自身の MAC アドレスを提供します。 プロキシ ARP を使用すると、ホストはリモート ホストがネットワークの同じセグメントに接続されているかのように動作します。 ルータ A に障害が発生した場合、ホストはリモート ホストに宛てたパケットをルータ A の MAC アドレスに送信し続け、それらのパケットは行き先がないために失われます。 この場合は、ARP が別の ARP 要求を送信してローカル セグメントにある別のルータ B の MAC アドレスを取得するまで待つか、ホストをリブートして ARP 要求が強制的に送信されるようにします。 どちらの方法でも、ルーティング プロトコルがコンバージされて、ルータ B がルータ A 経由で転送されるパケットを代わりに転送する準備が整ったとしても、ホストはリモート ホストと相当の間通信できなくなります。

ダイナミック ルーティング プロトコル

IP ホストの中には、ルータの検出に Routing Information Protocol(RIP; ルーティング情報プロトコル)または Open Shortest Path First(OSPF)などのダイナミック ルーティング プロトコルを実行(スヌーピング)しているものがあります。 RIP の難点は、トポロジの変更に対応するのに時間がかかる点です。 すべてのホストがダイナミック ルーティング プロトコルを実行するのはいろいろな理由で現実的ではありません。たとえば、管理のためのオーバーヘッド、プロセス オーバーヘッド、セキュリティの問題、プラットフォームによってはプロトコルを実装できないこと、などがあります。

IRDP

最近の IP ホストの中には、ルートが利用できなくなった場合に新しいルータを見つけるのに ICMP Router Discovery Protocol(IRDP)(RFC 1256 を参照)を使用しているものがあります。leavingcisco.com IRDP を実行するホストは、設定したルータから hello マルチキャスト メッセージを受信します。hello メッセージを受信できなくなると、代替ルータを使用します、 IRDP のデフォルトのタイマー値では、第 1 ホップの障害を検出するには適さないことを意味します。 デフォルトのアドバタイズメント レートは 7~10 分に 1 回で、デフォルトのライフタイムは 30 分です。

Dynamic Host Configuration Protocol

Dynamic Host Configuration Protocol(DHCP; ダイナミック ホスト コンフィギュレーション プロトコル)(RFC 1531 を参照)は、TCP/IP ネットワーク上のホストに設定情報を渡すメカニズムを提供します。leavingcisco.com DHCP クライアントを実行するホストは、ネットワーク上にブートするときに、DHCP サーバに設定情報を要求します。 この設定情報は、通常、IP アドレスとデフォルト ゲートウェイから成っています。 デフォルト ゲートウェイで障害が発生したときに代替ルータに切り替わるメカニズムはありません。

HSRP の操作

ダイナミック検出をサポートしない、従来のホストの実装では、デフォルト ルータを設定します。 すべてのホストがダイナミック ルータ検出 メカニズムを実行するのはいろいろな理由で現実的ではありません。たとえば、管理のためのオーバーヘッド、プロセス オーバーヘッド、セキュリティの問題、プラットフォームによってはプロトコルを実装できないこと、などがあります。 HSRP は、ホストにフェールオーバー サービスを提供します。

HSRP を使用すると、一群のルータが連携して、LAN 上のホストに対してあたかも単一の仮想ルータがあるかのように動作します。 この一群のルータのことを、HSRP グループまたはスタンバイ グループと呼びます。 グループから選出された 1 台のルータが、ホストから仮想ルータに送信されたパケットを転送する役割を持ちます。 このルータをアクティブ ルータと呼びます。 別の 1 台のルータがスタンバイ ルータとして選出されます。 アクティブ ルータで障害が発生すると、スタンバイ ルータがアクティブ ルータのパケット転送作業を引き継ぎます。 HSRP は任意の数のルータで実行できますが、仮想ルータに送信されたパケットを転送するのはアクティブ ルータのみです。

ネットワーク トラフィックを最小限に抑えるため、選出プロセスが完了した後は、アクティブ ルータとスタンバイ ルータの間でのみ、定期的に HSRP メッセージが送信されます。 アクティブ ルータで障害が発生すると、スタンバイ ルータがアクティブ ルータの役割を引き継ぎます。 スタンバイ ルータで障害が発生するか、またはスタンバイ ルータがアクティブ ルータになると、別のルータがスタンバイ ルータとして選出されます。

特殊な LAN では、複数のホスト スタンバイ グループが共存し、オーバーラップしています。 スタンバイ グループはそれぞれ 1 台の仮想ルータをエミュレートします。 個々のルータは複数のグループに含まれることがあります。 この場合、ルータはグループごとに異なる状態とタイマーを維持します。

各スタンバイ グループには、IP アドレスと同様に、単一の周知の MAC アドレスがあります。

HSRP アドレッシング

HSRP グループの一部としてルータを設定すると、ルータはほとんどの場合、自身に焼き付けられた MAC アドレスだけでなく、そのグループの HSRP MAC アドレス宛てのものも受信します。 例外は、ルータのイーサネット コントローラが 1 つの MAC アドレスしか認識しない場合です(たとえば、Cisco 2500 および Cisco 4500 などのルータ上の Lance コントローラなど)。 これらのルータは、自らがアクティブ ルータのときに HSRP MAC アドレスを使用し、そうでないときには焼き付けられた MAC アドレスを使用します。

HSRP は、トークン リング以外の全メディア上で次の MAC アドレスを使用します。

0000.0c07.ac**   (where ** is the HSRP group number)

トークン リング インターフェイスは HSRP MAC アドレス用の機能アドレスを使用します。 機能アドレスは、使用可能な唯一の一般的なマルチキャスト メカニズムです。 使用できるトークン リングの機能アドレス数は限られており、その大半は他の機能のために確保されています。 HSRP には次の 3 つのアドレスを使用できます。

c000.0001.0000   (group 0)
c000.0002.0000   (group 1)
c000.0004.0000   (group 2)

HSRP が複数リングの Source-Route Bridging(SRB; ソースルート ブリッシング)環境で稼動し、HSRP ルータがさまざまなリング上に配置されている場合に、機能アドレスを使用すると Routing Information Field(RIF; ルーティング情報フィールド)に混乱が起きる恐れがあります。 たとえば、SRB 環境の場合、HSRP スタンバイ ルータをアクティブ ルータとは異なる別のリングに配置できます。 このスタンバイ ルータがアクティブになると、以前のアクティブ ルータと同じリング上の端末は、新しいアクティブ ルータにパケットを送信するのに新しい RIF が必要です。 しかし、スタンバイ(新しいアクティブ)ルータは以前のアクティブ ルータと同じ機能アドレスを使用しているため、端末は、探索パケットを送信して新しい RIF を入手する必要があることを認識しません。 そのために、use-bia コマンドが導入されました。

Cisco IOS のリリースと HSRP 機能のマトリックス

Cisco IOS どの HSRP 機能がサポートされるかこの資料に示されていますか。 詳しい説明を参照するには、機能をクリックします。 暫定リリース番号は、どのリリースで機能が最初に導入されたか、または機能が変更されたかを示します。

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
機能 10.0 10.2 10.3 11.0 11.1 11.2 11.3 12.0 12.0T 12.1 12.1T
プリエンプション X X X X X X X X X X X
複数のグループ(MHSRP) X X X X X X X X X
イーサネット X X X X X X X
インターフェイス トラッキング X X X X X X X
BIA の使用 8.0 X X X X X X
プリエンプト遅延 X X 6.1 X X X
イーサネット LANE X X X X X X
トークン リング LANE X X X X X
ISL X X X X X
Syslog のサポート X X X X X
MAC リフレッシュ インターバル 1.0 X X X
SNMP MIB 3.0 X X
MHSRP と BIA の使用 3.4 X X
IP 冗長性 3.4 X X
BVI 6.2 X X
802.1Q 8.1 X X
拡張 HSRP デバッグ 0.2 X
HSRP ICMP リダイレクト 3
HSRP MPLS VPN 3

Cisco IOS のブート イメージと HSRP 機能のマトリクス

HSRP 機能は、Cisco Bug ID CSCec16720登録ユーザ専用)での修正が統合されるまで、Cisco IOS ブート イメージに含まれていました。 Cisco Bug ID CSCec16720 により、次の例外を除き、ブート イメージから HSRP が削除されています。

  • c7200-boot-mz

  • c7200-kboot-mz

  • c10k-eboot-mz

  • c4500-boot-mz

  • c7200-boot-mz

  • c7200-kboot-mz

  • c7400-kboot-mz

  • ubr7200-boot-mz

  • c6400r-boot-mz

  • rpm-boot-mz

  • rpmxf-boot-mz

  • rsp-boot-mz

  • urm-wboot-mz

  • c5350-boot-mz

  • c5400-boot-mz

  • c7301-boot-mz

  • c5850-boot-mz

  • c4gwy-cboot-mz

  • ubr910-rboot-mz

  • ubr910-rboot-mz

  • ubr925-k8boot-mz

  • c5850tb-boot-mz

HSRP の機能

プリエンプション

HSRP のプリエンプション機能によって、ルータが即座にアクティブ ルータになるための最高の優先順位をつけることができます。 優先順位は、まず設定される優先順位の値によって、次に IP アドレスによって決定されます。 いずれの場合も、値が高いほど優先順位が高くなります。

優先順位の高いルータは、優先順位の低いルータと交代するとき、coup メッセージを送信します。 優先順位の低いアクティブ ルータは、優先順位の高いアクティブ ルータから coup メッセージまたは hello メッセージを受け取ると、speak 状態に移行して resign メッセージを送信します。

プリエンプト遅延

プリエンプト遅延機能は、プリエンプションの設定した時間分の遅延を可能にし、ルータがアクティブ ルータになる前にルーティング テーブルを実装できるようにします。

Cisco IOS Software release 12.0(9)の前、ルータがリロードした時開始する遅延。 Cisco IOS リリース 12.0(9) では、プリエンプションが最初に実行されるときに遅延が始まります。

HSRP の優先順位およびプリエンプションを設定するには、standby [group] [priority number] [preempt [delay [minimum] seconds] [sync seconds]] コマンドを使用します。

HSRP の設定の詳細は、『HSRP のドキュメント』を参照してください。

インターフェイス トラッキング

インターフェイス トラッキングでは、所定のグループの HSRP 優先順位を変更するために、HSRP プロセスでモニタ可能な、ルータ上の別のインターフェイスを指定できます。

指定したインターフェイスの回線プロトコルがダウンした場合は、このルータの HSRP 優先順位が下がり、優先順位が高い別の HSRP ルータがアクティブになります(プリエンプションがイネーブルになっている場合)。

HSRP インターフェイス トラッキングを設定するには、standby [group] track interface [priority] コマンドを使用します。

トラッキングしたインターフェイスが複数ダウンした場合は、優先順位は累積的に下がります。 優先順位の減少値を明示的に設定した場合、インターフェイスがダウンするとその値分の優先順位が下がり、この減少値は累積されます。 優先順位の減少値を明示的に設定しない場合、インターフェイスがダウンすると 10 ずつ優先順位が下がり、この減少値は累積されます。

次の例では、次のような設定でデフォルトの減少値 10 を使用します。

HSRP グループ番号を指定しない場合、デフォルトのグループ番号は 0 になります。

interface ethernet0
     ip address 10.1.1.1 255.255.255.0
     standby ip  10.1.1.3 
     standby priority 110
     standby track serial0 
     standby track serial1

この設定の HSRP は、次のように動作します。

  • 0 インターフェイスのダウン = 減少なし(優先順位は 110)

  • 1 インターフェイスのダウン = 10 減少(優先順位は 100)

  • 2 インターフェイスのダウン = 10 減少(優先順位は 90)

上記のようは HSRP の動作は、次のように減少値を明示的に設定した場合も同じです。

interface ethernet0
     ip address 10.1.1.1 255.255.255.0
     standby ip  10.1.1.3 
     standby priority 110
     standby track serial0 10
     standby track serial1 10

Cisco IOS Release 12.1 の前に、ダウンインターフェイスが付いているルータを開始すれば、HSRP インターフェイストラッキングはとインターフェイスをみなします。

この不具合は、シスコ バグ ID CSCdp32289(登録済みのお客様専用)で報告されています。

焼き込みアドレスの使用

Burned-in Address(BIA; 焼き込みアドレス)機能の使用によって、HSRP グループは HSRP MAC アドレスではなくインターフェイスの焼き込み MAC アドレスを使用できます。 BIA の使用は、Cisco IOS リリース 11.1(8) で初めて実装されました。 HSRP が BIA を使用するように設定するには、standby use-bia [scope interface] コマンドを使用します。

use-bia コマンドは、トークン リング インターフェイスで HSRP MAC アドレスに機能アドレスを使用する場合の制限を克服するために実装されました。

HSRP が複数リングのソースルート ブリッシング環境で稼動し、HSRP ルータがさまざまなリング上に配置されている場合に、機能アドレスを使用すると Routing Information Field(RIF; ルーティング情報フィールド)に混乱が起きる恐れがあります。 そのために、use-bia コマンドが導入されました。

また、use-bia 機能によって DECnet の MAC アドレス(BIA)を HSRP MAC アドレスとして使用できるため、DECnet、Xerox Network Systems(XNS)および HSRP を同じルータ上で使用することが可能になります。 use-bia コマンドはまた、デバイスの BIA が LAN 上の他のデバイスに設定されているネットワーク環境で便利です。

ただし、use-bia コマンドには不便な点もいくつかあります。

  • ルータがアクティブになると、仮想 IP アドレスが異なる MAC アドレスに移動します。 新しくアクティブになったルータからは gratuitous ARP 応答が送信されますが、必ずしもすべてのホスト実装で gratuitous ARP が正しく処理されるとは限りません。

  • use-bia を設定すると、プロキシ ARP を使用できません。 スタンバイ ルータは、故障したルータのプロキシ ARP データベースが失われた場合、それを補うことができません。

  • Cisco IOS リリース 12.0(3.4)T 以前は、use-bia を設定した場合に使用できる HSRP グループは 1 つだけに限られていました。

サブインターフェイスに use-bia コマンドを設定すると、実際はメイン インターフェイス上で表示され、すべてのサブインターフェイスに適用されています。 Cisco IOS リリース 12.0(6.2) 以降では、use-bia コマンドは拡張されて、オプションのスコープ インターフェイス キーワードを使用して単一のサブインターフェイスにだけコマンドが適用されるようになります。

この不具合は、シスコ バグ ID CSCdm25468(登録済みのお客様専用)で報告されています。

複数の HSRP グループ

複数 HSRP(MHSRP)グループ機能は、Cisco IOS リリース 10.3 で追加されました。 この機能は、冗長性とネットワーク内のロードシェアリングを強化し、冗長ルータをさらに有効に活用できるようにします。 ルータがアクティブで 1 つの HSRP グループにトラフィックを転送する間、別のグループに対してスタンバイまたはリスニング ステートになることができます。

Cisco IOS リリース 12.0(3.4)T からは、use-bia コマンドを複数 HSRP グループにまたがって使用できるようになりました。

HSRP をマルチパスを利用するために設定するように HSRP のロード シェアリングを参照して下さい。

設定可能な MAC アドレス

通常は、端末がIP ルーティングの第 1 ホップ ゲートウェイを探すために HSRP を使用します。 端末にはデフォルト ゲートウェイが設定されます。 ただし、HSRP は他のプロトコルに第 1 ホップの冗長性を提供できます。 (APPN; 拡張分散ネットワーク機能)などのプロトコルは、ルーティングのための第 1 ホップを識別するために MAC アドレスを使用します。

この場合は、standby mac-address コマンドを使用して仮想 MAC アドレスを指定できることが必要となります。 これらのプロトコルでは、仮想 IP アドレスは重要ではありません。 コマンドの実際の構文は、standby [group] mac-address mac-address です。

このコマンドは、トークン リング インターフェイスでは使用できません。

Syslog のサポート

syslog メッセージによる HSRP 情報のサポートは、Cisco IOS リリース 11.3 で追加されました。 この機能によって、syslog サーバで現在のアクティブ ルータおよびスタンバイ ルータをより効果的にロギングおよびトラッキングできます。

HSRP デバッグ

Cisco IOS Release 12.1 の前に、Hsrp debugging コマンドは比較的簡単でした。 HSRP のデバッグをイネーブルにするには、単に debug standby コマンドを使用するだけでした。このコマンドによって、HSRP の状態とすべてのインターフェイス上にあるすべてのスタンバイ グループのパケット情報を出力できました。

Cisco IOS 12.0(2.1) でデバッグ条件が追加されたため、インターフェイスとグループ番号に基づいて、standby debug コマンドの出力にフィルタをかけることができます。 コマンドは次の通り Cisco IOS Release 12.0 でもたらされるデバッグ状態範例を利用します: debug condition standby interface group。 interface には、HSRP をサポートする有効なインターフェイスを指定する必要があります。 group には任意のグループ(0~255)を指定できます。

存在しないグループにデバッグ条件を指定することもできます。これにより、新しいグループの初期化中にデバッグ情報を取得できます。

デバッグ出力を生成するには、standby debug オーダーをイネーブルにする必要があります。 standby debugに条件を設定しない場合は、すべてのインターフェイス上にあるすべてのグループについてデバッグ出力が生成されます。 standby debugの条件を 1 つでも設定した場合、standby debug の出力は standby debug の条件に従ってフィルタに掛けられます。

拡張 HSRP デバッグ

Cisco IOS Release 12.1(0.2) の前に、HSRP デバッギングは限定使用 情報が定期的なhelloメッセージからのノイズで失われたのででした。 そのため、Cisco IOS 12.1(0.2) でデバッグの拡張機能が追加されました。

次の表で、拡張デバッグのコマンド オプションを説明します。

コマンド 説明
debug standby HSRP エラー、イベント、およびパケットをすべて表示します。
debug standby terse 全 HSRP エラー、全イベント、および、hello パケットとアドバタイズメント パケット以外の全パケットを表示します。
debug standby errors HSRP エラーを表示します。
debug standby イベント[[すべて | terse] | [icmp | プロトコル | redundancy | track]] [detail] HSRP イベントを表示します。
debug standby packets [[all | terse] | [[advertise | coup | hello | resign]] [detail] HSRP パケットを表示します。

インターフェイスと HSRP グループによる条件付きデバッグを使用すると、debug の出力をフィルタに掛けることができます。 インターフェイスでの条件付きデバッグをイネーブルするには、debug condition interface interface コマンドを使用します。 HSRP 条件付きデバッギングを有効にするために、debug condition standby interface group コマンドを使用して下さい。

インターフェイスによるデバッグ条件は、standby debug 条件を設定していないときにのみ適用されます。 HSRP デバッギングは HSRPステートテーブルに実現した改善に基づいて Cisco IOS ソフトウェア リリース 12.1(1.3) で更に、高められます。

この不具合は、シスコ バグ ID CSCdp57811(登録済みのお客様専用)で報告されています。

これらの改良によって HSRP 状態テーブルのイベントが表示されるようになります。 次の出力中の a/、b/、c/ などは、HSRP 有限状態マシンのイベントを指します。HSRP 有限状態マシンについては、RFC 2281 で解説されています。leavingcisco.com

SB1: Ethernet0/2 Init: a/HSRP enabled
SB1: Ethernet0/2 Active: b/HSRP disabled (interface down)
SB1: Ethernet0/2 Listen: c/Active timer expired (unknown)
SB1: Ethernet0/2 Active: d/Standby timer expired (20.0.0.3)
SB1: Ethernet0/2 Speak: f/Hello rcvd from higher pri Speak router
SB1: Ethernet0/2 Active: g/Hello rcvd from higher pri Active router
SB1: Ethernet0/2 Speak: h/Hello rcvd from lower pri Active router
SB1: Ethernet0/2 Standby: i/Resign rcvd
SB1: Ethernet0/2 Active: j/Coup rcvd from higher pri router
SB1: Ethernet0/2 Standby: k/Hello rcvd from higher pri Standby router
SB1: Ethernet0/2 Standby: l/Hello rcvd from lower pri Standby router
SB1: Ethernet0/2 Active: m/Standby mac address changed
SB1: Ethernet0/2 Active: n/Standby IP address configured

認証

HSRP 認証機能は、HSRP パケットに含まれる共有クリア テキスト キーから成ります。 この機能は、優先順位の低いルータが優先順位の高いルータのスタンバイ IP アドレスおよびスタンバイ タイマー値を学習することを防ぎます。

HSRP 認証文字列を設定するために、standby authentication string コマンドを使用して下さい。

IP 冗長性

HSRP は、IP ルーティングにステートレスな冗長性を提供します。 HSRP は、自身の状態を維持することが制限されています。 HSRP は、各ルータが他のルータに依存することなく、専用のルーティング テーブルを構築および維持していると見なします。 IP 冗長性機能は、HSRP がクライアント アプリケーションにサービスを提供して、ステートフルなフェールオーバーを実装できるメカニズムを提供します。

IP 冗長性は、ピア アプリケーションに状態情報を交換するメカニズムを提供するものではありません。 これはアプリケーション自身で用意するものであり、そのアプリケーションがステートフルなフェールオーバーを提供する場合は必須です。

IP 冗長性は 2000 年 1 月現在、モバイル IP ホーム エージェント向けにのみ実装されています。 次に、設定例を示します。

configure terminal
 router mobile
 ip mobile home-agent standby hsrp-group1
!
interface e0/2
 no shutdown
 ip address 20.0.0.1 255.0.0.0
 standby 1 ip 20.0.0.11
 standby 1 name hsrp-group1

Cisco IOS リリース 12.1(3)T からは、キーワード standby に加えて、キーワード redundancy が許容されるようになりました。 standby キーワードは、Cisco IOS の今後のリリースで廃止される予定です。 したがって、正確なコマンドは ip mobile home-agent redundancy hsrp-group1 になります。

IP 冗長性は、将来的に次のような用途が考えられます。

  • NAT - 冗長 な ゲートウェイを提供する必要。

  • IPSEC - HSRP が使用中である時ステート情報を操作するために同期する必要。

  • DHCP サーバ - 種々のルータに実装された DHCP サーバ

  • NBAR、CBAC - 非対称ルーティングでのファイアウォール状態のミラーリング

  • GPRS - TCP 状態をトラッキングする方法を必要とします。

  • PIX

SNMP 管理情報ベース

Cisco IOS リリース 12.0(3.0)T では、SNMP (MIB; 管理情報ベース)のサポートが追加されました。 HSRP には、次に示す 2 つの関連する MIB があります。

  • ciscoMgmt 106: HSRP を管理する MIB モジュール

  • ciscoMgmt 107: HSRP を管理する拡張 MIB モジュール

Cisco IOS リリース 12.0(6.1)T 以前では、(BVI; ブリッジ グループ仮想インターフェイス)が存在するときに拡張 HSRP MIB がウォークすると、ルータがクラッシュする原因になりました。

この不具合は、シスコ バグ ID CSCdm61257(登録済みのお客様専用)で報告されています。

マルチプロトコル ラベル スイッチング バーチャル プライベート ネットワークのための HSRP サポート

Cisco IOS リリース 12.1(3)T では、Multiprotocol Label Switching(MLS; マルチプロトコル ラベル スイッチング)Virtual Private Network(VPN; 仮想私設ネットワーク)のための HSRP サポートが追加されました。

MPLS VPN インターフェイス上の HSRP は、2 つの Provider Edge(PE; プロバイダー エッジ)の間がイーサネットで接続されており、次のいずれかにあてはまる場合に便利です。

  • HSRP 仮想 IP アドレスへのデフォルト ルートを持つ Customer Edge(CE; カスタマー エッジ)がある。

  • デフォルト ゲートウェイに HSRP 仮想 IP アドレスが設定されたホストが 1 台以上ある。

次のネットワーク図では、VPN routing/forwarding(VRF; VPN ルーティング/フォワーディング)インターフェイス間で HSRP を実行する 2 つの PE を示します。 CE のデフォルト ルートには、HSRP 仮想 IP アドレスが設定されています。 HSRP は、PE に接続するインターフェイスから残りのプロバイダー ネットワーク全体までをトラッキングするように設定されています。 たとえば、PE1 のインターフェイス E1 に障害が発生すると、HSRP の優先順位が減少し、仮想 IP/MAC アドレスへのパケットの転送は、PE2 が引き継ぎます。

http://www.cisco.com/c/dam/en/us/support/docs/ip/hot-standby-router-protocol-hsrp/9234-hsrpguide4a.gif

これらはコンフィギュレーションです:

ルータ PE1 ルータ PE2
conf terminal
!
ip cef
!
ip vrf vrf1
 rd 100:1
 route-target export 100:1
 route-target import 100:1
!
interface ethernet0
 no shutdown
 ip vrf forwarding vrf1
 ip address 10.2.0.1 255.255.0.0
 standby 1 ip 10.2.0.20
 standby 1 priority 105
 standby 1 preempt delay minimum 10
 standby 1 timers 3 10
 standby 1 track ethernet1 10
 standby 1 track ethernet2 10
conf terminal
!
ip cef
!
ip vrf vrf1
 rd 100:1
 route-target export 100:1
 route-target import 100:1
!
interface ethernet0
 no shutdown
 ip vrf forwarding vrf1
 ip address 10.2.0.2 255.255.0.0
 standby 1 ip 10.2.0.20
 standby 1 priority 100
 standby 1 preempt delay minimum 10
 standby 1 timers 3 10
 standby 1 track ethernet1 10
 standby 1 track ethernet2 10

次のコマンドを使用して、HSRP 仮想 IP アドレスが正しい VRF ARP および Cisco Express Forwarding テーブルにあることを確認します。

ed1-pe1# show ip arp vrf vrf1
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  10.2.0.1                -   00d0.bbd3.bc22  ARPA   Ethernet0/2
Internet  10.2.0.20               -   0000.0c07.ac01  ARPA   Ethernet0/2   

ed1-pe1# show ip cef vrf vrf1
Prefix              Next Hop             Interface
0.0.0.0/0           10.3.0.4             Ethernet0/3
0.0.0.0/32          receive
10.1.0.0/16         10.2.0.1             Ethernet0/2
10.2.0.0/16         attached             Ethernet0/2
10.2.0.1/32         receive
10.2.0.20/32        receive                                                
224.0.0.0/24        receive
255.255.255.255/32  receive

ICMP リダイレクトのための HSRP サポート

HSRP の基盤にあるのは、「サブネットを保護している HSRP ピア ルータは、ネットワークを構成する他のすべてのサブネットへのアクセスを提供できる」という概念です。 したがって、どのルータがアクティブ HSRP ルータになるかということは問題になりません。なぜなら、すべてのルータがすべてのサブネットに対するルートを持っているからです。

HSRP は、特別な仮想 IP アドレスおよび仮想 MAC アドレスを使用します。これらのアドレスは、HSRP アクティブ ルータに論理的に接続しています。 そのインターフェイス上で HSRP を使用するときには、そのインターフェイス上の ICMP リダイレクトは自動的にディセーブルされます。 IOS 12.1(3)T 以降では、ICMP リダイレクト機能により、HSRP が設定されたインターフェイス上では ICMP リダイレクトがイネーブルにされます。 詳細は、『HSRP の ICMP リダイレクト サポート』を参照してください。 これにより、ホストが HSRP 仮想 IP アドレスからリダイレクトされるのを防ぎます。 サブネット上の 2 つ(またはそれ以上)のルータは、残りのネットワークに対して同一の接続性を持っていない可能性があります。 つまり、特定の宛先 IP アドレスに関しては、どちらかのルータが他方より優れたパスを持っている可能性があります。また、どちらかのルータがそのアドレスに接続する唯一のルータであることもあります。

ICMP プロトコルによって、ルータは、特定の宛先にパケットを送信する端末を、同じサブネット上の別のルータにリダイレクトできるようになります。これは、この別のルータがそのアドレスへのより優れたパスを持っていることを、最初のルータが把握している場合に実行されます。 デフォルト ゲートウェイの場合は、特定の宛先に向けてパケットを送信する端末がリダイレクトされるルータに障害が発生すると、端末から宛先に送信されたパケットは配送されません。 これは、標準的な HSRP で発生する問題です。 このような理由から、HSRP を使用するときは ICMP をディセーブルすることを推奨します。

ICMP リダイレクトと HSRP の関係を強化することが、この問題のソリューションになり、HSRP と ICMP リダイレクトの両方の優れた機能を利用できます。 2 つ(またはそれ以上)の HSRP グループがそれぞれのサブネットで実行されており、サブネットには、少なくとも参加しているルータと同じ数の HSRP グループが設定されています。 各ルータは、少なくとも 1 つの HSRP グループのマスターになるように優先順位が設定されます。 あるルータが特定の宛先に向けてパケットを送信する端末を別のルータにリダイレクトすることを決定する場合は、端末をその別のルータの IP アドレスにリダイレクトするのではなく、そのルータをマスターにしている HSRP グループを探して、対応する仮想 IP アドレスに端末をリダイレクトします。 そのターゲットとなるルータに障害が発生した場合、HSRP はそのジョブが別のルータに確実に引き継がれるようにします。おそらく、端末はまた別の仮想ルータにリダイレクトされることになります。

HSRP インターフェイスおよびメディアサポート

このセクションでは、HSRP がサポートするインターフェイスとメディアについて説明します。また、それらのメディアで HSRP を実行するときに考えられる注意点についても説明します。

Cisco IOS ソフトウェア リリース 10.0 からは、HSRP 機能がイーサネット、トークン リングおよび (FDDI; ファイバ分散データ インターフェイス)で利用できるようになりました。 ファースト イーサネットと ATM インターフェイスも HSRP でサポートされます。

(VLAN; バーチャル LAN)によって、論理ネットワーク トポロジが物理スイッチ インフラストラクチャにオーバーレイすることが可能になり、任意に収集された LAN ポートが自律したユーザ グループまたは利害を共有する共同体として結び付けられます。 Cisco IOS リリース 11.1 では、IEEE 802.10 Secure Data Exchange(SDE; セキュア データ交換)用の HSRP VLAN サポートが追加され、Cisco IOS リリース 11.3 では、Cisco Inter-Switch Link(ISL; スイッチ間リンク)用の HSRP VLAN サポートが追加されました。

イーサネット

ローエンド製品に搭載されているイーサネット(Lance および QUICC)コントローラによっては、アドレス フィルタ内にユニキャスト MAC アドレスを 1 つしか設定できないものもあります。 これらのプラットフォームでは、単一の HSRP グループだけが許可され、そのグループがアクティブになると、インターフェイス アドレスが HSRP 仮想 MAC アドレスに変更されます。 この種のインターフェイスを複数持つルータで HSRP を使用している場合は、各インターフェイスに異なる HSRP グループ番号を設定する必要があります。

Cisco 7200 ルータでも Lance イーサネット コントローラを使用しますが、MHSRP はソフトウェアでサポートします。

HSRP 用にアドレス フィルタを更新するのに時間がかかるため、シスコでは、HSRP Ethernet Interface Processor(EIP; イーサネット インターフェイス プロセッサ)の数を 24 以内にすることを推奨しています。 HSRP EIP の数が 24 を越えると、CPU の負荷が増大し、動作が不安定になります。

この不具合は、シスコ バグ ID CSCdj29595(登録済みのお客様専用)で報告されています。

25 以上の EIP がある場合は、EIP を (VIP)とイーサネット ポート アダプタに置き換えます。 VIP は、80 までの HSRP グループを許可しています。 また、HSRP グループの数を減らし、HSRP hello と保持時間を増やします。

トークン リング

トークン リング インターフェイスで HSRP を実行するには、制約が 1 つあります。イーサネット、FDDI または ATM エミュレーションで行うのと同じ方法で、トークン リング チップセットにアドレス フィルタを再プログラムすることはできません。 トークン リングでは、機能アドレス スペースの中で、他の利用と競合せずに使用できる、ごく少数の機能アドレスを使用します。

Source-Route Bridging(SRB; ソースルート ブリッジング)環境で HSRP を実行する場合に、機能アドレスを使用すると RIF に混乱を招くことがあります。 詳細は、「HSRP アドレッシング」のセクションを参照してください。 また、use-bia コマンドを設定してみてください。

802.1Q

Cisco は 802.1Q 上の HSRP のために Cisco IOS ソフトウェア リリース 12.0(8.1)T またはそれ以降を使用することを推奨します。

ISL

Cisco IOS リリース 11.2(6)F、11.3、12.X では、ISL で HSRP を使用できます。 シスコ バグ ID CSCdm68811(登録済みのお客様専用)で報告されている問題を避けるには、リリース 12.0(7) を推奨します。

FDDI

FDDI ポート アダプタは、自身の MAC アドレスの 1 つを MAC 送信元に見つけると、リングからフレームをはずします。 ネットワーク イベントによって両方のルータがアクティブになった場合、両方のルータは、同じ仮想 MAC アドレスを持つ HSRP hello パケットを送信します。 すると、各ルータは誤って他方のルータの hello パケットをネットワークからはずし、両方がアクティブのまま残ります。

この不具合は、シスコ バグ ID CSCdj30049(登録済みのお客様専用)で報告されています。

Cisco IOS リリース 11.2(11.1) でのこの問題のソリューションは、FDDI 環境にある HSRP ルータが、メッセージ交換および HSRP プロトコルの実行時に、自身に固有の焼き込み MAC アドレスを使用することです。 ラーニング ブリッジとスイッチが仮想 MAC アドレスとして正しいポート エントリを確実にキャッシュするために、アクティブ ルータもまた HSRP MAC アドレスを使用して定期的にリフレッシュ メッセージを送信します。

複数の RIP ネットワークおよび HSRP グループを設定している場合は、リロード後に、FDDI インターフェイス上にある Cisco 4500 ルータのハードウェア Content-Addressable Memory(CAM)が正しく入力されません。 現時点での回避策は、インターフェイスをクリアして CAM を復元します。 この不具合は、シスコ バグ ID CSCdm93122(登録済みのお客様専用)で報告されています。

MAC リフレッシュ

FDDI 環境にある HSRP ルータは、自身に固有の焼きこみ MAC アドレスを使用して、メッセージを交換し、HSRP プロトコルを実行しています。 ラーニング ブリッジとスイッチが仮想 MAC アドレスとして正しいポート エントリを確実にキャッシュするために、アクティブ ルータもまた HSRP MAC アドレスを使用して定期的にリフレッシュ メッセージを送信します。 この不具合は、シスコ バグ ID CSCdj30049(登録済みのお客様専用)で報告されています。

ネットワークにスイッチまたはラーニング ブリッジがない場合は、次のようにしてリフレッシュ パケットの送信をディセーブルします。

interface fddi 1/0/0
 ip address 10.1.1.1 255.255.255.0 
 standby ip 10.1.1.250 
 standby mac-refresh 0

ブリッジ グループ仮想インターフェイス

(BVI; ブリッジ グループ仮想インターフェイス)向けの HSRP サポートは、Cisco IOS リリース 12.0(6.2)T で追加されました。

サブインターフェイス

サブインターフェイス上にある HSRP グループは、同じメイン インターフェイス上のすべてのサブインターフェイスにある、他のすべてのグループ中で固有なグループ番号を持っている必要があります。 なぜなら、サブインターフェイスは固有の SNMP インターフェイス インデックスを受信しないからです。 異なるサブインターフェイス上に同じ番号 N を持つ 2 つのグループがある場合、MIB では、サブインターフェイス 1 上にあるグループ N とサブインターフェイス 2 上にあるグループ N が同じグループとして表示されます。


関連情報


Document ID: 9234