マルチプロトコル ラベル スイッチング(MPLS) : MPLS

ルート ターゲット制約

2016 年 10 月 28 日 - 機械翻訳について
その他のバージョン: PDFpdf | 英語版 (2015 年 8 月 22 日) | フィードバック

概要

このドキュメントでは、プロバイダー エッジ(PE)ルータへ送信される VPNv4 および VPNv6 プレフィックスの交換が必要最小限に抑えられるメカニズムについて説明します。

Contributed by Luc De Ghein, Cisco TAC Engineer.

ルート ターゲット制約の目的

内部ボーダー ゲートウェイ プロトコル(iBGP)ピアまたはルート リフレクタ(RR)は、マルチプロトコル ラベル スイッチング(MPLS)VPN を使用して、すべての VPN4 プレフィックスおよび VPN6 プレフィックスを PE ルータへ送信します。 PE ルータは、インポート先となる VPN ルーティングおよび転送(VRF)がない VPN4/6 プレフィックスをドロップします。 これは、RR が PE ルータに必要ではない VPN4/6 プレフィックスを送信する際の動作です。 この動作では、RR と PE における処理能力と帯域幅が無駄に消費されます。

ルート ターゲットの制約(RTC)を使用すると、RR は、必要な VPN4/6 プレフィックスのみを PE に送信します。 この「必要な」というのは、PE に、特定のプレフィックスをインポートする VRF があるということを意味します。

RTC は、RFC 4684 で指定します。 VPNv4 と VPNv6 のどちらの場合でも、このサポートには新しいアドレス ファミリ rtfilter が使用されます。

ルート ターゲット(RT)のフィルタリング情報は、PE ルータ上のすべての VRF の VPN RT インポート リストから取得されます。 PE ルータは、このフィルタリング情報を、アドレス ファミリ rtfilter 内の BGP 更新として RR へ送信します。 このフィルタリング情報または RT メンバーシップは、MP_REACH_NLRI および MP_UNREACH_NLRI 属性のネットワーク層到着可能性情報(NLRI)でエンコードされます。

受信側の BGP ピアがこの NLRI をフィルタに変換し、このフィルタを送信側のピアのアウトバウンド フィルタとしてインストールします。 受信側の BGP ピアは、このフィルタを使用して、RT が付加されているかどうかに基づき、送信する VPNv4/6 プレフィックスと送信しない VPNv4/6 プレフィックスを判別します。

RTC が機能するためには、両方の BGP ピアで RTC をサポートする必要があります。 つまり、RR と PE が RTC をサポートする必要があります。 ただし導入は増分的にすることができます。つまり、すべての RR ルータおよび PE ルータが一度に RTC をサポートする必要はありません。 RTC をサポートする PE ルータと、サポートしない PE ルータがある状態でも、RTC はネットワーク上で機能するということです 。 RTC をサポートするルータでは、RTC は常にアクティブになります。 RTC をサポートしていないルータでは、アドバタイズメントが以前と同様に機能しますが、RTC は使用されません(つまり、アウトバウンド フィルタリングは実行されません)。

次の図は、RTC の原理を表しています。

RTC なしの動作

RR は、すべての VPN4/6 プレフィックスを PE に送信します。 PE は、RT のインポートが行われないプレフィックスをドロップします。 ドロップされたプレフィックスは、BGP 更新をデバッグすると表示されます。 「DENIED due to: extended community not supported」というメッセージが表示されます。

VPNv4 ユニキャストの例は次のとおりです。

BGP(4): 10.100.1.3 rcvd UPDATE w/ att: nexthop 10.100.1.1, origin i, localpref 100, 
metric 0, originator 10.100.1.1, clusterlist 10.100.1.3, merged path 65003,
AS_PATH , extended community RT:1:2
BGP(4): 10.100.1.3 rcvd 1:2:10.100.1.6/32, label 27 -- DENIED due to:  extended
community not supported;

VPNv6 ユニキャストの例は次のとおりです。

