プロトコル独立機能
分散型シスコ エクスプレス フォワーディング
シスコ エクスプレス フォワーディングに関する情報
シスコ エクスプレス フォワーディング(CEF)は、ネットワーク パフォーマンスを最適化するために使用されるレイヤ 3 IP スイッチング技術です。CEF には高度な IP 検索および転送アルゴリズムが実装されているため、レイヤ 3 スイッチングのパフォーマンスを最大化できます。高速スイッチング ルート キャッシュよりも CPU にかかる負担が少ないため、CEF はより多くの CPU 処理能力をパケット転送に割り当てることができます。スイッチ スタックでは、ハードウェアによって distributed CEF(dCEF)が使用されます。動的なネットワークでは、ルーティングの変更によって、高速スイッチング キャッシュ エントリが頻繁に無効になります。高速スイッチング キャッシュ エントリが無効になると、トラフィックがルート キャッシュによって高速スイッチングされずに、ルーティング テーブルによってプロセス スイッチングされることがあります。CEF および dCEF は転送情報ベース(FIB)検索テーブルを使用して、宛先ベースの IP パケット スイッチングを実行します。
CEF および dCEF での 2 つの主要なコンポーネントは、分散 FIB と分散隣接テーブルです。
-
FIB はルーティング テーブルや情報ベースと同様、IP ルーティング テーブルに転送情報のミラー イメージが保持されます。ネットワーク内でルーティングまたはトポロジが変更されると、IP ルーティング テーブルがアップデートされ、これらの変更が FIB に反映されます。FIB には、IP ルーティング テーブル内の情報に基づいて、ネクストホップのアドレス情報が保持されます。FIB にはルーティング テーブル内の既知のルートがすべて格納されているため、CEF はルート キャッシュをメンテナンスする必要がなく、トラフィックのスイッチングがより効率化され、トラフィック パターンの影響も受けません。
-
リンク層上でネットワーク内のノードが 1 ホップで相互に到達可能な場合、これらのノードは隣接関係にあると見なされます。CEF は隣接テーブルを使用し、レイヤ 2 アドレッシング情報を付加します。隣接テーブルには、すべての FIB エントリに対する、レイヤ 2 のネクストホップのアドレスが保持されます。
スイッチまたはスイッチスタックは、ギガビット速度の回線レート IP トラフィックを達成するため特定用途向け集積回路(ASIC)を使用しているので、CEF または dCEF 転送はソフトウェア転送パス(CPU により転送されるトラフィック)にだけ適用されます。
シスコ エクスプレス フォワーディングの設定方法
デフォルトで、CEF または dCEF はグローバルにイネーブルに設定されています。何らかの理由でこれが無効になった場合は、ip cef または ip cef distributed グローバル コンフィギュレーション コマンドを使用し、再度有効に設定できます。
デフォルト設定では、すべてのレイヤ 3 インターフェイスで CEF または dCEF がイネーブルです。no ip route-cache cef インターフェイス コンフィギュレーション コマンドを入力すると、ソフトウェアが転送するトラフィックに対して CEF が無効になります。このコマンドは、ハードウェア転送パスには影響しません。CEF を無効にして debug ip packet detail 特権 EXEC コマンドを使用すると、ソフトウェア転送トラフィックをデバッグするのに便利です。ソフトウェア転送パス用のインターフェイスで CEF を有効にするには、ip route-cache cef インターフェイス コンフィギュレーション コマンドを使用します。
注意 |
CLI には、インターフェイス上で CEF を無効にする no ip route-cache cef インターフェイス コンフィギュレーション コマンドが表示されますが、デバッグ以外の目的でインターフェイス上で CEF または dCEF を無効にしないようにしてください。 |
ディセーブルである CEF または dCEF をグローバルにイネーブルにしたり、ソフトウェア転送トラフィックのインターフェイス上でイネーブルにするには、次の手順を実行します。
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
ip cef 例:
|
非スタッキング スイッチで CEF の動作をイネーブルにします。 ステップ 4 に進みます。 |
ステップ 3 |
ip cef distributed 例:
|
アクティブ スイッチで CEF の動作をイネーブルにします。 |
ステップ 4 |
interface interface-id 例:
|
インターフェイス コンフィギュレーション モードを開始し、設定するレイヤ 3 インターフェイスを指定します。 |
ステップ 5 |
ip route-cache cef 例:
|
ソフトウェア転送トラフィック用のインターフェイスで CEF をイネーブルにします。 |
ステップ 6 |
end 例:
|
特権 EXEC モードに戻ります。 |
ステップ 7 |
show ip cef 例:
|
すべてのインターフェイスの CEF ステータスを表示します。 |
ステップ 8 |
show cef linecard [detail] 例:
|
(任意)非スタッキング スイッチの CEF 関連インターフェイス情報を表示します。 |
ステップ 9 |
show cef linecard [slot-number] [detail] 例:
|
(任意)スタック内のすべてのスイッチ、または指定されたスイッチに対して、スイッチの CEF 関連インターフェイス情報をスタック メンバ別に表示します。 (任意)slot-number には、スタック メンバーのスイッチ番号を入力します。 |
ステップ 10 |
show cef interface [interface-id] 例:
|
すべてのインターフェイスまたは指定されたインターフェイスの詳細な CEF 情報を表示します。 |
ステップ 11 |
show adjacency 例:
|
CEF の隣接テーブル情報を表示します。 |
ステップ 12 |
copy running-config startup-config 例:
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |
CEF トラフィック用のロードバランシングスキーム
CEFトラフィック用のロードバランシングスキームの設定に関する制約事項
-
デバイスまたはデバイススタックメンバのロードバランシングを同じように、グローバルに設定する必要があります。
-
CEF トラフィックのパケットごとのロードバランシングはサポートされていません。
CEF ロード バランシングの概要
CEF のロードバランシングを行うと、トラフィックを複数のパスに分散することにより、リソースを最適化することができます。CEF のロードバランシングは、送信元と宛先のパケット情報の組み合わせに基づいて動作します。
ロードバランシングは宛先単位で設定できます。ロード バランシングの判断はアウトバウンド インターフェイス上で行われるため、ロード バランシングは、アウトバウンド インターフェイスで設定する必要があります。
CEF トラフィックに対する宛先別ロードバランシング
宛先単位のロードバランシングにより、デバイスは、複数のパスを使用して、複数の発信元と宛先ホストのペアにわたって負荷を共有することができます。指定された発信元と宛先ホストのペアは、複数のパスを使用可能な場合であっても、同じパスを使用することが保証されています。異なるペアを宛先とするトラフィック ストリームは、異なるパスを使用します。
CEF がイネーブルの場合、宛先別ロード バランシングはデフォルトでイネーブルです。CEF をイネーブルにした場合、宛先単位のロードバランシングを使用するための追加タスクはありません。多くの状況では、ロード バランシングの方法として宛先単位を使用します。
宛先単位のロード バランシングはトラフィックの統計的な分散に依存しているため、発信元と宛先ホストのペア数が増大すると、ロード シェアリングがさらに有効になります。
宛先単位のロード バランシングを使用することにより、個々のホスト ペアのパケットが順に到達することが保証されます。特定のホスト ペアに宛てられたすべてのパケットは、(複数の場合も)同じリンクを介して転送されます。
CEF トラフィックに対するロード バランシング アルゴリズム
CEF トラフィックで使用するために、次のロード バランシング アルゴリズムが用意されています。ロード バランシング アルゴリズムは、ip cef load-sharing algorithm コマンドで選択します。
-
オリジナルアルゴリズム:オリジナルのロード バランシング アルゴリズムでは、すべてのデバイスで同じアルゴリズムが使用されるため、複数のデバイスにわたるロードシェアリングで歪みが発生します。ネットワーク環境に応じて、アルゴリズムを選択する必要があります。
-
ユニバーサルアルゴリズム:ユニバーサル ロード バランシング アルゴリズムでは、ネットワーク上の各デバイスは、発信元と宛先の各アドレスペアに対して異なるロードシェアリングの判断を行うことができます。これにより、ロードシェアリングの不均衡が解決されます。デバイスは、デフォルトではユニバーサル ロード シェアリングを実行するよう設定されています。
CEF トラフィックに対するロードバランシングの設定方法
ここでは、CEF トラフィックに対するロードバランシングの設定について説明します。
CEF の宛先別ロードバランシングの有効化または無効化
CEF の宛先単位のロードバランシングを有効または無効にするには、次の手順を実行します。
手順の概要
- enable
- configure terminal
- interface interface-id
- [no] ip load-sharing per-destination
- end
手順の詳細
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
interface interface-id 例:
|
インターフェイス コンフィギュレーション モードを開始し、設定するレイヤ 3 インターフェイスを指定します。 |
ステップ 4 |
[no] ip load-sharing per-destination 例:
|
インターフェイスで CEF の宛先別ロードバランシングを有効にします。 no ip load-sharing per-destination コマンドを使用すると、インターフェイスで CEF の宛先別ロードバランシングが無効になります。 |
ステップ 5 |
end 例:
|
インターフェイス コンフィギュレーション モードを終了し、特権 EXEC モードに戻ります。 |
CEF トラフィックに対するトンネル ロードバランシング アルゴリズムの選択
ネットワーク環境に少数の発信元と宛先のペアしか存在しない場合には、トンネル アルゴリズムを選択します。デバイスは、デフォルトではユニバーサル ロード シェアリングを実行するよう設定されています。
CEF トラフィック用にトンネル ロード バランシング アルゴリズムを選択するには、次の手順を実行します。
手順の概要
- enable
- configure terminal
- ip cef load-sharing algorithm {original | universal [id] }
- end
手順の詳細
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip cef load-sharing algorithm {original | universal [id] } 例:
|
CEF のロードバランシング アルゴリズムを選択します。
|
ステップ 4 |
end 例:
|
特権 EXEC モードに戻ります。 |
CEF トラフィックのロードバランシングの設定例
ここでは、CEF トラフィックのロードバランシングの設定例を示します。
例:CEF の宛先別ロードバランシングの有効化または無効化
CEF がイネーブルの場合、宛先別ロード バランシングはデフォルトでイネーブルです。次の例は、宛先単位のロード バランシングをディセーブルにする方法を示しています。
Device> enable
Device# configure terminal
Device(config)# interface Ethernet1/0/1
Device(config-if)# no ip load-sharing per-destination
Device(config-if)# end
等コスト ルーティング パスの個数
等コスト ルーティング パスに関する情報
同じネットワークへ向かう同じメトリックのルートが複数ルータに格納されている場合、これらのルートは等価コストを保有していると見なされます。ルーティング テーブルに複数の等コスト ルートが含まれる場合は、これらをパラレル パスと呼ぶこともあります。ネットワークへの等コスト パスがルータに複数格納されている場合、ルータはこれらを同時に使用できます。パラレル パスを使用すると、パスに障害が発生した場合に冗長性を確保できます。また、使用可能なパスにパケットの負荷を分散し、使用可能な帯域幅を有効利用することもできます。等コスト ルートは、スタック内の各スイッチでサポートされます。
等コスト ルートはルータによって自動的に取得、設定されますが、ルーティング テーブルの IP ルーティング プロトコルでサポートされるパラレル パスの最大数は制御可能です。スイッチ ソフトウェア では最大 32 の等コスト ルーティングが許可されていますが、スイッチ ハードウェアはルートあたり 17 パス以上は使用しません。
等コスト ルーティング パスの設定方法
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードを有効にします。 パスワードを入力します(要求された場合)。 |
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
router {rip | ospf | eigrp} 例:
|
ルータ コンフィギュレーション モードを開始します。 |
ステップ 4 |
maximum-paths maximum 例:
|
プロトコル ルーティング テーブルのパラレル パスの最大数を設定します。指定できる範囲は 1 ~ 16 です。ほとんどの IP ルーティング プロトコルでデフォルトは 4 ですが、BGP の場合だけ 1 です。 |
ステップ 5 |
end 例:
|
特権 EXEC モードに戻ります。 |
ステップ 6 |
show ip protocols 例:
|
Maximum path フィールドの設定を確認します。 |
ステップ 7 |
copy running-config startup-config 例:
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |
スタティック ユニキャスト ルート
スタティック ユニキャスト ルートに関する情報
スタティック ユニキャスト ルートは、特定のパスを通過して送信元と宛先間でパケットを送受信するユーザ定義のルートです。ルータが特定の宛先へのルートを構築できない場合、スタティック ルートは重要で、到達不能なすべてのパケットが送信される最終ゲートウェイを指定する場合に有効です。
ユーザによって削除されるまで、スタティック ルートはスイッチに保持されます。ただし、アドミニストレーティブ ディスタンスの値を割り当て、スタティック ルートをダイナミック ルーティング情報で上書きできます。各ダイナミック ルーティング プロトコルには、デフォルトのアドミニストレーティブ ディスタンスが設定されています(表 10 を参照)。ダイナミック ルーティング プロトコルの情報でスタティック ルートを上書きする場合は、スタティック ルートのアドミニストレーティブ ディスタンスがダイナミック プロトコルのアドミニストレーティブ ディスタンスよりも大きな値になるように設定します。
ルートの送信元 |
デフォルト距離 |
---|---|
接続されているインターフェイス |
0 |
スタティック ルート |
1 |
EIGRP サマリー ルート |
5 |
内部 EIGRP |
90 |
IGRP |
100 |
OSPF |
110 |
不明 |
225 |
インターフェイスを指し示すスタティックルートは、RIP、IGRP、およびその他のダイナミック ルーティング プロトコルを通してアドバタイズされます。redistribute スタティック ルータ コンフィギュレーション コマンドが、これらのルーティングプロトコルに対して指定されているかどうかは関係ありません。これらのスタティック ルートがアドバタイズされるのは、インターフェイスを指し示すスタティック ルートが接続された結果、静的な性質を失ったとルーティング テーブルで見なされるためです。ただし、network コマンドで定義されたネットワーク以外のインターフェイスに対してスタティックルートを定義する場合は、ダイナミック ルーティング プロトコルに redistribute スタティックコマンドを指定しない限り、ルートはアドバタイズされません。
インターフェイスがダウンすると、ダウンしたインターフェイスを経由するすべてのスタティック ルートが IP ルーティング テーブルから削除されます。転送ルータのアドレスとして指定されたアドレスへ向かう有効なネクスト ホップがスタティック ルート内に見つからない場合は、IP ルーティング テーブルからそのスタティック ルートも削除されます。
スタティック ユニキャスト ルートの設定
スタティック ユニキャスト ルートは、特定のパスを通過して送信元と宛先間でパケットを送受信するユーザ定義のルートです。ルータが特定の宛先へのルートを構築できない場合、スタティック ルートは重要で、到達不能なすべてのパケットが送信される最終ゲートウェイを指定する場合に有効です。
スタティック ルートを設定するには、次の手順を実行します。
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードを有効にします。
|
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip route prefix mask {address | interface} [distance] 例:
|
スタティック ルートを確立します。 |
ステップ 4 |
end 例:
|
特権 EXEC モードに戻ります。 |
ステップ 5 |
show ip route 例:
|
設定を確認するため、ルーティング テーブルの現在の状態を表示します。 |
ステップ 6 |
copy running-config startup-config 例:
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |
次のタスク
スタティックルートを削除するには、no ip route prefix mask {address| interface} グローバル コンフィギュレーション コマンドを使用します。ユーザによって削除されるまで、スタティックルートはデバイスに保持されます。
デフォルトのルートおよびネットワーク
デフォルトのルートおよびネットワークに関する情報
ルータは、他のすべてのネットワークへのルートを学習できません。完全なルーティング機能を実現するには、一部のルータをスマート ルータとして使用し、それ以外のルータのデフォルト ルートをスマート ルータ宛てに指定します(スマート ルータにはインターネットワーク全体のルーティング テーブルに関する情報が格納されます)。これらのデフォルト ルートは動的に学習できますが、ルータごとに設定することもできます。ほとんどのダイナミックな内部ルーティング プロトコルには、スマート ルータを使用してデフォルト情報を動的に生成し、他のルータに転送するメカニズムがあります。
指定されたデフォルト ネットワークに直接接続されたインターフェイスがルータに存在する場合は、そのデバイス上で動作するダイナミック ルーティング プロトコルによってデフォルト ルートが生成されます。RIP の場合は、疑似ネットワーク 0.0.0.0 がアドバタイズされます。
ネットワークのデフォルトを生成しているルータには、そのルータ自身のデフォルト ルートも指定する必要があります。ルータが自身のデフォルト ルートを生成する方法の 1 つは、適切なデバイスを経由してネットワーク 0.0.0.0 に至るスタティック ルートを指定することです。
ダイナミック ルーティング プロトコルによってデフォルト情報を送信するときは、特に設定する必要はありません。ルーティング テーブルは定期的にスキャンされ、デフォルト ルートとして最適なデフォルト ネットワークが選択されます。IGRP ネットワークでは、システムのデフォルト ネットワークの候補が複数存在する場合もあります。Cisco ルータでは、デフォルト ルートまたは最終ゲートウェイを設定するため、アドミニストレーティブ ディスタンスおよびメトリック情報を使用します。
ダイナミックなデフォルト情報がシステムに送信されない場合は、ip default-network グローバル コンフィギュレーション コマンドを使用し、デフォルトルートの候補を指定します。このネットワークが任意の送信元のルーティング テーブルに格納されている場合は、デフォルト ルートの候補としてフラグ付けされます。ルータにデフォルト ネットワークのインターフェイスが存在しなくても、そこへのパスが格納されている場合、そのネットワークは 1 つの候補と見なされ、最適なデフォルト パスへのゲートウェイが最終ゲートウェイになります。
デフォルトのルートおよびネットワークの設定方法
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
ip default-network network number 例:
|
デフォルト ネットワークを指定します。 |
ステップ 3 |
end 例:
|
特権 EXEC モードに戻ります。 |
ステップ 4 |
show ip route 例:
|
最終ゲートウェイで選択されたデフォルト ルートを表示します。 |
ステップ 5 |
copy running-config startup-config 例:
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |
ルーティング情報を再配信するためのルート マップ
ルート マップの概要
スイッチでは複数のルーティング プロトコルを同時に実行し、ルーティング プロトコル間で情報を再配信できます。ルーティング プロトコル間での情報の再配信は、サポートされているすべての IP ベース ルーティング プロトコルに適用されます。
2 つのドメイン間で拡張パケット フィルタまたはルート マップを定義することにより、ルーティング ドメイン間でルートの再配信を条件付きで制御することもできます。match および set ルート マップ コンフィギュレーション コマンドは、ルートマップの条件部を定義します。match コマンドは、条件が一致する必要があることを指定しています。set コマンドは、ルーティングアップデートが match コマンドで定義した条件を満たす場合に行われる処理を指定します。再配布はプロトコルに依存しない機能ですが、match および set ルート マップ コンフィギュレーション コマンドの一部は特定のプロトコル固有のものです。
route-map コマンドのあとに、match コマンドおよび set コマンドをそれぞれ 1 つまたは複数指定します。match コマンドを指定しない場合は、すべて一致すると見なされます。set コマンドを指定しない場合、一致以外の処理はすべて実行されません。このため、少なくとも 1 つの match または set コマンドを指定する必要があります。
(注) |
set ルート マップ コンフィギュレーション コマンドを使用しないルートマップは、CPU に送信されるので、CPU の使用率が高くなります。 |
ルートマップステートメントは、permit または deny として識別することもできます。ステートメントが拒否としてマークされている場合、一致基準を満たすパケットは通常の転送チャネルを通じて送り返されます(宛先ベース ルーティング)、ステートメントが許可としてマークされている場合は、一致基準を満たすパケットに set コマンドが適用されます。一致基準を満たさないパケットは、通常のルーティング チャネルを通じて転送されます。
ルート マップの設定方法
次に示すステップ 3 ~ 14 はそれぞれ任意ですが、少なくとも 1 つの match ルート マップ コンフィギュレーション コマンド、および 1 つの set ルート マップ コンフィギュレーション コマンドを入力する必要があります。
(注) |
キーワードは、ルート配信を制御する手順で定義されているものと同じです。 |
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
route-mapmap-tag [permit | deny] [sequence number] 例:
|
再配信を制御するために使用するルート マップを定義し、ルート マップ コンフィギュレーション モードを開始します。 map-tag :ルート マップ用のわかりやすい名前を指定します。redistribute ルータ コンフィギュレーション コマンドはこの名前を使用して、このルートマップを参照します。複数のルート マップで同じマップ タグ名を共有できます。 (任意)permit が指定され、このルートマップの一致条件が満たされている場合は、set アクションの制御に従ってルートが再配信されます。deny が指定が指定されている場合、ルートは再配信されません。 sequence number (任意):同じ名前によってすでに設定されているルート マップのリスト内で、新しいルート マップの位置を指定する番号です。 |
ステップ 3 |
match as-path path-list-number 例:
|
BGP AS パス アクセス リストと照合します。 |
ステップ 4 |
match community-list community-list-number [exact] 例:
|
BGP コミュニティ リストのマッチングを行います。 |
ステップ 5 |
match ip address {access-list-number | access-list-name} [ ...access-list-number | ...access-list-name] 例:
|
名前または番号を指定し、標準アクセス リストと照合します。1 ~ 199 の整数を指定できます。 |
ステップ 6 |
match metric metric-value 例:
|
指定されたルート メトリックと一致させます。metric-value には、0 ~ 4294967295 の値が指定された、EIGRP のメトリックを指定できます。 |
ステップ 7 |
match ip next-hop {access-list-number | access-list-name} [ ...access-list-number | ...access-list-name] 例:
|
指定されたアクセス リスト(番号 1 ~ 199)のいずれかで送信される、ネクストホップのルータ アドレスと一致させます。 |
ステップ 8 |
match tag tag value [...tag-value] 例:
|
1 つまたは複数のルート タグ値からなるリスト内の指定されたタグ値と一致させます。0 ~ 4294967295 の整数を指定できます。 |
ステップ 9 |
match interfacetype number [...type-number] 例:
|
指定されたインターフェイスの 1 つから、指定されたネクスト ホップへのルートと一致させます。 |
ステップ 10 |
match ip route-source {access-list-number | access-list-name} [ ...access-list-number | ...access-list-name] 例:
|
アドバタイズされた指定のアクセス リストによって指定したアドレスに一致します。 |
ステップ 11 |
match route-type {local | internal | external [type-1 | type-2]} 例:
|
指定された route-type と一致させます。
|
ステップ 12 |
set dampening halflife reuse suppress max-suppress-time 例:
|
BGP ルート ダンプニング係数を設定します。 |
ステップ 13 |
set local-preference value 例:
|
ローカル BGP パスに値を割り当てます。 |
ステップ 14 |
set origin {igp | egp as | incomplete} 例:
|
BGP 送信元コードを設定します。 |
ステップ 15 |
set as-path {tag | prepend as-path-string} 例:
|
BGP の自律システム パスを変更します。 |
ステップ 16 |
set level {level-1 | level-2 | level-1-2 | stub-area | backbone} 例:
|
ルーティング ドメインの指定エリアにアドバタイズされるルートのレベルを設定します。stub-area および backbone は、OSPF NSSA およびバックボーンエリアです。 |
ステップ 17 |
set metric metric value 例:
|
再配布されるルートを指定するためのメトリック値を設定します(EIGRP のみ)。metric value は -294967295 ~ 294967295 の整数です。 |
ステップ 18 |
set metricbandwidth delay reliability loading mtu 例:
|
再配布されるルートを指定するためのメトリック値を設定します(EIGRP のみ)。
|
ステップ 19 |
set metric-type {type-1 | type-2} 例:
|
再配信されるルートに OSPF 外部メトリック タイプを設定します。 |
ステップ 20 |
set metric-type internal 例:
|
ネクスト ホップの IGP メトリックと一致するように、EBGP ネイバーにアドバタイズされるプレフィックスの Multi-Exit 識別子(MED)値を設定します。 |
ステップ 21 |
set weight number 例:
|
ルーティング テーブルの BGP 重みを設定します。指定できる値は 1 ~ 65535 です。 |
ステップ 22 |
end 例:
|
特権 EXEC モードに戻ります。 |
ステップ 23 |
show route-map 例:
|
設定を確認するため、設定されたすべてのルート マップ、または指定されたルート マップだけを表示します。 |
ステップ 24 |
copy running-config startup-config 例:
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |
ルート配信の制御方法
次に示すステップ 3 ~ 14 はそれぞれ任意ですが、少なくとも 1 つの match ルート マップ コンフィギュレーション コマンド、および 1 つの set ルート マップ コンフィギュレーション コマンドを入力する必要があります。
(注) |
キーワードは、再配信用にルート マップを設定する手順で定義されているものと同じです。 |
ルーティング プロトコルのメトリックを、必ずしも別のルーティング プロトコルのメトリックに変換する必要はありません。たとえば、RIP メトリックはホップ カウントで、IGRP メトリックは 5 つの特性の組み合わせです。このような場合は、メトリックを独自に設定し、再配信されたルートに割り当てます。ルーティング情報を制御せずにさまざまなルーティング プロトコル間で交換するとルーティング ループが発生し、ネットワーク動作が著しく低下することがあります。
メトリック変換の代わりに使用されるデフォルトの再配信メトリックが定義されていない場合は、ルーティング プロトコル間で自動的にメトリック変換が発生することがあります。
-
RIP はスタティック ルートを自動的に再配信できます。スタティック ルートにはメトリック 1(直接接続)が割り当てられます。
-
デフォルト モードになっている場合、どのプロトコルも他のルーティング プロトコルを再配信できます。
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router {rip | ospf | eigrp} 例:
|
ルータ コンフィギュレーション モードを開始します。 |
ステップ 3 |
redistribute protocol [process-id] {level-1 | level-1-2 | level-2} [ metric metric-value] [ metric-type type-value] [match internal | external type-value] [ tag tag-value] [ route-map map-tag] [ weight weight] [subnets] 例:
|
ルーティング プロトコル間でルートを再配信します。route-map を指定しないと、すべてのルートが再配信されます。キーワード route-map に map-tag を指定しないと、ルートは配信されません。 |
ステップ 4 |
default-metric number 例:
|
現在のルーティングプロトコルが、再配信されたすべてのルートに対して同じメトリック値を使用するように設定します(RIP と OSPF)。 |
ステップ 5 |
default-metric bandwidth delay reliability loading mtu 例:
|
EIGRP ルーティング プロトコルが、EIGRP 以外で再配信されたすべてのルートに対して同じメトリック値を使用するように設定します。 |
ステップ 6 |
end 例:
|
特権 EXEC モードに戻ります。 |
ステップ 7 |
show route-map 例:
|
設定を確認するため、設定されたすべてのルート マップ、または指定されたルート マップだけを表示します。 |
ステップ 8 |
copy running-config startup-config 例:
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |
ポリシーベース ルーティング
PBR の設定に関する制約事項
-
ポリシーベースルーティング(PBR)は、トラフィックの GRE トンネルへの転送ではサポートされません。これは、任意のインターフェイスに適用される PBR と、トラフィックの GRE トンネルへの転送(PBR ネクストホップもしくはデフォルのトネクストホップまたは設定済みのインターフェイスを使用)に適用される PBR に適用されます。
-
PBR は、GRE トンネル自体ではサポートされていません(GRE トンネル自体のもとで適用されます)。
ポリシーベース ルーティングの概要
PBR を使用すると、トラフィック フローに定義済みポリシーを設定できます。PBR を使用してルーティングをより細かく制御するには、ルーティング プロトコルから取得したルートの信頼度を小さくします。PBR は、次の基準に基づいて、パスを許可または拒否するルーティング ポリシーを設定したり、実装したりできます。
-
特定のエンド システムの ID
-
アプリケーション
-
プロトコル
PBR を使用すると、等価アクセスや送信元依存ルーティング、インタラクティブ対バッチ トラフィックに基づくルーティング、専用リンクに基づくルーティングを実現できます。たとえば、在庫記録を本社に送信する場合は高帯域で高コストのリンクを短時間使用し、電子メールなど日常的に使用するアプリケーション データは低帯域で低コストのリンクで送信できます。
PBR がイネーブルの場合は、アクセス コントロール リスト(ACL)を使用してトラフィックを分類し、各トラフィックがそれぞれ異なるパスを経由するようにします。PBR は着信パケットに適用されます。PBR がイネーブルのインターフェイスで受信されたすべてのパケットは、ルート マップを通過します。ルート マップで定義された基準に基づいて、パケットは適切なネクスト ホップに転送(ルーティング)されます。
- 許可とマークされているルート マップ文は次のように処理されます。
- match コマンドは長さまたは複数の ACL で照合できます。ルート マップ文には複数の match コマンドを含めることができます。論理関数またはアルゴリズム関数は、許可または拒否の決定がされるまで、すべての match コマンドで実行されます。
次に例を示します。
match length A B
match ip address acl1 acl2
match ip address acl3
パケットは、match length A B または acl1 または acl2 または acl3 により許可される場合に許可されます。
-
決定が許可の場合は、set コマンドで指定されたアクションがパケットで適用されます。
-
下された決定が拒否の場合は、PBR アクション(set コマンドで指定された)が適用されません。代わりに、処理ロジックが、シーケンス内の次のルート マップ文(シーケンス番号が次に高い文)に移動します。次の文が存在しない場合は、PBR 処理が終了し、パケットがデフォルトの IP ルーティング テーブルを使用してルーティングされます。
- match コマンドは長さまたは複数の ACL で照合できます。ルート マップ文には複数の match コマンドを含めることができます。論理関数またはアルゴリズム関数は、許可または拒否の決定がされるまで、すべての match コマンドで実行されます。
-
PBR では、拒否としてマークされているルートマップ ステートメントはサポートされません。
標準 IP ACL を使用すると、アプリケーション、プロトコル タイプ、またはエンド ステーションに基づいて一致基準を指定するように、送信元アドレスまたは拡張 IP ACL の一致基準を指定できます。一致が見つかるまで、ルート マップにこのプロセスが行われます。一致が見つからない場合、通常の宛先ベース ルーティングが行われます。match ステートメント リストの末尾には、暗黙の拒否ステートメントがあります。
match 句が満たされた場合は、set 句を使用して、パス内のネクスト ホップ ルータを識別する IP アドレスを指定できます。
PBR の設定方法
-
マルチキャスト トラフィックには、ポリシーによるルーティングが行われません。PBR が適用されるのはユニキャスト トラフィックだけです。
-
ルーテッド ポートまたは SVI 上で、PBR をイネーブルにできます。
-
スイッチは一致長に基づき PBR をサポートします。
-
レイヤ 3 モードの EtherChannel ポート チャネルにはポリシー ルート マップを適用できますが、EtherChannel のメンバーである物理インターフェイスには適用できません。適用しようとすると、コマンドが拒否されます。ポリシー ルート マップが適用されている物理インターフェイスは、EtherChannel のメンバーになることができません。
-
スイッチまたはスイッチ スタックには最大 128 個の IP ポリシー ルート マップを定義できます。
-
スイッチまたはスイッチ スタックには、PBR 用として最大 512 個のアクセス コントロール エントリ(ACE)を定義できます。
-
ルート マップに一致基準を設定する場合は、次の注意事項に従ってください。
-
ローカル アドレス宛てのパケットを許可する ACL と照合させないでください。
-
-
VRF と PBR は、スイッチ インターフェイス上で相互に排他的です。PBR がインターフェイスで有効になっているときは、VRF を有効にはできません。その反対の場合も同じで、VRF がインターフェイスで有効になっているときは、PBR を有効にできません。
-
WCCP と PBR は、スイッチ インターフェイスで相互に排他的です。PBR がインターフェイスで有効になっているときは、WCCP を有効にできません。その反対の場合も同じで、WCCP がインターフェイスで有効になっているときは、PBR を有効にできません。
-
PBR で使用されるハードウェア エントリ数は、ルート マップ自体、使用される ACL、ACL およびルート マップ エントリの順序によって異なります。
-
TOS、DSCP、および IP Precedence に基づく PBR はサポートされません。
-
set interface、set default next-hop、および set default interface はサポートされません。
-
ip next-hop recursive および ip next-hop verify availability 機能は使用できません。next-hop は、直接接続される必要があります。
-
set アクションのないポリシー マップはサポートされます。一致パケットは通常どおりにルーティングされます。
-
match 句のないポリシー マップはサポートされます。set アクションはすべてのパケットに適用されます。
デフォルトでは、PBR はスイッチ上で無効です。PBR を有効にするには、一致基準および結果アクションを指定するルート マップを作成する必要があります。次に、特定のインターフェイスでそのルート マップ用の PBR を有効にします。指定したインターフェイスに着信したパケットのうち、match 句と一致したものはすべて PBR の対象になります。
スイッチ(CPU)で生成されたパケットまたはローカルパケットは、通常どおりにポリシールーティングされません。スイッチ上でローカル PBR をグローバルに有効にすると、そのスイッチから送信されたすべてのユニキャストパケットがローカル PBR の影響を受けます。ローカル PBR に関してサポートされているプロトコルは、NTP、DNS、MSDP、SYSLOG、および TFTP です。ローカル PBR は、デフォルトで無効に設定されています。
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードを有効にします。 パスワードを入力します(要求された場合)。 |
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
route-map map-tag [permit] [sequence number] 例:
|
|
ステップ 4 |
match ip address {access-list-number | access-list-name} [ access-list-number | ...access-list-name] 例:
|
1 つ以上の標準または拡張アクセス リストで許可されている送信元および宛先 IP アドレスを照合します。ACL は、複数の送信元および宛先 IP アドレスでも照合できます。 match コマンドを指定しない場合、ルートマップはすべてのパケットに適用されます。 |
ステップ 5 |
match length min max 例:
|
パケット長と照合します。 |
ステップ 6 |
set ip next-hop ip-address [ ...ip-address] 例:
|
|
ステップ 7 |
exit 例:
|
グローバル コンフィギュレーション モードに戻ります。 |
ステップ 8 |
interface interface-id 例:
|
|
ステップ 9 |
ip policy route-map map-tag 例:
|
レイヤ 3 インターフェイス上で PBR をイネーブルにし、使用するルート マップを識別します。1 つのインターフェイスに設定できるルート マップは、1 つだけです。ただし、異なるシーケンス番号を持つ複数のルート マップ エントリを設定できます。これらのエントリは、最初の一致が見つかるまで、シーケンス番号順に評価されます。一致が見つからない場合、パケットは通常どおりにルーティングされます。 |
ステップ 10 |
ip route-cache policy 例:
|
|
ステップ 11 |
exit 例:
|
|
ステップ 12 |
ip local policy route-map map-tag 例:
|
(任意)ローカル PBR を有効にして、スイッチから送信されるパケットに PBR を実行します。ローカル PBR は、スイッチによって生成されるパケットに適用されます。着信パケットには適用されません。 |
ステップ 13 |
end 例:
|
特権 EXEC モードに戻ります。 |
ステップ 14 |
show route-map [map-name] 例:
|
(任意)設定を確認するため、設定されたすべてのルート マップ、または指定されたルート マップだけを表示します。 |
ステップ 15 |
show ip policy 例:
|
(任意)インターフェイスに付加されたポリシー ルート マップを表示します。 |
ステップ 16 |
show ip local policy 例:
|
(任意)ローカル PBR が有効であるかどうか、および有効である場合は使用されているルート マップを表示します。 |
ルーティング情報のフィルタリング
ルーティング プロトコル情報をフィルタリングする場合は、以下の作業を実行します。
(注) |
OSPF プロセス間でルートが再配信される場合、OSPF メトリックは保持されません。 |
受動インターフェイスの設定
ローカルネットワーク上の他のルータが動的にルートを取得しないようにするには、passive-interface ルータ コンフィギュレーション コマンドを使用し、ルーティング アップデート メッセージがルータインターフェイスから送信されないようにします。OSPF プロトコルでこのコマンドを使用すると、パッシブに指定したインターフェイス アドレスが OSPF ドメインのスタブ ネットワークとして表示されます。OSPF ルーティング情報は、指定されたルータ インターフェイスから送受信されません。
多数のインターフェイスが存在するネットワークで、インターフェイスを手動でパッシブに設定する作業を回避するには、passive-interface default ルータ コンフィギュレーション コマンドを使用し、すべてのインターフェイスをデフォルトでパッシブになるように設定します。このあとで、隣接関係が必要なインターフェイスを手動で設定します。
パッシブとして有効にしたインターフェイスを確認するには、show ip ospf interface などのネットワークモニタリング用特権 EXEC コマンドを使用します。アクティブとして有効にしたインターフェイスを確認するには、show ip interface 特権 EXEC コマンドを使用します。
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
router {rip | ospf | eigrp} 例:
|
ルータ コンフィギュレーション モードを開始します。 |
ステップ 3 |
passive-interface interface-id 例:
|
指定されたレイヤ 3 インターフェイス経由のルーティング アップデートの送信を抑制します。 |
ステップ 4 |
passive-interface default 例:
|
(任意)すべてのインターフェイスを、デフォルトでパッシブとなるように設定します。 |
ステップ 5 |
no passive-interface interface type 例:
|
(任意)隣接関係を送信する必要があるインターフェイスだけをアクティブにします。 |
ステップ 6 |
network network-address 例:
|
(任意)ルーティング プロセス用のネットワーク リストを指定します。network-address は IP アドレスです。 |
ステップ 7 |
end 例:
|
特権 EXEC モードに戻ります。 |
ステップ 8 |
copy running-config startup-config 例:
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |
ルーティング アップデートのアドバタイズおよび処理の制御
アクセス制御リストと distribute-list ルータ コンフィギュレーション コマンドを組み合わせて使用すると、ルーティングアップデート中にルートのアドバタイズを抑制し、他のルータが 1 つまたは複数のルートを取得しないようにできます。この機能を OSPF で使用した場合は外部ルートにだけ適用されるため、インターフェイス名を指定できません。
distribute-list ルータ コンフィギュレーション コマンドを使用し、着信したアップデートのリストのうち特定のルートを処理しないようにすることもできます。(OSPF にこの機能は適用されません)。
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードを有効にします。 パスワードを入力します(要求された場合)。 |
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
router {rip | eigrp} 例:
|
ルータ コンフィギュレーション モードを開始します。 |
ステップ 4 |
distribute-list {access-list-number | access-list-name} out [interface-name | routing process | autonomous-system-number] 例:
|
アクセス リスト内のアクションに応じて、ルーティング アップデート内のルートのアドバタイズを許可または拒否します。 |
ステップ 5 |
distribute-list {access-list-number | access-list-name} in [type-number] 例:
|
アップデートにリストされたルートの処理を抑制します。 |
ステップ 6 |
end 例:
|
特権 EXEC モードに戻ります。 |
ステップ 7 |
copy running-config startup-config 例:
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |
ルーティング情報の送信元のフィルタリング
一部のルーティング情報が他の情報よりも正確な場合があるため、フィルタリングを使用して、さまざまな送信元から送られる情報にプライオリティを設定できます。「アドミニストレーティブ ディスタンス」は、ルータやルータのグループなど、ルーティング情報の送信元の信頼性を示す数値です。大規模ネットワークでは、他のルーティング プロトコルよりも信頼できるルーティング プロトコルが存在する場合があります。アドミニストレーティブ ディスタンスの値を指定すると、ルータはルーティング情報の送信元をインテリジェントに区別できるようになります。常にルーティング プロトコルのアドミニストレーティブ ディスタンスが最短(値が最小)であるルートが選択されます。
各ネットワークには独自の要件があるため、アドミニストレーティブ ディスタンスを割り当てる一般的な注意事項はありません。
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードを有効にします。 パスワードを入力します(要求された場合)。 |
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
router {rip | ospf | eigrp} 例:
|
ルータ コンフィギュレーション モードを開始します。 |
ステップ 4 |
distance weight {ip-address {ip-address mask}} [ip access list] 例:
|
アドミニストレーティブ ディスタンスを定義します。 weight :アドミニストレーティブ ディスタンスは 10 ~ 255 の整数です。単独で使用した場合、weight はデフォルトのアドミニストレーティブ ディスタンスを指定します。ルーティング情報の送信元に他の指定がない場合に使用されます。アドミニストレーティブ ディスタンスが 255 のルートはルーティング テーブルに格納されません。 (任意)ip access list :着信ルーティング アップデートに適用される IP 標準または IP 拡張アクセス リストです。 |
ステップ 5 |
end 例:
|
特権 EXEC モードに戻ります。 |
ステップ 6 |
show ip protocols 例:
|
指定されたルーティング プロセス用のデフォルトのアドミニストレーティブ ディスタンスを表示します。 |
ステップ 7 |
copy running-config startup-config 例:
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |
認証キーの管理
キー管理を使用すると、ルーティング プロトコルで使用される認証キーを制御できます。一部のプロトコルでは、キー管理を使用できません。認証キーは EIGRP および RIP バージョン 2 で使用できます。
前提条件
認証キーを管理する前に、認証をイネーブルにする必要があります。プロトコルに対して認証をイネーブルにする方法については、該当するプロトコルについての説明を参照してください。認証キーを管理するには、キー チェーンを定義してそのキー チェーンに属するキーを識別し、各キーの有効期間を指定します。各キーは、独自のキー識別子( key number キーチェーン コンフィギュレーション コマンドで指定されたもの)を保持し、ローカルに格納されています。キー ID、およびメッセージに関連付けられたインターフェイスの組み合わせにより、使用中の認証アルゴリズムおよび Message Digest 5(MD5)認証キーが一意に識別されます。
認証キーの設定方法
有効期間が指定された複数のキーを設定できます。存在する有効なキーの数にかかわらず、送信される認証パケットは 1 つだけです。最小の番号から順にキー番号が調べられ、最初に見つかった有効なキーが使用されます。キー変更中は、有効期間が重なっても問題ありません。これらの有効期間は、ルータに通知する必要があります。
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
key chain name-of-chain 例:
|
キー チェーンを識別し、キーチェーン コンフィギュレーション モードを開始します。 |
ステップ 3 |
key number 例:
|
キー番号を識別します。有効値は 0 ~ 2147483647 です。 |
ステップ 4 |
key-string text 例:
|
キー ストリングを確認します。ストリングには 1 ~ 80 文字の大文字および小文字の英数字を指定できますが、最初の文字に数字を指定できません。 |
ステップ 5 |
accept-lifetime start-time {infinite | end-time | duration seconds} 例:
|
(任意)キーを受信できる期間を指定します。 start-time および end-time 構文には、hh:mm:ss Month date year または hh:mm:ss date Month year のいずれかを使用できます。デフォルトは、デフォルトの start-time 以降、無制限です。指定できる最初の日付は 1993 年 1 月 1 日です。デフォルトの end-time および duration は infinite です。 |
ステップ 6 |
send-lifetime start-time {infinite | end-time | duration seconds} 例:
|
(任意)キーを送信できる期間を指定します。 start-time および end-time 構文には、hh:mm:ss Month date year または hh:mm:ss date Month year のいずれかを使用できます。デフォルトは、デフォルトの start-time 以降、無制限です。指定できる最初の日付は 1993 年 1 月 1 日です。デフォルトの end-time および duration は infinite です。 |
ステップ 7 |
end 例:
|
特権 EXEC モードに戻ります。 |
ステップ 8 |
show key chain 例:
|
認証キーの情報を表示します。 |
ステップ 9 |
copy running-config startup-config 例:
|
(任意)コンフィギュレーション ファイルに設定を保存します。 |