LSAのフィルタの概要

OSPFでのルートフィルタはEIGRP/RIPなどとは動作が異なります。OSPFでのディストリビュートリストやプレフィクスリストは、ルータ間で送受信するLSAのフィルタを行うわけではありません。

LSAのフィルタを行う方法もあります。フィルタできるLSAは以下の2種類です。

  • LSAタイプ3
  • LSAタイプ5(LSAタイプ7)

LSAタイプ3は、あるエリアにとって他のエリアに存在するネットワークアドレス/サブネットマスクを表すLSAです。また、LSAタイプ5およびLSAタイプ7は、OSPFドメイン以外に存在するネットワークアドレス/サブネットマスクを表すLSAです。それぞれのLSAは生成するルータが決まっています。LSAタイプ3は、ABR(Area Border Router)が生成します。LSAタイプ5およびLSAタイプ7は、ASBR(Autonomous System Boundary Router)が生成します。

それぞれのLSAをフィルタできるのは、生成するルータです。つまり、LSAタイプ3をフィルタできるのは、ABRです。また、LSAタイプ5およびLSAタイプ7をフィルタできるのは、ASBRです。LSAタイプ3をフィルタするためには、ABRでarea filter-listコマンドを利用します。また、LSAタイプ5およびLSAタイプ7をフィルタするためには、ASBRでdistribute-list out コマンドやルートマップを使います。


LSAタイプ3のフィルタの設定

OSPFのLSAタイプ3をフィルタするために、ABRでarea filter-listコマンドを利用します。area filter-listコマンドの構文は、次の通りです。

LSAタイプ3のフィルタ

(config)#router ospf ‹process-id›
(config-router)#area ‹area-id› filter-list prefix ‹prefix-list-name› {in|out}

‹process-id›:OSPFプロセスID
‹area-id›:エリア番号
‹prefix-list-name›:プレフィクスリスト名

LSAタイプ3の中には、ネットワークアドレス/サブネットマスクが含まれています。プレフィクスリストによって、permit/denyするネットワークアドレス/サブネットマスク、つまりLSAタイプ3を指定します。また、方向の指定として、inとoutがあります。

inは他のエリアのLSDBから指定したエリアのLSDB内にLSAタイプ3を生成するときにフィルタします。一方、outは指定したエリアのLSDBから他のエリアのLSDB内にLSAタイプ3を生成するときにフィルタします。area filter-listの方向の指定について図示したものもが次の図です。

図 area filter-list prefix in
図 area filter-list prefix in
図 area filter-list prefix out
図 area filter-list prefix out

どのエリアに対してどの方向でarea filter-listコマンドを設定したかは、show ip ospfコマンドで確認します。また、プレフィクスリストの確認は、show ip prefix-listコマンドです。そして、実際にLSDB内のLSAタイプ3がフィルタされているかどうかは、show ip ospf databaseコマンドで確認します。

LSAタイプ5のフィルタの設定

ASBRで他のルーティングプロセスからOSPFへ再配送する際に、LSAタイプ5をフィルタすることができます。つまり、LSAタイプ5のフィルタはOSPFへの再配送が前提です。また、LSAタイプ5のフィルタにはディストリビュートリスト/プレフィクスリストを利用する設定と、ルートマップを利用する設定の2通りあります。

NSSAのときは、LSAタイプ7のフィルタとなります。考え方はLSAタイプ5のフィルタと同じです。

ディストリビュートリスト/プレフィクスリストでのフィルタ

ディストリビュートリスト/プレフィクスリストを利用する場合のLSAタイプ5のフィルタの設定は次の通りです。

LSAタイプ5のフィルタ ディストリビュートリスト/プレフィクスリスト

(config-router)#redistribute ‹protocol› subnets
(config-router)#distribute-list [prefix] {<ACL>|<prefix-list-name>} out ‹protocol›

‹process-id›:OSPFプロセスID
‹protocol›:再配送元のルーティングプロセス
‹ACL›:アクセスリスト番号
‹prefix-list-name›:プレフィクスリスト名

標準アクセスリストまたはプレフィクスリストによって、ASBRで生成するLSAタイプ5の特定します。そして、標準アクセスリストまたはプレフィクスリストの適用は、outでの適用であることに注意してください。outのあとにredistributeで指定したものと同じ再配送元のルーティングプロセスを指定します。再配送元のルーティングプロセスからOSPFのLSDB内にLSAタイプ5を生成するので、直観的にはinかなと思ってしまうのですが、inではありません。

ルートマップでのフィルタ

また、ルートマップを利用した場合のLSAタイプ5のフィルタの設定は次の通りです。

LSAタイプ5のフィルタ ルートマップ

(config)#router ospf ‹process-id›
(config-router)#redistribute ‹protocol› subnets route-map ‹route-map-name›

‹process-id›:OSPFプロセスID
‹protocol›:再配送元のルーティングプロセス
‹route-map-name›:ルートマップ名

ルートマップによってASBRで生成するLSAタイプ5を特定します。ルートマップは、redistributeコマンドのオプションで適用します。ルートマップを利用すれば、フィルタ+αの処理が可能です。LSAタイプ5を単純にフィルタするだけではなく、メトリックタイプやメトリックを変更したり、ルートタグを付加したりできます。

OSPFの仕組み