解答

  • ホスト間のIPv6通信ができない原因は何ですか。

R2のOSPFv3ルータIDを決定できずにOSPFv3プロセスが正しく動作していないから。

  • ホスト間のIPv6通信ができるようにするためにはどのように設定を修正すればよいですか。

R2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ipv6 router ospf 1
router-id 2.2.2.2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ワンポイント

  • OSPFv3でもルータIDは32ビット
  • OSPFv3でもOSPFv2と同様にルータIDを決定する
  • ルータIDを決定できなければOSPFv3プロセスは正しく動作しない

解説

IPv6のルーティングプロトコルとして、OSPFv3を利用することができます。OSPFv3の基本的な仕組みはIPv4向けのOSPFv2とほとんど同じです。ネイバーを発見して、LSDBの同期をとり、SPFアルゴリズムより適切なルートを計算します。OSPFv3は、OSPFv2の基本的な仕組みを基にして、IPv6アドレスを扱えるようにしています。

OSFv3でも各ルータの識別にルータIDを利用します。IPv6対応だからといって、ルータIDが128ビットになっているわけではありません。OSPFv3でもルータIDは32ビットです。ルータIDの決定方法もOSPFv2と同じです。つまり、OSPFv3のルータIDは以下のように決定されます。

  • 手動設定
  • アクティブなループバックインタフェースのうち最大のIPv4アドレス
  • アクティブなインタフェースのうち最大のIPv4アドレス

ルータIDは32ビットなので、手動設定していなければルータのもつ「IPv4アドレス」に基づいて決定されます。IPv4アドレスを持たないルータは、OSPFv3のルータIDを決定できなくなってしまう可能性があることに要注意です。IPv6のみのネットワークを構築するときには、当然、IPv4アドレスの設定を行うことはないでしょう。すると、IPv4アドレスに基づいてOSPFv3のルータIDを決定できなくなってしまいます。ルータIDを決定できなければ、OSPFv3のプロセスは正しく動作せず、ルーティングテーブルを構成することができません。ルータIDを決定できないことがないように、OSPFv3ではルータIDを手動設定する方がよいでしょう。
今回のトラブルはOSPFv3のルータIDを決定することができないため、OSPFv3のプロセスが正しく動作していないことが原因です。

R2でshow ipv6 ospfを確認すると、そのことがよくわかります。

R2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R2#show ipv6 ospf
%OSPFv3: Router process 1 is INACTIVE, please configure a router-id
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

OSPFv3のプロセスが「INACTIVE」となっています。そして、ルータIDの設定を促していることがわかります。R2にはIPv4アドレスを持つアクティブなインタフェースがありません。また、ルータIDの手動設定も行っていないので、ルータIDを決定できない状態です。その結果、OSPFv3プロセスは「INACTIVE」の状態です。R2のOSPFv3プロセスが正しく動作できるようにルータIDを手動で設定します。

R2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ipv6 router ospf 1
router-id 2.2.2.2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

R2でルータIDを手動で設定すると、R1との間でネイバーを確立しLSDBの同期をとり、ルーティングテーブルに必要なIPv6プレフィクスが登録されるようになります。そして、ホスト間のIPv6通信が可能です。
R2でOSPFv3のshowコマンドとホスト間の通信に関する出力は次のようになります。

R2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R2#show ipv6 ospf
Routing Process "ospfv3 1" with ID 2.2.2.2
SPF schedule delay 5 secs, Hold time between two SPFs 10 secs
Minimum LSA interval 5 secs. Minimum LSA arrival 1 secs
LSA group pacing timer 240 secs
Interface flood pacing timer 33 msecs
Retransmission pacing timer 66 msecs
Number of external LSA 0. Checksum Sum 0x000000
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
Reference bandwidth unit is 100 mbps
Area BACKBONE(0)
Number of interfaces in this area is 2
SPF algorithm executed 2 times
Number of LSA 8. Checksum Sum 0x02C7B7
Number of DCbitless LSA 0
Number of indication LSA 0
Number of DoNotAge LSA 0
Flood list length 0
R2#show ipv6 ospf interface
Loopback0 is up, line protocol is up
Link Local Address FE80::CE01:13FF:FE24:0, Interface ID 6
Area 0, Process ID 1, Instance ID 0, Router ID 2.2.2.2
Network Type LOOPBACK, Cost: 1
Loopback interface is treated as a stub Host
FastEthernet0/0 is up, line protocol is up
Link Local Address FE80::2, Interface ID 3
Area 0, Process ID 1, Instance ID 0, Router ID 2.2.2.2
Network Type BROADCAST, Cost: 1
Transmit Delay is 1 sec, State BDR, Priority 1
Designated Router (ID) 1.1.1.1, local address FE80::1
Backup Designated router (ID) 2.2.2.2, local address FE80::2
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:05
Index 1/2/2, 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 1.1.1.1  (Designated Router)
Suppress hello for 0 neighbor(s)
R2#show ipv6 route
IPv6 Routing Table - 7 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
U - Per-user Static route
I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
O   2001:1:1:1::1/128 [110/1]
via FE80::1, FastEthernet0/0
C   2001:2:2:2::/64 [0/0]
via ::, Loopback0
L   2001:2:2:2::2/128 [0/0]
via ::, Loopback0
C   2001:12:12:12::/64 [0/0]
via ::, FastEthernet0/0
L   2001:12:12:12::2/128 [0/0]
via ::, FastEthernet0/0
L   FE80::/10 [0/0]
via ::, Null0
L   FF00::/8 [0/0]
via ::, Null0
R2#ping 2001:1:1:1::1 source loopback 0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:1:1:1::1, timeout is 2 seconds:
Packet sent with a source address of 2001:2:2:2::2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/9/20 ms
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━