目次
OSPFの特徴
OSPF(Open Shortest Path First)は、規模の大きい企業ネットワークに対応できるルーティングプロトコルです。企業の社内ネットワークで一番よく利用されているルーティングプロトコルです。ただ、単にOSPFを利用すれば、規模が大きいネットワークで効率のよいルーティングができるわけではありません。OSPFの仕組みをしっかりと把握した上で適切な設計が必要です。OSPFの特徴を簡単にまとめると、以下のようになります。
- IGPs(Interior Gateway Protocols)
- リンクステート型ルーティングプロトコル
- クラスレスルーティングプロトコル
- メトリックとして「パスコスト」を採用
- マルチキャストの利用
- 認証機能のサポート
- ルーティングテーブルのコンバージェンス時間が短い
- ループが発生する可能性が極めて小さい
- 効率よいルーティングのための「エリア」の概念
- きちんとしたアドレス設計が必要
- CPUやメモリへの負荷が大きい
以降、これらの特徴について解説します。また、さらに詳細な解説をしているページのリンクも掲載しています。必要に応じて、詳細な解説ページもあわせてご覧ください。
OSPFの特徴: IGPs
OSPFは、RIPと同じくAS内部のルーティングを対象としたIGPsの一種です。つまり、企業の社内ネットワークにおいてOSPFを利用したルーティングを行います。RIPよりも大規模なネットワークを主な対象としています。
関連記事
OSPFの特徴: リンクステート型ルーティングプロトコル
OSPFのルーティングアルゴリズムは、リンクステート型です。リンクステート型では、ルータ同士で単純なネットワークアドレス/サブネットマスクではなく、LSA(Link State Advertisement)を交換します。リンクとはOSPFが有効なインタフェース同士のつながりを意味しています。それぞれのOSPFルータがリンクの状態を交換することで、各OSPFルータがネットワーク構成を詳細に把握することができます。
OSPFルータが交換したLSAはリンクステートデータベース(Link State Database : LSDB)に格納されます。LSDBは、各OSPFルータが認識している詳細なネットワーク構成図です。そして、SPF(Shortest Path First)アルゴリズムにより、各ルータを起点とした最短パスツリーを計算して最適ルートを判断し、ルーティングテーブルを作成します。SPFアルゴリズムはダイクストラアルゴリズムとも呼ばれます。次の図は、OSPFでのLSAの交換の様子を表しています。
関連記事
LSAを交換してLSDBの同期をとる様子について、以下の記事を始めとする詳細な解説をしています。
OSPFの特徴: クラスレスルーティングプロトコル
OSPFは、サブネットマスクに基づいてネットワークアドレスを認識するクラスレスルーティングプロトコルです。OSPFで交換するLSAには、サブネットマスクも含まれています。そのため、OSPFでは、RIPv1のようなクラスフルルーティングプロトコルではサポートできないVLSMや不連続サブネットをサポートすることが可能です。
関連記事
OSPFの特徴: メトリックとして「パスコスト」を採用
OSPFでは、最適ルート選択の基準(メトリック)として、パスコストを採用しています。デフォルトで、インタフェースの帯域幅に応じて自動的にコストが計算されます。目的のネットワークまでのコストを累積したものがパスコストです。パスコストが最小の経路が最適経路です。帯域幅が大きいほどコストの値が小さくなるので、OSPFでは、帯域幅大きい経路が最適とみなされることになります。
関連記事
OSPFの特徴: マルチキャストの利用
OSPFルータ同士のやり取りは、通常はマルチキャスト(224.0.0.5または224.0.0.6)で行われます。そのため、ネットワーク上のほかのホストやOSPFを有効にしていないルータに余計な負荷をかけることもありません。
OSPF用に予約されているマルチキャストアドレスは224.0.0.5と224.0.0.6です。224.0.0.5は同一ネットワーク内のすべてのOSPFルータのグループです。224.0.0.6は同一ネットワーク内のDRおよびBDRのグループです。
関連記事
OSPFの特徴: 認証機能のサポート
セキュリティを向上させるために、OSPFでは認証機能をサポートしています。認証機能によって、正規のOSPFルータ間でのみLSAのやりとりを行うようにできます。
関連記事
OSPFの特徴: ルーティングテーブルのコンバージェンス時間が短い
すべてのOSPFルータが共通のネットワークの地図、つまりリンクステートデータベースを持ち、ネットワークに変更があったときだけLSAを送信するトリガードアップデートを採用しています。そのため、何か変更が起きたときでもトリガードアップデートによって各ルータが速やかに変更を認識し、その変更情報をリンクステートデータベースやルーティングテーブルに反映することができます。したがって、RIPのようなディスタンスベクタ型ルーティングプロトコルよりもはるかに高速にコンバージェンスさせることが可能です。
OSPFの特徴: ループが発生する可能性が極めて小さい
各OSPFルータがネットワーク全体の地図であるリンクステートデータベースを保持し、トリガードアップデートを利用することでコンバージェンスが高速です。ネットワーク構成の変化を迅速にルーティングテーブルに反映できるので、間違ったルーティングテーブルになってしまいループが発生する可能性はほとんどありません。
OSPFの特徴: 効率よいルーティングのための「エリア」の概念
リンクステートデータベースは、エリア内のすべてのルータで共通です。大規模なネットワークでは、交換されるリンクステート情報の数とサイズが非常に多くなり、それにともなってリンクステートデータベースサイズも巨大になってしまいます。その結果、ルータのCPUサイクルやメモリを多く消費することになるので、好ましくありません。このような問題を解消するために、OSPFでは「エリア」という概念を取り入れて、大規模ネットワークでより効率よくルーティングできるようにしています。OSPFを効果的に利用するためには、エリアについてよく理解しておくことが重要です。
OSPFのエリアは「同じLSDBを持つOSPFルータのグループ」です。そして、エリアに分割することで、LSDBはエリア内は詳細なネットワーク構成を記述して、エリア外は概要だけとなります。
関連記事
エリアについて、以下の記事で解説しています。
OSPFの特徴: きちんとしたアドレス設計が必要
OSPFに限ったことではありませんが、ルーティングプロトコルを効率よく利用するためにはきちんとしたアドレス設計が必要です。アドレス設計がいい加減だとルート情報の集約がうまくできません。適切なアドレス設計とエリア設計により、OSPFルートを効率よく集約できるようになります。
関連記事
OSPFの特徴: CPUやメモリへの負荷が大きい
OSPFはRIPよりも複雑な処理を行います。そのため、RIPを利用するよりもルータのCPUやメモリへの負荷が大きくなってしまいます。
OSPFに関する主なRFC
OSPFの仕様は、RFCで定義されていて標準化されているルーティングプロトコルです。マルチベンダ環境のネットワークでもOSPFを利用したルーティングを行うことが可能です。また、IPv4だけでなくIPv6のルーティングもできるように拡張されています。
OSPFに関するRFCの主なものとして、以下があります。
発行年 | RFC |
---|---|
1989 | RFC1131 OSPF specification |
1991 | RFC1247 OSPF Version 2 |
1998 | RFC2328 OSPF Version 2 |
1999 | RFC2740 OSPF for IPv6 |
2008 | RFC5340 OSPF for IPv6 |
2010 | RFC5838 Support of Address Families in OSPFv3 |
OSPFの仕組み
- OSPFとは? 初心者にもわかりやすくOSPFの特徴を解説
- OSPFの処理の流れ
- OSPFルータID ~OSPFルータを識別~
- OSPFルータのルータIDが重複してしまったら?
- OSPF ネイバーとアジャセンシー
- OSPF DR/BDR
- イーサネット上のshow ip ospf neighborの見え方
- OSPFネットワークタイプ ~OSPFが有効なインタフェースの分類~
- OSPF LSDBの同期処理
- 大規模なOSPFネットワークの問題点
- OSPFエリア ~エリア内は詳しく、エリア外は概要だけ~
- OSPFルータの種類
- OSPF LSAの種類
- OSPF エリアの種類
- OSPFの基本的な設定と確認コマンド [Cisco]
- インタフェースでOSPFを有効化することの詳細
- OSPF ループバックインタフェースのアドバタイズ
- OSPF Hello/Deadインターバルの設定と確認コマンド
- OSPFコストの設定と確認
- OSPFルータプライオリティの設定と確認コマンド
- OSPFネイバー認証の設定 ~正規のルータとのみネイバーになる~
- バーチャルリンク上のネイバー認証
- OSPF スタブエリアの設定と確認[Cisco]
- OSPF スタブエリアの設定例 [Cisco]
- OSPFデフォルトルートの生成 ~default-information originateコマンド~
- OSPFデフォルトルートの生成 ~スタブエリア~
- OSPF バーチャルリンク ~仮想的なエリア0のポイントツーポイントリンク~
- OSPF バーチャルリンクの設定と確認 [Cisco]
- OSPF バーチャルリンクの設定例 [Cisco]
- OSPF 不連続バックボーンのVirtual-link設定例
- OSPFのルート集約と設定
- OSPFルート集約の設定例(Cisco)
- OSPF ルート種類による優先順位
- OSPFネイバーの状態がExstartでスタックする原因
- OSPFパケットの種類とOSPFヘッダフォーマット
- OSPF Helloパケット
- OSPF DD(Database Description)パケット
- OSPF LSR(Link State Request)パケット
- OSPF LSU(Link State Update)パケット
- OSPF LSAck(Link State Acknowledgement)パケット
- OSPF 再配送ルートの制限 ~redistribute maximum-prefixコマンド~
- OSPFでのディストリビュートリスト/プレフィクスリストの動作
- OSPFでのディストリビュートリストの設定例 Part1
- OSPFでのディストリビュートリストの設定例 Part2
- OSPFのLSAフィルタの概要 ~LSAタイプ3/タイプ5をフィルタ~
- LSAタイプ3のフィルタ設定例
- LSAタイプ5のフィルタ設定例
- 3階層モデルLANのOSPFルーティング
- 演習:実践的なOSPFルーティング Part1:OSPFの基本設定
- 演習:実践的なOSPFルーティング Part2:デフォルトルートの生成
- 演習:実践的なOSPFルーティング Part3:スタブエリア
- 演習:実践的なOSPFルーティング Part4:ルート集約
- 演習:実践的なOSPFルーティング Part5:トラブルシューティング
- OSPF 設定ミスの切り分けと修正 Part1
- OSPF 設定ミスの切り分けと修正 Part2
- OSPF 設定ミスの切り分けと修正 Part3
- OSPF 設定ミスの切り分けと修正 Part4
- OSPF 設定ミスの切り分けと修正 Part5
- OSPF 設定ミスの切り分けと修正 Part6
- Cisco OSPFv3 for IPv4の設定と確認コマンド
- Cisco OSPFv3 for IPv4の設定例
- OSPFv3の設定例 [Cisco]
- OSPFv3 ルート集約の設定例 [Cisco]