目次
OSPF Sham Linkの概要
Sham Linkとは、MPLS-VPNバックボーンで構成する仮想的なOSPFリンクです。Sham Linkによって、PEルータ間をある特定のエリアのポイントツーポイントリンクで接続しているようにみなすことができます。Sham LinkによりMPLS-VPNバックボーンをまたがって、同一のOSPFエリアを構成することが可能です。
OSPF Sham Linkが必要な構成
Sham Linkが必要となる構成の例として、次のネットワーク構成を考えます。
このネットワーク構成は、サイト1とサイト2をMPLS-VPNで接続しています。そして、MPLS-VPNの障害に備えてCE1-CE2間を直接接続しています。このようなネットワーク構成で、通常はMPLS-VPN経由でサイト間の通信を行うものとします。しかし、ルーティングプロトコルとしてOSPFを利用して、サイト1、サイト2を同一のOSPFエリアとする場合、Sham Linkの設定がないとサイト間の通信はCE1-CE2間を経由して行われることになります。
以降で、サイト1、サイト2は同一のエリア0に含まれるものとして、具体的にSham Linkの設定がない場合のサイト間のルーティングについて考えます。ポイントは次の2点です。
- OSPFとMP-BGPでの最適ルートの決定
- OSPFエリア内ルートとエリア間ルートでの最適ルートの決定
この2点によって、Sham Linkの設定がないとサイト間の通信はCE1-CE2間を経由して行われてしまいます。
ルートのアドバタイズ(Sham Linkなし)
PEルータ間でSham Linkの設定をしていない場合のエリア構成は、次の図のようになります。
MPLS-VPNバックボーンは、スーパーバックボーンとしてOSPFエリア0のように振る舞いますが、エリア0ではありません。そのため、上の図のようなエリア構成となります。ここで、サイト2の172.16.2.0/24のネットワークに注目して、このルートがどのようにアドバタイズされるかを考えます。
サイト2の172.16.2.0/24はOSPFのルートとして、CE2からCE1とPE2へアドバタイズされます。
実際にはLSAとして送信しますが、分かりやすくするためにネットワークアドレス/サブネットマスクの形で表記します。
PE2はVRFのOSPFのルート 172.16.2.0/24をVPNv4ルートとしてPE1へアドバタイズします。また、CE1を経由してPE1へアドバタイズされます。
PE2からPE1へアドバタイズするVPNv4ルートのRDは省略しています。
この図のように、PE1にはOSPFのルートとして172.16.2.0/24を学習しています。そして、MP-BGPで172.16.2.0/24を学習しています。PE1では同じルートをVRFのOSPFとMP-BGPの両方で学習しているので、アドミニストレイティブディスタンスによってどちらを優先するかを決定します。OSPFのAD 110です。また、MP-BGPは同じASなのでAD 200です。つまり、PE1ではVRFのOSPFで学習したルートが優先されます。すると、PE1からCE1には172.16.2.0/24のルートをアドバタイズすることがなくなります。
PE1でのルーティングテーブルは、次のように172.16.2.0/24のルートとしてCE1から学習したルートが登録されています。
PE1 show ip route vrf VPN
PE1#sh ip route vrf VPN Routing Table: VPN ~省略~ Gateway of last resort is not set 172.16.0.0/24 is subnetted, 3 subnets O 172.16.12.0 [110/11] via 10.1.1.2, 00:00:43, FastEthernet1/0 O 172.16.1.0 [110/2] via 10.1.1.2, 00:00:43, FastEthernet1/0 O 172.16.2.0 [110/12] via 10.1.1.2, 00:00:43, FastEthernet1/0 10.0.0.0/24 is subnetted, 2 subnets O 10.2.2.0 [110/12] via 10.1.1.2, 00:00:43, FastEthernet1/0 C 10.1.1.0 is directly connected, FastEthernet1/0
CE1は172.16.2.0/24をCE2からしか学習しません。その結果、172.16.2.0/24あてのパケットはMPLS-VPN経由ではなく、直接CE2へルーティングします。
CE1のルーティングテーブルと172.16.2.2へのトレースルートは次のようになっています。
CE1 show ip route/trace 172.16.2.2
CE1#sh ip route ~省略~ Gateway of last resort is not set 172.16.0.0/24 is subnetted, 3 subnets C 172.16.12.0 is directly connected, FastEthernet0/0 C 172.16.1.0 is directly connected, Loopback0 O 172.16.2.0 [110/11] via 172.16.12.2, 00:04:00, FastEthernet0/0 10.0.0.0/24 is subnetted, 2 subnets O 10.2.2.0 [110/11] via 172.16.12.2, 00:04:00, FastEthernet0/0 C 10.1.1.0 is directly connected, FastEthernet1/0 CE1#traceroute 172.16.2.2 source 172.16.1.1 Type escape sequence to abort. Tracing the route to 172.16.2.2 1 172.16.12.2 36 msec 48 msec *
同じことは、サイト1の172.16.1.0/24についても言えます。つまり、サイト間の通信はすべて本来バックアップ用途として考えているCE1-CE2間のリンクを通じて行われることになってしまいます。
ルートのアドバタイズ(Sham Linkなし/AD変更)
PE1でMP-BGPとOSPFのADの比較によって、PE1からは172.16.2.0/24のルートはCE1へ送信されなくなっています。そこで、PE1でADを調整してPE1からCE1へ172.16.2.0/24のルートをアドバタイズできるようにします。PE1で次のように設定してOSPFのAD値を201とし、MP-BGPのルートが優先されるようにします。
PE1
router ospf 100 vrf VPN distance 201
すると、PE1でVRFのルーティングテーブルは次のようになります。
PE1 show ip route vrf VPN
PE1#sh ip route vrf VPN Routing Table: VPN ~省略~ Gateway of last resort is not set 172.16.0.0/24 is subnetted, 3 subnets B 172.16.12.0 [200/11] via 2.2.2.2, 00:01:00 O 172.16.1.0 [201/2] via 10.1.1.2, 00:00:40, FastEthernet1/0 B 172.16.2.0 [200/2] via 2.2.2.2, 00:01:00 10.0.0.0/24 is subnetted, 2 subnets B 10.2.2.0 [200/0] via 2.2.2.2, 00:01:00 C 10.1.1.0 is directly connected, FastEthernet1/0
PE1で172.16.2.0/24のルートとしてMP-BGPが優先されるようになれば、OSPFへ再配送されてPE1からCE1へ172.16.2.0/24のルートがアドバタイズされます。ただし、PE1からCE1へアドバタイズされる172.16.2.0/24はエリア間ルート(LSAタイプ3)です。CE1ルータは、172.16.2.0/24のルートをPE1とCE2から受信します。CE1ルータはメトリックに関係なく、必ずCE2から受信した172.16.2.0/24のルートを優先します。OSPFではエリア間ルートよりもエリア内ルートを優先するからです。
PE1でADを調整することで、PE1からCE1へ172.16.2.0/24へルートをアドバタイズするようにしても、サイト間の通信経路は変わりません。CE1はサイト2のネットワークへIPパケットをルーティングするときには、直接CE2へ転送します。
CE1のルーティングテーブルと172.16.2.2へのトレースルートは次のようになっています。
CE1 show ip route/trace 172.16.2.2
CE1#show ip route ~省略~ Gateway of last resort is not set 172.16.0.0/24 is subnetted, 3 subnets C 172.16.12.0 is directly connected, FastEthernet0/0 C 172.16.1.0 is directly connected, Loopback0 O 172.16.2.0 [110/11] via 172.16.12.2, 00:15:03, FastEthernet0/0 10.0.0.0/24 is subnetted, 2 subnets O 10.2.2.0 [110/11] via 172.16.12.2, 00:15:03, FastEthernet0/0 C 10.1.1.0 is directly connected, FastEthernet1/0 CE1#traceroute 172.16.2.2 source 172.16.1.1 Type escape sequence to abort. Tracing the route to 172.16.2.2 1 172.16.12.2 32 msec 32 msec *
以上のように、Sham Linkの設定がないと、サイト間の通信はCE1-CE2間を経由することがわかります。
Sham Linkのエリア構成
PE1-PE2間でエリア0のSham Linkを構成することで、PE1-PE2間はポイントツーポイントのエリア0のリンクとみなされます。そのときのエリア構成を図にすると、次のようになります。
このとき、先ほどまでと同様にCE1でサイト2の172.16.2.0/24のルートについて考えます。CE1はサイト2の172.16.2.0/24のルートをCE2から受信します。また、PE1からも受信します。全体が単一のエリアなので両方ともエリア内ルートです。そのため、最適ルートはメトリックの比較によって決まります。Sham Linkのコストは設定によって決定できますが、デフォルトは1です。コストを考えると、CE1では172.16.2.0/24のルートとしてPE1から受信したものを最適と判断します。
こうしてSham Linkによって、MPLS-VPNバックボーンを経由して単一エリアにすることでサイト間の通信はMPLS経由で行うようになります。
MPLS/MPLS-VPN
- MPLSラベルスイッチングの設定と確認コマンド[Cisco]
- MPLSによるラベルスイッチングの設定例 [Cisco]
- MPLSによるトランジットASの構成
- MPLS 設定ミスの切り分けと修正 Part1
- MPLS 設定ミスの切り分けと修正 Part2
- MPLS-VPNの設定例 フルメッシュ(Any-to-Any)
- MPLS-VPNの設定例 エクストラネットVPN
- MPLS-VPNの設定例 セントラルサービスVPN
- MPLS-VPNの設定例 ハブ&スポークVPN
- OSPF Sham-linkの概要
- OSPF Sham-linkの設定
- MPLS-VPN 設定ミスの切り分けと修正 Part1
- MPLS-VPN 設定ミスの切り分けと修正 Part2
- MPLS-VPN 設定ミスの切り分けと修正 Part3
- MPLS-VPN 設定ミスの切り分けと修正 Part4
- MPLS-VPN 設定ミスの切り分けと修正 Part5
- MPLS-VPN 設定ミスの切り分けと修正 Part6