OSPFの基本設定
・2台のルーターでOSPFを動作させる(2台ともエリア0に所属させる)
・両ルーターがOSPFで経路情報を交換していることを確認する
ネットワーク構成(画像を別ウインドウで表示)
RouterAのコンフィグ
!
version 12.2
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterA
!
interface Loopback0
ip address 10.1.1.1 255.255.255.0
!
interface Serial0
ip address 192.168.0.1 255.255.255.0
!
!
router ospf 64 ←OSPFをプロセス番号64で起動(番号は何でもよい)
log-adjacency-changes
network 10.1.1.1 0.0.0.0 area 0 ←10.1.1.1のインタフェースでOSPFをオン
network 192.168.0.1 0.0.0.0 area 0 ←192.168.0.1のインタフェースでOSPFをオン

!
!
line con 0
transport input none
line aux 0
line vty 0 4
login
!
end
RouterBのコンフィグ
!
version 12.2
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterB
!
interface Loopback0
ip address 152.1.1.1 255.255.255.0
!
interface Loopback1
ip address 153.1.1.1 255.255.255.0
!
interface Serial0
ip address 192.168.0.2 255.255.255.0
no fair-queue
clockrate 64000
!
interface Serial1
no ip address
shutdown
!
router ospf 64 ←OSPFをプロセス番号64で起動(番号は何でもよい)
log-adjacency-changes
network 0.0.0.0 255.255.255.255 area 0 ←すべてのインタフェースでOSPFをオン
!
!
line con 0
transport input none
line aux 0
line vty 0 4
login
!
end
確認
OSPFは,今の企業ネットワークで主流のルーティング・プロトコルです。
今,一般的に「OSPF」と呼ばれているのは,OSPFバージョン2です(IPv6用OSPFがOSPFバージョン3)。
OSPFには専門用語や独特の概念があるのですが,それはさておき,まずは,ルーター同士で経路情報を交換させてみましょう。

●設定の確認
OSPFを有効にするためには,二つのステップがあります。
1.ルーターでOSPFプロセスを起動する
2.OSPFを動作させるインタフェースを指定する
です。

RouterAのOSPFに関する設定を例に見てみましょう。
プロセスの起動が以下のコマンドです。

router ospf 64

プロセス番号64番で,OSPFを起動しています。
プロセス番号は,ルーターで複数のOSPFプロセスを実行するときに,ルーターがプロセスを区別するためのもの。
ただ通常は,複数のOSPFプロセスを実行させること,あまりありません。
数値は任意でOKです

OSPFを動作させるインタフェースの指定が,以下の2行です。

network 10.1.1.1 0.0.0.0 area 0
network 192.168.0.1 0.0.0.0 area 0


0.0.0.0はワイルドカード・マスクで,これは「ホスト」(IPアドレス1個)を表します。
area0は,OSPFのエリアです。
つまり,10.1.1.1と192.168.0.1のインタフェースそのものを指して,この二つでOSPFをオンにしています。
OSPFに関する設定は以上です。


●動作の確認
上の設定をすべて完了させると,RouterAに以下のメッセージが出てきます。

00:58:56: %OSPF-5-ADJCHG: Process 64, Nbr 153.1.1.1 on Serial0 from LOADING to FULL, Loading Done

このメッセージは,153.1.1.1(RouterB)とアジャセンシー(隣接関係)が確立したことを示しています。
アジャセンシーを確立したルーター同士で,OSPFが扱う経路情報(LSA)をやりとりします。
153.1.1.1というのは,RouterBのルーターIDです。
ルーターIDはOSPFルーターを識別するためのもので,ループバック・アドレスの中で一番大きいアドレスになります。
FULLというステータスは,アジャセンシーを確立して,OSPFの地図情報の基になるリンクステート・データベース(LSDB)の同期がとれている状態です。

では,OSPFが動作しているインタフェースの状態を見てみましょう。
show ip ospf interfaceというコマンドがあります。

RouterA#show ip ospf interface
Serial0 is up, line protocol is up
 Internet Address 192.168.0.1/24, Area 0
 Process ID 64, Router ID 10.1.1.1, Network Type POINT_TO_POINT, Cost: 64
 Transmit Delay is 1 sec, State POINT_TO_POINT,
 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
  Hello due in 00:00:00
 Index 2/2, flood queue length 0
 Next 0x0(0)/0x0(0)
 Last flood scan length is 1, maximum is 1
 Last flood scan time is 0 msec, maximum is 0 msec
 Neighbor Count is 1, Adjacent neighbor count is 1
  Adjacent with neighbor 153.1.1.1
 Suppress hello for 0 neighbor(s)
