ChatGPTの簡単なまとめ
OSPF(Open Shortest Path First) は、リンクステート型のルーティングプロトコルの一種です。OSPFは、内部ゲートウェイプロトコル(IGP)として使用され、主に中規模から大規模なネットワークで利用されます。以下は、OSPFに関する基本的なポイントです。
- リンクステート型プロトコル: OSPFはリンクステート型のプロトコルであり、ネットワーク内の全てのルーターがネットワークのリンクステート情報を持ち、それを基に最適な経路を計算します。
- エリア構造: OSPFネットワークはエリアと呼ばれる論理的なセグメントに分割されます。これにより、ネットワークを論理的なブロックに分割して、ルーティング情報を効果的に制御できます。
- 階層型デザイン: OSPFは通常、バックボーンエリア(Area 0)と呼ばれる中心的なエリアから放射状にエリアを広げる階層型のデザインを使用します。これにより、大規模ネットワークでのスケーラビリティが向上します。
- コストベースの経路選択: OSPFは、リンクのコストを基に最適な経路を計算します。コストは通常リンクの伝送速度に関連しており、高速なリンクが低いコストを持ちます。
- 隣接関係の形成: OSPFルーターは、直接接続された隣接ルーターとの間で隣接関係を確立します。これにより、リンクの変更やネットワークの変化に応じて迅速にトポロジ変更を検知できます。
- DR(Designated Router)とBDR(Backup Designated Router): OSPFネットワーク内では、ブロードキャストネットワーク(Ethernetなど)上でDRとBDRが選出され、他のルーターはこれらにリンクステート情報を配信します。これにより、リンクステート情報の配信を効率的に行います。
- 信頼性と冗長性: OSPFはリンクの障害に対して迅速に反応し、冗長経路を持つことができます。これにより、ネットワークの信頼性が向上します。
OSPFは非常に柔軟で堅牢なプロトコルであり、スケーラビリティや冗長性の観点から広く利用されています。
トポロジマップの作成
OSPFでは エリア内の全ルータが同じリンクステート情報を共有している
- 自身の持つリンク情報をネイバールータにLSA(Link State Advertisement)として送信し合う
- LSAはトポロジテーブルに格納して、別のネイバールートに送信することで最終的にネットワーク全体にLSAが通知される
- このトポロジテーブルのことを LSDB (Link State Database) と呼ぶ
- LSDBに格納されたLSAを組み合わせてネットワーク全体の トポロジマップ を作成
LSAの種類
- タイプ1 ルータLSA
- 自身のエリア内でのみフラッディングされる
- すべてのOSPFルータがLSAを生成する
- リンク情報がすべて含まれている
- タイプ2 ネットワークLSA
- 自身のエリア内でのみフラッディングされる
- マルチアクセスネットワークを代表するDRが生成する
- タイプ3 ネットワークサマリLSA
- タイプ4 ASBRサマリLSA
- タイプ5 AS外部LSA
- タイプ7 NSSA外部LSA
経路計算アルゴリズム
最短経路を求めるにはダイクストラ法を使っている 各ルータは、自身おwSPFツリーを作成して、
RIPとの比較
IGPには他にRIP(Routing Information Protocol) がある。こちらは通過するルータの数=ホップ数が一番小さいものを最短経路とするディスタンスベクタ型のプロトコル。 ルータの計算能力が上がって、複雑なコスト計算が行えるようになったことで、OSFPで高速なルートを選べるようになった。 いまでも小規模ネットワークではRIPは使われている。 中~大規模のネットワークではOSPFが使われる
エリア
大規模ネットワークではLSDBが大きくなり、その分ルータにかかる計算コストが大きくなる。 負荷を軽減する工夫として以下のようなものがある
エリアに分割する
大規模なネットワークを複数の小さなエリアに分割する。 ルーティング情報はエリア別に作成されるので、ルーティングテーブルが小さくなり、ネットワークが変更されても情報を交換するのはエリア内で閉じることができる。
バックボーンエリア(エリア0)
中心となる バックボーンエリア (エリア0) を必ず作る。 他のエリア1,2,…は 必ずエリア0に接続される エリア0と他のエリアをつなぐルータは特別に エリア境界ルータ(Area Border Router, ABR) と呼ぶ
仮想リンクの使用
- 【図解/OSPF】初心者にも分かりやすいVirtual Link(仮想リンク)の仕組みと本質的な考え方 | SEの道標
- OSPF バーチャルリンク ~仮想的なエリア0のポイントツーポイントリンク~ | OSPFの仕組み | ネットワークのおべんきょしませんか?
各エリアは必ずエリア0に接続しないといけないが、物理的な制約でエリア0に接続できないような場合に仮想リンクによって論理的にエリア0に接続できる。 物理的に接続できないエリアを、トランジットエリアを経由して仮想リンクを設定することで、エリア0が拡張されて離れたエリアもエリア0に接続されているとみなすことができる
また、複数のバックボーンエリアが不連続で存在する構成もNG。 このような構成になってしまうと、分断されているバックボーンエリア同士での通信は不可能となる。一応、それぞれのバックボーンエリアを中心としたエリアでは通信が可能。 このとき、不連続なバックボーンエリアをバーチャルリンクで統合するとバックボーンエリアが論理的に1つとみなされて不正が解消される。
ネットワーク変更情報の更新
ネットワークの構成変更があったとき、変更を全ルータに伝えるのをコンバージェンスという。 RIPでは30秒ごとに全ルータがルート情報を送信するので、帯域を消費する上コンバージェンスにも時間がかかる。 OSPFは変更のあった差分情報のみを送信するので、負荷が小さくてコンバージェンスが早い
ループ回避
LSDBとダイクストラ法、バックボーンエリアが1つだけですべてのエリアはバックボーンエリアに接続するといった制約により、ループが発生しないようになっている。