OSPFv3 for IPv4の概要

OSPFv3は、IPv6用のルーティングプロトコルです。RFC5838でOSPFv3でもBGPと同じようにAddress-familyをサポートすることができるようになり、OSPFv3でIPv6だけでなくIPv4のルーティングも可能です。

1つのOSPFv3のルーティングプロセスで、IPv4もIPv6のルート情報を扱うことができます。そのため、IPv4とIPv6のデュアルスタック環境で、OSPFv2とOSPFv3の両方を使う必要がなくなります。

OSPFv3のAddress-familyは、Cisco IOS 15.1(3)Sおよび15.2(1)Tからサポートされています。

OSPFv3でIPv4のルーティングを行うための設定と確認コマンドについて解説します。

OSPFv3 for IPv4の設定コマンド

OSPFv3 for IPv4の設定の流れ

OSPFv3でIPv4のルーティングを行うときの設定の流れは以下のようになります。

Step1:IPv6ルーティングの有効化
OSPFv3パケットを転送するためのIPv6ルーティングを有効にします。
Step2:OSPFv3ルーティングプロセスの有効化
OSPFv3ルーティングプロセスを有効にして、IPv4のAddress-familyを有効にします。
Step3:インタフェースでOSPFv3の有効化
ルートをアドバタイズしたいインタフェースでOSPFv3を有効化します。

はじめに、IPv6ルーティングを有効にするだけで、基本的な設定の流れは、OSPFv2と同じです。

Step1:IPv6ルーティングの有効化

OSPFv3パケットは、IPv6で転送します。そのため、IPv6ルーティングを有効にしなければいけません。

IPv6ルーティングの有効化

(config)#ipv6 unicast-routing
(config)#interface <interface-name>
(config-if)#ipv6 address <link-local-address> link-local

<interface-name> : インタフェース名
<link-local-address> : リンクローカルアドレス

ipv6 unicast-routingでIPv6ルーティングを有効にして、インタフェースにIPv6アドレスを設定します。OSPFv3のやり取りは、同一ネットワーク上のルータと行うのでリンクローカルアドレスがあればOKです。IPv4のみのネットワーク環境で、ルーティングをOSPFv3で行う場合でも、IPv6ルーティングを有効にしてください。

Step2:OSPFv3ルーティングプロセスの有効化

IPv6ルーティングを有効にしたら、OSPFv3のルーティングプロセスを有効にします。グローバルコンフィグレーションモードで次のコマンドを入力します。

OSPFv3ルーティングプロセスの有効化

(config)#router ospfv3 <process-id>
(config-router)#router-id <router-id>
(config-router)#address-family ipv4
(config-router-af)#

<process-id> : プロセスID
<router-id> : ルータID

address-family ipv4コマンドで、OSPFv3でIPv4ルートを扱えるようにしています。なお、このコマンドは省略できます。Step3のインタフェースでOSPFv3を有効にすれば自動的に、address-family ipv4コマンドが追加されます。

IPv6のルーティングを行うなら、address-family ipv6コマンドを利用します。

Step3:インタフェースでOSPFv3の有効化

インタフェースでOSPFv3でのIPv4のルーティングを有効にします。インタフェースコンフィグレーションモードで次のコマンドを入力します。

インタフェースでOSPFv3の有効化

(config)#interface <interface-name>
(config-if)#ospfv3 <process-id> ipv4 area <area-id>

<interface-name> : インタフェース名
<process-id> : プロセスID
<area-id> : エリアID

このコマンドによって、インタフェースでOSPFv3を有効にして指定したエリアに所属させます。OSPFv3を有効にしたインタフェースからOSPFv3パケットを送受信します。そして、有効にしたインタフェースのIPv4の情報をLSDBに登録します。

IPv6のルーティングを行うなら、ospfv3 ipv4 areaコマンドを利用します。

OSPFv3 for IPv4 その他の設定

OSPFv2では、パッシブインタフェースやルート集約、スタブエリア、メトリックの計算式の変更などの設定はrouter ospf 配下で行っています。OSPFv3では、これらの設定はaddress-family ipv4配下で行ってください。address-family ipv4配下でヘルプを表示すると、次のような設定項目があることがわかります。

address-family ipv4内の設定コマンド

