OSPF
一つの管理方針で運用されるネットワーク(AS)の内部で使うリンクステート型のルーティングプロトコルである。各ルータはエリアごとに接続情報を共有し、その区画内では回線に設定されたコストを足し合わせて最小になる経路を計算する。
イマシルちゃんの解説
OSPFは、組織内などで宛先への経路を選ぶルーティングプロトコルだよ。
ルータ同士が回線のつながりを知らせ合い、エリアと呼ぶ区画ごとに共通の地図を作るんだ。
回線には経路を選ぶための重みであるコストが設定されているよ。
各ルータは地図を使い、区画内の宛先までに通る回線の値を足し合わせて、最小になる道を計算するの。
実際の所要時間を測って選ぶわけではないんだ。
回線の故障を検知すると情報を更新して経路を計算し直すから、別の使える道があれば切り替えられるよ。
この解説はわかりやすかったですか?
より深い解説
定義
OSPF(Open Shortest Path First)は、AS内で使うIGPの1つで、リンクステート型のルーティングプロトコルである。IPv4用のOSPFv2はRFC 2328、IPv6用のOSPFv3はRFC 5340で定められている。
OSPFは、TCPやUDPを使わず、IPの上に直接載る。IPヘッダーのプロトコル番号は89である。
仕組み
- 隣のルータと Hello パケットを交換してネイバーを見つけ、必要な相手と隣接関係を作る
- 自分につながるリンク(回線)の状態をLSA(Link State Advertisement)として広告し合う
- 各ルータが集めたLSAを、エリアごとの地図(LSDB:リンクステートデータベース)として保持する
- LSDBをもとに、ダイクストラ法(SPFアルゴリズム)で、自分を起点とした最短経路を計算する
経路を選ぶ重み
OSPFは、インタフェースに設定されたコストをメトリックに使う。帯域から自動計算する実装もあり、Cisco IOSでは初期設定の基準帯域を100Mbit/sとして「基準帯域 ÷ インタフェースの帯域」で求める。100Mbit/sという値はOSPFの規格で全装置に固定された値ではない。管理者がコストを直接設定することもできる。
なお、基準帯域が100Mbit/sのままだと、100Mbit/s以上の回線がすべてコスト1になって区別できないため、実際のネットワークでは基準帯域を大きく設定し直すことが多い。
ネットワークを区画に分ける
大きなネットワークでは、LSDBが大きくなりすぎないように、ネットワークをエリアに分ける。
| 用語 | 意味 |
|---|---|
| バックボーンエリア | エリア0。ほかのすべてのエリアはここにつながる |
| ABR(エリア境界ルータ) | 複数のエリアにまたがり、エリア間の経路情報を受け渡す |
| ASBR(AS境界ルータ) | 外部(ほかのルーティングプロトコルやAS)の経路をOSPFに取り込む |
共有セグメントの代表を選ぶ
イーサネットのようなブロードキャスト型のネットワークでは、全ルータの組合せでLSDBを同期すると交換量が増える。そこで代表ルータ(DR)とバックアップの代表ルータ(BDR)を選び、その他のルータはこの二者と完全な隣接関係を作る。その他のルータ同士もHelloでネイバーを確認するが、LSDBを同期する隣接関係は作らない。
| マルチキャストアドレス | 宛先 |
|---|---|
| 224.0.0.5 | すべてのOSPFルータ |
| 224.0.0.6 | DRとBDR |
RIPとの比較
| RIP | OSPF | |
|---|---|---|
| 方式 | 距離ベクトル型 | リンクステート型 |
| メトリック | ホップ数(最大15) | コスト(帯域から計算) |
| 経路情報の送り方 | 定期的な経路情報の送信と変更時の更新 | 変更したLSAの送信と定期的なLSAの更新 |
| 収束 | 遅い | 速い |
| 運ぶもの | UDP(520番) | IP(プロトコル番号89) |
冗長構成と保守のための設定
経路を変更するときは、代替経路が使えることと、各ルータが新しい情報を反映したことを確認する。
| 目的 | 設定と条件 |
|---|---|
| 主回線と副回線を使い分ける | 同じ宛先・経路種別なら、主回線経由の合計コストを小さくする。主回線の経路が失われると、使える副回線の経路へ切り替えられる |
| 機器を止める前に迂回する | 対象を通る経路のコストを十分に大きな値へ変更するなどして、別経路を選ばせる。代替経路がない通信まで迂回できるわけではない |
| 安全に経路を交換する | 交換する接続口にはOSPF認証を設定し、交換しない接続口はパッシブインタフェースにする |
| ルータを安定して識別する | 物理リンクの切断に直接左右されないループバックインタフェースのアドレスをルータIDに利用できる。識別子の設定と、そのアドレスへの到達経路は別に確認する |
| 冗長化の切替順序を整える | VRRPのプリエンプトディレイなどを用い、経路が整う前に復旧装置へ通信を戻すことを避ける |
RFC 6987のスタブルータ広告では、他のルータへ向かうリンクのコストを65535にして、そのルータを通過する経路の優先度を下げる。機器をネットワークの地図から消す操作とは異なり、装置自身への到達性を残しながら保守に備えられる。
設定値で経路を誘導する
同じ宛先・経路種別の候補では、宛先までのリンクのコストの合計が最も小さい経路が選ばれる。そのため、コストを調整して、拠点ごとに使うWAN回線を振り分けられる。
例:拠点Pと拠点Qから、センタCへの通信を考える。WAN回線は α と β の2本で、どちらもコスト100とする。
| 区間 | コスト |
|---|---|
| 拠点P → αの入口 | 10 |
| 拠点P → βの入口 | 20 |
| 拠点Q → αの入口 | 20 |
| 拠点Q → βの入口 | 10 |
| αの出口 → センタC | s |
| βの出口 → センタC | t |
「PはαでCへ、Qはβで C へ」としたいとき、それぞれの合計を比べる。
- P:αの経路 10+100+s が、βの経路 20+100+t より小さい → s < t+10
- Q:βの経路 10+100+t が、αの経路 20+100+s より小さい → t < s+10
両方を満たす値(例:s=t=10)を選べばよい。設定値を当てはめるときは条件を一つずつ確かめる。合計が等しい場合は、装置の設定に応じて等コストマルチパスで両方の経路を使える。
参考資料
実際の試験ではここに出る!全28問
ネットワークスペシャリスト
- 午前Ⅱ
- 午後Ⅰ
- 午後Ⅱ
テクニカルエンジニア(ネットワーク)
- 午前