BGP(5): 10.100.1.3 rcvd UPDATE w/ attr: nexthop ::FFFF:10.100.1.1, origin i, 
localpref 100, metric 0, originator 10.100.1.1, clusterlist 10.100.1.3,
merged path 65003, AS_PATH , extended community RT:1:2
BGP(5): 10.100.1.3 rcvd [1:2]2001:10:100:1::6/128, label 23 -- DENIED due to: 
extended community not supported;

 

RTC の設定

PE の設定

vrf definition green
 rd 1:2
 route-target export 1:2
 route-target import 1:2
 !
 address-family ipv4
 exit-address-family
!
vrf definition red
 rd 1:1   
 route-target export 1:1
 route-target import 1:1
 !
 address-family ipv4
 exit-address-family
 !       
 address-family ipv6
 exit-address-family
 
router bgp 1
 bgp log-neighbor-changes
 neighbor 10.100.1.3 remote-as 1
 neighbor 10.100.1.3 update-source Loopback0
 neighbor 10.100.1.4 remote-as 1
 neighbor 10.100.1.4 update-source Loopback0
 !
 address-family vpnv4
  neighbor 10.100.1.3 activate
  neighbor 10.100.1.3 send-community both
  neighbor 10.100.1.4 activate
  neighbor 10.100.1.4 send-community both
 exit-address-family
 !
 address-family rtfilter unicast
  neighbor 10.100.1.3 activate
  neighbor 10.100.1.3 send-community extended
 exit-address-family
 !
 address-family ipv4 vrf green
  neighbor 10.1.6.6 remote-as 65003
  neighbor 10.1.6.6 activate
  neighbor 10.1.6.6 send-community both
 exit-address-family
 !
 address-family ipv4 vrf red
  neighbor 10.1.5.5 remote-as 65001
  neighbor 10.1.5.5 activate
  neighbor 10.1.5.5 send-community both
 exit-address-family

 

RR の設定

router bgp 1
 bgp log-neighbor-changes
 neighbor 10.100.1.1 remote-as 1
 neighbor 10.100.1.1 update-source Loopback0
 neighbor 10.100.1.2 remote-as 1
 neighbor 10.100.1.2 update-source Loopback0
 !
 address-family vpnv4
  neighbor 10.100.1.1 activate
  neighbor 10.100.1.1 send-community both
  neighbor 10.100.1.1 route-reflector-client
  neighbor 10.100.1.2 activate
  neighbor 10.100.1.2 send-community both
  neighbor 10.100.1.2 route-reflector-client
 exit-address-family
 !
 address-family rtfilter unicast
  neighbor 10.100.1.1 activate
  neighbor 10.100.1.1 send-community both
  neighbor 10.100.1.1 route-reflector-client
  neighbor 10.100.1.1 default-originate
 exit-address-family

ルート ターゲット制約

RTC の動作

BGP ピアリングが確立されると、ピアは rtfilter の機能を交換します。VPNV4 および VPNV6 の場合、これは 1/132 です。

RR1# show bgp rtfilter unicast all neighbors 10.100.1.1
BGP neighbor is 10.100.1.1,  remote AS 1, internal link
  BGP version 4, remote router ID 10.100.1.1
  BGP state = Established, up for 00:14:28
  Last read 00:00:01, last write 00:00:56, hold time is 180,
keepalive interval is 60 seconds
  Neighbor sessions:
    1 active, is not multisession capable (disabled)
  Neighbor capabilities:
    Route refresh: advertised and received(new)
    Four-octets ASN Capability: advertised and received
    Address family IPv4 Unicast: received
    Address family VPNv4 Unicast: advertised and received
    Address family VPNv6 Unicast: advertised and received
    Address family RT Filter: advertised and received
    Enhanced Refresh Capability: advertised and received
    Multisession Capability:
    Stateful switchover support enabled: NO for session 1
  Message statistics:
    InQ depth is 0
    OutQ depth is 0
   
                         Sent       Rcvd
    Opens:                  1          1
    Notifications:          0          0
    Updates:                6          7
    Keepalives:            17         18
    Route Refresh:          0          0
    Total:                 24         30
  Default minimum time between advertisement runs is 0 seconds
 
 For address family: VPNv4 Unicast
  Session: 10.100.1.1
  BGP table version 65, neighbor version 65/0
  Output queue size : 0
  Index 19, Advertise bit 1
  Route-Reflector Client
  19 update-group member
  RT Filter activate
  Community attribute sent to this neighbor
  Slow-peer detection is disabled
  Slow-peer split-update-group dynamic is disabled
                                 Sent       Rcvd
