목차

소개

경로 대상 제약 조건의 목적

RTC가 없는 동작

RTC 컨피그레이션

PE 컨피그레이션

RR 컨피그레이션

RTC의 동작

PE

RR

경로 새로 고침 처리

관련 정보

소개

이 문서에서는 PE(Provider Edge) 라우터에 대한 VPNv4 및 VPNv6 접두사의 교환이 필요한 최소 수준으로 축소되는 메커니즘에 대해 설명합니다.

경로 대상 제약 조건의 목적

MPLS(Multiprotocol Label Switching) VPN을 통해 내부 iBGP(Border Gateway Protocol) 피어 또는 RR(Route Reflector)은 모든 VPN4 및/또는 VPN6 접두사를 PE 라우터로 전송합니다.PE 라우터는 VPN 라우팅 및 포워딩(VRF)을 가져오지 않는 VPN4/6 접두사를 삭제합니다. 이는 RR이 PE 라우터에 VPN4/6 접두사를 전송하는 동작이며, 필요하지 않습니다.이는 RR 및 PE의 처리 능력 낭비이고 대역폭 낭비입니다.

RTC(Route Target Constraint)의 경우 RR은 원하는 VPN4/6 접두사만 PE에 전송합니다. 'Wanted'는 PE가 특정 접두사를 가져오는 VRF를 가지고 있음을 의미합니다.

RFC 4684는 RTC를 지정합니다.VPNv4 및 VPNv6 모두에 대한 새로운 주소군 rtfilter를 통해 지원됩니다.

RT(Route Target) 필터링 정보는 PE 라우터의 모든 VRF에서 VPN RT 가져오기 목록에서 가져옵니다.PE 라우터는 이 필터링 정보를 주소군 rtfilter의 BGP 업데이트로 RR에 전송합니다.이 필터링 정보 또는 RT 멤버십은 MP_REACH_NLRI 및 MP_UNREACH_NLRI 특성의 NLRI(Network Layer Reachability Information)에서 인코딩됩니다.

수신 BGP 피어는 이 NLRI를 필터로 변환하고 이 필터 아웃바운드를 전송 피어에 설치합니다.수신 BGP 피어는 이 필터를 사용하여 연결된 RT가 있는지 여부에 따라 어떤 VPNv4/6 접두사를 전송할지 결정합니다.

RTC가 작동하려면 두 BGP 피어가 모두 RTC를 지원해야 합니다.즉, RR과 PE가 지원해야 합니다.그러나 구축은 증분(incremental)이 될 수 있으므로 모든 RR 및 PE 라우터가 동시에 이를 지원할 필요는 없습니다.RTC는 네트워크에서 작동할 수 있으며 일부 PE 라우터는 이를 지원하고 나머지는 지원하지 않습니다.이를 지원하는 라우터에서 RTC는 이미 활성화되어 있습니다.아직 이를 지원하지 않는 라우터에서는 광고가 이전과 같이 작동하며, 이는 RTC가 없으므로 아웃바운드 필터링이 없습니다.

다음 그림은 RTC의 원칙을 보여줍니다.

RTC가 없는 동작

RR은 모든 VPN4/6 접두사를 PE에 전송합니다.PE는 RT의 가져오기가 없는 항목을 삭제합니다.디버그 BGP 업데이트는 삭제된 접두사를 표시합니다.'다음 이유로 인해 'DENIED' 메시지:확장 커뮤니티가 지원되지 않습니다.'가 제공됩니다.

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의 경우).

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

Route Target Membership Prefix의 인코딩은 Autonomous System Number(자동 시스템 번호)의 경우 4바이트, Route Target(경로 대상)의 경우 8바이트입니다. 이는 확장 커뮤니티 특성입니다.  위의 예에서 rtfilter 접두사 "1:2:1:1"은 다음과 같이 디코딩됩니다.

- 1은 자동 시스템 번호입니다.

- 2는 확장 커뮤니티 특성의 유형 및 하위 유형입니다(10진수)(RFC 4360 참조).

- 1:1은 경로 대상 자체입니다.

RR은 기본 필터를 PE(RR-client)로 전송합니다. 이는 설계에 따라 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에 모든 것을 전송합니다.

(디버그 bgp rtfilter 유니캐스트 업데이트)

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를 수신하고 설치합니다.

(디버그 bgp rtfilter 유니캐스트 업데이트)

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 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 가져오기가 제거되면 주소군 VPNv4/6에 대해 PE에서 RR로 경로 새로 고침이 전송됩니다.

새 VRF가 구성되면 PE는 RR로 경로 새로 고침을 전송합니다.

RTC가 활성화된 두 경우 모두 RR은 모든 VPNv4/6 접두사를 PE에 전송하지 않습니다.RT 필터에 따라 세트만 전송합니다.

관련 정보

- 기술 지원 및 문서 − Cisco Systems