はじめに
OSPFの勉強をしてからずいぶんと復習できていなかったので、
OSPFの復習もかねて改めて勉強します。私自身の知識の再習得が目標です。
OSPFとは
OSPF(Open Shortest Path First)は、主に同じAS内で使用されるIGP型のプロトコルで、大規模なネットワークに適している。また、お互いのルータがLSAを交換しあい、LSDBを形成する。以下にOSPFの基本的な仕組みについて説明します。
1.リンクステート型プロトコル
・各ルーターは、自分に直接接続されたルーターやネットワークの状態をしめす「リンクステート広告(LSA)を生成し、OSPFの同じエリア内の全ルーターと共有する。そして共有したLSAをトポロジテーブルに格納し、それからトポロジマップを形成。これは各ネットワークまでの最短パスツリーを表したもの。LSDBともよばれる。OSPFでは30分ごとに各ルーターとLSAの同期を行います。またトポロジに変更があった場合はトリガーアップデートで即座にLSAをエリア内の全てのルーターにアドバタイズする。
2. エリアの概念
・ospfのエリアとは「LSAを交換する範囲をしめす論理グループ」の事。バックボーンエリアが全エリアを接続します。
3.コストメトリック
・OSPFは、リンクの帯域幅に基づいてコストを計算し、最短パスツリー(SPT)を構築する。帯域幅が高いほどコストが低くなる。
OSPFの動作の流れ
1.ネイバー関係の確立
・OSPFルーターは、helloパケットを送受信して隣接するルーターとネイバー関係を確立する。helloパケットにはルーターIDやデッドインターバルの情報が含まれる。
2.LSAの交換
・ネイバー関係が確立されると、ルーターはLSAを交換し始めます。LSAは接続されているネットワーク情報が含まれる。
3.LSDBの作成
・受信したLSAを元に、各ルーターは自分自身のリンクステートデータベース(LSDB)を更新する。LSDBは、ネットワーク全体のトポロジ情報を持っている。
4.最短パスツリー(SPT)の計算
・LSDBの情報をもとに、最短パスツリーを計算し、ルーティングテーブルを更新する
5.ルーティング情報の更新
・ネットワーク内でトポロジの変化が発生したとき、LSAが再度生成され、エリア内の全ルーターに配布。各ルータは再度SPTを計算し、ルーティングテーブルを更新する。
OSPFの利点
・エリア分割により、大規模なネットワークでも運用可能
・コンバージェンスが早い
・各リンクにコストを割り振る事で効率的なルーティングが可能
・可変長サブネットマスク(VLSM)に対応し、柔軟なアドレッシングが可能
OSPFで使用されるパケットについて
1. helloパケット
helloパケットは、OSPFルーターが隣接するルーターを発見し、隣接関係を確立、および維持するために使用される。
2.DBDパケット
Database Descriptyon(DBD)パケットは、OSPFの隣接関係を確立したあとに使用され、LSDBの概要を交換する。DBDパケットにはLSAの要約情報が含まれる。
3.Link State Requeest(LSR)パケット
LSRパケットはLSDBの足りない情報を要求するためのパケット
4.Link state Update(LSU)パケット
・新しい、または更新されたLSA情報を隣接ルーターに送信するパケット
5.Link State Acknowledgment(LSAck)パケット
LSUパケットで受信したLSAの受領を確認するためパケット
DR,BDR,DRotherについて
OSPFでは、マルチアクセスネットワークにおいて、DR(Designated Router)、BD(Backup Designated Router)、DRother(DR以外のルータ)が選出される。それぞれの役割を解説
DR
マルチアクセスネットワーク上で選出されるルーター
他の全てのルーターとの間でLSAを管理・中継する
BDR
DRが故障したときのバックアップ。DRと同様全てのルーターからLSAを受け取るが、中継は行わない
DRother
DRotherはDRおよび、BDRと直接通信し、LSAの送受信を行う。
アウトプット企画#1の反省点
OSPFの知識が曖昧でアウトプットではなく、インプットになってしまっていた。ただ、記事にするにあたってたくさんのブログや記事に触れたので普段のインプットより質の高いインプットができたと言えるが、アウトプットを目的にしているため次回ではその点を改善したい。しかし、アウトプットをするために必要なインプットが全くできていないことも感じた。明日はパケットトレーサーにチャレンジし、コマンドを1つずつ確認していくような記事を書きたい。