...
 
For address family: VPNv6 Unicast
  Session: 10.100.1.1
  BGP table version 5, neighbor version 5/0
  Output queue size : 0
  Index 3, Advertise bit 1
  Route-Reflector Client
  3 update-group member
  RT Filter activate
  Community attribute sent to this neighbor
  Slow-peer detection is disabled
  Slow-peer split-update-group dynamic is disabled
 
...
 
For address family: RT Filter
  Session: 10.100.1.1
  BGP table version 52, neighbor version 52/0
  Output queue size : 0
  Index 13, Advertise bit 0
  Route-Reflector Client
  13 update-group member
  NEXT_HOP is always this router for eBGP paths
  Community attribute sent to this neighbor
  Default information originate, default sent
  Slow-peer detection is disabled
  Slow-peer split-update-group dynamic is disabled
                                  Sent       Rcvd
  Prefix activity:                ----       ----
    Prefixes Current:               1          2 (Consumes 160 bytes)
    Prefixes Total:                  1          2
    Implicit Withdraw:               0          0
    Explicit Withdraw:               0          0
    Used as bestpath:              n/a          2
    Used as multipath:             n/a          0
 
                                   Outbound       Inbound
  Local Policy Denied Prefixes:    --------     -------
    Bestpath from iBGP peer:              2         n/a
    Total:                                2           0
  Number of NLRIs in the update sent: max 1, min 0
  Last detected as dynamic slow peer: never
  Dynamic slow peer recovered: never
  Refresh Epoch: 1
  Last Sent Refresh Start-of-rib: never
  Last Sent Refresh End-of-rib: never
  Last Received Refresh Start-of-rib: never
  Last Received Refresh End-of-rib: never
                                       Sent       Rcvd
        Refresh activity:              ----       ----
          Refresh Start-of-RIB          0          0
          Refresh End-of-RIB            0          0
 
  Address tracking is enabled, the RIB does have a route to 10.100.1.1
  Connections established 16; dropped 15
  Last reset 00:14:28, due to Peer closed the session of session 1
  Transport(tcp) path-mtu-discovery is enabled
  Graceful-Restart is disabled

 

PE

debug bgp all
 
