HOME > コンテンツリスト > ラボ・シナリオ for CCNA > [ < 前へ 次へ > ]

OSPFを設定する

OSPF は、エリアという概念を持ち、マルチエリアを構成することにより、大規模ネットワークでも利用可能なリンクステート型ルーティングプロトコルです。

小規模の OSPF ネットワークでは、バックボーンエリアと呼ばれる エリア0 を使用してネットワークを構成します。しかし、中規模から大規模の OSPF ネットワークでは、複数のエリアを作成し、それらのエリアを エリア0 に接続して階層的なネットワークを構成します。(全てのエリアは、エリア0に接続しないなければならない)



ネットワーク全体をエリアごとに分割することにより、エリア単位でのネットワーク設計が可能になり、エリア内のネットワーク情報はエリア内のルータのみが持ち、エリア内のルータ同士でのみ OSPF アップデートの交換を行いますので、ネットワーク構成を保持するデータベースをエリアの範囲内に留めることができ、ルーティングテーブルの肥大化、OSPF アップデートによるネットワークトラフィックの増大を防ぐことができます。

このように複数のエリアで構成された OSPF ネットワークをマルチエリア OSPF と呼び、1つのエリア (エリア0) のみで構成された OSPF ネットワークをシングルエリア OSPF と呼びます。今回はまず、シングルエリア OSPF の設定についてのラボ・シナリオです。

