BGP EVPN: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 56: Строка 56:
 
Первый известен как MP_REACH_NLRI, который имеет следующую структуру:
 
Первый известен как MP_REACH_NLRI, который имеет следующую структуру:
 
[AFI/SAFI] + [NEXT_HOP] + [NLRI]
 
[AFI/SAFI] + [NEXT_HOP] + [NLRI]
  +
NEXT_HOP и NLRI выполнены в формате, который определён протоколом, закодированным в
NEXT_HOP и NLRI выполнены в формате, который определён протоколом, закодированным в AFI/SAFI (Address Family Identifier и Subsequent Address Family Identifier, соответственно). К примеру, это может быть IPv4 префикс или CLNS. Таким образом, вся информация о не-IPv4 префиксах закодирована в новом BGP Path Attribute. Типовое сообщение BGP Update, которое несёт MP_REACH_NLRI, не содержит в себе "классического" атрибута NEXT_HOP, Withdrawn Prefixes или NLRI, которые можно найти в обычном UPDATE-сообщении. Для расчёта next-hop маршрутизатору следует использовать информацию из атрибута MP_REACH_NLRI. Тем не менее, MP-BGP UPDATE может нести остальные атрибуты BGP, такие как AS_PATH, ORIGIN, MED, LOCAL_PREF и т.д. Однако в этом случае атрибуты относятся к не-IPv4 префиксам из MP_REACH_NLRI.
 
  +
AFI/SAFI (Address Family Identifier и Subsequent Address Family Identifier, соответственно).
Формат второго атрибута, MP_UNREACH_NLRI, похож на формат MP_REACH_NLRI; он перечисляет те маршруты MP-BGP, которые подлежат удалению. Другие атрибуты для этого не нужны, поэтому сообщение UPDATE может состоять только из MP_UNREACH_NLRI.
 
  +
<BR>
  +
К примеру, это может быть IPv4 префикс или CLNS.(CLNS (Connectionless Network Service) — протокол 3го уровня в стеке OSI, для передачи данных без установления соединения.)
   
  +
Таким образом, вся информация о не-IPv4 префиксах закодирована в новом BGP Path Attribute.
Список поддерживаемых AFI можно найти в RFC 1700 (несмотря на то, что он устарел, в нем можно найти много полезной информации). К примеру, AFI = 1 означает IPv4, AFI = 2 относится к IPv6 и т.д. Subsequent AFI нужны для уточнения назначения префиксов из MP_REACH_NLRI. Например, SAFI = 1 обозначает unicast-маршруты, префиксы из SAFI = 2 предназначены для проверок RPF, а SAFI = 3 позволяет использовать префикс для обеих целей. Другой важный SAFI – SAFI = 128, который означает MPLS labeled VPN маршрут.
 
  +
Типовое сообщение BGP Update, которое несёт MP_REACH_NLRI, не содержит в себе "классического" атрибута NEXT_HOP,
  +
Withdrawn Prefixes или NLRI, которые можно найти в обычном UPDATE-сообщении.
  +
Для расчёта next-hop маршрутизатору следует использовать информацию из атрибута MP_REACH_NLRI.
  +
Тем не менее, MP-BGP UPDATE может нести остальные атрибуты BGP, такие как AS_PATH, ORIGIN, MED, LOCAL_PREF и т.д.
  +
Однако в этом случае атрибуты относятся к не-IPv4 префиксам из MP_REACH_NLRI.
   
  +
Формат второго атрибута, MP_UNREACH_NLRI, похож на формат MP_REACH_NLRI;
Напоминание: процесс BGP вычисляет лучший путь, сравнивая атрибуты для каждого семейства маршрутов (пара AFI/SAFI) независимо. Поскольку конкретный маршрутизатор может и не поддерживать определённые сетевые протоколы, список доступных AFI/SAFI должен быть обьявлен через BGP capabilities (ещё одно расширение BGP). Маршрутная информация для сетевого протокола может быть передана по MP-BGP только в том случае, если оба маршрутизатора анонсируют поддержку этого протокола.
 
  +
он перечисляет те маршруты MP-BGP, которые подлежат удалению.
 
Другие атрибуты для этого не нужны, поэтому сообщение UPDATE может состоять только из MP_UNREACH_NLRI.
   
  +
