【OSPF】仮想リンク(Virtual-link)の設定と動作確認 Cisco

マルチエリアの OSPF では、すべてのエリアがバックボーンエリア(エリア0)に直接つながっている必要があります。エリア間の経路は必ずエリア0を経由してやり取りされるためです。エリア0に直接つながれないエリアがあるときは、ほかのエリアを通る仮想リンク(virtual link)でエリア0につなぎます。この記事では、仮想リンクがないときに何が起きるかを確かめ、仮想リンクを設定して動作を確認します。

この記事でわかること
  1. エリア0につながらないエリアの経路が伝わらない理由
  2. area virtual-link の設定(相手はルータ ID で指定)
  3. 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 です。

Area 0Area 23Area 34.1.2.2.3.3.4192.168.12.0/24192.168.23.0/24192.168.34.0/24R1R2R3R4Lo0 1.1.1.1/32Lo0 4.4.4.4/32(ABR)
図1 検証構成(エリア34はエリア0に直接つながっていない)

各ルータで 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とほかのエリアの間で経路が伝わりません。

Area 0Area 23Area 34.1.2.2.3.3.4192.168.12.0/24192.168.23.0/24192.168.34.0/24R1R2R3R4Lo0 1.1.1.1/32Lo0 4.4.4.4/32(ABR)Type 3:192.168.23.0Type 3:1.1.1.1 ほかType 3 を作らないR3 はエリア0とつながらない
図2 仮想リンクがないときのタイプ3 LSA の流れ(R3 はエリア34の経路をエリア23へも出さない)

仮想リンクを設定する

仮想リンクは、通過するエリア(トランジットエリア)を通して2台の ABR の間に張る、エリア0に属するポイントツーポイントのリンクです。これで R3 もエリア0につながり、ABR として働くようになります。設定は area トランジットエリア virtual-link 相手のルータ ID で、相手は IP アドレスではなくルータ ID で指定します。

Area 0Area 23Area 34.1.2.2.3.3.4192.168.12.0/24192.168.23.0/24192.168.34.0/24R1R2R3R4Lo0 1.1.1.1/32Lo0 4.4.4.4/32(ABR)Virtual Link(Area 0)RID 2.2.2.2RID 3.3.3.3(ABR)
図3 R2 と R3 の間にエリア23を通る仮想リンクを張る

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に直接つなぐ設計に直すことも検討します。

コメント