STAGE 04 / 4-2 OSPF

OSPFの設定(シングルエリア)

考えてみよう

OSPFはルーター同士が自動的に地図を作ってくれると学びました。では、そのOSPFという仕組み自体は、ルーターにどうやって「始めてね」と教えるのでしょうか?

自動で動いてくれるとはいえ、最初のスイッチは人間が入れる必要があります。どのインターフェースでOSPFを動かすかを、どんな形式で指定するのか考えてみてください。

OSPFを起動する:router ospf

前回、OSPFはHelloパケットの交換からネイバー関係を作り、LSDBを構築して最短経路を計算すると学びました。今回は、実際にCisco IOSでOSPFを設定する手順を見ていきます。

OSPFの設定は、大きく2つのコマンドで構成されます。まずOSPFのプロセスそのものを起動する router ospf コマンドです。

Router(config)# router ospf 1
Router(config-router)#

router ospf 1 の「1」はプロセスIDと呼ばれる番号です。このプロセスIDは、そのルーターの中だけで有効なローカルな番号で、他のルーターと一致している必要はありません。ルーター間でOSPFが正しく動くかどうかには影響しない点を覚えておきましょう。

network コマンドとワイルドカードマスク

router ospf でプロセスを起動したら、次にどのインターフェースでOSPFを動かすかnetwork コマンドで指定します。

Router(config-router)# network 192.168.1.0 0.0.0.255 area 0

ここで重要なのが、サブネットマスクの部分に使われている ワイルドカードマスク です。ip routeip address で使うドット付き10進のサブネットマスク(255.255.255.0 など)とは書き方がになります。

ワイルドカードマスクは、サブネットマスクの各オクテットを255から引いた値です。

ワイルドカードマスク = 255.255.255.255 − サブネットマスク

たとえばサブネットマスクが 255.255.255.0(/24)なら、ワイルドカードマスクは次のように計算します。

255.255.255.255
-255.255.255.0
----------------
  0.  0.  0.255

つまり 255.255.255.0 に対応するワイルドカードマスクは 0.0.0.255 です。0のビットは「一致必須」、255(1が立っているビット)は「どんな値でもよい(無視する)」という意味を持ちます。この向きがサブネットマスクと逆になっている点は、CCNA試験でも実務でも間違いやすいポイントなので注意してください。

network 192.168.1.0 0.0.0.255 area 0 は、「192.168.1.0/24の範囲に含まれるIPアドレスを持つインターフェースを、エリア0でOSPFに参加させる」という意味になります。

エリア0とシングルエリア構成

network コマンドの最後に指定する area 0 は、そのネットワークが所属するエリア番号です。CCNAで扱う基本構成は、すべてのルーターがエリア0(バックボーンエリア)に所属するシングルエリアOSPFです。エリアを分割するマルチエリア構成もありますが、まずはエリア0のみのシンプルな構成をしっかり押さえましょう。

router-id の設定

OSPFでは、各ルーターを識別するためにルーターIDが使われます。ルーターIDは明示的に設定しなければ、ループバックインターフェースの最も高いIPアドレス、それも無ければ物理インターフェースの最も高いIPアドレスから自動的に決まります。意図しないIDになるのを避けるため、明示的に設定するのが推奨されます。

Router(config-router)# router-id 1.1.1.1

passive-interface でHelloを止める

ユーザー端末だけがつながっているインターフェースなど、ネイバーが存在しない区間では、無駄にHelloパケットを送り続ける必要はありません。このようなインターフェースをパッシブインターフェースに設定すると、そのインターフェースからのHello送信を止めつつ、そのネットワーク自体はOSPFの経路広告には含めることができます。

Router(config-router)# passive-interface GigabitEthernet0/2

設定全体の例

ここまでの内容をまとめた設定例です。

Router(config)# router ospf 1
Router(config-router)# router-id 1.1.1.1
Router(config-router)# network 192.168.1.0 0.0.0.255 area 0
Router(config-router)# network 192.168.2.0 0.0.0.255 area 0
Router(config-router)# passive-interface GigabitEthernet0/2

確認問題

サブネットマスク 255.255.255.192 に対応するワイルドカードマスクを計算してください。

答えを見る

計算式は 255.255.255.255 − 255.255.255.192 です。最後のオクテットだけ計算すると 255 − 192 = 63 になるため、答えは 0.0.0.63 です。ワイルドカードマスクは各オクテットを255から引くことで求められます。

まとめると「起動して、範囲を指定する」

OSPFの設定は、router ospf プロセスID でプロセスを起動し、network アドレス ワイルドカードマスク area エリア番号 でOSPFに参加させるインターフェースの範囲を指定する、という2段階で行います。ワイルドカードマスクはサブネットマスクと計算の向きが逆になる点を必ず押さえておきましょう。

確認問題

network 10.0.0.0 0.0.0.127 area 0 というコマンドで指定できるネットワークのサブネットマスクは何でしょうか?

答えを見る

ワイルドカードマスク 0.0.0.127 を255から引くと 255.255.255.128 になります。つまり、対応するサブネットマスクは 255.255.255.128(/25) です。

試験でのポイント

CCNA試験では、network コマンドのワイルドカードマスクを正しく計算できるかが頻出です。サブネットマスクとの計算方向を逆にしてしまう(255から引くのを忘れる)ミスが非常に多いので、必ず「255.255.255.255からサブネットマスクを引く」という手順で計算する癖をつけましょう。また、プロセスID(router ospf の後ろの数字)はルーター間で一致させる必要がないこと、area の番号は逆に一致させる必要があることも、対になる知識として整理しておくと得点しやすくなります。

ゆみちゃん
ゆみ

OSPFはrouter ospfで起動して、networkコマンドでワイルドカードマスクを使って範囲を指定する。ワイルドカードマスクの計算、255から引くのを忘れないでね。次は、実際にOSPFが正しく動いているかを確認する検証コマンドと、DR/BDRの選出を見ていくよ。