При организации взаимодействия OSPF PE-CE в сетях BGP/MPLS L3VPN маршруты, полученные PE от CE посредством OSPF, передаются между PE не через OSPF, а посредством MP-BGP VPNv4. При таком способе передачи необходимо сохранить часть информации об исходном OSPF-маршруте, чтобы удалённый PE мог корректно определить его принадлежность к OSPF-домену, исходный тип маршрута и, при необходимости, идентификатор OSPF-маршрутизатора, сгенерировавшего VPNv4 маршрут.
Для передачи этой информации используются специальные OSPF Extended Communities, определённые RFC 4577:
- OSPF Domain Identifier Extended Community;
- OSPF Route Type Extended Community;
- OSPF Router ID Extended Community.
Рисунок 1 - Схема сети
1) OSPF Domain Identifier Extended Communities Attribute
OSPF Domain Identifier Extended Community — идентифицирует OSPF-домен, к которому относится маршрут. PE маршрутизаторы принадлежащие одному домену инсталлируют внутренние для OSPF маршруты (Type 0x01, 0x02, 0x03) как Inter-Area.
Тип и значение OSPF Domain Identifier Extended Community Attribute задаются локально для каждого экземпляра OSPFv2 и добавляются ко всем VPNv4-маршрутам, редистрибутируемым из данного экземпляра OSPFv2 в MP-BGP.
По умолчанию для OSPF instance используется NULL Domain Identifier.
При получении VPNv4-маршрута PE сравнивает локально настроенные тип и значение OSPF Domain Identifier Extended Community Attribute(OSPF domain-id) с типом и значением данного атрибута, полученными вместе с маршрутом в BGP UPDATE.
Если тип и значение совпадают, маршрут редистрибутируется в локальный OSPF instance с учётом информации, содержащейся в OSPF Route Type Extended Community Attribute.
Если тип или значение атрибута не совпадают, VPNv4-маршрут рассматривается как принадлежащий другому OSPF-домену и редистрибутируется в локальный OSPFv2 instance как AS-External маршрут с формированием LSA Type 5 или Type 7.
Конфигурация устройств:
R1 router ospfv2 0 router bgp 65100 neighbor 172.27.72.228 | R2 router ospfv2 0 router bgp 65100 neighbor 172.27.72.226 neighbor 172.27.72.228 | R3 router ospfv2 0 router bgp 65100 neighbor 172.27.72.228 | R4 router ospfv2 0 | R5 router ospfv2 0 | R6 router ospfv2 0 |
|---|
При данной конфигурации устройства R1, R2 и R3 относятся к NULL-домену. Полученные VPNv4-маршруты с типами 0x01, 0x02 и 0x03 обрабатываются как Inter-Area маршруты.
0/ME5200S:R3# show bgp vpnv4 unicast rd 172.27.72.228:65100 172.27.72.229/32
Tue Aug 25 22:57:50 2026
BGP router identifier 172.27.72.230, local AS number 65100
BGP routing table entry for 172.27.72.229/32
Path #0
AS path:
RD 172.27.72.228:65100, 172.27.72.228 from 172.27.72.228 (172.27.72.228), Source VRF: ospf
Received/Local Label: 16/50
Origin incomplete, metric 3, local-pref 100, weight 0, not-tracked, internal, best
Address family: ipv4/vpn
NLRI pathID: 0
Aggregator AS: 0, Address: 0.0.0.0, Atomic aggregate: absent
Extended Community: RT 65100:123 (0.0.0.123), ospf-router-id 172.20.25.7, ospf-route-type area: 0.0.0.0, route-type: 0x2, metric-type: n/a
Is not stale, is not history
Route flap penalty: 0, flap count 0, is not suppressed
Route flap time left: 00:00:00, time start: never
Route is not ECMP
Total entries: 1
0/ME5200S:R3# show bgp vpnv4 unicast rd 172.27.72.226:65100 172.27.72.227/32
Tue Aug 25 22:58:01 2026
BGP router identifier 172.27.72.230, local AS number 65100
BGP routing table entry for 172.27.72.227/32
Path #0
AS path:
RD 172.27.72.226:65100, 172.27.72.226 from 172.27.72.228 (172.27.72.228), Source VRF: ospf
Received/Local Label: 40/74
Origin incomplete, metric 3, local-pref 100, weight 0, not-tracked, internal, best
Address family: ipv4/vpn
NLRI pathID: 0
Aggregator AS: 0, Address: 0.0.0.0, Atomic aggregate: absent
Extended Community: RT 65100:123 (0.0.0.123), ospf-router-id 172.20.25.9, ospf-route-type area: 0.0.0.1, route-type: 0x2, metric-type: n/a
Cluster List: 172.27.72.228
Originator ID: 172.27.72.226
Is not stale, is not history
Route flap penalty: 0, flap count 0, is not suppressed
Route flap time left: 00:00:00, time start: never
Route is not ECMP
Total entries: 1
0/ME5200S:R6#show route ospf
Wed Aug 26 08:35:52 2026
Codes: IA - OSPF inter area, EA - OSPF intra area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
O IA 172.27.72.227/32 via 172.28.71.21 [30/1], 00h00m44s, te0/0/2
O IA 172.27.72.229/32 via 172.28.71.21 [30/1], 03h29m23s, te0/0/2
Далее отнесем R3 и R1 к одному OSPF domain-id и проверим как изменится тип маршрутов для 172.27.72.227, 172.27.72.134 и 172.27.72.229 на R6
0/ME5200S:R3#show running-config router ospfv2
router ospfv2 0
vrf ospf
area 0.0.0.1
interface tengigabitethernet 0/0/3
bfd fast-detect
network point-to-point
exit
exit
domain-id type-0005 value 000000000001 <<< данной командой мы добавляем атрибут ospf-domain к VPNv4 маршрутам
redistribution bgp ospf
exit
exit
exit
0/ME5200S:R1#show running-config router ospfv2
router ospfv2 0
vrf ospf
area 0.0.0.1
interface tengigabitethernet 0/0/1
bfd fast-detect
network point-to-point
exit
exit
domain-id type-0005 value 000000000001 <<< данной командой мы добавляем атрибут ospf-domain к VPNv4 маршрутам
redistribution bgp ospf
exit
exit
exit
0/ME5200S:R3# show bgp vpnv4 unicast rd 172.27.72.226:65100 172.27.72.227/32
Tue Aug 25 21:32:00 2026
BGP router identifier 172.27.72.230, local AS number 65100
BGP routing table entry for 172.27.72.227/32
Path #0
AS path:
RD 172.27.72.226:65100, 172.27.72.226 from 172.27.72.228 (172.27.72.228), Source VRF: ospf
Received/Local Label: 40/74
Origin incomplete, metric 3, local-pref 100, weight 0, not-tracked, internal, best
Address family: ipv4/vpn
NLRI pathID: 0
Aggregator AS: 0, Address: 0.0.0.0, Atomic aggregate: absent
Extended Community: RT 65100:123 (0.0.0.123), ospf-domain 0x5:0x000000000001 <<, ospf-route-type area: 0.0.0.1, route-type: 0x2, metric-type: n/a, ospf-router-id 172.20.25.9
Cluster List: 172.27.72.228
Originator ID: 172.27.72.226
Is not stale, is not history
Route flap penalty: 0, flap count 0, is not suppressed
Route flap time left: 00:00:00, time start: never
Route is not ECMP
Total entries: 1
0/ME5200S:R3# show bgp vpnv4 unicast rd 172.27.72.228:65100 172.27.72.229/32
Tue Aug 25 21:32:03 2026
BGP router identifier 172.27.72.230, local AS number 65100
BGP routing table entry for 172.27.72.229/32
Path #0
AS path:
RD 172.27.72.228:65100, 172.27.72.228 from 172.27.72.228 (172.27.72.228), Source VRF: ospf
Received/Local Label: 16/50
Origin incomplete, metric 3, local-pref 100, weight 0, not-tracked, internal, best
Address family: ipv4/vpn
NLRI pathID: 0
Aggregator AS: 0, Address: 0.0.0.0, Atomic aggregate: absent
Extended Community: RT 65100:123 (0.0.0.123), ospf-router-id 172.27.72.228, ospf-route-type area: 0.0.0.0, route-type: 0x2, metric-type: n/a
Is not stale, is not history
Route flap penalty: 0, flap count 0, is not suppressed
Route flap time left: 00:00:00, time start: never
Route is not ECMP
Total entries: 1
Мы видим, что к VPNv4 маршруту 172.27.72.227/32 добавился ospf-domain атрибут, тогда как у 172.27.72.229/32 его нет. Проверим как это сказалось на обработке маршрута на R4
0/ME5200S:R6# show route ospf
Wed Aug 26 09:30:51 2026
Codes: IA - OSPF inter area, EA - OSPF intra area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
O IA 172.27.72.227/32 via 172.28.71.21 [30/1], 00h55m43s, te0/0/2 <<< При совпадении ospf-domain маршрут установился как inter-area
O E2 172.27.72.229/32 via 172.28.71.21 [110/0], 00h50m35s, te0/0/2 <<< При несовпадении ospf-domain маршрут установился как AS-External
OSPFv2 instance может быть ассоциирован с одним primary и несколькими secondary OSPFv2 доменами.
При экспорте маршрута из OSPFv2 instance в MP-BGP в качестве OSPF Domain Identifier указывается значение Primary Domain ID. При импорте VPNv4-маршрута полученный Domain Identifier сравнивается с локальным Primary Domain ID и настроенными Secondary Domain ID для определения принадлежности маршрута к OSPF-домену.
В качестве примера, укажем на R3 secondary OSPF domain-id атрибут type-0105 value 000000000002, а на R2 primary OSPF domain-id атрибут type-0105 value 000000000002.
0/ME5200S:R3(config-vrf)# show
router ospfv2 0
vrf ospf
area 0.0.0.1
interface tengigabitethernet 0/0/3
bfd fast-detect
network point-to-point
exit
nssa
exit
domain-id secondary type-0105 value 000000000002
domain-id type-0005 value 000000000001
redistribution bgp ospf
exit
exit
exit
0/ME5200S:R2(config-vrf)# show
router ospfv2 0
vrf ospf
area 0.0.0.0
interface tengigabitethernet 0/0/3
bfd fast-detect
network point-to-point
exit
exit
domain-id type-0105 value 000000000002
redistribution bgp ospf
exit
router-id 172.27.72.228
exit
exit
Проверим на R6 тип маршрутов до применения конфигурации и после:
До применения настроек:
0/ME5200S:R6# show route
Wed Aug 26 10:15:24 2026
Codes: C - connected, S - static, O - OSPF, B - BGP, L - local
IA - OSPF inter area, EA - OSPF intra area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2,
LE1 - IS-IS level1 external, LE2 - IS-IS level2 external
BI - BGP internal, BE - BGP external, BV - BGP vpn,
BL - BGP labeled, R - RIP
O IA 172.27.72.227/32 via 172.28.71.21 [30/1], 00h00m38s, te0/0/2
O E2 172.27.72.229/32 via 172.28.71.21 [110/0], 00h00m02s, te0/0/2
После применения:
0/ME5200S:R6# show route
Wed Aug 26 10:17:03 2026
Codes: C - connected, S - static, O - OSPF, B - BGP, L - local
IA - OSPF inter area, EA - OSPF intra area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2,
LE1 - IS-IS level1 external, LE2 - IS-IS level2 external
BI - BGP internal, BE - BGP external, BV - BGP vpn,
BL - BGP labeled, R - RIP
O IA 172.27.72.227/32 via 172.28.71.21 [30/1], 00h02m16s, te0/0/2
O IA 172.27.72.229/32 via 172.28.71.21 [30/1], 00h00m02s, te0/0/2
2) OSPF Route Type Extended Community и OSPF Router ID Extended Community
OSPF Route Type Extended Community — содержит информацию о типе маршрута (Route Type: 0x01, 0x02, 0x03, 0x05, 0x07), номере зоны из которой маршрут был редистрибьюцирован в MP-BGP (Area ID) и набор опций, в котором в настоящее время указывается тип метрики (E1 или Е2) для AS-External маршрутов (Route type: 0x05 и 0x07);
OSPF Router ID Extended Community — содержит информацию о Router ID маршрутизатора PE маршрутизатора, сгенерировавшего данный VPNv4 маршрут.
Маршрутизаторы ME, при экспорте маршрутов из OSPFv2 instance в MP-BGP для всех Intra-Area маршрутов устанавливают Route-Type равный 0x02
0/ME5200S:R3# show bgp vpnv4 unicast rd 172.27.72.230:65100 172.27.76.134/32
Tue Aug 25 22:43:21 2026
BGP router identifier 172.27.72.230, local AS number 65100
BGP routing table entry for 172.27.76.134/32
Path #0
AS path:
RD 172.27.72.230:65100 (172.27.72.230), Source VRF: ospf
Received/Local Label: -/21
Origin incomplete, metric 3, local-pref 100, weight 32768, not-tracked, best
Address family: ipv4/vpn
NLRI pathID: 0
Aggregator AS: 0, Address: 0.0.0.0, Atomic aggregate: absent
Extended Community: RT 65100:123 (0.0.0.123), ospf-domain 0x5:0x000000000001, ospf-route-type area: 0.0.0.1, route-type: 0x2, metric-type: n/a, ospf-router-id 172.20.25.5
Is not stale, is not history
Route flap penalty: 0, flap count 0, is not suppressed
Route flap time left: 00:00:00, time start: never
Route is not ECMP
Total entries: 1
Route Type Extended Community заполнились следующим образом:
1) ospf-route-type area: 0.0.0.1
2) route-type: 0x2, что соответствует intra-area маршруту
3) metric-type: n/a, так как маршрут intra-area
OSPF Router ID Extended Community соответствует 172.20.25.5 - маршрутизатору сгенерировавшему данный маршрут
0/ME5200S:US-STN-ILCH-PE11# show bgp vpnv4 unicast rd 172.27.72.230:65100 172.28.71.22/32 <<< маршрут полученный путем редистрибуции на R6 из таблицы local в ospf:
Tue Aug 25 22:43:16 2026
BGP router identifier 172.27.72.230, local AS number 65100
BGP routing table entry for 172.28.71.22/32
Path #0
AS path:
RD 172.27.72.230:65100 (172.27.72.230), Source VRF: ospf
Received/Local Label: -/21
Origin incomplete, metric 1, local-pref 100, weight 32768, not-tracked, best
Address family: ipv4/vpn
NLRI pathID: 0
Aggregator AS: 0, Address: 0.0.0.0, Atomic aggregate: absent
Extended Community: RT 65100:123 (0.0.0.123), ospf-domain 0x5:0x000000000001, ospf-route-type area: 0.0.0.0, route-type: 0x5, metric-type: E2, ospf-router-id 172.20.25.5
Is not stale, is not history
Route flap penalty: 0, flap count 0, is not suppressed
Route flap time left: 00:00:00, time start: never
Route is not ECMP
Total entries: 1
Route Type Extended Community заполнились следующим образом:
1) ospf-route-type area: 0.0.0.0
2) route-type: 0x5, что соответствует AS-External маршруту
3) metric-type: E2
OSPF Router ID Extended Community соответствует 172.20.25.5 - маршрутизатору сгенерировавшему данный маршрут