Список поддерживаемых AFI можно найти в RFC 1700 (несмотря на то, что он устарел, в нем можно найти много полезной информации).
 
  +
* К примеру, AFI = 1 означает IPv4,
Обзор MDT SAFI
 
  +
* AFI = 2 относится к IPv6 и т.д.
Cisco описала в черновике RFC новый SAFI, который может быть использован с обычным AFI, таким как IPv4 или IPv6. Этот SAFI нужен для передачи адреса MDT-группы, а также адресов loopback соответствующих PE. Формат для AFI = 1 (IPv4) следующий:
 
  +
Subsequent AFI нужны для уточнения назначения префиксов из MP_REACH_NLRI.
MP_NLRI = [RD:PE’s IPv4 Address]:[MDT Group Address]
 
  +
Например,
MP_NEXT_HOP = [BGP Peer IPv4 Address]
 
  +
SAFI = 1 обозначает unicast-маршруты,
 
  +
префиксы из SAFI = 2 предназначены для проверок RPF, а
Значение RD берётся из VRF, который использует MDT, а "IPv4 address" – адрес loopback соответствующего PE.
 
  +
SAFI = 3 позволяет использовать префикс для обеих целей.
 
  +
<BR>
По правилам Cisco это обычно тот же loopback, который используют для установления VPNv4-сессии,
 
  +
Другой важный SAFI – SAFI = 128, который означает MPLS labeled VPN маршрут.
однако его можно и изменить командой bgp next-hop уровня VRF.
 
  +
<BR>
 
  +
Напоминание: процесс BGP вычисляет лучший путь, сравнивая атрибуты для каждого семейства маршрутов (пара AFI/SAFI) независимо.
Если все PE из локальной AS обменяются такой информацией и передадут её PIM SSM, то процесс P-PIM (Provider PIM, который смотрит в ядро провайдера)
 
  +
Поскольку конкретный маршрутизатор может и не поддерживать определённые сетевые протоколы, список доступных AFI/SAFI должен быть обьявлен через BGP capabilities
сможет построить (S,G) дерево для группы MDT в сторону IPv4 адресов других PE. Это возможно благодаря тому, что адреса всех PE известны через IGP, так как все PE находятся в одной AS. В таком случае не должно возникнуть каких-либо проблем с intra-AS mVPN + PIM-SSM из-за BGP-free ядра сети. Стоит отметить, что предшественником SAFI был специальный extended community в VPNv4 AF. MP-BGP использовал значение RD, равное 2 (невозможно в unicast VRF), для передачи адреса соответствующего PE, тогда как community переносил адрес MDT-группы. Это позволило передавать информацию для автонастройки сети в рамках одной AS, так как extended community был non-transitive.
 
  +
(ещё одно расширение BGP).
 
  +
<BR>
Черновик MDT SAFI пришёл на смену этому временному решению.
 
  +
Маршрутная информация для сетевого протокола может быть передана по MP-BGP только в том случае, если оба маршрутизатора анонсируют поддержку этого протокола.
 
Теперь представим ситуацию Inter-AS VPN, где хотя бы одна AS использует BGP-free ядро.
 
Как только соседние автономные системы активируют IPv4 MDT SAFI, ASBR обменяются между собой всей информацией, полученной от PE, а затем распространят её в своей AS. После этого процесс P-PIM попробует построить (S,G)-дерево до IP-адресов PE, находящихся в другой AS. Несмотря на то, что PE могут знать адреса PE из соседних AS (например, в случае Inter-AS VPN Option C), P-маршрутизаторы не обладают такой информацией. В случае же Inter-AS VPN Option B даже у PE-маршрутизаторов не будет достаточно информации для построения (S,G)-дерева.
 
   
 
=Ссылки=
 
=Ссылки=

Версия 15:40, 10 февраля 2025

Это страничка с терминологией которую нужно запомнить для понимание EVPN

Термины

MP-BGP

MP-BGP (MultiProtocol-BGP) - расширение протокола BGP, при котором есть возможность передавать другие AFI/SAFI.

По сути MP-BGP может работать со многими address family. Информация об address-family передается в полях AFI/SAFI.

AFI

AFI - Address Family Identifier - идентификатор семейства адресов

NLRI

  • Network Layer Reachability Information (NLRI) - информация о самих префиксах

