◆ MPLS-VPN:Sham Linkとは
Sham LinkとはMPLS-VPN網で構成するPEルータ ⇔ PEルータとの間の仮想的なOSPFリンクのことです。
Sham LinkをPEルータに実装することで、PEルータ間を、ある指定したエリアのポイント―ツーポイント
リンクで接続しているようにすることができます。
MPLS-VPN環境でのOSPF接続で、カスタマーサイト間でバックアップ回線を使用して同一のOSPFエリア
で接続した場合に発生する不適切なルーティングは Sham Link によって解決することができます。先ずは
MPLS-VPN環境におけるOSPFバックアップリンク使用時の問題点を以下で解説します。
◆ MPLS-VPN:OSPFバックアップリンク使用時の問題点
下図の構成では拠点Aと拠点Bとの間にバックアップ回線が存在します。このような構成の場合、拠点Bの
OSPFルータ(R4)は「192.168.1.0/24」のルート情報を以下の2つの方法により学習します。
・ OSPF LSA Type 1で学習したルート(O):R3経由
・ OSPF LSA Type 3で学習したルート(O IA):CE2経由
OSPFではメトリック(コスト値)より、学習ルートのタイプ(LSA Type)を優先してネスクスホップを
決定します。つまり、上図構成ではR4はメトリック値よりもルートタイプを比較する結果、バックアップ
ルートとなるR3経由が低速回線であるにも関わらず、「192.168.1.0/24」宛ての最短経路と見なします。
OSPFでは同一エリア内で使用されるLSAはLSA Type1とType2であり、ルーティングテーブル上のCodeは
「O」となります。異なるエリアからルートはLSA Type3となり、ルーティングテーブルのCodeは「O IA」
となります。「O」ルートと「O IA」ルートでは、「O」ルートが優先されます。
このように、バックアップ回線を同一エリアで結んだ場合、拠点間で高速通信するためのメイン回線である
MPLS-VPN網を利用されることなく、低速バックアップ回線経由で通信が行われてしまうケースがあります。
このような意図しないルーティングの問題の解決策がSham linkです。
◆ 参考:OSPFルートの優先順位
RFC2328では、同じルート情報に対するOSPFルートの優先順位を以下の@ → Cの順番で規定しています。
例えば「O IA :172.16.0.0/16」と「O E2 : 172.16.0.0/16」の2通りで受信した場合は、ルーティング
テーブルに表示されるのは前者だけです。前者が消えることで後者がルーティングテーブルに表示されます。
@ [ O ] ( エリア内ルート )
A [ O IA ] ( エリア間ルート )
B [ O E1 ] ( 外部ルート Type 1 )
C [ O E2 ] ( 外部ルート Type 2 )
◆ MPLS-VPN:Sham Linkによる解決
MPLS-VPNにおけるOSPF接続で、カスタマーサイト間でバックアップ回線を使用して同一のOSPFエリア
で接続した場合に発生する不適切なルーティング状態を解決するためには、PEルータとPEルータとの間に
Sham Linkという仮想リンクを形成します。この仮想リンク経由でLSAを交換することにより「LSA Type」
を変更することなくアドバタイズすることで同じエリア内ルート(O)と認識できれば、OSPFはコスト値
に基づいてルーティングテーブルを生成して、意図したルーティングを実現します。
下図では、PE1とPE2間でSham Linkの仮想リンクを形成しています。PE1がCE1から受信したルート情報
である「192.168.1.0/24」はLSA Type1としてPE2にアドバタイズされます。PE2は、PE1から受信した
「192.168.1.0/24」のルート情報をLSA Type1のままCE2にアドバタイズします。
結果、拠点BのOSPFルータ(R4)は「192.168.1.0/24」のルート情報を以下の2つの方法で学習します。
・ OSPF LSA Type 1で学習したルート(O):R3経由
・ OSPF LSA Type 1で学習したルート(O):CE2経由
OSPFではLSA Typeが同じである場合、コスト値に基づいて最適経路を決定してルーティングテーブルを
生成します。これにより、OSPFコスト値を適正に割り当ててられている場合は、R4は低速のバックアップ
回線を使用することなく、高速なメイン回線のMPLS-VPN網経由で通信することになります。
|