Loopback0 is up, line protocol is up
 Internet Address 10.1.1.1/24, Area 0
 Process ID 64, Router ID 10.1.1.1, Network Type LOOPBACK, Cost: 1
 Loopback interface is treated as a stub Host


Serial0とLoopback0の状態が表示されました。
いずれも,エリア(0),プロセス番号(64),RouterID(10.1.1.1)が表示され,設定が正しく反映されていることがわかります。
「Cost」は,それぞれのインタフェースのコスト値です。
インタフェースのコストは,以下のように決まります。

インタフェースのコスト=100M/インタフェースの帯域幅

Serial0インタフェースはHDLCの1.5Mなので,コストは100M/1.5M=64です。
Loopbackインタフェースのコストは1になります。


では,RouterAのルーティング・テーブルを見てみましょう。

RouterA#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route

Gateway of last resort is not set

  153.1.0.0/32 is subnetted, 1 subnets
O  153.1.1.1 [110/65] via 192.168.0.2, 00:00:09, Serial0
  152.1.0.0/32 is subnetted, 1 subnets
O  152.1.1.1 [110/65] via 192.168.0.2, 00:00:09, Serial0
  10.0.0.0/24 is subnetted, 1 subnets
C  10.1.1.0 is directly connected, Loopback0
C  192.168.0.0/24 is directly connected, Serial0


「O」の部分が,OSPFでRouterBから受け取った経路情報です。
キチンとRouterBより先のネットワークがOSPFによって通知されていることがわかります。
OSPFの経路情報は,153.1.1.1/32と152.1.1.1/32というホスト・ルートになっています。
これは,OSPFの場合,ループバック・アドレスは自動的にホスト・ルート(/32の経路)として通知されるからです。
また,[110/65]の「110」はOSPFのアドミニストレイティブ・ディスタンス値で,「65」はメトリック値です。

ルーティング・テーブルに表示されるOSPFのメトリック値は,あて先ネットワークに到達するまでに経由するインタフェースのコストの合計値になります。
例えばこの場合,RouterAから152.1.1.1/32に行くには,RouterAのSerial0とRouterBのLoopback0を経由します。
そのため,64(RouterAのSerial0)+1(RouterBのLoopback0)=65,というわけです。
ルーターは,OSPFで同じあて先の経路が複数あったときは,このコスト値の小さいほうの経路を採用します。

最後に,RouterAが認識しているネイバーを確認してみましょう。
ネイバーとは,自分と同じサブネット上にいるOSPFルーターのことです。

RouterA#show ip ospf neighbor

Neighbor ID   Pri   State    Dead Time   Address   Interface
153.1.1.1     1    FULL/ -  00:00:37    192.168.0.2  Serial0


RouterIDが153.1.1.1のルーター,つまりRouterBをネイバーとして認識していることがわかります。
Stateの「FULL/-」は,ネイバーの状態を表しています。
FULLは,お互いのルーターのLSDBの同期がとれていて,アジャセンシーを確立している状態です。
「-」には,DR(代表ルーター)またはBDR(バックアップ代表ルーター)などの文字が表示されるのですが,今回は表示されません,
というのも,ポイント・ツー・ポイント接続は,DRまたはBDRは選出されないからです。

基本と言っても,OSPF特有の用語がたくさん出てきました。
「ちょっとわけがわからなかった!」という人は,
・RouterID…OSPFルーターを識別するためのID
・ネイバー…自分と同じサブネットにいるOSPFルーター
・アジャセンシー…LSAを交換するOSPFルーター
・LSA…LSDBを作るための基となる情報。ルーターがやりとりする
・LSDB…OSPFルーターがネットワークの地図を作るためのデータベース。やりとりしたLSAから作る
・エリア…同じLSDBを持つルーターの集まり
・DR…マルチアクセス・ネットワーク(イーサネットなど)で,LSAを配信する役目を持つルーター
・BDR…バックアップ用の代表ルーター
という用語の意味を押さえてからまた読むと,理解が進むと思います。
シスコのWebページでは,下記のリンクが参考になります。

●OSPFデザインガイド(日本語)
http://www.cisco.com/japanese/warp/public/3/jp/service/tac/104/1-j.shtml

OSPFラボ
OSPFの基本設定
パッシブ・インタフェースの設定
プライオリティの設定と代表ルーターの選出
NBMAネットワーク(ノンブロードキャスト)
NBMAネットワーク(ブロードキャスト)
NBMAネットワーク(ポイントツーマルチポイント)
OSPFコストの設定
エリア設定(標準,スタブ,トータリースタブ)
エリア設定(NSSA,トータリースタブNSSA)
OSPFバーチャルリンク
OSPFの経路集約
ネイバー認証
(ツール)OSPFトポロジ表示フラッシュ