Перейти к основному содержимому

Ограничение целевых маршрутов (Route Target Constraint)

BGP/MPLS IP VPN используют маршрутизаторы PE для расширенных сообществ Route Target (RT) и управления распространением маршрутов в VRF. В пределах заданной iBGP-сети маршрутизаторы PE хранят маршруты, помеченные Route Target, относящиеся к VRF, которые имеют локальные подключения CE.

Функция BGP RT Constrained Route Distribution может быть использована провайдерами услуг в MPLS Layer 3 VPN для уменьшения количества ненужных обновлений маршрутов, которые маршрутизаторы-отражатели (RR) отправляют маршрутизаторам PE. Сокращение "обновлений маршрутов" экономит ресурсы, позволяя RR, маршрутизаторам на границе автономных систем (ASBR) и PE обрабатывать меньше маршрутов. Route Target используются для ограничения обновлений маршрутов.

В MPLS VPN маршрутизаторы iBGP или маршрутизаторы-отражатели отправляют все префиксы VPN4 и/или VPN6 маршрутизаторам PE. Маршрутизаторы PE отбрасывают префиксы VPN4/6, для которых нет импортируемого маршрута VRF.

Топология

На топологии ниже показана фильтрация Route Target в L3VPN. С использованием Route Target Constraint (RTC) маршрутизатор-отражатель отправляет только нужные префиксы VPN4/6 маршрутизаторам PE. "Нужные" означает, что маршрутизаторы PE имеют VRF, импортирующие конкретные префиксы.

Image

Рисунок 7-10: Топология фильтрации Route Target

CE1

#configure terminalПерейти в режим конфигурации.
(config)#interface eth1Перейти в режим интерфейса.
(config-if)#ip address 80.1.1.1/24Настроить IP-адрес для интерфейса.
(config-if)#exitВыйти из режима интерфейса и перейти в режим конфигурации.
(config)#interface eth3Перейти в режим интерфейса.
(config-if)#ip address 90.1.1.1/24Настроить IP-адрес для интерфейса.
(config-if)#exitВыйти из режима интерфейса и перейти в режим конфигурации.
(config)# router bgp 200Назначить ASN (100) маршрутизатору BGP.
(config-router)#neighbor 80.1.1.2 remote-as 100 (config-router)#neighbor 90.1.1.2 remote-as 100Настроить соседа (RR) в IBGP.
(config-router)#redistribute staticРаспространить статические маршруты в BGP.
(config-router)#exitВыйти из режима маршрутизатора и перейти в режим конфигурации.
(config)#ip route vrf 1 1.1.1.0/24 eth1Настроить статический маршрут с instanceом VRF 1.
(config)#ip route vrf 2 3.3.3.0/24 eth3Настроить статический маршрут с instanceом VRF 2.
(config)#ip route vrf 2 4.4.4.0/24 eth3Настроить статический маршрут с instanceом VRF 2.

CE2

#configure terminalПерейти в режим конфигурации.
(config)#interface eth1Перейти в режим интерфейса.
(config-if)#ip address 101.1.1.1/24Настроить IP-адрес для интерфейса.
(config-if)#exitВыйти из режима интерфейса и перейти в режим конфигурации.
(config)#interface eth3Перейти в режим интерфейса.
(config-if)#ip address 100.1.1.1/24Настроить IP-адрес для интерфейса.
(config-if)#exitВыйти из режима интерфейса и перейти в режим конфигурации.
(config)# router bgp 200Назначить ASN (100) маршрутизатору BGP.
(config-router)#neighbor 100.1.1.2 remote-as 100 (config-router)#neighbor 101.1.1.2 remote-as 100Настроить соседа (RR) в IBGP.
(config-router)#endВыйти из режима маршрутизатора и режима конфигурации.

PE1

#configure terminalПерейти в режим конфигурации.
(config)#ip vrf 1Создать instance VRF 1.
(config-vrf)#rd 1:100Настроить уникальное значение RD для идентификации instances VRF.
(config-vrf)#route-target export 1:200Настроить значение Route Target (RT) для экспорта маршрутов в другие VRF (для других PE).
(config-vrf)#exitВыйти из режима VRF и перейти в режим конфигурации.

 

