1.はじめに
先日はルーティングプロトコルについて復習しましたが、OSPFについて調べる中で、経路の負荷分散の話が少し出てきました。
せっかくなので、本日は経路の負荷分散と冗長化について勉強したいと思います。
2.経路の負荷分散について
【2-1】概要
経路を複数用意することによって、使用する経路を分散させることができ、1つの回線にかかる負荷を軽減させることが出来ます。
【2-2】等コストロードバランシング(ECMP機能)
ダイナミックルーティングでは、各ルーティングプロトコルによってコスト(メトリック)を算出し、一番コストのかからない経路を最適経路としてルーティングテーブルに書き出します。
この時、もしも最小コストで宛先に到達できる経路が複数あった場合は、それら複数の経路で通信を分散させます。
これを等コストロードバランシング(であったり、ECMP:Equal Cost Multi Path)と言います。
(CiscoやPaloAltoのナレッジベース等にて、"ECMP機能で使用できる分散経路は最大4つ"との記載をみつけましたが、あくまでデフォルト値なのか、全ての機器でこの値なのかなど、上限値の詳細はよく分かりませんでした)
以下の図は、ルーティングプロトコルにRIPを使用している場合の等コストロードバランシングの例です。
172.16.1.0/24内のホストから172.16.3.0/24内のホストに通信を行う際、等コスト(RIPの場合はホップ数)の経路が緑の回線と青の回線を通過する2パターンありますので、通信は2つの経路で分散されます。
OSPFやEIGRPでも考え方は同じです。
【2-3】不等コストロードバランシング
同一の宛先への経路が複数あったとして、それらが等しいコストではなかった場合でも、以下の設定をすることによって複数の経路を負荷分散として使用する事ができます。
これを不等コストロードバランシングと言い、EIGRPがこれをサポートしています。
<設定>
「#variance <係数>」
[最小コストの値×<係数>]で算出された値よりもコストが低い経路を負荷分散経路として使用します。
【2-4】スタティックルートによるロードバランシング
先々日の記事で復習した通り、経路の優先順位は[ロンゲストマッチ⇒AD⇒コスト(メトリック)]の順に優先されます。
そのため、同じ宛先(サブネットマスクまで同じ)に関するスタティックルートを手動で複数登録することによっても負荷分散が実現できます。
3.経路の冗長化について
【3-1】概要
ルーティングテーブルにバックアップルート(必要となる時が来るまで適用されずに待機している経路)を用意することによって、平常時に使用している経路上で障害が発生した際に、用意していたバックアップルートへ自動で経路を切り替えることができます。
障害発生時も通信を継続出来るので、ネットワークの可用性を高めるのに必要な構成となります。
【3-2】経路の冗長化を実現する方法
本項目では、今までに学習した知識を使用して冗長化する方法を3つ見ていきたいと思います。
①ロンゲストマッチによる冗長化
ルーティングテーブルにサブネットマスクの異なる経路を設定することによって、各経路に優先順位をつける方法です。
平常時はロンゲストマッチのルールに従ってRT2を経由する経路が選ばれます。
RT2を経由する方の経路上で障害が発生した際は、RT3を経由する経路が採用されます。
(※図のルーティングテーブル内容はかなり省略しています)
②AD値による冗長化
基本的な考え方は①と同じです。
今回は宛先ルートのプレフィックス長は同一なので、AD値の小さい方(手動で設定した方)の経路情報を信頼度が高いものとして平常時に使用します。
RT2経由の経路上で障害が発生した際に、OSPFで学習した方の経路を使用することとなります。
③メトリックによる冗長化
これは前回の記事の内容と被りますが、同じルーティングプロトコルによって書き出された経路はメトリックによって優先度が比較されます。
それを利用して優先度をつける方法です。
以下の図では、コストの低い経路が平常時に採用され、そちらで障害が発生した場合にもう一方の経路へ切り替わります。