はじめに
このドキュメントでは、ルータの動作、設定、およびルートの選択方法について説明します。
前提条件
要件
このドキュメントに関しては個別の前提条件はありません。
使用するコンポーネント
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
表記法
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
背景説明
Ciscoルータの1つの側面は、ルータがプロトコル、手動設定、およびその他のさまざまな手段によって提示されたルートの中から最適なルートをどのように選択するかです。 ルートを選択するには、Ciscoルータの動作の仕組みに関する知識が必要です。
関与するプロセス
Ciscoルータでルーティングテーブルを構築して維持するには、次の3つのプロセスが関係します。
-
実際にネットワーク(またはルーティング)プロトコルを実行する Enhanced Interior Gateway Routing Protocol(EIGRP)、Border Gateway Protocol(BGP)、Intermediate System-to-Intermediate System(IS-IS)、および Open Shortest Path First(OSPF)などの各種ルーティング プロセス
-
ルーティング テーブル自体。これはルーティング プロセスからの情報を受け入れ、転送プロセスからの情報リクエストへも応答します。
-
転送プロセス。これは、パケット転送を決定するためにルーティング テーブルからの情報を要求します。
ルーティングテーブルの作成方法を理解するには、ルーティングプロトコルとルーティングテーブル間の相互作用を調べる必要があります。
ルーティングテーブルの作成
ルーティングテーブルを作成する際の主な考慮事項は次のとおりです。
-
アドミニストレーティブ ディスタンス:これは、ルートのソースの信頼性を示す尺度です。ルータが複数のルーティングプロトコルから宛先について学習すると、アドミニストレーティブディスタンスが比較され、アドミニストレーティブディスタンスが小さいルートが優先されます。
-
メトリック:同じ宛先に対して複数のパスが認識される場合、指定された宛先への最適なパスを計算するためにルーティング プロトコルによって使用される尺度です。それぞれのルーティング プロトコルは異なるメトリックを使用します。
-
プレフィックス長
個々のルーティング プロセスは更新その他の情報を受信すると、与えられた任意の宛先への最適なパスを選択し、そのパスをルーティング テーブルにインストールしようと試みます。たとえば、EIGRP が 10.1.1.0/24 へのパスを認識し、この特定のパスがこの宛先への最適な EIGRP パスであると判断すると、EIGRP は認識したパスをルーティング テーブルにインストールしようとします。
ルータは、ルーティング プロセスから提供されたルートをインストールするかどうかを、処理対象のルートのアドミニストレーティブ ディスタンスに基づいて決定します。このパスのアドミニストレーティブディスタンスが(テーブル内の他のルートと比較して)この宛先への最小である場合、そのパスはルーティングテーブルに格納されます。このルートが最適なアドミニストレーティブディスタンスのルートでない場合、そのルートは拒否されます。
たとえば、ルータで4つのルーティングプロセス(EIGRP、OSPF、RIP、およびIGRP)が実行されているとします。ここで、これら 4 つのプロセスすべてが 192.168.24.0/24 ネットワークへのさまざまなルートを学習し、それぞれが各自の内部メトリックおよびプロセスを通じてそのネットワークへの最適なパスを選択したとします。
これら 4 つのプロセスは、各自の 192.168.24.0/24 へのルートをルーティング テーブルにインストールしようと試みます。ルーティング プロセスにはそれぞれアドミニストレーティブ ディスタンスが割り当てられており、インストールするルートを決定する際に使用されます。
デフォルトのアドミニストレーティブ ディスタンス |
接続済み |
0 |
Static |
1 |
eBGP |
20 |
EIGRP(内部) |
90 |
IGRP |
100 |
OSPF |
110 |
IS-IS |
115 |
RIP |
120 |
EIGRP(外部) |
170 |
iBGP |
200 |
EIGRP 集約ルート |
5 |
内部EIGRPルートのアドミニストレーティブディスタンスは最適であるため(アドミニストレーティブディスタンスが小さいほど、優先度は高くなります)、ルーティングテーブルに格納されます。
バックアップ ルート
他のプロトコルであるRIP、IGRP、およびOSPFは、インストールされなかったルートをどのように処理しますか。EIGRP から学習した最優先のルートが失敗した場合はどうするのでしょうか。Cisco IOS®ソフトウェアでは、この問題を解決するために2つのアプローチを使用します。1 つは、各ルーティング プロセスにおいて最適なルートを定期的にインストールしようとする方法です。最優先のルートが失敗した場合、次の最適なルート(アドミニストレーティブディスタンスによって決まる)が次の試行に成功します。もう1つの解決策は、テーブルにルートをインストールできなかったルーティングプロトコルがルートを保持し、ベストパスが失敗した場合に報告するようにルーティングテーブルプロセスに指示することです。
IGRPなど、独自のルーティング情報テーブルを持たないプロトコルの場合は、最初の方法が使用されます。IGRP は、ルートに関する更新を受信するたびに、更新された情報をルーティング テーブルにインストールしようと試みます。この同じ宛先へのルートがルーティングテーブルにすでに存在する場合、インストールの試行は失敗します。
EIGRP、IS-IS、OSPF、BGP、RIP などのように、ルーティング情報の独自のデータベースを持つプロトコルについては、ルートをインストールする最初の試行が失敗すると、バックアップ ルートが登録されます。ルーティング テーブルにインストールされたルートに何らかの理由で障害が発生すると、ルーティング テーブルのメンテナンス プロセスがバックアップ ルートを登録した各ルーティング プロトコル プロセスを呼び出し、ルーティング テーブルにルートを再インストールするように要求します。登録済みのバックアップルートを持つプロトコルが複数ある場合、アドミニストレーティブディスタンスに基づいて優先ルートが選択されます。
アドミニストレーティブディスタンスの調整
デフォルトのアドミニストレーティブディスタンスは、ネットワークに対して常に適切であるとは限りません。RIPルートがIGRPルートよりも優先されるように調整できます。ただし、アドミニストレーティブディスタンスを変更した場合の影響を確認してください。
ルーティングプロトコルでアドミニストレーティブディスタンスを変更することは非常に危険です。これにより、ネットワーク内でルーティングループやその他の異常が発生する可能性があります。したがって、アドミニストレーティブディスタンスの変更は常に注意して行ってください。変更を計画し、その結果を把握してから、変更を行ってください。
プロトコル全体で、距離を変更するのは簡単です。ルーティングプロセスのサブコンフィギュレーションモードでdistanceコマンドを使用するだけです。一部のプロトコルに限り、1 つの発信元から学習したルートのディスタンスを変更することもできます。また、一部のルートだけのディスタンスを変更することも可能です。詳細については、「Cisco IOS ルータのルート選択のアドミニストレーティブ ディスタンスの調整の設定例」を参照してください。
スタティックルートの場合、各ルートのディスタンスを変更するには、ip routeコマンドの後にディスタンスを入力します。
ip route network subnet mask next hop distance
すべてのスタティックルートのアドミニストレーティブディスタンスを同時に変更することはできません。
メトリックがルート選択プロセスを判別する方法
ルートは、ルーティングプロトコルのアドミニストレーティブディスタンスに基づいてルーティングテーブルで選択および構築されます。ルーティング プロトコルから学習された、アドミニストレーティブ ディスタンスが最小のルートが、ルーティング テーブルにインストールされます。単一のルーティング プロトコルから同じ宛先へのパスが複数ある場合、複数のパスは同じアドミニストレーティブ ディスタンスを持つため、最適なパスはメトリックに基づいて選択されます。メトリックは、特定のルートに関連付けられた値で、優先順位が最も高いものから最も低いものにランク付けされます。メトリックスの判定に使用されるパラメータは、ルーティング プロトコルによって異なります。メトリックが最も小さいパスは最適パスとして選択され、ルーティング テーブルにインストールされます。同じ宛先への複数のパスのメトリックが等しい場合は、これらの等コスト パスに対してロード バランシングが行われます。ロード バランシングに関する詳細は、「ロード バランシングの機能のしくみ」を参照してください。
プレフィックス長
別のシナリオを見て、プレフィックス長の変化という別の一般的な状況に対するルータの処理方法を確認します。繰り返しますが、ルータが稼働していて、4つのルーティングプロセスがあり、各プロセスが次のルートを受信したとします。
ルーティングテーブルにインストールできるルートはどれか?EIGRP内部ルートのアドミニストレーティブディスタンスが最適であるため、最初のルートがインストールされていると想定できます。ただし、これらのルートはそれぞれ異なるプレフィクス長(サブネットマスク)を持つため、異なる宛先と見なされ、すべてルーティングテーブルにインストールできます。
次のセクションでは、転送に関する決定を行うためのルーティングテーブルからの情報を提供します。
転送の決定
ルーティングテーブルにインストールされた3つのルートを調べ、ルータ上でそれらがどのように見えるかを確認します。
router# show ip route
....
D 192.168.32.0/26 [90/25789217] via 10.1.1.1
R 192.168.32.0/24 [120/4] via 10.1.1.2
O 192.168.32.0/19 [110/229840] via 10.1.1.3
....
宛先が 192.168.32.1 のルータ インターフェイスにパケットが到達した場合、ルータはどのルートを選択するのでしょうか。それは、プレフィクス長、つまりサブネット マスクに設定されているビット数によって決まります。パケットを転送する場合、プレフィックスが長い方が常に短いものより優先される。
この場合、192.168.32.1 宛てのパケットは 10.1.1.1 に向けて送られます。これは、192.168.32.1 が 192.168.32.0/26 ネットワークの範囲内(192.168.32.0~192.168.32.63)に属するためです。このパケットは使用可能な他の 2 つのルートの範囲内にも属しますが、ルーティング テーブル内でプレフィクス長が最も長いのは 192.168.32.0/26 です(26 ビットに対して、他は 24 ビットまたは 19 ビット)。
同様に、192.168.32.100宛てのパケットがルータインターフェイスの1つに到着した場合、192.168.32.100は192.168.32.0/26には含まれず(192.168.32.0 ~ 192.168.32.63)、192.168.32.0/24の宛先に含まれるため(192.16 192.168.32.255)を介して送信されます。ここでもまた、パケットは 192.168.32.0/19 の範囲内にも属していますが、プレフィクス長が長いのは 192.168.32.0/24 です。
IP クラスレス
ip classless コンフィギュレーション コマンドがルーティング プロセスおよび転送プロセスに含まれる場面では、しばしば煩雑さが伴います。実際には、IPクラスレスはCisco IOSの転送プロセスの動作にのみ影響し、ルーティングテーブルの構築方法には影響しません。IPクラスレスが(no ip classlessコマンドを使用して)設定されていない場合、ルータはパケットをスーパーネットに転送できません。例として、再び3つのルートをルーティングテーブルに配置し、パケットをルータ経由でルーティングします。
注:スーパーネットまたはデフォルトルートがIS-ISまたはOSPF経由で学習された場合、no ip classless コンフィギュレーションコマンドは無視されます。この場合、パケット交換の動作は、ip classless が設定されているかのように動作します
router# show ip route
....
172.30.0.0/16 is variably subnetted, 2 subnets, 2 masks
D 172.30.32.0/20 [90/4879540] via 10.1.1.2
D 172.30.32.0/24 [90/25789217] via 10.1.1.1
S* 0.0.0.0/0 [1/0] via 10.1.1.3
172.30.32.0/24ネットワークにはアドレス172.30.32.0 ~ 172.30.32.255が含まれ、172.30.32.0/20ネットワークにはアドレス172.30.32.0 ~ 172.30.47.255が含まれているため、このルーティングテーブルを使用して3つのパケットをスイッチングし、結果を確認できます。
-
宛先が 172.30.32.1 のパケットは、最長のプレフィクス照合であるため、10.1.1.1 に転送されます。
-
宛先が 172.30.33.1 のパケットは、最長のプレフィクス照合であるため、10.1.1.2 に転送されます。
-
192.168.10.1宛てのパケットは10.1.1.3に転送されます。このネットワークはルーティングテーブルに存在しないため、このパケットはデフォルトルートに転送されます。
-
宛先が 172.30.254.1 のパケットは廃棄されます。
これら4つの中の応答は最後のパケットであり、ドロップされます。宛先172.30.254.1は既知のメジャーネットワーク172.30.0.0/16内にありますが、ルータはそのメジャーネットワーク内のこの特定のサブネットを認識していないため、このパケットは廃棄されます。
これはクラスフルルーティングの本質です。メジャーネットワークの一部が既知であっても、パケットの宛先となるサブネットが不明な場合、パケットは廃棄されます。
このルールの最も複雑な点は、宛先のメジャーネットワークがルーティングテーブルにまったく存在しない場合にのみ、ルータがデフォルトルートを使用するということです。
これは、図に示すように、1つの接続がネットワークの他の部分に戻っているリモートサイトがルーティングプロトコルを実行していないネットワークで問題を引き起こす可能性があります。
ルーティングプロトコルを実行しない
リモート サイトのルータは次のように設定されています。
interface Serial 0
ip address 10.1.2.2 255.255.255.0
!
interface Ethernet 0
ip address 10.1.1.1 255.255.255.0
!
ip route 0.0.0.0 0.0.0.0 10.1.2.1
!
no ip classless
この設定では、リモート サイトのホストからは(10.x.x.x クラウドを経由して)インターネット上の宛先に到達できますが、社内ネットワークの 10.x.x.x クラウド内の宛先には到達できません。リモートルータは10.0.0.0/8ネットワークの一部を認識しており、2つの直接接続されたサブネットを認識していますが、10.x.x.xの他のサブネットを認識していないため、これらの他のサブネットは存在しないものと見なされ、これらのサブネット宛てのパケットはすべて廃棄されます。ただし、インターネット宛てのトラフィックは10.x.x.xのアドレス範囲内に宛先がないため、デフォルトルートを通じて正しくルーティングされます。
リモートルータでip classlessを設定すると、ルータが自身のルーティングテーブル内でクラスフルなネットワークの境界を無視でき、単純に最長プレフィクス照合のルートを検出してルーティングできるようになるため、この問題は解決します。
要約
要約すると、転送の決定を行うには、ルーティングプロトコル、ルーティングテーブル、転送の決定とパケットのスイッチングを行う実際のプロセスの3つのプロセスのセットで構成されます。次の図に、これら3つのプロセスのセットとその関係を示します。
3セットのルーティングプロセス
ルートがルーティングテーブルにインストールされるときは、最長のプレフィクス照合を持つルーティングプロトコルが常に優先され、アドミニストレーティブディスタンスが最小のルーティングプロトコルが常に優先されます。
関連情報