マルチエリアの OSPF では、すべてのエリアがバックボーンエリア(エリア0)に直接つながっている必要があります。エリア間の経路は必ずエリア0を経由してやり取りされるためです。エリア0に直接つながれないエリアがあるときは、ほかのエリアを通る仮想リンク(virtual link)でエリア0につなぎます。この記事では、仮想リンクがないときに何が起きるかを確かめ、仮想リンクを設定して動作を確認します。
- エリア0につながらないエリアの経路が伝わらない理由
area virtual-linkの設定(相手はルータ ID で指定)show ip ospf virtual-linksの見方(デマンドサーキット、DoNotAge)
検証構成
R1–R2 間をエリア0、R2–R3 間をエリア23、R3–R4 間をエリア34にします。エリア34はエリア23の奥にあり、エリア0には直接つながっていません。R2 と R3 のルータ ID は、それぞれループバックの 2.2.2.2 と 3.3.3.3 です。
各ルータで OSPF を有効にする
R1
R1(config)#router ospf 1 R1(config-router)# network 1.1.1.1 0.0.0.0 area 0 R1(config-router)# network 192.168.12.0 0.0.0.255 area 0
R2
R2(config)#router ospf 1 R2(config-router)# network 192.168.12.0 0.0.0.255 area 0 R2(config-router)# network 192.168.23.0 0.0.0.255 area 23
R3
R3(config)#router ospf 1 R3(config-router)# network 192.168.23.0 0.0.0.255 area 23 R3(config-router)# network 192.168.34.0 0.0.0.255 area 34
R4
R4(config)#router ospf 1 R4(config-router)# network 4.4.4.4 0.0.0.0 area 34 R4(config-router)# network 192.168.34.0 0.0.0.255 area 34
仮想リンクがない状態を確認する
エリア0の R1 は、エリア23の 192.168.23.0/24 だけをエリア間経路(O IA)として学習しています。エリア34の経路はありません。
R1
R1#show ip route ospf
O IA 192.168.23.0/24 [110/2] via 192.168.12.2, 00:04:46, FastEthernet0/0.12
エリア34の R4 には、OSPF の経路が1つもありません。
R4
R4#show ip route ospf R4#
エリア間の経路は、ABR がタイプ3 LSA にして広告します。Cisco のルータが ABR として働くのは、エリア0を含む複数のエリアにつながっているときです。R2 はエリア0とエリア23につながっているので ABR として働き、エリア0とエリア23の経路をお互いに広告します。一方、R3 はエリア23とエリア34につながっていてもエリア0につながっていないので ABR として働かず、タイプ3 LSA を作りません。そのため、エリア34とほかのエリアの間で経路が伝わりません。
仮想リンクを設定する
仮想リンクは、通過するエリア(トランジットエリア)を通して2台の ABR の間に張る、エリア0に属するポイントツーポイントのリンクです。これで R3 もエリア0につながり、ABR として働くようになります。設定は area トランジットエリア virtual-link 相手のルータ ID で、相手は IP アドレスではなくルータ ID で指定します。
R2
R2(config)#router ospf 1
R2(config-router)#area 23 virtual-link 3.3.3.3
R3
R3(config)#router ospf 1
R3(config-router)#area 23 virtual-link 2.2.2.2
トランジットエリアはスタブエリアにはできません(Totally Stub や NSSA も同じです)。仮想リンクのトランジットエリアには、通常のエリアを使います。
隣接関係を確認する
しばらくすると、仮想リンク(OSPF_VL0)上で隣接関係が FULL になります。
R2
%OSPF-5-ADJCHG:Process 1,Nbr 3.3.3.3 on OSPF_VL0 from LOADING to FULL,Loading Done
R3
%OSPF-5-ADJCHG:Process 1,Nbr 2.2.2.2 on OSPF_VL0 from LOADING to FULL,Loading Done
R2 のネイバーには、R3(3.3.3.3)が2回出てきます。1つは物理インターフェース(エリア23)、もう1つは仮想リンク(エリア0)の隣接関係です。
R2
R2#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
3.3.3.3 0 FULL/ - - 192.168.23.3 OSPF_VL0
1.1.1.1 1 FULL/DR 00:00:36 192.168.12.1 FastEthernet0/0.12
3.3.3.3 1 FULL/DR 00:00:34 192.168.23.3 FastEthernet0/0.23
R3
R3#show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface
2.2.2.2 0 FULL/ - - 192.168.23.2 OSPF_VL0
2.2.2.2 1 FULL/BDR 00:00:38 192.168.23.2 FastEthernet0/0.23
4.4.4.4 1 FULL/DR 00:00:37 192.168.34.4 FastEthernet0/0.34
| 表示 | 意味 |
|---|---|
| FULL/ – | 仮想リンクはポイントツーポイントなので、DR・BDR を選びません |
| Dead Time – | 仮想リンクでは隣接関係ができると Hello を止めるので、Dead タイマーで監視していません(下の Hello suppressed) |
仮想リンクの状態を確認する
仮想リンクの状態は show ip ospf virtual-links で確認します。
R2#show ip ospf virtual-links Virtual Link OSPF_VL0 to router 3.3.3.3 is up Run as demand circuit DoNotAge LSA allowed. Transit area 23, via interface FastEthernet0/0.23 Topology-MTID Cost Disabled Shutdown Topology Name 0 1 no no Base 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:02 Adjacency State FULL (Hello suppressed) Index 2/3, retransmission queue length 0, number of retransmission 0 First 0x0(0)/0x0(0) Next 0x0(0)/0x0(0) Last retransmission scan length is 0, maximum is 0 Last retransmission scan time is 0 msec, maximum is 0 msec
| 表示 | 意味 |
|---|---|
| is up | 仮想リンクが使える状態 |
| Run as demand circuit | 仮想リンクはデマンドサーキットとして動きます。隣接関係が FULL になったあとは Hello を止め、トポロジが変わったときだけ LSA を送ります |
| DoNotAge LSA allowed. | 仮想リンクで受け取った LSA には DoNotAge が付き、時間の経過で古くなって消えることがありません。そのため定期的に送り直す必要がありません |
| Transit area 23 | 仮想リンクが通るエリアと、使うインターフェース |
| State POINT_TO_POINT | ポイントツーポイントのリンクとして扱われる |
| Adjacency State FULL (Hello suppressed) | 隣接関係が完成し、Hello を止めている |
ルーティングテーブルを確認する
R1 は、エリア34の経路(4.4.4.4/32 と 192.168.34.0/24)を学習しました。
R1
R1#show ip route ospf
4.0.0.0/32 is subnetted, 1 subnets
O IA 4.4.4.4 [110/4] via 192.168.12.2, 00:11:25, FastEthernet0/0.12
O IA 192.168.23.0/24 [110/2] via 192.168.12.2, 00:47:06, FastEthernet0/0.12
O IA 192.168.34.0/24 [110/3] via 192.168.12.2, 00:11:25, FastEthernet0/0.12
R4 も、エリア0とエリア23の経路(1.1.1.1/32、192.168.12.0/24、192.168.23.0/24)を学習しました。
R4
R4#show ip route ospf
1.0.0.0/32 is subnetted, 1 subnets
O IA 1.1.1.1 [110/4] via 192.168.34.3, 00:12:43, FastEthernet0/0.34
O IA 192.168.12.0/24 [110/3] via 192.168.34.3, 00:12:43, FastEthernet0/0.34
O IA 192.168.23.0/24 [110/2] via 192.168.34.3, 00:12:48, FastEthernet0/0.34
まとめ
| 項目 | 内容 |
|---|---|
| 使う場面 | エリア0に直接つながれないエリアを、ほかのエリアを通してエリア0につなぐとき |
| 張る場所 | 2台の ABR の間(トランジットエリアはスタブ以外) |
| コマンド | area 23 virtual-link 3.3.3.3(相手のルータ ID を指定) |
| 確認 | show ip ospf virtual-links、show ip ospf neighbor(Interface が OSPF_VL0) |
仮想リンクは、合併などでエリア0が分かれてしまったときや、設計を直すまでの一時的なつなぎとして使うことが多い機能です。構成が複雑になるので、長く使う場合は、エリアをエリア0に直接つなぐ設計に直すことも検討します。
コメント