BGP: 10.100.1.3 active rcvd OPEN w/ optional parameter type 2 (Capability) len 6
BGP: 10.100.1.3 active OPEN has CAPABILITY code: 1, length 4
BGP: 10.100.1.3 active OPEN has MP_EXT CAP for afi/safi: 1/132
BGP: 10.100.1.3 accept RTC SAFI
PE1# show bgp rtfilter unicast rt 1:1
BGP routing table entry for 1:2:1:1, version 3
Paths: (1 available, best #1)
  Advertised to update-groups:
     13
  Refresh Epoch 1
  Local
    0.0.0.0 from 0.0.0.0 (10.100.1.1)
      Origin IGP, localpref 100, weight 32768, valid, sourced, local, best
      RT generation: import
      rx pathid: 0, tx pathid: 0x0

AF rtfilter は更新グループも使用します。

PE1# show bgp rtfilter unicast all update-group 13
BGP version 4 update-group 13, internal, Address Family: RT Filter
  BGP Update version : 12/0, messages 0
  Extended-community attribute sent to this neighbor
  Topology: global, highest version: 12, tail marker: 12
  Format state: Current working (OK, last not in list)
                Refresh blocked (not in list, last not in list)
  Update messages formatted 1, replicated 1, current 0, refresh 0, limit 1000
  Number of NLRIs in the update sent: max 2, min 0
  Minimum time between advertisement runs is 0 seconds
  Has 1 member:
   10.100.1.3

PE から送信される RTFilter を検証します。

PE1# show bgp rtfilter unicast all neighbors 10.100.1.3 advertised-routes
BGP table version is 8, local router ID is 10.100.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  1:2:1:1          0.0.0.0                            32768 i
 *>  1:2:1:2          0.0.0.0                            32768 i

 Total number of prefixes 2

ルート ターゲット メンバーシップのプレフィックスのエンコーディングは、自律システム番号の場合は 4 バイト、ルート ターゲットの場合は 8 バイトです。これは拡張コミュニティ属性です。  上記の例では、rtfilter プレフィックス「1:2:1:1」は、次のようにデコードされます。

  • 1 は自律システム番号です。
  • 2 は拡張コミュニティ属性のタイプとサブタイプです(10 進数)(RFC 4360 を参照)
  • 1:1 はルート ターゲット自体です

RR はデフォルト フィルタを PE(RR クライアント)に送信します。 これは設計上、RR にすべての VPNv4 ルートが必要であるためです。

BGP(10): (base) 10.100.1.1 send UPDATE (format) 0:0:0:0, next 10.100.1.3,
metric 0, path Local

PE はデフォルトの rt フィルタを受信し、インストールします。 たとえば、RR にはすべてが送信されます。
(debug bgp rtfilter unicast updates)

BGP(10): 10.100.1.3 rcvd UPDATE w/ attr: nexthop 10.100.1.3, origin i,
localpref 100, metric 0, community no-export
BGP(10): 10.100.1.3 rcvd 0:0:0:0
BGP(4): Default RT filter installed for 10.100.1.3

RR は PE1 から rtfilter を受信し、インストールします。
(debug bgp rtfilter unicast updates)

BGP(10): 10.100.1.1 rcvd UPDATE w/ attr: nexthop 10.100.1.1, origin i,
localpref 100, metric 0
BGP(10): 10.100.1.1 rcvd 1:2:1:1
BGP(4): 1:2:1:1 RT filter installed for 10.100.1.1
BGP: installing rt filter on 10.100.1.1
BGP: add installed RT filter 1:2:1:1 for 10.100.1.1
BGP(10): 10.100.1.1 rcvd 1:2:1:2
BGP(4): 1:2:1:2 RT filter installed for 10.100.1.1
BGP(4): 1:2:1:2 Initiating an incremental table walk for 10.100.1.1
BGP: installing rt filter on 10.100.1.1
BGP: add installed RT filter 1:2:1:2 for 10.100.1.1

RR 上で受信したフィルタを検査します。

RR1# show bgp vpnv4 unicast all neighbors 10.100.1.1 received rtfilters
Address family: VPNv4 Unicast
Extended community filter has: 2 entries with default filtering disabled
Incremental refresh walk mode
Status codes: * valid, S Stale > installed
     Route-Target Outbound Filter
*> Extended Community RT:1:2
*> Extended Community RT:1:1

PE は特定の RT を含む RT フィルタをインストールしません。 PE が RR からデフォルトの rt フィルタを受信したため、PE はすべての VPNv4/v6 プレフィックスを送信します。

PE1# show bgp vpnv4 unicast all neighbors 10.100.1.3 received rtfilters
Address family: VPNv4 Unicast
Extended community filter has: 1 entries with default filtering enabled
Incremental refresh walk mode

デフォルトの RT フィルタを作成するには、AF rtfilter で「neighbor x.x.x.x default-originate」を設定します。

RR クライアント ピアリングの RR では、これが自動的に作成されます。

RR

router bgp 1
 
 address-family rtfilter unicast
  neighbor 10.100.1.1 activate
  neighbor 10.100.1.1 send-community both
  neighbor 10.100.1.1 route-reflector-client
  neighbor 10.100.1.1 default-originate
 exit-address-family

 

ルート リフレッシュの処理

新しい RT のインポートが設定されるか、または RT のインポートが削除されると、PE からアドレス ファミリ VPNv4/6 の RR へルート リフレッシュが送信されます。

新しい VRF が設定されると、PE が RR へルート リフレッシュを送信します。

どちらの場合でも、RTC がアクティブであれば、RR はすべての VPNv4/6 プレフィックスは PE に送信しません。 送信されるセットは、RT フィルタに従って決定されます。

関連情報



Document ID: 116062