Coexistencia de rutas EVPN tipo 2 y tipo 5 con EVPN-VXLAN
RESUMEN Descubra cómo un dispositivo en una estructura EVPN-VXLAN da preferencia a una ruta EVPN tipo 2 o EVPN tipo 5 cuando el dispositivo aprende y anuncia ambos tipos de rutas.
Un dispositivo en una estructura de puente de enrutamiento de borde EVPN-VXLAN importa y anuncia rutas MAC+IP de EVPN tipo 2 de forma predeterminada. También puede configurar el dispositivo para importar y anunciar rutas de prefijo IP EVPN tipo 5. El dispositivo trata cualquier tipo de ruta como una ruta única, incluso cuando corresponde al mismo host de destino. Cada ruta de host IP única utiliza un próximo salto dedicado en el motor de reenvío de paquetes (PFE). Como resultado, tener ambos tipos de rutas habilitadas juntas ejerce presión sobre los recursos del próximo salto del PFE. Además, el tráfico generalmente fluye de manera más eficiente si el dispositivo usa un tipo de ruta sobre el otro en ciertos casos.
A partir de Junos OS versión 21.2R1, cuando el dispositivo tiene ambos tipos de rutas juntas en una instancia de enrutamiento para el mismo destino, utiliza un algoritmo de preferencias para elegir la ruta preferida para almacenar.
Beneficios
-
Admite una mayor escalabilidad en estructuras de puente con enrutamiento de borde, ya que el algoritmo de preferencias reduce los requisitos de recursos del próximo salto en el PFE.
-
Mejora el rendimiento del puente eligiendo la ruta más eficiente para las rutas IP de host aprendidas localmente (Tipo 2) en un segmento de Ethernet.
-
Admite un mayor escalado con rutas EVPN de tipo 5, a la vez que habilita la supresión de ARP y el ARP de proxy en la estructura mediante rutas de tipo 2. Las rutas de tipo 2 llevan la información de dirección MAC del dispositivo perimetral del cliente (CE) necesaria para que el ARP del proxy funcione.
Algoritmo de preferencias de coexistencia de tipo 2 y tipo 5 de EVPN
En una estructura EVPN-VXLAN, los dispositivos utilizan rutas de tipo 2 de forma predeterminada. Debe habilitar explícitamente que el dispositivo también importe y anuncie rutas de EVPN tipo 5 en una instancia de enrutamiento y reenvío virtual (VRF). Para habilitar rutas de tipo 5 y el algoritmo de preferencias de coexistencia, configure la ip-prefix-routes
instrucción en el nivel de [edit routing-instances name protocols evpn]
jerarquía.
Con las rutas de tipo 5 habilitadas, el dispositivo puede aprender una dirección de host IP de una ruta MAC + IP de tipo 2 para la que también tiene una ruta de tipo 5 para el mismo prefijo. En ese caso, el dispositivo utiliza el algoritmo de preferencia de coexistencia para elegir solo una de las dos rutas para almacenar como ruta preferida.
El algoritmo de preferencias funciona de la siguiente manera:
-
Para cualquier destino para el que el dispositivo no tenga una ruta de tipo 5, el dispositivo utiliza rutas de tipo 2.
-
Si el dispositivo tiene una ruta de tipo 5 con un prefijo coincidente para una ruta de tipo 2 de ESI local, instala la ruta de tipo 2.
-
De lo contrario, el dispositivo prefiere la ruta Tipo 5 para todos los demás destinos.
Con este algoritmo, los dispositivos EVPN-VXLAN generalmente prefieren rutas de tipo 5 para el tráfico en o entre centros de datos y en o entre VLAN (dominios de puente). Las rutas de tipo 5 son ideales para el enrutamiento de superposición de VXLAN. Sin embargo, un dispositivo puede reenviar paquetes de manera más eficiente utilizando rutas Tipo 2 en algunos casos. Un ejemplo es cuando el dispositivo aprende rutas MAC+IP de tipo 2 para destinos que solo necesita unir localmente. El algoritmo de preferencia explica ese caso.
El dispositivo no utiliza acciones de hacer antes de interrumpir (MBB) para ajustar las rutas preferidas debido a actualizaciones de configuración. Al realizar un cambio de preferencia de ruta en este caso, el dispositivo primero elimina la ruta no preferida y, a continuación, agrega la nueva ruta preferida. Algunos ejemplos de cambios en la configuración que pueden provocar cambios de preferencias son:
- Si no habilitó rutas de tipo 5 y, a continuación, habilitó rutas de tipo 5.
- Cuando configura un ESI localmente, en cuyo caso el dispositivo prefiere la ruta MAC+IP Tipo 2.
Opciones de ruta de tipo 5 y opciones de política
En la configuración de EVPN-VXLAN, utilice una de estas opciones del modo de publicidad con la instrucción cuando habilite rutas ip-prefix-routes
de tipo 5:
advertise direct-nexthop
—Con esta opción, el dispositivo anuncia todas las rutas que no son host para un VRF como anuncios de tipo 5.advertise gateway-address
: con esta opción, el dispositivo solo anuncia prefijos para las interfaces IRB para las instancias de EVPN extendidas y los dominios de puente.
También puede incluir opciones de políticas en la configuración de ruta EVPN-VXLAN Tipo 5 para refinar las rutas que el dispositivo realmente importa o anuncia.
Por ejemplo, puede definir:
-
Una política para exportar todas las rutas locales y rutas EVPN, como la siguiente:
set policy-options policy-statement type5_export_policy term 1 from protocol local set policy-options policy-statement type5_export_policy term 1 then accept set policy-options policy-statement type5_export_policy term 2 from protocol evpn set policy-options policy-statement type5_export_policy term 2 from route-filter 0.0.0.0/0 prefix-length-range /32-/32 set policy-options policy-statement type5_export_policy term 2 then accept set policy-options policy-statement type5_export_policy term 3 from protocol evpn set policy-options policy-statement type5_export_policy term 3 from route-filter 00:00:00:00:00:00:00:00/0 prefix-length-range /128-/128 set policy-options policy-statement type5_export_policy term 3 then accept
-
Una directiva que solo anuncia rutas para prefijos o direcciones de host específicas, como los siguientes:
set policy-options policy-statement type5_policy term 1 from protocol local set policy-options policy-statement type5_policy term 1 from route-filter 10.0.2.0/24 orlonger set policy-options policy-statement type5_policy term 1 then accept set policy-options policy-statement type5_policy term 2 from protocol local set policy-options policy-statement type5_policy term 2 from route-filter 2001::192:101:1:100/48 orlonger set policy-options policy-statement type5_policy term 2 then accept
-
Una directiva que filtra y no importa rutas para prefijos o direcciones de host específicas, como los siguientes:
set policy-options policy-statement type5_import_policy term 1 from protocol bgp set policy-options policy-statement type5_import_policy term 1 from route-filter 10.0.2.0/24 orlonger set policy-options policy-statement type5_import_policy term 1 then reject set policy-options policy-statement type5_import_policy term 2 from protocol bgp set policy-options policy-statement type5_import_policy term 2 from route-filter 2001::192:101:1:100/48 orlonger set policy-options policy-statement type5_import_policy term 2 then reject
Incluya las opciones de directiva deseadas en su ip-prefix-routes
configuración. Por ejemplo:
set routing-instances vrf1 protocols evpn ip-prefix-routes advertise direct-nexthop set routing-instances vrf1 protocols evpn ip-prefix-routes encapsulation vxlan set routing-instances vrf1 protocols evpn ip-prefix-routes vni 100 set routing-instances vrf1 protocols evpn ip-prefix-routes import type5_import_policy set routing-instances vrf1 protocols evpn ip-prefix-routes export type5_export_policy set routing-instances vrf1 instance-type vrf set routing-instances vrf1 interface irb.1 set routing-instances vrf1 interface irb.2 set routing-instances vrf1 route-distinguisher 192.168.0.1:100 set routing-instances vrf1 vrf-target target:100:200
Comandos de CLI para verificar el tipo de ruta preferido
Puede usar los comandos de CLI de esta sección para ver el tipo de ruta preferido.
- Mostrar tabla MAC-IP de conmutación Ethernet
- mostrar tabla de reenvío de rutas
- Mostrar tabla de rutas
Mostrar tabla MAC-IP de conmutación Ethernet
El comando show ethernet-switching mac-ip-table CLI muestra el valor RTS
en la columna MAC IP flags cuando el conmutador "omite" la adición de una ruta aprendida de tipo 2. Este valor significa que el dispositivo prefiere una ruta de tipo 5 con un prefijo coincidente. El comando muestra la definición Dest Route Skipped
del valor RTS
en la parte superior de la salida.
El comando muestra los resultados de todas las VLAN (dominios de puente) de forma predeterminada. También puede especificar una VLAN (dominio de puente) determinada. De forma predeterminada, el comando muestra información para la instancia del modificador predeterminado. También puede usar otras opciones de línea de comandos para mostrar los resultados de una instancia de enrutamiento específica si el dispositivo tiene varias instancias de enrutamiento.
La siguiente salida de ejemplo muestra la información de la tabla MAC+IP para la instancia del conmutador predeterminado en la que el dispositivo prefirió las rutas de tipo 5 para algunos destinos:
user@device> show ethernet-switching mac-ip-table MAC IP flags (S - Static, D - Dynamic, L - Local , R - Remote, Lp - Local Proxy, Rp - Remote Proxy, K - Kernel, RT - Dest Route, (N)AD - (Not) Advt to remote, RE - Re-ARP/ND, RO - Router, OV - Override, Ur - Unresolved, RTS - Dest Route Skipped, RGw - Remote Gateway) Routing instance : default-switch Bridging domain : v1 IP MAC Flags Logical Active address address Interface source 10.1.1.254 10:10:10:00:00:01 S,K irb.1 2001:db8::a:1:1:fffe 20:20:20:00:00:01 S,K,RTS irb.1 10.1.1.2 c8:e7:f0:4b:d1:00 DR,K,RTS vtep.32769 192.168.22.22 2001:db8::a:1:1:2 c8:e7:f0:4b:d1:00 DR,K,RTS vtep.32769 192.168.22.22 fe80::cae7:f000:14b:d100 c8:e7:f0:4b:d1:00 DR,K,RT vtep.32769 192.168.22.22 10.1.1.1 dc:38:e1:e0:30:c0 S,K irb.1 2001:db8::a:1:1:1 dc:38:e1:e0:30:c0 S,K irb.1 fe80::de38:e100:1e0:30c0 dc:38:e1:e0:30:c0 S,K irb.1 MAC IP flags (S - Static, D - Dynamic, L - Local , R - Remote, Lp - Local Proxy, Rp - Remote Proxy, K - Kernel, RT - Dest Route, (N)AD - (Not) Advt to remote, RE - Re-ARP/ND, RO - Router, OV - Override, Ur - Unresolved, RTS - Dest Route Skipped, RGw - Remote Gateway) Routing instance : default-switch Bridging domain : v2 IP MAC Flags Logical Active address address Interface source 10.1.2.254 10:10:10:00:00:02 S,K,RTS irb.2 2001:db8::a:1:2:fffe 20:20:20:00:00:02 S,K,RTS irb.2 10.1.2.2 c8:e7:f0:4b:d1:00 DR,K,RTS vtep.32769 192.168.22.22 2001:db8::a:1:2:2 c8:e7:f0:4b:d1:00 DR,K,RTS vtep.32769 192.168.22.22 fe80::cae7:f000:24b:d100 c8:e7:f0:4b:d1:00 DR,K,RT vtep.32769 192.168.22.22 10.1.2.1 dc:38:e1:e0:30:c0 S,K irb.2 2001:db8::a:1:2:1 dc:38:e1:e0:30:c0 S,K irb.2 fe80::de38:e100:2e0:30c0 dc:38:e1:e0:30:c0 S,K irb.2
Con la extensive
opción, el show ethernet-switching mac-ip-table
comando incluye el valor dest_route_skipped
en la MAC IP flags
fila. El siguiente comando muestra la información de la tabla MAC+IP para la dirección MAC c8:e7:f0:4b:d1:00:
user@device> show ethernet-switching mac-ip-table extensive c8:e7:f0:4b:d1:00 IP address: 10.1.1.2 MAC address: c8:e7:f0:4b:d1:00 Routing instance: default-switch Bridging domain: v1 Logical interface: vtep.32769 IP MAC Flags Logical Active address address Interface source 192.168.22.22 MAC-IP local mask: 0x0000000000000000 MAC-IP remote mask: 0x0000000000000000 MAC-IP remote-proxy mask: 0x0000000000000000 MAC-IP RPD flags: 0x08000081 MAC-IP flags: remote,kernel,dest_route_skipped IP address: 2001:db8::a:1:1:2 MAC address: c8:e7:f0:4b:d1:00 Routing instance: default-switch Bridging domain: v1 Logical interface: vtep.32769 IP MAC Flags Logical Active address address Interface source 192.168.22.22 MAC-IP local mask: 0x0000000000000000 MAC-IP remote mask: 0x0000000000000000 MAC-IP remote-proxy mask: 0x0000000000000000 MAC-IP RPD flags: 0x08000101 MAC-IP flags: remote,kernel,dest_route_skipped IP address: fe80::cae7:f000:14b:d100 MAC address: c8:e7:f0:4b:d1:00 Routing instance: default-switch Bridging domain: v1 Logical interface: vtep.32769 IP MAC Flags Logical Active address address Interface source 192.168.22.22 MAC-IP local mask: 0x0000000000000000 MAC-IP remote mask: 0x0000000000000000 MAC-IP remote-proxy mask: 0x0000000000000000 MAC-IP RPD flags: 0x08000101 MAC-IP flags: remote,kernel,dest_route IP address: 10.1.2.2 MAC address: c8:e7:f0:4b:d1:00 Routing instance: default-switch Bridging domain: v2 Logical interface: vtep.32769 IP MAC Flags Logical Active address address Interface source 192.168.22.22 MAC-IP local mask: 0x0000000000000000 MAC-IP remote mask: 0x0000000000000000 MAC-IP remote-proxy mask: 0x0000000000000000 MAC-IP RPD flags: 0x08000081 MAC-IP flags: remote,kernel,dest_route_skipped IP address: 2001:db8::a:1:2:2 MAC address: c8:e7:f0:4b:d1:00 Routing instance: default-switch Bridging domain: v2 Logical interface: vtep.32769 IP MAC Flags Logical Active address address Interface source 192.168.22.22 MAC-IP local mask: 0x0000000000000000 MAC-IP remote mask: 0x0000000000000000 MAC-IP remote-proxy mask: 0x0000000000000000 MAC-IP RPD flags: 0x08000101 MAC-IP flags: remote,kernel,dest_route_skipped IP address: fe80::cae7:f000:24b:d100 MAC address: c8:e7:f0:4b:d1:00 Routing instance: default-switch Bridging domain: v2 Logical interface: vtep.32769 IP MAC Flags Logical Active address address Interface source 192.168.22.22 MAC-IP local mask: 0x0000000000000000 MAC-IP remote mask: 0x0000000000000000 MAC-IP remote-proxy mask: 0x0000000000000000 MAC-IP RPD flags: 0x08000101 MAC-IP flags: remote,kernel,dest_route
mostrar tabla de reenvío de rutas
El comando show route forwarding-table CLI muestra cuándo el dispositivo usa una ruta local de tipo 5 en lugar de una ruta de tipo 2 aprendida para un destino. En este caso, cuando se incluye la extensive
opción, el resultado incluye las palabras clave VxLAN Local
en el Flags
campo. Esta bandera significa que la ruta es una ruta Tipo 5.
Por ejemplo:
user@device> show route forwarding-table destination 10.1.1.2 table vrf1 extensive Routing table: vrf1.inet [Index 8] Internet: Destination: 10.1.1.2/32 Route type: user Route reference: 0 Route interface-index: 0 Multicast RPF nh index: 0 P2mpidx: 0 Flags: sent to PFE, prefix load balance , VxLAN Local Nexthop: Next-hop type: composite Index: 1799 Reference: 3 Next-hop type: indirect Index: 524291 Reference: 2 Nexthop: 10.0.0.2 Next-hop type: unicast Index: 1796 Reference: 3 Next-hop interface: xe-0/0/11.0
Mostrar tabla de rutas
El comando show route table CLI con la opción extensive incluye la palabra clave VxlanLocalRT
en el campo de State
salida de una ruta de tipo 5.
Este es un ejemplo usando la sintaxis show route destination-prefix table table-name extensive
. Este comando muestra que el dispositivo instaló una ruta de tipo 5 para el prefijo IP de destino 10.1.1.2 en la tabla de enrutamiento para la instancia de enrutamiento vrf1:
user@device> show route 10.1.1.2 table vrf1.inet.0 extensive vrf1.inet.0: 14 destinations, 18 routes (14 active, 0 holddown, 0 hidden) 10.1.1.2/32 (1 entry, 1 announced) TSI: KRT in-kernel 10.1.1.2/32 -> {composite(1799)} *EVPN Preference: 170/-101 Next hop type: Indirect, Next hop index: 0 Address: 0x6d06abc Next-hop reference count: 6 Next hop type: Router, Next hop index: 1796 Next hop: 10.0.0.2 via xe-0/0/11.0, selected Label element ptr: 0x83f82d8 Label parent element ptr: 0x0 Label element references: 1 Label element child references: 0 Label element lsp id: 0 Session Id: 0x0 Protocol next hop: 192.168.22.22 Composite next hop: 0x66fc1b0 1799 INH Session ID: 0x0 VXLAN tunnel rewrite: MTU: 0, Flags: 0x0 Encap table ID: 0, Decap table ID: 8 Encap VNI: 100, Decap VNI: 100 Source VTEP: 192.168.11.11, Destination VTEP: 192.168.22.22 SMAC: dc:38:e1:e0:30:c0, DMAC: c8:e7:f0:4b:d1:00 Indirect next hop: 0x6df0e84 524291 INH Session ID: 0x0 State: <Active Int Ext VxlanLocalRT> Age: 5:10:00 Metric2: 1 Validation State: unverified Task: vrf1-EVPN-L3-context Announcement bits (1): 2-KRT AS path: I Communities: target:100:200 encapsulation:vxlan(0x8) router-mac:c8:e7:f0:4b:d1:00 Thread: junos-main Composite next hops: 1 Protocol next hop: 192.168.22.22 Metric: 1 Composite next hop: 0x66fc1b0 1799 INH Session ID: 0x0 VXLAN tunnel rewrite: MTU: 0, Flags: 0x0 Encap table ID: 0, Decap table ID: 8 Encap VNI: 100, Decap VNI: 100 Source VTEP: 192.168.11.11, Destination VTEP: 192.168.22.22 SMAC: dc:38:e1:e0:30:c0, DMAC: c8:e7:f0:4b:d1:00 Indirect next hop: 0x6df0e84 524291 INH Session ID: 0x0 Indirect path forwarding next hops: 1 Next hop type: Router Next hop: 10.0.0.2 via xe-0/0/11.0 Session Id: 0x0 192.168.22.22/32 Originating RIB: inet.3 Metric: 1 Node path count: 1 Forwarding nexthops: 1 Next hop type: Router Next hop: 10.0.0.2 via xe-0/0/11.0 Session Id: 0x0