При организации взаимодействия 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
  vrf ospf
    area 0.0.0.1
      interface tengigabitethernet 0/0/1
        bfd fast-detect
        network point-to-point
      exit
    exit
    redistribution bgp ospf
    exit
  exit
exit


router bgp 65100
  address-family vpnv4 unicast
    redistribution ospf ospf_bgp
      match vrf ospf
    exit
  exit

  neighbor 172.27.72.228
    address-family vpnv4 unicast
      next-hop-self
    exit
    remote-as 65100
    send-community
    send-community-ext
    update-source 172.27.72.226
  exit

R2

router ospfv2 0
  vrf ospf
    area 0.0.0.0
      interface tengigabitethernet 0/0/3
        bfd fast-detect
        network point-to-point
      exit
    exit
    redistribution bgp osp
    exit
    router-id 172.27.72.228
  exit
exit

router bgp 65100
  address-family vpnv4 unicast
    redistribution ospf ospf_bgp
      match vrf ospf
    exit

 neighbor 172.27.72.226
    address-family vpnv4 unicast
      route-reflector-client
    exit
    remote-as 65100
    send-community
    send-community-ext
    update-source 172.27.72.228
  exit

 neighbor 172.27.72.228
    address-family vpnv4 unicast
      route-reflector-client
    exit
    remote-as 65100
    send-community
    send-community-ext
    update-source 172.27.72.228
  exit

R3

router ospfv2 0
  vrf ospf
    area 0.0.0.1
      interface tengigabitethernet 0/0/3
        bfd fast-detect
        network point-to-point
      exit
    exit
    redistribution bgp ospf
    exit
  exit
exit

router bgp 65100
  address-family vpnv4 unicast
    redistribution ospf ospf_bgp
      match vrf ospf
    exit
  exit

  neighbor 172.27.72.228
    address-family vpnv4 unicast
      next-hop-self
    exit
    remote-as 65100
    send-community
    send-community-ext
    update-source 172.27.72.230
  exit

R4

router ospfv2 0
  area 0.0.0.1
    interface loopback 0
    exit
    interface tengigabitethernet 0/0/1
      bfd fast-detect
      network point-to-point
    exit
  exit
  router-id 172.27.72.227
exit

R5

router ospfv2 0
  area 0.0.0.0
    interface loopback 0
    exit
    interface tengigabitethernet 0/0/3
      bfd fast-detect
      network point-to-point
    exit
  exit
  router-id 172.27.72.229
exit

R6

router ospfv2 0
  area 0.0.0.1
    interface loopback 0
    exit
    interface tengigabitethernet 0/0/2
      bfd fast-detect
      network point-to-point
    exit
  exit
  router-id 172.27.76.134
exit

При данной конфигурации устройства 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

Сравнение атрибутов Route Type Extended Community
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 - маршрутизатору сгенерировавшему данный маршрут


  • Нет меток