MP_REACH_NLRI

  • Для других AFI/SAFI (которых не было в изначальном стандарте BGP)

появляется специальный Path Attribute - MP_REACH_NLRI, в котором уже описан NLRI.
Все эти моменты описаны в RFC-4760 (но кто читает RFC)

SAFI

SAFI - Subsequent Address Family Identifier - последующий идентификатор семейства адресов Вот пример, какие семейства AFI/SAFI есть в BGP (их больше сейчас уже на самом деле) 01-BGP-afi-safi.jpg

Следует обратить внимание, что для

  • AFI/SAFI = 1/1 - ipv4 unicast раздел NLRI в структуре сообщения находится на одном уровне с "Path Attributes",
  • а для других AFI/SAFI появляется специальный Path Attribute - MP_REACH_NLRI, в котором уже описан NLRI.


Все эти моменты описаны в RFC-4760

02-bgp-mpbgp-vs-bgp.jpg

MP-BGP

Вспомним формат сообщения BGP UPDATE в его классическом варианте:

[Withdrawn prefixes (опционально)] + [Path Attributes] + [NLRI]

Withdrawn prefixes и NLRI содержат префиксы IPv4, и их структура не
подразумевает поддержку иных протоколов.

Path attributes (например, AS_PATH, ORIGIN, LOCAL_PREF, NEXT_HOP) привязаны к NLRI; префиксы с разными наборами аттрибутов необходимо передавать разными UPDATE. Также стоит отметить, что NEXT_HOP – это IPv4 адрес.

Чтобы реализовать в BGP поддержку протоколов, отличных от IPv4, были добавлены два новых transitive атрибута.

Первый известен как MP_REACH_NLRI, который имеет следующую структуру: [AFI/SAFI] + [NEXT_HOP] + [NLRI] NEXT_HOP и NLRI выполнены в формате, который определён протоколом, закодированным в AFI/SAFI (Address Family Identifier и Subsequent Address Family Identifier, соответственно).
К примеру, это может быть IPv4 префикс или CLNS.(CLNS (Connectionless Network Service) — протокол 3го уровня в стеке OSI, для передачи данных без установления соединения.)

Таким образом, вся информация о не-IPv4 префиксах закодирована в новом BGP Path Attribute. Типовое сообщение BGP Update, которое несёт MP_REACH_NLRI, не содержит в себе "классического" атрибута NEXT_HOP, Withdrawn Prefixes или NLRI, которые можно найти в обычном UPDATE-сообщении. Для расчёта next-hop маршрутизатору следует использовать информацию из атрибута MP_REACH_NLRI. Тем не менее, MP-BGP UPDATE может нести остальные атрибуты BGP, такие как AS_PATH, ORIGIN, MED, LOCAL_PREF и т.д. Однако в этом случае атрибуты относятся к не-IPv4 префиксам из MP_REACH_NLRI.

Формат второго атрибута, MP_UNREACH_NLRI, похож на формат MP_REACH_NLRI; он перечисляет те маршруты MP-BGP, которые подлежат удалению. Другие атрибуты для этого не нужны, поэтому сообщение UPDATE может состоять только из MP_UNREACH_NLRI.

Список поддерживаемых AFI можно найти в RFC 1700 (несмотря на то, что он устарел, в нем можно найти много полезной информации).

  • К примеру, AFI = 1 означает IPv4,
  • AFI = 2 относится к IPv6 и т.д.

Subsequent AFI нужны для уточнения назначения префиксов из MP_REACH_NLRI. Например, SAFI = 1 обозначает unicast-маршруты, префиксы из SAFI = 2 предназначены для проверок RPF, а SAFI = 3 позволяет использовать префикс для обеих целей.
Другой важный SAFI – SAFI = 128, который означает MPLS labeled VPN маршрут.
Напоминание: процесс BGP вычисляет лучший путь, сравнивая атрибуты для каждого семейства маршрутов (пара AFI/SAFI) независимо. Поскольку конкретный маршрутизатор может и не поддерживать определённые сетевые протоколы, список доступных AFI/SAFI должен быть обьявлен через BGP capabilities (ещё одно расширение BGP).
Маршрутная информация для сетевого протокола может быть передана по MP-BGP только в том случае, если оба маршрутизатора анонсируют поддержку этого протокола.

Ссылки