30 Minutes NetWorking
No.SW18

30Minutes NetWorking

BCMSN

第18回HSRP(1) フォルトトレラント

■ フォルトトレラント

ハイパーネット助手

フォルトトレラントってなんです?

スーパーインター博士

ん〜、なかなか日本語では適当な訳がないな。
「耐障害性」……、違うな。「耐誤作動性」……、う〜ん。

ハイパーネット助手

つまり、どういうことなんですか?

スーパーインター博士

「誤り(fault)」に「耐性のある(tolerant)」ということだ。
つまり、システムの一部に障害・誤作動が発生してもシステムとして動作しつづける機能を持っていること、ということだ。

ハイパーネット助手

あ〜なんか聞いたことあるような。
ふぇーるせーふ? ふぇーるそふと? ふーるぷるーふ? ふぇいるおーばー?

スーパーインター博士

フェールセーフフールプルーフは違うだろう。
フェールソフトもちょっと違うな。今回の話はフェイルオーバかな。

ハイパーネット助手

ははぁ、フェイルオーバ。
というか、経済産業省の基本情報処理試験のような話になってきましたね。 ▼ link

スーパーインター博士

あ〜、確かによくでる設問の1つだな。
まぁ、ともかくだ。このフォルトトレラントについての話だ。

ハイパーネット助手

「システムの一部に障害・誤作動が発生してもシステムとして動作しつづける」……?
例えば、冗長構成とかですか?

スーパーインター博士

そうだ。冗長構成をとったシステムはフォルトトレラントである、と言えるだろう。
最近説明した例でいえば、スイッチの冗長構成を実現させるSTPがそうだな。

ハイパーネット助手

ですよね。

スーパーインター博士

あとは、複数のルータで複数の経路を維持、それの管理をおこなうルーティング・ルーティングプロトコルとか。
ロードバランサなどもそうだ。

ハイパーネット助手

ルーティングも言われてみれば、複数経路の冗長構成って感じですね。

スーパーインター博士

うむ、こうして考えてみるとネットワーク、特にレイヤ2・3というのはフォルトトレラント、24 × 365をいかに成立させるかというところに力が結構さかれているものなのだよ。

ハイパーネット助手

ははぁ。で、今回はどんなフォルトトレラントの実現方法なんですか?

スーパーインター博士

BCMSNだからな。LAN内での冗長構成だな。
特にデフォルトゲートウェイの冗長化だ。

ハイパーネット助手

でふぉるとげーとうぇいの冗長化?

■ デフォルトゲートウェイの障害

スーパーインター博士

キャンパスネットワークのところでもでてきたが、ディストリビューション層のマルチレイヤスイッチが、アクセス層の各サブネットのデフォルトゲートウェイになるわけだ。

ディストリビューション層の冗長化

[FigureSW02-06:ディストリビューション層の冗長化]

スーパーインター博士

冗長構成にした場合、前に使った図だが、上図のようになるわけだ。

ハイパーネット助手

あ〜、はいはい。1つのスイッチコアに2つのマルチレイヤスイッチ。STPでブリッジングループを回避して……。
何が問題なんです?

スーパーインター博士

問題は、デフォルトゲートウェイの設定は静的に行われることと、多くの場合デフォルトゲートウェイは1つだけ設定可ということだな。

ハイパーネット助手

設定は静的? だって、DHCPで配布可能じゃないですか、デフォルトゲートウェイ。
動的ですよ?

スーパーインター博士

あぁ、そういう意味では動的だが。
つまり、こうだ。

[FigureSW18-01:デフォルトゲートウェイの障害]

スーパーインター博士

デフォルトゲートウェイの配布という点では確かにDHCPで動的だが。
設定を動的に変更できるわけではない。

ハイパーネット助手

じゃあ、ルータがダウンしたら、DHCPで新しいデフォルトゲートウェイを配布すればいいじゃないですか。

スーパーインター博士

それは確かにそうだが、デフォルトゲートウェイがダウンしたことを、ネットワーク管理者が知り、それをDHCPサーバに設定しなおさなければならない。
人の手が入る時点で、それは動的な冗長構成とは言えんだろう。

ハイパーネット助手

あ〜、そういうことですか。
確かに、そういう意味では静的ですね。

スーパーインター博士

つまりホストのルーティングが静的なのが問題なわけだな。
異サブネット間の通信がまったくダメになってしまうとどうなるかは、20/80ルールを考えてみるとわかるだろう。

ハイパーネット助手

20/80だから、異サブネット宛が80%ってわけですからね。
全体の通信量の80%が通信不可ってかなり痛いですよね。

スーパーインター博士

もう1つ、プロキシARPを使っていた場合も、同様のことが起きる。

[FigureSW18-02:プロキシARPでの障害]

ハイパーネット助手

こっちはARPキャッシュが残っている間、ですか。

スーパーインター博士