(config)#ip vrf 2Создать instance VRF 2.
(config-vrf)#rd 1:300Настроить уникальное значение RD для идентификации instances VRF.
(config-vrf)#route-target both 1:400Настроить значение Route Target (RT) для экспорта маршрутов в другие VRF (для других PE).
(config-vrf)#exitВыйти из режима VRF и перейти в режим конфигурации.
(config)#router ldpВключить LDP.
(config-router)#exitВыйти из режима маршрутизатора LDP.
(config)#interface loПерейти в режим интерфейса loopback.
(config-if)#ip address 11.11.11.11/32 secondaryНастроить IP-адрес для интерфейса loopback.
(config-if)# enable-ldp ipv4Включить LDP на интерфейсе loopback.
(config-if)#exitВыйти из режима интерфейса.
(config)#interface eth1Перейти в режим интерфейса.
(config-if)#ip vrf forwarding 1Привязать интерфейс к VRF 1.
(config-if)#ip address 80.1.1.2/24Настроить IP-адрес для интерфейса, привязанного к VRF.
(config-if)#exitВыйти из режима интерфейса.
(config)#interface eth2Перейти в режим интерфейса.
(config-if)#ip address 40.1.1.1/24Настроить IP-адрес для интерфейса.
(config-if)#label-switchingВключить коммутацию меток на интерфейсе.
(config-if)# enable-ldp ipv4Включить LDP на подключенном интерфейсе между PE1 и RR.
(config-if)#exitВыйти из режима интерфейса.
(config)#interface eth3Перейти в режим интерфейса.
(config-if)#ip vrf forwarding 2Привязать интерфейс к VRF 1.
(config-if)#ip address 90.1.1.2/24Настроить IP-адрес для интерфейса, привязанного к VRF.
(config-if)#exitВыйти из режима интерфейса.
(config)#router ospfВключить процесс OSPF между PE1 и RR.
(config-router)#network 11.11.11.11/32 area 0.0.0.0 (config-router)#network 40.1.1.0/24 area 0.0.0.0Анонсировать сеть loopback в area OSPF 0.
(config-router)#exitВыйти из режима маршрутизатора OSPF.
(config)# router bgp 100Назначить ASN (100) маршрутизатору BGP.
(config-router)#neighbor 22.22.22.22 remoteas 100Настроить соседа (RR) в IBGP.
(config-router)#neighbor 22.22.22.22 updatesource loВключить соседа с интерфейсом loopback.
(config-router)#address-family vpnv4 unicastПерейти в режим Address-Family-VPNv4.
(config-router-af)#neighbor 22.22.22.22 activateАктивировать соседа RR.
(config-router-af)#exit-address-familyВыйти из режима Address Family и вернуться в режим маршрутизатора.
(config-router)#address-family rtfilter unicastВключить режим адресного семейства RT filter.
(config-router-af)#neighbor 22.22.22.22 activateАктивировать соседа.
(config-router-af)#exit-address-familyВыйти из режима RTfilter Address Family и вернуться в режим маршрутизатора.
(config-router)#address-family ipv4 vrf 1Перейти в режим Address-Family-VRF.
(config-router-af)#neighbor 80.1.1.1 remoteas 200Настроить соседа CE в режиме VRF.
(config-router-af)#neighbor 80.1.1.1 activateАктивировать соседа в VRF.
(config-router-af)#exit-address-familyВыйти из режима Address Family и вернуться в режим маршрутизатора.
(config-router)#address-family ipv4 vrf 2Перейти в режим Address-Family-VRF.
(config-router-af)#neighbor 90.1.1.1 remoteas 200Настроить соседа CE в режиме VRF.
(config-router-af)#neighbor 90.1.1.1 activateАктивировать соседа в VRF.
(config-router-af)#exit-address-familyВыйти из режима Address Family и вернуться в режим маршрутизатора.
(config-router)#endВыйти из режима маршрутизатора и режима конфигурации.

