ネットワークエンジニアになろう! > CCO レビュー > HSRP - 負荷を分散する

HSRP - 負荷を分散する

HSRP (Hot Standby Router Protocol) は、Cisco により開発された、デフォルトゲートウェイを冗長化するプロトコルです。
同様の機能を実現するプロトコルに、VRRP (Virtual Router Redundancy Protocol) があります。

実際の適用箇所はデフォルトゲートウェイに限定されませんが、本来の目的は、ルーティングプロトコルを実装していない端末に対して、Next Hop の冗長性を提供することにあります。

HSRP では、複数台のルータでStandby Group と呼ばれるグループを構成します。
Standby Group には、Virtual IP アドレスと、それに対応するVirtual MAC アドレスが一つずつ存在します。

サブネット内の端末は、Virtual IP アドレスをデフォルトゲートウェイとして設定します。
Standby Group の中から、一台のルータがActive Router となり、Virtual IP/MAC アドレス宛のパケットを処理します。
(Standby Group の二台目のルータはStandby Router と呼ばれます)

Active Router とStandby Router は、Hello パケットを交換しあうことで、お互いの存在を確認します。
Active Router が存在しなくなると(Hello パケットが届かなくなると)、Standby Router はActive Router に代わり、Virtual IP/MAC 宛のパケット処理を肩代わりします。

こうして、端末は、ルータの切り替わりを認識することなく、通信を継続することができます。


Cisco.com (CCO) レビューについて

HSRP(Hot Stanby Router Protocol)を使用したロード シェアリング (ライター翻訳)

Load Sharing with HSRP (英文)


複数のStandby Group を作成することで、ルータの負荷を分散するとともに、冗長化された回線を有効利用する方法を説明した技術資料です。

Standby Group が一つしかない場合、同時に利用可能なルータは一台だけです。
Standby Router や三台目以降のルータ、それらのルータが接続している回線は待機状態となります。

Standby Group を複数作成すると、そのサブネット内の端末が利用可能なデフォルトゲートウェイは、Standby Group の数だけ存在することになります。

端末毎にデフォルトゲートウェイを変えてやることで、ルータの負荷を分散するとともに、回線を有効利用することができます。
















<R1 の設定



interface Ethernet0
ip address 171.16.6.5 255.255.255.0
standby 1 preempt
standby 1 ip 171.16.6.100
standby 1 track Serial0
standby 2 preempt
standby 2 ip 171.16.6.200
standby 2 track serial 0
standby 2 priority 95

R2 の設定



interface Ethernet0
ip address 171.16.6.6 255.255.255.0
standby 1 preempt
standby 1 ip 171.16.6.100
standby 1 track Serial0
standby 1 priority 95
standby 2 preempt
standby 2 ip 171.16.6.200
standby 2 track serial 0

171.16.6.0/24 というサブネットには、171.16.6.100 と171.16.6.200 の二つのデフォルトゲートウェイが存在することになります。

■ priority
Priority 値の比較で、どのルータがActive Router となるかが決まります。
Priority が最も大きいルータがActive Router となります。デフォルト値は100 です。

Priority が同じ場合、IP アドレスが比較され、もっとも大きいものが選択されます。

■ preempt(プリエンプト)
それまでStandby Router だったルータがActive Router となったあと、従来のActive Router が復旧したとします。

本来であれば、復旧したルータがまたActive Router の役をやってくれれば良いのですが、HSRP ではそうはなりません。
肩代わりしたルータがなんらかの理由でActive Router の役を辞めない限り、そのままです。

Preempt を設定すると、従来のActive Router が復旧すると(=より大きいPriority のルータが出現すると)、復旧したルータがActive Router になります。

■ track
HSRP は、サブネットの中でのみ有効な仕組みです。
あるインターフェイスで発生した障害は、他のサブネットのStandby Group には影響を与えません。

先の図で言うと、Router-A とRouter-C の間のリンクがダウンしても、Router-A はStandby Group 1 のActive Router であり続けてしまいます。

このような状態に対応するため、track を設定します。
この設定例では、standby * track Serial0 が設定してあります。

これは、Serial0 インターフェイスを監視することを意味します。
このインターフェイスのリンクがダウンすると、HSRP で設定されたPriority を下げます。
Priority の下がったHello を受け取ると、Standby Router はActive Router の役を肩代わりします。

通常は、standby * track Serial0 20 というふうに、どの程度Priority を下げるかを指定します。指定がない場合は、10 下げられます。

重要な注意事項

ローエンド製品に搭載されているイーサネット(Lance および QUICC)コントローラによっては、アドレス フィルタ内にユニキャスト Media Access Control(MAC; メディア アクセス制御)アドレスを 1 つしか設定できません。

複数のStandby Group を作成する場合、ルータは、Standby Group の数だけVirtual MAC アドレスを認識する必要があります。

しかし、ルータに実装されているイーサネットコントローラの種類によっては、同時に認識できるMAC アドレスが一つだけの場合もあります(Lance やQUICC)。

そのようなルータでHSRP を使用する場合、standby * use-bia を設定します。
standby * use-bia を設定すると、ルータはHSRP の処理に、Virtual MAC アドレスではなく、ルータ本来のMAC アドレスを使用します。
BIA はBurnt In Address の略で、イーサネットコントローラに本来プログラムされているアドレスを意味します。

イーサネットコントローラの種類は、show interface コマンドで確認できます。



Router#show interface ethernet0
Ethernet0 is up, line protocol is up
Hardware is Lance, address is 00e0.1eb9.9ec2 (bia 00e0.1eb9.9ec2)
Internet address is 192.168.23.101/24
MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
ARP type: ARPA, ARP Timeout 04:00:00
Last input 00:00:00, output 00:00:03, output hang never
Last clearing of "show interface" counters never
Queueing strategy: fifo
Output queue 0/40, 0 drops; input queue 0/75, 2630 drops
5 minute input rate 2000 bits/sec, 3 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
7751694 packets input, 732225537 bytes, 19 no buffer
Received 7751694 broadcasts, 0 runts, 0 giants, 2630 throttles
513 input errors, 0 CRC, 0 frame, 0 overrun, 513 ignored
0 input packets with dribble condition detected
276177 packets output, 28200213 bytes, 0 underruns
1 output errors, 36 collisions, 2 interface resets
0 babbles, 0 late collision, 132 deferred
0 lost carrier, 0 no carrier
0 output buffer failures, 0 output buffers swapped out
Router#


ネットワークエンジニアになろう!のトップページへ戻る
サイト内検索
無料メールマガジン「英語でネットワークエンジニア」
マニュアルやRFCを読むのに必要なのは、高度な文法知識ではなく語彙力です。毎回一単語、例文と解説に技術情報を併せてお届けします. (マガジンID:0000181633)
メールアドレス:
Powered by
This website is powered by Movable Type 3.2 Smartnetworks.jp.