Table of Contents
OSPFでのルートフィルタの動作概要
OSPFでは、ルータ同士でLSAを交換します。LSAの内容は、必ずしもネットワークアドレス/サブネットマスクではありません。この点が、RIPやEIGRPのディスタンスベクタ系ルーティングプロトコルと大きく違う点です。そして、OSPFのルートフィルタの動作がRIPやEIGRPのルートフィルタと異なる理由です。
ディストリビュートリストやプレフィクスリストは、permit/denyするネットワークアドレスやサブネットマスクを特定してフィルタをかけます。そのため、ネットワークアドレス/サブネットマスクが含まれているとは限らないLSAをフィルタすることができません。
ただ、ややこしいことに、ディストリビュートリストやプレフィクスリストがOSPFでまったく使えないわけではないです。OSPFでのディストリビュートリスト/プレフィクスリストの動作は、次のようになっています。
- インタフェースを対象としたout方向は機能しない
- in方向はルーティングテーブルにルートを登録するときに機能する
ディストリビュートリスト/プレフィクスリストの設定について、以下の記事をご覧ください。
インタフェースを対象としたout方向のフィルタ
インタフェースを指定したoutの方向のフィルタは機能しません。その理由は、前述のようにディストリビュートリスト/プレフィクスリストでLSAのフィルタができないからです。

なお、outの方向でインタフェースを指定しない場合は、全インタフェースが対象です。このときもフィルタはかかりません。outのあとにルーティングプロトコルを指定することもあります。これは、OSPFへの再配送時のフィルタです。再配送時のフィルタは、LSAタイプ5のフィルタでこの場合はフィルタがかかります。
inの方向のフィルタ
inの方向でも、ディストリビュートリスト/プレフィクスリストではやはりLSAのフィルタはできません。受信したLSAはLSDB内に格納されます。LSDBから、SPFアルゴリズムでルーティングテーブルにルート情報を登録します。このときはネットワークアドレス/サブネットマスクの形になっているので、ディストリビュートリスト/プレフィクスリストでのフィルタが可能です。つまり、ルーティングテーブルに登録するかしないかを決めるのが、OSPFでのinの方向のフィルタです。

なお、in方向でインタフェースを指定した場合は、そのインタフェースが出力インタフェースとなるルートが対象です。
関連記事
「ネットワークのおべんきょしませんか?」内の記事を検索
OSPFの仕組み
- OSPFの概要
- OSPFの処理の流れ
- OSPFルータID ~OSPFルータを識別~
- OSPFネットワークタイプ
- OSPFの基本的な設定と確認コマンド
- OSPF Hello/Deadインターバルの設定と確認コマンド
- OSPFコストの設定と確認
- OSPFルータプライオリティの設定と確認コマンド
- OSPFネイバー認証の設定 ~正規のルータとのみネイバーになる~
- バーチャルリンク上のネイバー認証
- OSPFデフォルトルートの生成 ~default-information originate~
- OSPFデフォルトルートの生成 ~スタブエリア~
- OSPFのルート集約と設定
- OSPFルート集約の設定例(Cisco)
- OSPF ルート種類による優先順位
- OSPFパケットの種類とOSPFヘッダフォーマット
- OSPF Helloパケット
- OSPF不連続バックボーンのVirtual-link設定
- OSPF 再配送ルートの制限 ~redistribute maximum-prefixコマンド~
- OSPFでのディストリビュートリスト/プレフィクスリストの動作
- OSPFでのディストリビュートリストの設定例 Part1
- OSPFでのディストリビュートリストの設定例 Part2
- OSPFのLSAフィルタの概要 ~LSAタイプ3/タイプ5をフィルタ~
- LSAタイプ3のフィルタ設定例
- LSAタイプ5のフィルタ設定例
- OSPF 設定ミスの切り分けと修正 Part1
- OSPF 設定ミスの切り分けと修正 Part2
- OSPF 設定ミスの切り分けと修正 Part3
- OSPF 設定ミスの切り分けと修正 Part4
- OSPF 設定ミスの切り分けと修正 Part5
- OSPF 設定ミスの切り分けと修正 Part6
- OSPFv3の設定例
- OSPFv3 ルート集約の設定例(Cisco)