RR

(config)#router ldpВключить LDP.
(config-router)#exitВыйти из режима маршрутизатора LDP.
(config)#interface loПерейти в режим интерфейса loopback.
(config-if)#ip address 22.22.22.22/32 secondary (config-if)#ip address 44.44.44.44/32 secondaryНастроить IP-адрес для интерфейса loopback.
(config-if)# enable-ldp ipv4Включить LDP на интерфейсе loopback.
(config-if)#exitВыйти из режима интерфейса.
(config)#interface eth2Перейти в режим интерфейса.
(config-if)#ip address 40.1.1.2/24Настроить IP-адрес для интерфейса, подключенного к PE2.
(config-if)#label-switchingВключить коммутацию меток на интерфейсе.
(config-if)# enable-ldp ipv4Включить LDP на подключенном интерфейсе между PE1 и RR.
(config-if)#exitВыйти из режима интерфейса.
(config)#interface eth4Перейти в режим интерфейса.
(config-if)#ip address 50.1.1.1/24Настроить IP-адрес для интерфейса, подключенного к PE1.
(config-if)#label-switchingВключить коммутацию меток на интерфейсе.
(config-if)# enable-ldp ipv4Включить LDP на подключенном интерфейсе между PE1 и RR.
(config-if)#exitВыйти из режима интерфейса.
(config)#router ospfВключить процесс OSPF между PE1 и RR.
(config-router)#network 22.22.22.22/32 area 0.0.0.0Анонсировать сеть loopback в area OSPF 0.
(config-router)#network 40.1.1.0/24 area 0 config-router)#network 44.44.44.44/32 area 0.0.0.0 config-router)#network 50.1.1.0/24 area 0.0.0.0Анонсировать подключенную сеть PE1 к RR в OSPF.
(config-router)#exitВыйти из режима маршрутизатора OSPF.
(config)# router bgp 100Назначить ASN (100) маршрутизатору BGP.
(config-router)#neighbor 11.11.11.11 remoteas 100Настроить соседа (PE1) в IBGP.
(config-router)#neighbor 11.11.11.11 updatesource 22.22.22.22Включить соседа с интерфейсом loopback.
(config-router)#neighbor 33.33.33.33 remoteas 100Настроить соседа (PE2) в IBGP.
(config-router)#neighbor 33.33.33.33 updatesource 44.44.44.44Включить соседа с интерфейсом loopback.
(config-router)#address-family vpnv4 unicastПерейти в режим Address-Family-VPNv4.
(config-router-af)#neighbor 11.11.11.11 activateАктивировать соседа PE1.
(config-router-af)#neighbor 33.33.33.33 activateАктивировать соседа PE2.
(config-router-af)#neighbor 11.11.11.11 route-reflector-clientНастроить PE1 как клиента маршрутизатора-отражателя.
(config-router-af)#neighbor 33.33.33.33 route-reflector-clientНастроить PE2 как клиента маршрутизатора-отражателя.
(config-router-af)#exit-address-familyВыйти из режима Address Family и вернуться в режим маршрутизатора.
(config-router)#address-family rtfilter unicastВключить режим адресного семейства RT filter.
(config-router-af)#neighbor 11.11.11.11 activateАктивировать соседа PE1 в RTfilter.
(config-router-af)#neighbor 33.33.33.33 activateАктивировать соседа PE2 в RTfilter.
(config-router-af)#neighbor 33.33.33.33 route-reflector-clientНастроить PE2 как клиента маршрутизатора-отражателя.
(config-router-af)#neighbor 11.11.11.11 route-reflector-clientНастроить PE1 как клиента маршрутизатора-отражателя.
(config-router-af)#exit-address-familyВыйти из режима RTfilter Address Family.
(config-router)#endВыйти из режима Address Family, маршрутизатора и режима конфигурации.

PE2