IOU1(config)#router ospfv3 1
IOU1(config-router)#address-family ipv4
IOU1(config-router-af)#?
Router Address Family configuration commands:
  area                   OSPF area parameters
  authentication         Authentication parameters
  auto-cost              Calculate OSPF interface cost according to bandwidth
  bfd                    BFD configuration commands
  compatible             Compatibility list
  default                Set a command to its defaults
  default-information    Control distribution of default information
  default-metric         Set metric of redistributed routes
  discard-route          Enable or disable discard-route installation
  distance               Define an administrative distance
  distribute-list        Filter networks in routing updates
  event-log              Event Logging
  exit-address-family    Exit from Address Family configuration mode
  graceful-restart       Graceful-restart options
  help                   Description of the interactive help system
  interface-id           Source of the interface ID
  limit                  Limit a specific OSPF feature
  local-rib-criteria     Enable or disable usage of local RIB as route criteria
  log-adjacency-changes  Log changes in adjacency state
  manet                  Specify MANET OSPF parameters
  max-lsa                Maximum number of non self-generated LSAs to accept
  max-metric             Set maximum metric
  maximum-paths          Forward packets over multiple paths
  no                     Negate a command or set its defaults
  passive-interface      Suppress routing updates on an interface
  prefix-suppression     Enable prefix suppression
  queue-depth            Hello/Router process queue depth
  redistribute           Redistribute information from another routing protocol
  router-id              router-id for this OSPF process
  shutdown               Shutdown the router process
  snmp                   Modify snmp parameters
  summary-prefix         Configure IP address summaries
  timers                 Adjust routing timers

また、OSPFv2でコストやネットワークタイプ、Hello/Deadインターバル、ルータプライオリティなどの設定は、インタフェースコンフィグレーションモードのip ospfコマンドで行っています。同様の設定は、インタフェースコンフィグレーションモードでospfv3コマンドを利用します。ヘルプを表示すると、次のような設定コマンドがあります。

インタフェースコンフィグレーションモードのOSPFv3コマンド

IOU1(config-if)#ospfv3 ?
  <1-65535>            Process ID
  authentication       Enable authentication
  bfd                  Enable BFD on this interface
  cost                 Route cost of this interface
  database-filter      Filter OSPF LSA during synchronization and flooding
  dead-interval        Interval after which a neighbor is declared dead
  demand-circuit       OSPF demand circuit
  encryption           Enable encryption
  flood-reduction      OSPF Flood Reduction
  hello-interval       Time between HELLO packets
  manet                Mobile Adhoc Networking options
  mtu-ignore           Ignores the MTU in DBD packets
  multi-area           Set the OSPF multi-area ID
  neighbor             OSPF neighbor
  network              Network type
  prefix-suppression   OSPF prefix suppression
  priority             Router priority
  retransmit-interval  Time between retransmitting lost link state
                       advertisements
  shutdown             Shut down the interface in OSPFv3
  transmit-delay       Link state transmit delay

OSPFv3 for IPv4の確認コマンド

以下の表に、OSPFv3 for IPv4の主な確認コマンドをまとめています。

コマンド内容
#show ospfv3 interface [brief]OSPFv3が有効なインタフェースを表示します。
#show ospfv3 neighbor [detail]OSPFv3ネイバーを表示します。
#show ospfv3 databaseOSPFv3 LSDBの概要を表示します。
#show ip route [ospfv3]IPv4ルーティングテーブルを表示します。ospfv3をつけると、OSPFv3で学習したルートのみを表示します。

show ospfv3 interface [brief]

OSPFv3が有効なインタフェースを確認するために、show ospfv3 interfaceコマンドを利用します。briefをつけると一覧表示です。まずは、briefをつけた一覧表示で、有効にするべきインタフェースに間違いや漏れがないかを確認してください。

show ospfv3 interface

IOU1#show ospfv3 interface brief
Interface    PID   Area            AF         Cost  State Nbrs F/C
Lo0          1     0               ipv4       1     LOOP  0/0
Et0/0        1     0               ipv4       10    BDR   1/1
IOU1#show ospfv3 interface
Loopback0 is up, line protocol is up
  Link Local Address FE80::1, Interface ID 22
  Internet Address 1.1.1.1/32
  Area 0, Process ID 1, Instance ID 64, Router ID 1.1.1.1
  Network Type LOOPBACK, Cost: 1
  Loopback interface is treated as a stub Host