ネットワーク構成図

  1. RT-A に以下の設定をしなさい。
  2. ホスト名RT-A
    F0/0 のIPアドレス172.16.1.1/24
    S0/0/0 のIPアドレス172.16.2.1/24
    S0/0/0 のクロックレートと帯域幅64Kbps
    ルーティングプロトコルOSPF
    OSPF プロセス ID1
    < RT-A >
    Router# conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    Router(config)# host RT-A
    RT-A(config)# int f0/0
    RT-A(config-if)# ip add 172.16.1.1 255.255.255.0
    RT-A(config-if)# no keep
    RT-A(config-if)# no shut
    RT-A(config-if)# int s0/0/0
    RT-A(config-if)# ip add 172.16.2.1 255.255.255.0
    RT-A(config-if)# clock rate 64000
    RT-A(config-if)# bandwidth 64
    RT-A(config-if)# no shut
    RT-A(config-if)# router ospf 1
    RT-A(config-router)# network 172.16.0.0 0.0.255.255 area 0
    RT-A(config-router)# ^Z
    RT-A#
    
  3. RT-B に以下の設定をしなさい。
  4. ホスト名RT-B
    F0/0 のIPアドレス172.16.3.2/24
    S0/0/0 のIPアドレス172.16.2.2/24
    S0/0/0 の帯域幅64Kbps
    ルーティングプロトコルOSPF
    OSPF プロセス ID1
    < RT-B >
    Router# conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    Router(config)# host RT-B
    RT-B(config)# int s0/0/0
    RT-B(config-if)# ip add 172.16.2.2 255.255.255.0 
    RT-B(config-if)# bandwidth 64
    RT-B(config-if)# no shut
    RT-B(config-if)# int f0/0
    RT-B(config-if)# ip add 172.16.3.2 255.255.255.0
    RT-B(config-if)# no keep
    RT-B(config-if)# no shut
    RT-B(config-if)# router ospf 1
    RT-B(config-router)# net 172.16.2.0 0.0.0.255 area 0
    RT-B(config-router)# net 172.16.3.0 0.0.0.255 area 0
    RT-B(config-router)# ^Z
    RT-B#
    
    OSPF のプロセス ID は、そのルータでだけ有効なローカルな数値で、他のルータのプロセス ID と同じでも違っていても構いません。このプロセス ID 毎に OSPF プロセスがルータ上で動作します。
    RT-B(config)#router ospf ?
      <1-65535>  Process ID
    
    OSPF の network コマンドは OSPF を動作させるインターフェイスを指定するものなので、そのインターフェイスに設定したIPアドレスが含まれるように指定します。そのため、下記のどのパターンでも OK です。

    (1) f0/0 と s0/0/0 の両方が含まれるように
    RT-B(config-router)# network 172.16.0.0 0.0.255.255 area 0
    (2) f0/0 と s0/0/0 をサブネット単位で
    RT-B(config-router)# network 172.16.2.0 0.0.0.255 area 0
    RT-B(config-router)# network 172.16.3.0 0.0.0.255 area 0
    (3) f0/0 と s0/0/0 をアドレス指定で
    RT-B(config-router)# network 172.16.2.2 0.0.0.0 area 0
    RT-B(config-router)# network 172.16.3.1 0.0.0.0 area 0

    また、IOS12.3以降では network コマンドを使用せず、各インターフェイスで OSPF を動作させるコマンドを実行することもできます。

    RT-B(config)# int s0/0/0
    RT-B(config-if)# ip ospf 1 area 0  ← ip ospf [process id] area [area id]
  5. RT-A、RT-B の running-config を確認しなさい。
  6. < RT-A >
    RT-A# sh run | section ospf
    router ospf 1
     network 172.16.0.0 0.0.255.255 area 0
    RT-A# 
    
    < RT-B >
    RT-B# sh run | section ospf
    router ospf 1
     network 172.16.2.0 0.0.0.255 area 0
     network 172.16.3.0 0.0.0.255 area 0
    RT-B#
    
    OSPF には次の3つのテーブルがあります。
    ルーティングテーブル最適ルート情報の入ったテーブルで
    show ip route コマンドにて確認できる。
    ネイバー関係データベース
    (ネイバーテーブル)
    通信可能な全隣接ルータがリストされているデータベースで
    show ip ospf neighbor コマンドにて確認できる。
    リンクステートデータベース
    (トポロジーテーブル)
    ネットワーク内の全ルータのリンクステート情報が入ったデータベースで
    show ip ospf database コマンドにて確認できる。
    同一エリア内の各ルータは、同じリンクステートデータベースを持つ。
    それぞれ確認していきましょう。
  7. RT-A のルーティングテーブルを表示させなさい。
  8. < RT-A >
    RT-A# sh ip route | begin Gateway
    Gateway of last resort is not set
    
          172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
    C        172.16.1.0/24 is directly connected, FastEthernet0/0
    L        172.16.1.1/32 is directly connected, FastEthernet0/0
    C        172.16.2.0/24 is directly connected, Serial0/0/0
    L        172.16.2.1/32 is directly connected, Serial0/0/0
    O        172.16.3.0/24 [110/1563] via 172.16.2.2, 00:03:00, Serial0/0/0 ← RT-B から学習した 172.16.3.0/24 宛てのルート
    RT-A#
    
    先頭に「O」のあるルートエントリが OSPF を使って学習したルートです。
    ■ アドミニストレーティブディスタンス と メトリック
    [110/1563] はアドミニストレーティブディスタンスの値と、メトリックの値です。


    アドミニストレーティブディスタンスのデフォルト値は下記の通りです。
    C直接接続されたインターフェイス0
    Sスタティックルート1
    DOSPF90
    OOSPF110
    RRIP120
    OSPF のメトリックに関しては次のシナリオで行います。
  9. RT-B のルーティングテーブルを表示させなさい。
  10. < RT-B >
    RT-B# sh ip route | begin Gateway
    Gateway of last resort is not set
    
          172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
    O        172.16.1.0/24 [110/1563] via 172.16.2.1, 00:03:10, Serial0/0/0 ← RT-A から学習した 172.16.1.0/24 宛てのルート
    C        172.16.2.0/24 is directly connected, Serial0/0/0
    L        172.16.2.2/32 is directly connected, Serial0/0/0
    C        172.16.3.0/24 is directly connected, FastEthernet0/0
    L        172.16.3.2/32 is directly connected, FastEthernet0/0
    RT-B#
    
  11. RT-A、RT-B のネイバーテーブルを表示させなさい。
  12. < RT-A >
    RT-A# sh ip ospf neighbor
    
    Neighbor ID     Pri   State           Dead Time   Address         Interface
    172.16.3.2        0   FULL/  -        00:00:34    172.16.2.2      Serial0/0/0
    RT-A#
    
    172.16.2.2 は隣接ルータ RT-B のIPアドレスです。
    < RT-B >
    RT-B# sh ip ospf neighbor
    
    Neighbor ID     Pri   State           Dead Time   Address         Interface
    172.16.2.1        0   FULL/  -        00:00:36    172.16.2.1      Serial0/0/0
    RT-B#
    
    172.16.2.1 は隣接ルータ RT-A のIPアドレスです。
  13. RT-A、RT-B のリンクステートデータベースを表示させなさい。
  14. < RT-A >
    RT-A# sh ip ospf database
    
                OSPF Router with ID (172.16.2.1) (Process ID 1)
    
                    Router Link States (Area 0)
    
    Link ID         ADV Router      Age         Seq#       Checksum Link count
    172.16.2.1      172.16.2.1      390         0x80000003 0x00A6AD 3
    172.16.3.2      172.16.3.2      389         0x80000002 0x0093BC 3
    RT-A#
    
    < RT-B >
    RT-B# sh ip ospf database
    
                OSPF Router with ID (172.16.3.2) (Process ID 1)
    
                    Router Link States (Area 0)
    
    Link ID         ADV Router      Age         Seq#       Checksum Link count
    172.16.2.1      172.16.2.1      406         0x80000003 0x00A6AD 3
    172.16.3.2      172.16.3.2      403         0x80000002 0x0093BC 3
    RT-B#
    
    同じエリアを持つ OSPF ルータは、同じリンクステートデータベースを持ちます。そのため、RT-A と RT-B のリンクステートデータベースは同じです。
  15. RT-A、RT-B で sh ip protocols コマンドを実行しなさい。
  16. < RT-A >
    RT-A# sh ip protocols
    *** IP Routing is NSF aware ***
    
    Routing Protocol is "ospf 1"  ← ルーティングプロトコルは OSPF で、プロセス ID は 1
      Outgoing update filter list for all interfaces is not set
      Incoming update filter list for all interfaces is not set
      Router ID 172.16.2.1  ← ルータ ID は 172.16.2.1
      Number of areas in this router is 1. 1 normal 0 stub 0 nssa
      Maximum path: 4
      Routing for Networks:
        172.16.0.0 0.0.255.255 area 0  ← network コマンドで指定したネットワークとエリア
      Routing Information Sources:
        Gateway         Distance      Last Update
        172.16.3.2           110      00:07:26  ← ルータ ID:172.16.3.2 のルータからアップデートを受信
      Distance: (default is 110)  ← AD 値
    
    RT-A#
    
    < RT-B >
    RT-B# sh ip protocols
    *** IP Routing is NSF aware ***
    
    Routing Protocol is "ospf 1"
      Outgoing update filter list for all interfaces is not set
      Incoming update filter list for all interfaces is not set
      Router ID 172.16.3.2
      Number of areas in this router is 1. 1 normal 0 stub 0 nssa
      Maximum path: 4
      Routing for Networks:
        172.16.2.0 0.0.0.255 area 0
        172.16.3.0 0.0.0.255 area 0
      Routing Information Sources:
        Gateway         Distance      Last Update
        172.16.2.1           110      00:07:36
      Distance: (default is 110)
    
    RT-B#
    
    ※ 次の「シナリオ」に続きます。