#configure terminalПерейти в режим конфигурации.
(config)#ip vrf 3Создать instance VRF 3.
(config-vrf)#rd 1:600Настроить уникальное значение RD для идентификации instances VRF.
(config-vrf)#route-target export 1:200Настроить значение Route Target (RT) для экспорта маршрутов в другие VRF (для других PE).
(config-vrf)#exitВыйти из режима VRF и перейти в режим конфигурации.
(config)#ip vrf 4Создать instance VRF 4.
(config-vrf)#rd 1:900Настроить уникальное значение RD для идентификации instances VRF.
(config-vrf)#route-target both 1:400Настроить значение Route Target (RT) для экспорта маршрутов в другие VRF (для других PE).

 

(config-vrf)#exitВыйти из режима VRF и перейти в режим конфигурации.
(config)#router ldpВключить LDP.
(config-router)#exitВыйти из режима маршрутизатора LDP.
(config)#interface loПерейти в режим интерфейса loopback.
(config-if)#ip address 33.33.33.33/32 secondaryНастроить IP-адрес для интерфейса loopback.
(config-if)# enable-ldp ipv4Включить LDP на интерфейсе loopback.
(config-if)#exitВыйти из режима интерфейса.
(config)#interface eth1Перейти в режим интерфейса.
(config-if)#ip vrf forwarding 3Привязать интерфейс к VRF 3.
(config-if)#ip address 101.1.1.2/24Настроить IP-адрес для интерфейса, привязанного к VRF.
(config-if)#exitВыйти из режима интерфейса.
(config)#interface eth3Перейти в режим интерфейса.
(config-if)#ip vrf forwarding 4Привязать интерфейс к VRF 3.
(config-if)#ip address 100.1.1.2/24Настроить IP-адрес для интерфейса, привязанного к VRF.
(config-if)#exitВыйти из режима интерфейса.
(config)#interface eth4Перейти в режим интерфейса.
(config-if)#ip address 50.1.1.2/24Настроить IP-адрес для интерфейса.
(config-if)#label-switchingВключить коммутацию меток на интерфейсе.
(config-if)# enable-ldp ipv4Включить LDP на подключенном интерфейсе между PE2 и RR.
(config-if)#exitВыйти из режима интерфейса.
(config)#router ospfВключить процесс OSPF между PE2 и RR.
(config-router)#network 33.33.33.33/32 area 0.0.0.0Анонсировать сеть loopback в area OSPF 0.
(config-router)#network 50.1.1.0/24 area 0Анонсировать подключенную сеть PE2 к RR в OSPF.
(config-router)#exitВыйти из режима маршрутизатора OSPF.
(config)# router bgp 100Назначить ASN (100) маршрутизатору BGP.
(config-router)#neighbor 44.44.44.44 remoteas 100Настроить соседа (RR) в IBGP.
(config-router)#neighbor 44.44.44.44 updatesource 33.33.33.33Включить соседа с интерфейсом loopback.
(config-router)#address-family vpnv4 unicastПерейти в режим Address-Family-VPNv4.
(config-router-af)#neighbor 44.44.44.44 activateАктивировать соседа RR.
(config-router-af)#exit-address-familyВыйти из режима Address Family и вернуться в режим маршрутизатора.
(config-router)#address-family rtfilter unicastВключить режим адресного семейства RT filter.
(config-router-af)#neighbor 44.44.44.44 activateАктивировать соседа.
(config-router-af)#exit-address-familyВыйти из режима RTfilter Address Family и вернуться в режим маршрутизатора.
(config-router)#address-family ipv4 vrf 3Перейти в режим Address-Family-VRF.
(config-router-af)#neighbor 101.1.1.1 remoteas 200Настроить соседа CE в режиме VRF.
(config-router-af)#neighbor 101.1.1.1 activateАктивировать соседа в VRF.
(config-router-af)#exit-address-familyВыйти из режима Address Family и вернуться в режим маршрутизатора.
(config-router)#address-family ipv4 vrf 4Перейти в режим Address-Family-VRF.
(config-router-af)#neighbor 100.1.1.1 remoteas 200Настроить соседа CE в режиме VRF.
(config-router-af)#neighbor 100.1.1.1 activateАктивировать соседа в VRF.
(config-router-af)#exit-address-familyВыйти из режима Address Family и вернуться в режим маршрутизатора.
(config-router)#endВыйти из режима маршрутизатора и режима конфигурации.
Проверка

