解説書 Vol.1
OSPFでは,経路選択のアルゴリズムとして,SPF(Shortest Path First)アルゴリズムを使用します。
各ルータには,OSPFが動作しているすべてのルータと,ルータ−ルータ間およびルータ−ネットワーク間のすべての接続から成るデータベースがあります。このデータベースから,ルータおよびネットワークを頂点とし,ルータ−ルータ間およびルータ−ネットワーク間の接続を辺とするトポロジを構成します。このトポロジにSPFアルゴリズムを適用して,最短経路木を生成し,これを基に各頂点およびアドレスへの経路を決定します。
- <この項の構成>
- (1) SPFアルゴリズムの適用例
- (2) イコールコストマルチパス
(1) SPFアルゴリズムの適用例
ネットワーク構成の例を次の図に示します。
この図のネットワーク上でOSPFを使用した場合のトポロジと,頂点間のコストの設定例を次の図に示します。コスト値は,パケット送信方向によって異なってもかまいません。
この図のルータ2−ルータ4間のポイント−ポイント型接続では,ルータ2からルータ4へはコスト9,ルータ4からルータ2へはコスト8となっています。ルータ−ネットワーク間の接続では,ルータからネットワークへの接続だけにコストを設定できます。ネットワークからルータへのコストは常に0です。
「図8-26 トポロジとコストの設定例」のトポロジを基に,ルータ1を根として生成した最短経路木を次の図に示します。ある宛先へのコストは,経路が経由する各インタフェースの送信コストの合計となります。例えば,ルータ1からネットワーク2宛ての経路のコストは,6(ルータ1−ネットワーク1)+0(ネットワーク1−ルータ3)+2(ルータ3−ネットワーク2)=8となります。
OSPFでは,コストを基に最適な経路を選択します。ある構成で適切ではない経路を選択してしまう場合には,望ましくないネットワークのインタフェースのコストを上げるか,より望ましいネットワークのインタフェースのコストを下げることによって,適切な経路を指示できます。このときコストが小さ過ぎると,コストは1未満にできないため,このインタフェースを除く全ルータのインタフェースにかかるコストを上げなければならないことがあります。大規模なネットワークでは,将来最適化するときに任意のインタフェースのコストを減らせるように,インタフェースのコストをあまり小さく設定しないことをお勧めします。
(a) ルータID,ネットワークアドレスについての注意事項
OSPFでは,ネットワークのトポロジを構築するに当たり,ルータの識別にルータIDを,ネットワークの識別にネットワークアドレスを使用します。したがって,ネットワークの設計時に次に示すように不正がある場合には,正確なトポロジを構築できません。
- 異なるルータに同じ値のルータIDを定義した場合
- 異なるネットワークに同一ネットワークアドレスを割り当てた場合
これらの不正がある場合,不正確なトポロジに基づいてネットワーク設計することになり,正確な経路選択ができなくなります。ルータIDの決定方法として,次の方法をお勧めします。
- ルータIDの決定方法
- 各ルータのルータIDの決定に当たり,該当するルータにあるOSPFが動作しているインタフェースに割り当ててあるIPアドレスの中からどれか一つを選択して,これをルータIDとして使用してください。ルータIDは,基本的には任意の32ビットの数値ですが,この方法を使用することでOSPFネットワーク設計時のミスなどによるルータIDの重複を防ぐことができます。
(b) 経路選択についての注意事項
OSPFでは,自ルータにあるインタフェースのアドレスは,そのインタフェースからつながっている辺の対向側の頂点(ポイント−ポイント型インタフェースでは対向するルータ,ブロードキャスト型インタフェースではインタフェースがつながっている頂点であるネットワーク)に所属しています。このために,条件に応じて,次のような状態になることがあります。
- 自ルータにあるインタフェースのアドレス宛ての経路は,必ず対向側の頂点を経由します。このため,例えば「図8-25 ネットワーク構成例」のルータ1からルータ2のインタフェースのアドレスであるAddr2宛ての経路は,ルータ1−ネットワーク1−ルータ3−ネットワーク2−ルータ4−Addr2になります。この場合,コストは6 (ルータ1−ネットワーク1)+ 0(ネットワーク1−ルータ3)+2(ルータ3−ネットワーク2)+0(ネットワーク2−ルータ4)+ 8(ルータ4−Addr2)=16になります。
- 自ルータのポイント−ポイント型インタフェースが動作状態になっていない場合,このインタフェースの対向側ルータのインタフェースのアドレスが所属するものが存在しないため,このアドレス宛ての経路情報を生成しないことがあります。
- 自ルータのポイント−ポイント型インタフェースが,動作状態にあるものの回線障害などの理由によって対向するルータへ送信できない場合,対向側のルータのインタフェースのアドレス宛ての経路は,自ルータを経由します。このため,対向するルータのインタフェースのアドレス宛てに通信はできない場合があります。
自ルータのブロードキャスト型インタフェースが動作状態にないか,動作状態にあるもののHubの故障などによって同じネットワークへ接続しているほかのルータと通信できない場合,このインタフェースのアドレスに対する経路に,同じネットワークに接続しているが通信できないほかのルータ経由の経路が選択されることによって,通信できないことがあります。
ルータ2を根として生成した最短経路木を次の図に示します。
ネットワーク2またはルータ5を宛先とした場合,ネットワーク1経由の経路とルータ4経由の経路についてはコストが同じになります。OSPFでは,ある2点間に最短コストの経路が複数存在する場合,この複数の経路をイコールコストマルチパスと呼びます。
OSPFでは,自ルータからある宛先についてイコールコストマルチパスが存在し,次の転送先ルータが複数ある場合,その宛先へのパケットの転送を複数のネクストホップへ分散することによって,トラフィックを分散してもよいことになっています。
本装置では,コンフィグレーションコマンドospfのmultipathサブコマンドを定義することによって,複数のネクストホップを生成できます。この複数のネクストホップ(マルチパス)数は,コンフィグレーションコマンドoptionsのmax-pathsパラメータに従います。multipathサブコマンドを定義しなかった場合,最も小さいネクストホップアドレスを選択します。
Copyright (c)2005, 2011, ALAXALA Networks Corporation. All rights reserved.