Ethernet0/0 is up, line protocol is up
  Link Local Address FE80::1, Interface ID 3
  Internet Address 192.168.12.1/24
  Area 0, Process ID 1, Instance ID 64, Router ID 1.1.1.1
  Network Type BROADCAST, Cost: 10
  Transmit Delay is 1 sec, State BDR, Priority 1
  Designated Router (ID) 2.2.2.2, local address FE80::2
  Backup Designated router (ID) 1.1.1.1, local address FE80::1
  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
    Hello due in 00:00:00
  Graceful restart helper support enabled
  Index 1/1/1, flood queue length 0
  Next 0x0(0)/0x0(0)/0x0(0)
  Last flood scan length is 2, maximum is 2
  Last flood scan time is 0 msec, maximum is 0 msec
  Neighbor Count is 1, Adjacent neighbor count is 1
    Adjacent with neighbor 2.2.2.2  (Designated Router)
  Suppress hello for 0 neighbor(s)

show ospfv3 neighbor

show ospfv3 neighborコマンドでOSPFv3ネイバーを表示します。OSPFv3でも当然ながら、ネイバーを認識していないとまったく話になりません。正常にネイバーを確立できているかどうかを確認してください。

show ospfv3 neighbor

IOU1#show ospfv3 neighbor

          OSPFv3 1 address-family ipv4 (router-id 1.1.1.1)

Neighbor ID     Pri   State           Dead Time   Interface ID    Interface
2.2.2.2           1   FULL/DR         00:00:31    3               Ethernet0/0
IOU1#show ospfv3 neighbor detail

          OSPFv3 1 address-family ipv4 (router-id 1.1.1.1)

 Neighbor 2.2.2.2, interface address 192.168.12.2
    In the area 0 via interface Ethernet0/0
    Neighbor: interface-id 3, link-local address FE80::2
    Neighbor priority is 1, State is FULL, 6 state changes
    DR is 2.2.2.2 BDR is 1.1.1.1
    Options is 0x000112 in Hello (E-Bit, R-Bit, AF-Bit)
    Options is 0x000112 in DBD (E-Bit, R-Bit, AF-Bit)
    Dead timer due in 00:00:38
    Neighbor is up for 00:38:04
    Index 1/1/1, retransmission queue length 0, number of retransmission 0
    First 0x0(0)/0x0(0)/0x0(0) Next 0x0(0)/0x0(0)/0x0(0)
    Last retransmission scan length is 0, maximum is 0
    Last retransmission scan time is 0 msec, maximum is 0 msec

show ospfv3 database

show ospfv3 databaseコマンドでLSDBの概要を表示します。LSAの詳細を見るには、さらに細かくオプションを指定してください。

show ospfv3 database

IOU1#show ospfv3 database

          OSPFv3 1 address-family ipv4 (router-id 1.1.1.1)

                Router Link States (Area 0)

ADV Router       Age         Seq#        Fragment ID  Link count  Bits
 1.1.1.1         489         0x80000002  0            1           None
 2.2.2.2         567         0x80000003  0            1           None

                Net Link States (Area 0)

ADV Router       Age         Seq#        Link ID    Rtr count
 2.2.2.2         567         0x80000002  3          2

                Link (Type-8) Link States (Area 0)

ADV Router       Age         Seq#        Link ID    Interface
 1.1.1.1         489         0x80000002  3          Et0/0
 2.2.2.2         567         0x80000002  3          Et0/0

                Intra Area Prefix Link States (Area 0)

ADV Router       Age         Seq#        Link ID    Ref-lstype  Ref-LSID
 1.1.1.1         1787        0x80000001  0          0x2001      0
 2.2.2.2         567         0x80000004  0          0x2001      0
 2.2.2.2         567         0x80000002  3072       0x2002      3

show ip route

最終的にIPv4ルーティングテーブルに想定どおりにOSPFルート情報が登録されていればOKです。

show ip route

IOU1#show ip route
Codes: L - local, C - connected, S - static, 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
       i - IS-IS, su - IS-IS summary, 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, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override

Gateway of last resort is not set

      1.0.0.0/32 is subnetted, 1 subnets
C        1.1.1.1 is directly connected, Loopback0
      2.0.0.0/32 is subnetted, 1 subnets
O        2.2.2.2 [110/10] via 192.168.12.2, 00:42:37, Ethernet0/0
      192.168.12.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.12.0/24 is directly connected, Ethernet0/0
L        192.168.12.1/32 is directly connected, Ethernet0/0
IOU1#show ip route ospfv3
Codes: L - local, C - connected, S - static, 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
       i - IS-IS, su - IS-IS summary, 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, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override

Gateway of last resort is not set

      2.0.0.0/32 is subnetted, 1 subnets
O        2.2.2.2 [110/10] via 192.168.12.2, 00:04:01, Ethernet0/0

OSPFの仕組み