Через адресное семейство RTfilter значения RT будут обмениваться между RR и PE. Соседи активируются в этом адресном семействе, а также настраиваются клиенты. RR будет получать маршруты от PE и отправлять их другим PE, если у него есть какой-либо сосед, запрашивающий эти маршруты на основе их значений импорта RT. Ниже приведены выводы, показывающие маршруты, отправленные и полученные на PE, установленные в VRF, а также отображающие значения RT filter, обмененные между ними.

CE1

CE1#show ip bgp
BGP table version is 6, local router ID is 192.160.50.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
l - labeled, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network          Next Hop            Metric    LocPrf       Weight Path
*>   1.1.1.0/24       0.0.0.0             0         100           32768    ?
*>   3.3.3.0/24       0.0.0.0             0         100           32768    ?
*>   4.4.4.0/24       0.0.0.0             0         100           32768    ?
Total number of prefixes 3

PE1

PE1#sh ip bgp vpnv4 all
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, l - labeled               S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network          Next Hop            Metric    LocPrf      Weight Path
Route Distinguisher: 1:100 (Default for VRF 1)
*>   1.1.1.0/24       80.1.1.1             0         100           0       200 ?
*>   3.3.3.0/24       80.1.1.1             0         100           0       200 ?
*>   4.4.4.0/24       80.1.1.1             0         100           0       200 ?
Announced routes count = 3
Accepted routes count = 0
Route Distinguisher: 1:300 (Default for VRF 2)
*>   1.1.1.0/24       90.1.1.1             0         100           0       200 ?
*>   3.3.3.0/24       90.1.1.1             0         100           0       200 ?
*>   4.4.4.0/24       90.1.1.1             0         100           0       200 ?
Announced routes count = 3
Accepted routes count = 0 PE1#
PE1#show ip bgp rtfilter all
RTFilter's Received
*
peer-ip 22.22.22.22 100:2:1:400
RTFilter's Sent
*
peer-ip 22.22.22.22
100:2:1:400 PE1#

RR

RR#sh ip bgp vpnv4 all
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, l - labeled
S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network          Next Hop            Metric    LocPrf      Weight Path
Route Distinguisher: 1:300
*>i  1.1.1.0/24       11.11.11.11          0         100           0       200 ?
*>i  3.3.3.0/24       11.11.11.11          0         100           0       200 ?
*>i  4.4.4.0/24       11.11.11.11          0         100           0       200 ?
Announced routes count = 0
Accepted routes count = 3 RR#
RR#show ip bgp rtfilter all
RTFilter's Received
*
peer-ip 11.11.11.11 100:2:1:400
peer-ip 33.33.33.33 100:2:1:400
RTFilter's Sent
*
peer-ip 11.11.11.11 100:2:1:400
peer-ip 33.33.33.33
100:2:1:400

PE2

PE2#show ip bgp vpnv4 all
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, l - labeled
S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network          Next Hop            Metric    LocPrf      Weight Path
Route Distinguisher: 1:300
*>i  1.1.1.0/24       11.11.11.11          0         100           0       200 ?
*>i  3.3.3.0/24       11.11.11.11          0         100           0       200 ?
*>i  4.4.4.0/24       11.11.11.11          0         100           0       200 ?
Announced routes count = 0
Accepted routes count = 3
Route Distinguisher: 1:900 (Default for VRF 4)
*>i  1.1.1.0/24       11.11.11.11          0         100           0       200 ?
*>i  3.3.3.0/24       11.11.11.11          0         100           0       200 ?
*>i  4.4.4.0/24       11.11.11.11          0         100           0       200 ?
Announced routes count = 0
Accepted routes count = 3 PE2#
PE2#show ip bgp rtfilter all
RTFilter's Received
*
peer-ip 44.44.44.44 100:2:1:400
RTFilter's Sent
*
peer-ip 44.44.44.44
100:2:1:400 PE2#