スタティックルートは分かったけど、OSPFが何のためにあるのか最初はピンと来ませんでした。同じ人向けに、ざっくり整理します。
そもそもルーティングとは
ルーターは「宛先のネットワークへ行くには、次にどのルーターへ渡せばいいか」を表(ルーティングテーブル)で持っています。宛先ごとに次の一歩(ネクストホップ)を知っている、というだけの仕組みです。
スタティックの限界
小さな構成なら、この表を手で書けます(スタティックルート)。でもルーターが10台、20台と増えると、全ルーターに全ネットワークへの経路を手書きするのは現実的ではありません。しかも、どこかの回線が切れたとき、手動では経路を切り替えられません。
そこで登場するのが動的ルーティングプロトコルで、その代表がOSPFです。
OSPFがやってくれること
OSPF(Open Shortest Path First)は、ルーター同士が自分の知っているネットワーク情報を交換し合い、全体の地図(トポロジ)を各ルーターが自動で作るプロトコルです。地図さえあれば、各ルーターは宛先までの最短経路を自分で計算できます。
ポイントは3つです。
- 自動: 新しいネットワークを追加すると、勝手に全体へ広まる
- 最短経路: コスト(帯域に基づく重み)が小さい経路を選ぶ
- 障害に強い: 回線が切れると数秒〜十数秒で別経路へ切り替わる
最小の設定例(Cisco)
router ospf 1
network 192.168.10.0 0.0.0.255 area 0
network 10.0.0.0 0.0.0.3 area 0
network で「このネットワークをOSPFに参加させる」と宣言します。ワイルドカードマスク(0.0.0.255)はサブネットマスクの0と1を反転した書き方で、ここも最初つまずく所でした。
隣接(ネイバー)が命
OSPFはまず、直接つながったルーター同士で「ネイバー」という関係を結びます。この関係ができて初めて情報交換が始まります。うまく動かないときは、
show ip ospf neighbor
でネイバーが FULL になっているかを確認します。ここが EXSTART や INIT で止まっていると、MTU不一致やエリア番号違いなどを疑う、という流れを覚えておくと切り分けが速くなります。