MPLS BGP SoO Attribute

NOTE

  • MPLS-VPNではユーザ側の管理負担を軽減できるように拠点に設定するAS番号は同一にすることができる
    ⇒BGPは自身と同じAS番号の経路はループと判断して破棄してしまう。
    そこでVPN側が経路を広報する際に自身のAS番号に書き換えることで拠点側で破棄されないようにすることができる ( neighbor as-override )

 

 

  • しかし、上記のような冗長化をおこなうと拠点側からすると自身が広報した経路を再度受け取ってしまうためにループとなり不都合がおきる。
  • そこでPEルータに拡張コミュニティの一種であるSite of Origin (SOO) を設定する。
  • R3は R13から受信した192.168.134.0/24に対して、SOO(ここでは65000:100)を付与してRRに送る
  • 同様にSOOが設定されたR4は自身に設定されたSOOと同じ値を持つ経路が非ネイバー側からきているので、R14には広報しないようにする。

 

 

 

  • 広報しないのであって、破棄する訳ではない。そうしないと、R4はR14からの経路が消えた時に代替えとして使えなくなる。
  • R4自身は経路を持つがR14には広報していないのが確認できる。
R4#show bgp vpnv4 uni all | b Net
     Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 65000:100 (default for vrf VPN-A)
 *>i 192.168.15.0     10.0.0.5                 0    100      0 65100 i
 * i 192.168.134.0    10.0.0.3                 0    100      0 65100 i
 *>                   10.4.14.14               0             0 65100 i
R4#
R4#show bgp vpnv4 uni all neighbors 10.4.14.14 advertised-routes | b Net
     Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 65000:100 (default for vrf VPN-A)
 *>i 192.168.15.0     10.0.0.5                 0    100      0 65100 i

Total number of prefixes 1
R4#

 

  • neighbor で書くのがシンプルだが、ルートマップで付与もできる
  • 誤ってR5にSOO(65000:100)を設定してしまうと疎通が取れなくなるので注意が必要
router bgp 65000
 address-family ipv4 vrf VPN-A
  neighbor 10.3.13.13 remote-as 65100
  neighbor 10.3.13.13 soo 65000:100
 exit-address-family


route-map SOO permit 10
 set extcommunity soo 65000:100

router bgp 65000
 address-family ipv4 vrf VPN-A
  neighbor 10.3.13.13 remote-as 65100
  neighbor 10.3.13.13 route-map SOO in
 exit-address-family

 

REFERENCE

BGP Commands
neighbor soo

set extcommunity soo

コメント