リンクステート型のOSPFは「ネットワーク全体の地図」を各ルーターが持つと聞きました。では、その地図は、どうやってルーター同士で作り上げているのでしょうか?
いきなり全員が同じ地図を持っているわけではありません。まずは隣同士が友達になるところから始まります。どんな手順を踏むのか、考えながら読み進めてください。
まずは「あいさつ」から始まる
前回、OSPFはリンクステート型のIGPで、ネットワーク全体のトポロジ情報を全ルーターが持ち合うと学びました。その第一歩は、隣接するルーター同士が「あなたはOSPFをしゃべる仲間ですか?」と確認し合うところから始まります。
新しい部署に配属されたとき、まず隣の席の人にあいさつして、名前や担当を確認しますよね。OSPFのルーターも同じで、Helloパケットという「あいさつ」を定期的に送り合うことから始めます。
Helloパケットとネイバー関係
OSPFルーターは、有効化されたインターフェースからHelloパケットを定期的(デフォルトでイーサネットでは10秒間隔)に送信します。相手からもHelloが返ってくると、お互いをネイバー(隣接ルーター)として認識します。
ただし、Helloを受け取っただけでは無条件にネイバーになれるわけではありません。次の条件が一致していることが必要です。
- 同じエリア番号であること
- Helloタイマー・デッドタイマーの値が一致していること
- 同じサブネット(ネットワークアドレスとマスク)に属していること
- (認証を使う場合は)認証情報が一致していること
たとえばHelloタイマーが片方10秒、もう片方5秒のように異なっていると、いくら物理的につながっていてもネイバー関係は成立しません。「エリア・タイマー・サブネット一致」がネイバー成立の三大条件として覚えておきましょう。
LSA交換とLSDB
ネイバー関係が確立すると、ルーター同士はLSA(Link State Advertisement、リンクステート広告)という情報を交換し合います。LSAには「自分はどんなリンクを持っていて、そのコストはいくつか」という情報が含まれています。
各ルーターは受け取ったLSAを蓄積し、LSDB(Link State Database、リンクステートデータベース)という形で保存します。エリア内のすべてのルーターは、最終的にまったく同じLSDBを持つことになります。これが「全員が同じ地図を持つ」というリンクステート型の考え方の実体です。
SPF計算で最短経路を割り出す
LSDBという地図がそろったら、各ルーターは自分自身でその地図を元にSPF(Shortest Path First)アルゴリズムを実行し、自分を起点とした最短経路ツリーを計算します。このアルゴリズムはダイクストラ法とも呼ばれます。
計算の結果、コストが最も低い経路がルーティングテーブルに O(OSPF)として登録されます。
Router# show ip route
O 172.16.0.0/16 [110/2] via 192.168.1.2, 00:00:12, GigabitEthernet0/0
[110/2] の「110」がOSPFのAD値、「2」がコスト(メトリック)です。
OSPFのコストとは
OSPFのメトリックであるコストは、次の計算式で求められます。
コスト = 参照帯域幅 ÷ インターフェースの帯域幅
デフォルトの参照帯域幅は100Mbpsです。たとえばインターフェースの帯域幅が100Mbpsならコストは1、10Mbpsならコストは10になります。経路上の各リンクのコストを足し合わせた合計値が小さい経路ほど優先されます。帯域幅が大きい(速い)リンクほどコストが小さくなり、選ばれやすくなるという関係を覚えておきましょう。
2台のOSPFルーターがHelloパケットを交換していますが、いつまで経ってもネイバー関係が成立しません。考えられる原因を1つ挙げてください。
答えを見る
考えられる原因はいくつかありますが、代表的なものはエリア番号の不一致、Hello/デッドタイマーの値の不一致、サブネット(ネットワークアドレスとマスク)の不一致です。これらが一致していないと、たとえ物理的に接続されていてもOSPFのネイバー関係は成立しません。
まとめると「あいさつ→情報交換→自分で地図を計算」
OSPFは、Helloパケットによるネイバー確立、LSAの交換によるLSDBの構築、そして各ルーターが自分でSPF計算を行うという3段階で動作します。コストは帯域幅から計算され、値が小さいほど優先されます。
OSPFのコストは、どのような計算式で求められますか?
答えを見る
答えは コスト = 参照帯域幅 ÷ インターフェースの帯域幅 です。デフォルトの参照帯域幅は100Mbpsで、インターフェースの帯域幅が大きい(速い)ほどコストは小さくなり、経路として選ばれやすくなります。
試験でのポイント
CCNA試験では、OSPFのネイバー成立条件(エリア・タイマー・サブネットの一致)を問う問題や、コストの計算式(参照帯域幅÷帯域幅)を使った数値計算問題がよく出題されます。「帯域幅が大きいほどコストは小さくなる」という関係を逆に覚えてしまうミスが多いので注意してください。また、LSA・LSDB・SPFという用語の役割(広告する情報・蓄積した地図・最短経路の計算)もセットで整理しておきましょう。
OSPFは、Helloであいさつしてネイバーになって、LSAを交換してLSDBという同じ地図を作って、最後は各自でSPF計算して最短経路を出す、という流れ。コストの計算式も要チェックだよ。次は、実際にOSPFを設定するコマンドを見ていくよ。