そうだな。プロキシARPは場合によっては同サブネットで別リモートサイトとの接続にも使われたりするから、ARPキャッシュのタイムアウトが長いと結構困る。

ハイパーネット助手

要約すると、「デフォルトゲートウェイがダウンすると困る」ですか?

スーパーインター博士

ま、そういうことになるな。
物理的な冗長化だけではデフォルトゲートウェイは冗長化できないと言ってもいいだろう。

ハイパーネット助手

あ〜、確かにそうかも。

■ デフォルトゲートウェイの冗長化

スーパーインター博士

では、どのように冗長化するか、という点だが。
Windows2000やXPならば、複数のデフォルトゲートウェイを設定する、という方法もあるが…。

デフォルトゲートウェイの複数設定

[FigureSW18-03:デフォルトゲートウェイの複数設定]

ハイパーネット助手

あるが? ダメなんですか、この方式?

スーパーインター博士

いや、切り替えまでに結構時間がかかったり、制限があったり、手間なのだよ。 ▼ link

ハイパーネット助手

面倒なんですね。

スーパーインター博士

面倒、というかTCPタイムアウト3回って結構長く感じるものなのだよ。
ともかく、他にも手はある。ホスト側でルーティングプロトコルを使用するという手だな。

ハイパーネット助手

ホスト側でルーティングプロトコル? OSPFとかRIPとか?

スーパーインター博士

そうだ、そうすれば、ルータ(デフォルトゲートウェイ)のダウンがルーティングプロトコルにより通知される。
通知されれば、ルーティングプロトコルによりルーティングテーブルの書き換えが行われるからな。

ハイパーネット助手

あ〜、なるほど。
さっき「ホストのルーティングが静的」だっていってたので、動的にしちゃうんですね。

スーパーインター博士

そういうことだな。まぁ、ホスト側だけだから、RIPで十分だろう。
ホスト側からアップデートかける必要もないだろうから、passive-interfacをつかってだな。

ハイパーネット助手

そうだとすると、デフォルトゲートウェイでRIP以外を使ってたら再配布が必要ですね。

スーパーインター博士

そうだな。
あ〜、RIPでいいといったが、RIPだとコンバージェンスの問題があるな。

ハイパーネット助手

じゃ、OSPFか何かを。

スーパーインター博士

まぁ、OSPFが使えれば、な。
ただ問題はホストをわざわざルータにする必要がほんとにあるのか、という点だな。

ハイパーネット助手

デフォルトゲートウェイの冗長化のためでしょ?

スーパーインター博士

確かにそうだが、もうちょっと、こうスマートにだな。

ハイパーネット助手

すまーと、っすか。

スーパーインター博士

というわけで、ここで違うソリューションの説明になるわけだ。
今回の主役である、HSRPだ。

ハイパーネット助手

えいちえすあーるぴー。ほっとすたんばいるーてぃんぐぷろとこる?

■ HSRPの概要

スーパーインター博士

そうだ。冗長のための予備のルータをホットスタンバイ状態において置くためのプロトコルだな。

ハイパーネット助手

ははぁ、ホットスタンバイ。

スーパーインター博士

ちなみに、HSRPはCisco独自の規格だ。
IETFにはデフォルトゲートウェイの冗長化のために、VRRPというプロコトルがある。 ▼ link

ハイパーネット助手

ばーちゃるるーたりだんだしーとぷろとこる?
バーチャルルータって仮想ルータ? リダンダンシーってどういう意味です?

スーパーインター博士

リダンダンシーは「冗長」だな。無理に日本語訳すると、「仮想ルータによる冗長化プロトコル」かな?

ハイパーネット助手

は〜。それは今回のHSRPとは別の話ですね?

スーパーインター博士

別といえば別だが。実をいうと、VRRPはHSRPをベースに汎用化されたもの、と言っていいくらい似ているのだよ。RFC2338からして[VRRP provides a function similar to HSRP]と言っているぐらいだからな。

ハイパーネット助手

は〜。IETFお約束の標準化ですかね。

スーパーインター博士

ま、そういうことだ。さて、VRRPの名前にあるバーチャルルータ、つまり仮想ルータだが。
これがVRRPの冗長化の要であり、さらにHSRPでも仮想ルータを使用して冗長化している。

ハイパーネット助手

仮想ルータ…。
どんなルータです?

スーパーインター博士

独自のIPアドレスとMACアドレスを持つ、実体のないルータだ。
仮想ルータ宛のパケットは実体のある別のルータが受け取り、ルーティングする。

ハイパーネット助手

スーパーインター博士

詳細な動作は次回以降に譲るが、簡単な説明ならば、こう。

[FigureSW18-04:HSRP]

ハイパーネット助手

は〜、なるほど。仮想ルータのアドレス宛に送ると、主系か予備系か、どちらかのルータが受け取るんですね。

