23.1.4 OSPFおよびOSPFv3
- 〈この項の構成〉
(1) 学習経路フィルタリング
OSPFでは,SPF計算で求められた経路の中で,AS外経路とNSSA経路だけフィルタできます。また,OSPFv3では,AS外経路だけフィルタできます。フィルタした結果,学習しないことになった経路情報は,ルーティングテーブルに無効経路として導入されます。
エリア内経路およびエリア間経路は,フィルタされることなくルーティングテーブルに導入されます。
学習経路フィルタリングで経路を無効にしても,ほかのルータには該当する経路が作成されます。これは,経路の元となるLSAがドメイン内のほかのルータへ伝わるためです。学習経路フィルタリングではLSAをフィルタできません。
(a) フィルタの適用方法と適用順
OSPFではAS外経路とNSSA経路を,OSPFv3ではAS外経路を,distribute-list inで指定したフィルタでフィルタします。学習経路フィルタリングに使用するコンフィグレーションコマンドを次の表に示します。
コマンド名 |
フィルタ対象経路 |
---|---|
distribute-list in(OSPF) |
設定したOSPFドメインで求められたAS外経路とNSSA経路がフィルタリング対象になります。 |
distribute-list in(OSPFv3) |
設定したOSPFv3ドメインで求められたAS外経路がフィルタリング対象になります。 |
適用するフィルタがない場合,またはフィルタした結果がpermitである場合,経路を有効経路としてルーティングテーブルに導入します。フィルタした結果がdenyである場合,その経路は無効経路になります。
(b) 学習経路フィルタリングで変更できる経路属性
OSPFおよびOSPFv3の学習経路フィルタリングで変更できる属性を次の表に示します。
属性 |
デフォルト値 |
---|---|
ディスタンス値 |
distance ospfに指定した値。 指定していない場合は110。 |
学習経路フィルタリングでは,ディスタンス値だけを変更できます。変更したディスタンス値は,ルーティング種別間の優先経路選択に使用します。
(2) 広告経路フィルタリング
OSPFではOSPFインタフェースの直結経路を,OSPFv3ではOSPFv3インタフェースの直結経路を,エリア内経路またはエリア間経路として広告します。これらは,広告経路フィルタリングでは制御できません。
また,OSPF経路およびOSPFv3経路もほかのルータに伝わります。これも,経路フィルタリングでは制御できません。これは,経路フィルタリングとは関係なく,経路の元であるLSAは無条件で伝えるためです。
上記以外の優先経路は,広告経路フィルタリングによって広告できます。OSPFへAS外経路またはNSSA経路として,OSPFv3へAS外経路として広告します。
広告経路フィルタリングの設定をしていない場合,OSPFでは,OSPFインタフェースの直結経路とOSPF経路のほかは,どの経路も広告しません。また,OSPFv3も同様です。
(a) 広告経路フィルタリングで変更できる経路属性
OSPFの広告経路フィルタリングで変更できる属性を次の表に示します。
属性 |
経路学習元プロトコル |
デフォルト値 |
---|---|---|
メトリック値 |
直結経路 |
20 |
BGP4経路 |
default-metric(OSPF)で設定した値。 default-metric設定がない場合は1。 |
|
その他 |
default-metric(OSPF)で設定した値。 default-metric設定がない場合は20。 |
|
OSPF経路種別 |
全プロトコル共通 |
AS外経路またはNSSA経路のType 2 |
タグ値 |
全プロトコル共通 |
経路情報のタグ値を引き継ぎます。 |
OSPFv3の広告経路フィルタリングで変更できる属性を次の表に示します。
属性 |
経路学習元プロトコル |
デフォルト値 |
---|---|---|
メトリック値 |
直結経路 |
20 |
BGP4+経路 |
default-metric(OSPFv3)で設定した値。 default-metric設定がない場合は1。 |
|
その他 |
default-metric(OSPFv3)で設定した値。 default-metric設定がない場合は20。 |
|
OSPFv3経路種別 |
全プロトコル共通 |
AS外経路のType 2 |
タグ値 |
全プロトコル共通 |
経路情報のタグ値を引き継ぎます。 |
(b) フィルタの適用方法と適用順
広告経路フィルタリングでのフィルタの適用方法と適用順を次に示します。
-
OSPFまたはOSPFv3で広告したい経路を選択します。
広告したい経路の学習元プロトコルおよび経路種別をコンフィグレーションコマンドredistributeで設定します。このコマンドで指定されたプロトコルの経路だけが広告対象になります。なお,OSPFまたはOSPFv3の該当ドメインを指定しても,そのドメインの経路は再広告しません。また,route-mapを指定すると,route-mapでフィルタした結果がpermitである経路だけを広告対象にできます。redistributeでは,ルーティングテーブル上の経路属性値と条件を比較します。
redistributeに経路属性を変更するroute-mapや経路属性を直接指定すれば,広告する経路の属性も変更できます。
-
メトリック値とOSPFまたはOSPFv3の経路種別をプロトコルのデフォルト値に設定します。
ただし,redistributeで属性値を変更した場合は,その値を使用します。
-
redistributeで選択した経路にdistribute-list outの設定に従ってフィルタを適用します。
distribute-list outではパラメータにプロトコルを指定して,指定したプロトコルで学習した経路にだけフィルタを適用します。
広告経路フィルタリングのコンフィグレーションコマンドを次の表に示します。
表23‒17 広告経路フィルタリングのコンフィグレーションコマンド コマンド名
パラメータ
フィルタ対象経路
distribute-list out(OSPF)
<protocol>
広告先に関係なく,指定したプロトコルの経路にフィルタを適用します。
なし
広告先に関係なく,すべての経路にフィルタを適用します。
distribute-list out(OSPFv3)
<protocol>
広告先に関係なく,指定したプロトコルの経路にフィルタを適用します。
なし
広告先に関係なく,すべての経路にフィルタを適用します。
経路をOSPFまたはOSPFv3のドメインへ広告するに当たり,経路の学習元プロトコルに応じてフィルタを選択し,それを表のOSPFまたはOSPFv3それぞれの順番に適用します。適用するフィルタが一つもない場合,またはフィルタした結果がすべてpermitである場合,その経路を広告します。適用した結果がdenyであるフィルタが一つでもある場合,その経路を広告しません。
distribute-list outにroute-mapを指定した場合,広告属性のデフォルト値やredistributeで変更したあとの属性値に従って経路をフィルタします。
distribute-list outに経路属性を変更するroute-mapを指定すれば,広告する経路の属性も変更できます。
- 注意
-
手順3のdistribute-list outによる広告経路フィルタリング時にmatch route-typeを実行すると,“external”と,“external 1”“external 2”のどちらかに一致するようになります。これは,経路属性の中のOSPFまたはOSPFv3の経路種別が,redistributeまたは広告デフォルト属性値によって外部経路のType 1またはType 2に書き換えられたあとだからです。