OSPFメモ

OSPF(Open Shortest Path First)

#特徴
・マルチベンダサポート
マルチキャストをサポート
・Helloパケットを交換、ネイバー関係を確立・維持
・LSAをフラッディングし、LSDBに格納
SPFアルゴリズム
・ディスタンスベクタ型よりも高速なコンバージェンス
・メトリックはコスト
・エリアの概念による階層型ルーティング
・クラスレスルーティングプロトコル
・手動経路集約のサポート

 

#OSPFで使用されるパケット

・タイプ1: Hello
ネイバー関係を確立泳ぎ維持する
OSPFルータはネイバーの検出にHelloパケットを使用します。Helloパケットは、「225.0.0.5」のマルチキャストアドレスで定期的に送信されます。
最後にHelloを受信してからDeadインターバルが経過してもHellloを受信できなかった場合には、そのネイバーはダウンしたとみなされます。

・タイプ2: DBD
リンクステートデータベース(LSDB)の同期チェックを行う
DBD(Database Description)パケットは、LSDBの同期をとるために送受信します。DBDによってLSDBで保持しているLSAのリストを好感し、同期がとれているかを確認する。

・タイプ3: LSR
リンクステート情報(LSA)を要求する
LSR(Link-State Request)パケットは、自身のLSDBに不足しているLSAがあった場合、必要なLSAを要求するために使用します。

・タイプ4: LSU
リンクステート情報(LSA)を送信する
LSU(Link State Update)パケットは、LSRで要求されたLSAを送るために使用されます。LSUパケットには1つ以上のLSAが含まれています。

・タイプ5: LSAck
Helloを除くパケットの確認応答
LSACK(Link-State Acknowledgment)パケットは、DBDやLSUパケットを受信したことを通知する目的で使用する確認応答。


#OSPFパケットのフォーマット

・IPヘッダ
IPヘッダ(プロトコル番号89): 32bit

・OSPF共通ヘッダ
バージョン: 8bit
タイプ: 8bit
パケット長: 16bit
ルータID: 32bit
エリアID: 32bit
チェックサム: 16bit
認証タイプ: 16bit
認証: 32bit
認証: 32bit

・データ
データ(タイプごとに異なるメッセージ)

#OSPFテーブル
OSPFルータはリンクステートルーティングの実現要素として、次の3つのテーブルを保持しています。

・ネイバーテーブル
認識しているOSPFネイバーのリスト。隣接ルータとの隣接関係情報が格納されている。

・トポロジテーブル
LSAを格納したデータベース。LSDBとも呼ばれている。
LSDBはすべてのOSPFルータが保持し、エリア内のルータ間で同期がとられる。

・ルーティングテーブル
LSDBの情報を基に得た最適ルートのリスト。

 

#ルータidの決定(優先度)

router-idコマンドで設定
ループバックインターフェイスの中で最大のIPアドレス
アクティブなインターフェイスの中で最大のIPアドレス

 

#OSPFルータ同士の関係

・ネイバー関係(2way)
DROTHER-DROTHER

・アジャセンシ関係(隣接関係)
DR - DROTHER
BDR-DROTHER
DR-BDR

 

#DR/BDRの選出方法
router-idコマンドで設定
プライオリティが最大のルータがDR
プライオリティ値が2番目に大きいルータがBDR
プライオリティ値0のルータはDROTHER
プライオリティ値が同じ場合、ルータIDが最大のルータがDR、2番目に大きいルータがBDR

 

#OSPFの経路を学習するまでのプロセス

1、DOWN状態
2、INIT状態
3、2WAY状態
4、DR/BDRの選出
5、EXSTART状態
6、EXCHANGE状態
7、LOADING状態
8、FULL状態

 

#OSPFのコスト(式:100(Mbps)/インターフェイス帯域幅(Mbps))
Ethernet:コスト10
FastEthernet:コスト1
GigabitEthernet:コスト1
TenGigabitEthernet:コスト1
Serial(デフォルトT1:1,544kbps):コスト64
Serial(128kbps):コスト781
Serial(64kbps):コスト1,562

 

#設定
コストの変更
「ip ospf cost <1-65535>」で変更可能(インターフェイスで設定)

プライオリティの変更
「ip ospf priority <0-255>」で変更可能(インターフェイスで設定)

router ospf <process-id> ←プロセスIDは1-65535
network <address> <wildcard-mask> area <area-id>

 

#OSPFルートのコード
「O」 OSPFエリア内ルート
「O IA」 OSPFエリア間ルート
「O E1」 OSPF外部ルート メトリックタイプ1
「O E2」 OSPF外部ルート メトリックタイプ2
「O N1」 ISOF NSSA外部ルート メトリックタイプ1
「O N2」 NSSA外部ルート メトリックタイプ2

 

#OSPFネットワークタイプ
・ポイントツーポイント
ネイバー自動検出、DR/BDR選出なし、Hello/Deadインターバル(10/40秒)、マルチキャストアドレス:224.0.0.5

・ブロードキャストマルチアクセス
ネイバー自動検出、DR/BDR選出あり、Hello/Deadインターバル(10/40秒)
マルチキャストアドレス:224.0.0.5(OSPFルータ宛) 224.0.0.6(DR/BDR宛)

・NBMA(ノンブロードキャストマルチアクセス)
ネイバー自動検出なし(手動設定)、DR/BDR選出あり、Hello/Deadインターバル(30/120秒)
マルチキャストアドレス:なし(代わりにneighborコマンドを設定したユニキャストアドレスを使用)