スーパーインター博士

そういうことだ。

ハイパーネット助手

なんか、幼稚園でやるサンタさんへの手紙みたいですね。子供達がサンタさんへ手紙を送るんだけど、実際受け取るのは子供達のパパ、みたいな。

スーパーインター博士

いやそれは、例としてどうだろう?
まぁ、ネット君のように中学校までサンタを信じていた人間にとっては適当な例かもしれんが。

ハイパーネット助手

な、何故それをっ!?
何故博士が僕の中学校時代の逸話を知ってるんですか?

スーパーインター博士

それは宿題にしておこう

ハイパーネット助手

うぁ〜、気になる〜。

スーパーインター博士

ともかく、HSRPでは4種類のルータが稼動する。

  • アクティブルータ
  • スタンドバイルータ
  • 仮想ルータ
  • その他のルータ
ハイパーネット助手

その他のルータって出てきませんでしたけど、なんです?

スーパーインター博士

うむ、アクティブとスタンドバイ両方のルータがダウンした際に、その他のルータからアクティブとスタンドバイが選ばれる、ということだ。

ハイパーネット助手

あ〜、予備系の、さらに予備系ってことですか。

スーパーインター博士

ま、そうだな。これらのルータ群でHSRPグループを形成するわけだ。

ハイパーネット助手

ぐるーぷ?

スーパーインター博士

つまり、グループでアクティブ、スタンドバイによる仮想ルータが1つ設定され、グループ内の他のルータはさらに予備系として存在する、ということだな。

ハイパーネット助手

なるほど。

スーパーインター博士

ちなみにルータは複数のグループに所属してもよい。さらに、グループでどの役割になるかということはグループで決定される。

ハイパーネット助手

スーパーインター博士

つまり、こう。

複数のグループに所属するルータ

[FigureSW18-05:複数のグループに所属するルータ]

スーパーインター博士

サブネット1にHSRPを提供するグループとしては、ルータAがアクティブ、ルータBがスタンバイ。
サブネット2にHSRPを提供するグループとしては、ルータAがスタンバイ、ルータBがアクティブ。

ハイパーネット助手

は〜。

スーパーインター博士

ま、そういうことだ。
次回はHSRPの動作を詳細に説明しよう。

ハイパーネット助手

はい。

スーパーインター博士

というわけで、また次回。

ハイパーネット助手

いぇっさ〜。
30分間ネットワーキングでした〜♪

フォルトトレラント
[Fault Tolerant]
「フォールトトレラント」とも。
フェイルセーフ
[Fail Safe]
障害が発生した際に被害を最小限にとどめるよう動作すること。
フールプルーフ
[Fool Ploof]
誤作動を発生しづらい設計。
フェイルソフト
[Fail Soft]
障害が発生した際、障害部を切り離し、最低限の動作を可能にすること。
フェイルオーバ
[Fail Over]
障害が発生した際、セカンダリがその業務を引き継ぐこと。
ロードバランサ
[Load Balancer]
負荷分散装置。
その中でも単純な分散だけでなく、ホストの状態を確認して分散するもののなかにはフォルトトレラント性があるものがある。
24 × 365
24時間 × 365日の意味。
「常に稼動していること」という意味になる。
手間
TCPで検出されないと切り替わらなかったり、TCPタイムアウト3回必要だったり。
詳しくは参考リンクの「停止しているゲートウェイの検出」を参照のこと。
HSRP
[Hot Stand-by Routing Protocol]
ホットスタンバイ
[Hot Stand-by]
主系と予備系があり、予備系を主系と同じ状態においておき、主系の障害に備える方式。
ちなみに予備系を通常ダウンさせておき、主系の障害時に立ち上げる方式は「コールドスタンバイ[Cold Stand-by]」と呼ばれる。
VRRP
[Virtual Router Redundancy Protocol]
RFC2338で規定。
言っている
正確には、
VRRP provides a function similar to a Cisco Systems, Inc. proprietary protocol named Hot Standby Router Protocol (HSRP) [HSRP] and to a Digital Equipment Corporation, Inc. proprietary protocol named IP Standby Protocol [IPSTB].
です。DECのIPSTBも入ってます。
ハイパーネット助手ハイパーネット君の今日のポイント
  • デフォルトゲートウェイの障害はホストに対し大きな影響力を持つ。
    • ホストのルーティングが静的であるため、障害に対して動的にルートを変更できない
  • HSRPはデフォルトゲートウェイの冗長化を実現する。
    • 独自のアドレスを持つ仮想ルータが存在する。
    • 仮想ルータ宛のパケットはアクティブルータが処理する。
    • アクティブがダウンの際は、スタンバイが処理を代行する。
    • ホスト側ではアクティブ・スタンバイを認識する必要はない。

30 Minutes NetWorking No.SW18

管理人:aji-ssz(at)selene.is.dream.jp