OSPF入門
リンクステート型ルーティングプロトコルの仕組み
OSPF(Open Shortest Path First)は企業ネットワークで最も広く使われるルーティングプロトコルです。
ネットワークスペシャリスト試験の頻出テーマであるOSPFの基本概念、エリア設計、LSA、経路計算の仕組みを解説します。
こんな人向けの記事です
- OSPFの基本的な動作原理を理解したい
- エリア設計やLSAの種類を学びたい
- ネットワークスペシャリスト試験のルーティング問題に対応したい
Step 1OSPFの概要とRIPとの違い
OSPFはIGP(Interior Gateway Protocol)に分類されるリンクステート型のルーティングプロトコルです。ネットワーク全体のトポロジ情報を共有し、SPF(Dijkstra)アルゴリズムで最短経路を計算します。
| 項目 | OSPF | RIP |
|---|---|---|
| アルゴリズム | リンクステート(SPF/Dijkstra) | ディスタンスベクタ(Bellman-Ford) |
| メトリック | コスト(帯域幅ベース) | ホップ数 |
| 最大ホップ数 | 制限なし | 15(16は到達不能) |
| 収束速度 | 速い | 遅い |
| 階層設計 | エリアによる階層化 | フラット構造 |
| 規模 | 大規模ネットワーク向け | 小規模ネットワーク向け |
| プロトコル | IPプロトコル番号89 | UDP ポート520 |
Step 2OSPFの基本動作
OSPFルータはネイバー関係を確立し、リンクステート情報を交換して、最短経路を計算します。
1. Helloパケット交換
(ネイバー検出)
(ネイバー検出)
↓
2. DBD/LSR/LSUの交換
(LSDB同期)
(LSDB同期)
↓
3. SPFアルゴリズム実行
(最短経路計算)
(最短経路計算)
↓
4. ルーティングテーブル更新
ネイバー状態遷移
| 状態 | 説明 |
|---|---|
| Down | 初期状態。Helloパケット未受信 |
| Init | Helloを受信したが、自分のルータIDが含まれていない |
| 2-Way | 双方向の通信を確認。DR/BDR選出が行われる |
| ExStart | DBD交換の準備。マスター/スレーブを決定 |
| Exchange | DBD(データベース記述)パケットを交換 |
| Loading | 不足するLSAをLSRで要求し、LSUで受信 |
| Full | LSDB同期完了。隣接関係(Adjacency)確立 |
Helloパケットの重要パラメータ
以下のパラメータが一致しないとネイバーになれません:エリアID / サブネットマスク / Helloインターバル / Deadインターバル / 認証情報 / スタブエリアフラグ
Step 3エリア設計
OSPFではネットワークを「エリア」に分割し、階層的に管理します。すべてのエリアはバックボーンエリア(エリア0)に接続する必要があります。
| エリアの種類 | 特徴 |
|---|---|
| バックボーンエリア(エリア0) | すべてのエリアの中心。全エリアはエリア0に接続が必要 |
| 標準エリア | すべてのLSAを受け入れる通常のエリア |
| スタブエリア | 外部経路(LSA Type-5)を受け入れない。デフォルトルートで代替 |
| トータリースタブエリア | 外部経路+他エリア経路(LSA Type-3)もブロック |
| NSSA | スタブだが、自エリアからの外部経路再配布は許可(LSA Type-7) |
エリア設計イメージ
┌──────────────────────────────────────┐
│ バックボーンエリア(Area 0) │
│ [ABR-1] [ABR-2] │
└─────┬──────────────────────┬───────────┘
│ │
┌──────┴──────┐ ┌──────┴──────┐
│ Area 1 │ │ Area 2 │
│ (標準) │ │(スタブ) │
└─────────────┘ └─────────────┘
ABR = Area Border Router(エリア境界ルータ)
Step 4LSAの種類
LSA(Link State Advertisement)はOSPFがトポロジ情報を伝達するためのパケットです。
| Type | 名前 | 生成者 | 伝達範囲 |
|---|---|---|---|
| 1 | Router LSA | 全ルータ | 同一エリア内 |
| 2 | Network LSA | DR | 同一エリア内 |
| 3 | Summary LSA | ABR | エリア間 |
| 4 | ASBR Summary LSA | ABR | エリア間 |
| 5 | External LSA | ASBR | AS全体 |
| 7 | NSSA External LSA | NSSA内ASBR | NSSA内 |
試験のポイント
LSA Type-1〜5とType-7は頻出です。特にスタブエリアでブロックされるLSAの種類とABR/ASBRの役割を正確に理解しましょう。
Step 5DR/BDRの選出
マルチアクセスネットワーク(イーサネット等)では、LSA交換の効率化のためにDR(Designated Router)とBDR(Backup DR)を選出します。
| 役割 | 説明 |
|---|---|
| DR | ネットワーク上のLSA交換の代表。Network LSA(Type-2)を生成 |
| BDR | DRのバックアップ。DR障害時に昇格 |
| DROther | DR/BDR以外のルータ。DRとのみFull隣接関係を形成 |
DR選出の優先順位
1. priority値が最も高いルータ(デフォルト1、0は選出対象外)2. priorityが同じ場合はルータIDが最も大きいルータ
※ DRの再選出は行われない(プリエンプションなし)
Step 6コスト計算と経路選択
OSPFのメトリックはコストです。基準帯域幅をインターフェースの帯域幅で割って算出します。
コスト計算式
コスト = 基準帯域幅 / インターフェース帯域幅
デフォルト基準帯域幅 = 100Mbps = 10^8 bps
例:
10Mbps → 100M / 10M = 10
100Mbps → 100M / 100M = 1
1Gbps → 100M / 1G = 1(※同じになるため基準帯域幅の変更を推奨)
基準帯域幅を10Gbpsに変更した場合:
100Mbps → 10G / 100M = 100
1Gbps → 10G / 1G = 10
10Gbps → 10G / 10G = 1
Cisco IOS 基本設定
# OSPF有効化
router ospf 1
router-id 1.1.1.1
network 192.168.1.0 0.0.0.255 area 0
network 10.0.0.0 0.0.0.255 area 1
# 基準帯域幅の変更(10Gbps)
router ospf 1
auto-cost reference-bandwidth 10000
# インターフェースのコスト手動設定
interface GigabitEthernet0/0
ip ospf cost 10
まとめ
- OSPFはリンクステート型のIGP。SPFアルゴリズムで最短経路を計算
- ネイバー確立にはHello/Dead間隔、エリアID、認証などの一致が必要
- 全エリアはバックボーンエリア(Area 0)に接続が必須
- LSA Type-1〜5, 7の種類と伝達範囲を理解する
- マルチアクセスネットワークではDR/BDRを選出してLSA交換を効率化
- コスト = 基準帯域幅 / インターフェース帯域幅