・ポイントツーマルチポイント
ネイバー自動検出、DR/BDR選出なし、Hello/Deadインターバル(30/120秒)
マルチキャストアドレス:224.0.0.5

・ポイントツーマルチポイントノンブロードキャスト
ネイバー自動検出なし、DR/BDR選出なし、Hello/Deadインターバル(30/120秒)
マルチキャストアドレス:なし(代わりにneighborコマンドを設定したユニキャストアドレスを使用)


#主なインターフェイスのデフォルトのネットワークタイプ
・LANインターフェイス(Ethernet、FastEthernetなど):ブロードキャストマルチアクセス
・HDLC、PPPのシリアルインターフェイス:ポイントツーポイント
・フレームリレーのメジャーインターフェイス:NBMA
・フレームリレーのサブインターフェイス(point-to-point):ポイントツーポイント
・フレームリレーのサブインターフェイス(multipoint):NBMA

 

#OSPFネットワークタイプの変更
(config-if)#ip ospf network <mode>

・mode
OSPFネットワークタイプを次のいずれかで指定
broadcast、non-broadcast、point-to-multipoint
point-to-multipoint non-broadcast、point-to-point

※2台のルータ間でOSPFネットワークタイプが一致しなくても、Hello/Deadインターバルが一致していればネイバー関係は確立できる。ただし、DR/BDR選出の有無が異なると適切にルーティングテーブルを構築できないため、DR/BDR選出の認識を合わせる必要がある。
#LSAタイプ

・LSAタイプ1:ルータLSA
ルータが直接接続しているリンクの状態を表現するための最も基本的なLSAで、すべてのOSPFルータが生成する。
生成したルータのルータIDやリンク数、(OSPFが有効なインターフェイス)の詳細情報(IPアドレスやコストなど)のほか、自身がABR(Bビット)またはASBR(Eビット)かどうかを示すビットも含まれている。
LSAタイプ1は、発生したそのエリア内でのみフラッディングされる。
LSAタイプ1のルート情報には、ルーティングテーブルでOSPFエリア内ルートを示すため「O」のコードがつけられる。

・LSAタイプ2:ネットワークLSA
LSAタイプ2は、マルチアクセスネットワーク上のDRが生成する。
DRのIPアドレスやそのマルチアクセスネットワークに接続されているルータのリストとネットワークのサブネットマスクの情報が含まれている。
LSAタイプ2は、発生したそのエリア内でのみフラッディングされる。
このLSAを確認するには、show ip ospf database networkコマンドを使用する。

・LSAタイプ3:ネットワーク集約LSA
LSAタイプ3は、エリア内に存在するネットワークアドレスをほかのエリアへ通知するためのLSAで、ABRによって生成される。
ABRはデフォルトですべてのサブネットに関するルート情報をアドバタイズする。
大規模ネットワークにおいて効率的なOSPFルーティングを行うには、ABRには明示的にルート集約を設定する必要がある。
LSAタイプ3は、自立システム全体にフラッディングされる。
LSAタイプ3のルート情報には、ルーティングテーブルでoSPFエリア間ルートを示すため「O IA」のコードがつけられる。
このLSAを確認するには、show ip ospf database summaryコマンドを使用する。

・LSAタイプ4:ASBR集約LSA
LSAタイプ4は、ASBRの情報をほかのエリアへ通知するためのLSAであり、
SABRのルータIDとASBRに到達するまでのメトリックが含まれている。
非OSPFネットワークが接続され、ASBRルート情報をOSPFに再配布している場合にそのエリアのABRが生成する。
LSAタイプ4は、自立システム全体にフラッディングされる。
このLSAを確認するには、show ip ospf database asbr-summaryコマンドを使用する。

・LSAタイプ5:AS外部LSA
LSAタイプ5は、非OSPFネットワークの絵っとワークアドレスをOSPFドメインへアドバタイズするためのLSAであり、
非OSPFネットワークのネットワークアドレス、サブネットマスク、メトリック及び転送アドレスが含まれている。
非OSPFネットワークが接続され、ルート情報をOSPFに再配布している場合にASBRが生成する。
ASBRはデフォルトですべてのサブネットに関するネットワークアドレスをアドバタイズするため、大規模ネットワークにおいて効率的なOSPFルーティングを行うには、
ASBRで明示的にルート集約を設定する必要がある。
LSAタイプ5は、自立システム全体にフラッディングされる。
このLSAを確認するには、show ip ospf database externalコマンドを使用する。
メトリックタイプは「O E1」または「O E2」のいずれかになる。

・E1...OSPFドメイン内のコストが外部コストに加算される。
・E2...OSPFドメイン内のコストが外部コストに加算されない(デフォルト、常に外部コスト値のまま伝搬)

・LSAタイプ7:NSSA外部LSA
LSAタイポう7は、非OSPFネットワークのネットワークアドレスをNSSAへアドバタイズするためのLSAであり、
非OSPFネットワークが接続されNSSAを構成した場合にASBRが生成する。


#用語

・トランジットネットワーク
OSPFリンクタイプの一種で、複数のOSPFルータを接続しているネットワークのこと

・スタブネットワーク
OSPFリンクタイプの一種で、ここではほかにOSPFルータが存在しないネットワークを指す


#OSPF関連コマンド
show ip ospf
show ip ospf neighbor
show ip ospf database
show ip ospf database topology
show ip ospf database summary
show ip ospfdatabase network