Equilibrio de carga en VPN de capa 3
Equilibrio de carga de VPN por paquete
De forma predeterminada, cuando hay varias rutas de igual costo al mismo destino para la ruta activa, el software Junos OS utiliza un algoritmo hash para seleccionar una de las direcciones de salto siguiente que se instalarán en la tabla de reenvío. Cada vez que cambia el conjunto de próximos saltos para un destino, este proceso de selección (con el mismo algoritmo hash) se repite para elegir la mejor dirección de salto siguiente con el mismo algoritmo hash.
Como alternativa, puede configurar el software Junos OS para extender el tráfico VPN a través de varias rutas válidas entre dispositivos PE. Esta función se denomina equilibrio de carga por paquete. El equilibrio de carga del tráfico VPN solo es posible cuando hay más de una ruta válida disponible. Puede configurar Junos OS para que, para la ruta activa, todas las direcciones del próximo salto de un destino se instalen en la tabla de reenvío. Además de aumentar el volumen de tráfico que puede enviar entre dispositivos VPN, puede configurar el equilibrio de carga por paquete para optimizar los flujos de tráfico en varias rutas.
El tráfico se distribuye a través de varias rutas válidas mediante la ejecución de un algoritmo hash en varios elementos de la ruta, como la etiqueta MPLS o la dirección de destino. En las siguientes tablas se describe cómo se ejecuta el algoritmo hash de equilibrio de carga en rutas en el enrutador de entrada y en los enrutadores de tránsito y salida. Los elementos de ruta utilizados por el algoritmo hash varían según la aplicación VPN. Si Junos OS encuentra un conjunto de S-bit en 1 (que indica la parte inferior de la pila), no aplica el algoritmo hash más adelante.
Aplicación |
Interfaz lógica de entrada |
Etiquetas MPLS |
Direcciones MAC de origen y destino |
Reordenación y riesgo de separación de flujo |
Desactivar palabra de control |
IP (dirección y puerto de origen/destino, protocolo) |
---|---|---|---|---|---|---|
VPN de capa 2 y circuitos de capa 2 configurados con CCC |
Sí |
Sí |
No |
Sí (si los datos son variables, por ejemplo ATM) |
Sí |
N/A |
VPN de capa 2 y circuitos de capa 2 configurados con TCC |
Sí |
Sí |
No |
Sí (si los datos son variables, por ejemplo ATM) |
Sí |
N/A |
VPN de capa 3 y RIB IPv4 o IPv6 |
Sí |
No |
No |
No |
No |
Sí |
VPLS |
Sí |
No |
Sí |
No |
No |
Sí |
Aplicación |
Interfaz lógica de entrada |
Etiquetas MPLS (hasta 3 y el bit S se establece en 1) |
Reordenación y riesgo de separación de flujo |
IP (dirección y puerto de origen/destino, protocolo) |
---|---|---|---|---|
VPN de capa 2 y circuitos de capa 2 configurados con CCC |
Sí |
Sí |
No |
No |
VPN de capa 2 y circuitos de capa 2 configurados con TCC |
Sí |
Sí |
No |
Sí |
VPN de capa 3 y RIB IPv4 o IPv6 |
Sí |
Sí |
No |
Sí |
VPLS |
Sí |
Sí para el tráfico de unidifusión conocido No para tráfico de difusión, unidifusión desconocida y multidifusión |
No |
No |
Equilibrio de carga y filtrado de encabezado IP para VPN de capa 3
Ahora puede habilitar simultáneamente tanto el equilibrio de carga del tráfico en rutas BGP internas como externas y el filtrado del tráfico según el encabezado IP. Esto le permite configurar filtros y agentes de policía en el enrutador de PE de salida para el tráfico que se equilibra simultáneamente en la carga en rutas BGP internas y externas. Esta función solo está disponible en el enrutador M120, el enrutador M320, los enrutadores serie MX y los enrutadores serie T.
Para habilitar estas características en una instancia de enrutamiento VPN de capa 3, incluya la vpn-unequal-cost equal-external-internal
instrucción en el [edit routing-instances routing-instance-name routing-options multipath]
nivel de jerarquía y la vrf-table-label
instrucción en el [edit routing-instances routing-instance-name]
nivel de jerarquía.
Si ejecuta el show route detail
comando, puede descubrir si una ruta está siendo equilibrada de carga (igual a externa interna) y cuál es su índice de interfaz.
Si también ha configurado un reenrutamiento rápido, tenga en cuenta el siguiente comportamiento:
Si una ruta de IBGP cae, se podría reemplazar por una ruta EBGP activa o una ruta IBGP activa.
Si una ruta EBGP se cae, solo se puede reemplazar por otra ruta EBGP activa. Esto impide el reenvío del tráfico de interfaz orientado al núcleo a un destino IBGP.
Puede incluir la vpn-unequal-cost equal-external-internal
instrucción y la l3vpn
instrucción en el [edit routing-options forwarding-options chained-composite-next-hop ingress]
nivel de jerarquía simultáneamente. Sin embargo, si hace esto, EBGP no funciona. Esto significa que cuando hay ambas rutas con nexthops encadenados y rutas con nexthops nochainadas como candidatas para múltiples rutas de igual costo (ECMP) de EBGP, se excluyen las rutas que utilizan nexthops encadenados. En un caso típico, las rutas excluidas son las rutas internas.
Descripción general del equilibrio de carga vpn de capa 3
La función de equilibrio de carga permite que un dispositivo divida el tráfico entrante y saliente a lo largo de varias rutas para reducir la congestión en la red. El equilibrio de carga mejora la utilización de varias rutas de red y proporciona un ancho de banda de red más eficaz.
Cuando se utilizan varios protocolos, el dispositivo utiliza el valor de preferencia de ruta (también conocido como valor de distancia administrativa ) para seleccionar una ruta. Mientras usa un solo protocolo de enrutamiento, el enrutador elige la ruta con el menor costo (o métrica) al destino. Si el dispositivo recibe e instala varias rutas con la misma preferencia de ruta y el mismo costo para un destino, debe configurarse el equilibrio de carga.
En una red con rutas BGP internas y externas instaladas entre dispositivos en diferentes sistemas autónomos, el BGP solo selecciona una única mejor ruta de forma predeterminada y no realiza equilibrio de carga. Una VPN de capa 3 con rutas BGP internas y externas utiliza la instrucción para el multipath
equilibrio de carga independiente del protocolo. Cuando se incluye la multipath
instrucción en una instancia de enrutamiento, el equilibrio de carga independiente del protocolo se aplica a la tabla de enrutamiento predeterminada para esa instancia de enrutamiento. Mediante el uso de la vpn-unequal-cost
instrucción, el equilibrio de carga independiente del protocolo se aplica a las rutas VPN. Mediante el uso de la equal-external-internal
instrucción, el equilibrio de carga independiente del protocolo se aplica a rutas BGP internas y externas y se puede configurar junto con el filtrado de encabezado IP (habilitado con la vrf-table-label
instrucción).
Ejemplo: equilibrio de carga de tráfico VPN de capa 3 mientras se usa simultáneamente el filtrado de encabezado IP
Nuestro equipo de pruebas de contenido validó y actualizó este ejemplo.
En este ejemplo, se muestra cómo configurar el equilibrio de carga en una VPN de capa 3 (con rutas BGP internas y externas) al mismo tiempo que se utiliza el filtrado de encabezado IP.
Requisitos
En este ejemplo, se requieren los siguientes componentes de hardware y software:
Enrutadores de borde multiservicio serie M (solo M120 y M320), plataformas de enrutamiento universal 5G serie MX, enrutadores de núcleo serie T o enrutadores de transporte serie PTX.
Junos OS versión 12.1 o posterior
Revalidado en junos OS versión 20.1R1 para enrutadores serie MX
Visión general
En el ejemplo siguiente se muestra cómo configurar el equilibrio de carga al mismo tiempo que se utiliza el filtrado de encabezado IP en una VPN de capa 3.
En este ejemplo, se muestra cómo el equilibrio de carga y el filtrado de encabezado IP funcionan juntos. La prueba del filtrado de encabezado IP está fuera del ámbito de este ejemplo.
El BGP de Junos OS ofrece una función de varias rutas que permite el equilibrio de carga entre pares en los mismos sistemas autónomos (AS) o diferentes. En este ejemplo, se utiliza la equal-external-internal
instrucción en el nivel de jerarquía para realizar el [edit routing-instances instance-name routing-options multipath vpn-unequal-cost]
equilibrio de carga. La vrf-table-label
instrucción se configura en el nivel de jerarquía para habilitar el [edit routing-instances instance-name]
filtrado de encabezado IP.
[edit] routing-instances { instance-name { vrf-table-label; routing-options { multipath { vpn-unequal-cost { equal-external-internal; } } } } }
Estas instrucciones solo están disponibles en el contexto de una instancia de enrutamiento.
En este ejemplo, el dispositivo CE1 está en AS1 y conectado al dispositivo PE1. Los dispositivos PE1, PE2, PE3 y P están en AS2. El dispositivo CE2 está conectado a los dispositivos PE2 y PE3 y está en AS3. El dispositivo CE3 está conectado al dispositivo PE3 y está en as4. Bgp y MPLS se configuran a través de la red. OSPF es el protocolo de puerta de enlace interior (IGP) que se utiliza en esta red.
La configuración de los dispositivos PE1, PE2 y PE3 incluye la equal-external-internal
instrucción en el nivel de jerarquía para habilitar el [edit routing-instances instance-name routing-options multipath vpn-unequal-cost]
equilibrio de carga en la red. El filtrado de encabezado IP se habilita cuando la vrf-table-label
instrucción está configurada en el [edit routing-instances instance-name]
nivel jerárquico de los dispositivos pe.
La figura 1 muestra la topología utilizada en este ejemplo.
Topología

La tabla 3 muestra la lista de direcciones IP utilizadas en este ejemplo para hacer referencia rápida.
Dispositivo |
COMO |
ID de dispositivo |
Interfaz |
Dirección IP de interfaz |
---|---|---|---|---|
CE1 |
65001 |
192.0.2.1/32 |
ge-0/0/0.0 |
10.1.1.1/30 |
PE1 |
65000 |
192.0.2.2/32 |
ge-0/0/2.0 |
10.1.1.2/30 |
ge-0/0/0.0 |
10.1.2.5/30 |
|||
ge-0/0/1.0 |
10.1.3.9/30 |
|||
PE2 |
65000 |
192.0.2.3/32 |
ge-0/0/0.0 |
10.1.2.6/30 |
ge-0/0/1.0 |
10.1.4.13/30 |
|||
ge-0/0/2.0 |
10.1.6.21/30 |
|||
PE3 |
65000 |
192.0.2.4/32 |
ge-0/0/1.0 |
10.1.3.10/30 |
ge-0/0/0.0 |
10.1.5.18/30 |
|||
ge-0/0/2.0 |
10.1.7.25/30 |
|||
ge-0/0/3.0 |
10.1.8.29/30 |
|||
P |
65000 |
192.0.2.5/32 |
ge-0/0/1.0 |
10.1.4.14/30 |
ge-0/0/0.0 |
10.1.5.17/30 |
|||
CE2 |
65002 |
192.0.2.6/32 |
ge-0/0/1.0 |
10.1.6.22/30 |
ge-0/0/2.0 |
10.1.7.26/30 |
|||
CE3 |
65003 |
192.0.2.7/32 |
ge-0/0/3.0 |
10.1.8.30/30 |
En este ejemplo, se probaron sistemas lógicos (enrutadores lógicos). Por lo tanto, todas las interfaces físicas del ejemplo son las mismas y la configuración se realiza en interfaces lógicas independientes. En una red que no sea de prueba, usará enrutadores físicos independientes e interfaces físicas independientes para las conexiones a otros dispositivos.
Configuración
Procedimiento
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, luego, copie y pegue los comandos en la CLI en el [edit]
nivel de jerarquía.
Device CE1
set interfaces ge-0/0/0 unit 0 family inet address 10.1.1.1/30 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/0 unit 0 description toPE1 set interfaces lo0 unit 0 family inet address 192.0.2.1/32 set routing-options router-id 192.0.2.1 set routing-options autonomous-system 65001 set protocols bgp group toPE1 type external set protocols bgp group toPE1 export send-direct set protocols bgp group toPE1 peer-as 65000 set protocols bgp group toPE1 neighbor 10.1.1.2 set policy-options policy-statement send-direct from protocol direct set policy-options policy-statement send-direct then accept
Device PE1
set interfaces ge-0/0/2 unit 0 family inet address 10.1.1.2/30 set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/2 unit 0 description toCE1 set interfaces ge-0/0/0 unit 0 family inet address 10.1.2.5/30 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/0 unit 0 description toPE2 set interfaces ge-0/0/1 unit 0 family inet address 10.1.3.9/30 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/1 unit 0 description toPE3 set interfaces lo0 unit 0 family inet address 192.0.2.2/32 set protocols mpls interface all set protocols ldp interface all set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 metric 10 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 metric 10 set protocols bgp group toInternal type internal set protocols bgp group toInternal family inet-vpn unicast set protocols bgp group toInternal local-address 192.0.2.2 set protocols bgp group toInternal neighbor 192.0.2.3 set protocols bgp group toInternal neighbor 192.0.2.4 set routing-options router-id 192.0.2.2 set routing-options autonomous-system 65000 set routing-options forwarding-table export lb set routing-instances toCE1 instance-type vrf set routing-instances toCE1 interface ge-0/0/2.0 set routing-instances toCE1 route-distinguisher 65000:1 set routing-instances toCE1 vrf-target target:65000:1 set routing-instances toCE1 vrf-table-label set routing-instances toCE1 protocols bgp group toCE1 type external set routing-instances toCE1 protocols bgp group toCE1 peer-as 65001 set routing-instances toCE1 protocols bgp group toCE1 neighbor 10.1.1.1 set routing-instances toCE1 routing-options multipath vpn-unequal-cost equal-external-internal set policy-options policy-statement lb then load-balance per-packet
Device PE2
set interfaces ge-0/0/0 unit 0 family inet address 10.1.2.6/30 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/0 unit 0 description toPE1 set interfaces ge-0/0/1 unit 0 family inet address 10.1.4.13/30 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/1 unit 0 description toP set interfaces ge-0/0/2 unit 0 family inet address 10.1.6.21/30 set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/2 unit 0 description toCE2 set interfaces lo0 unit 0 family inet address 192.0.2.3/32 set protocols mpls interface all set protocols ldp interface all set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 metric 10 set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 metric 5 set protocols bgp group toInternal type internal set protocols bgp group toInternal family inet-vpn unicast set protocols bgp group toInternal local-address 192.0.2.3 set protocols bgp group toInternal neighbor 192.0.2.2 set protocols bgp group toInternal neighbor 192.0.2.4 set routing-options router-id 192.0.2.3 set routing-options autonomous-system 65000 set routing-options forwarding-table export lb set routing-instances toCE2 instance-type vrf set routing-instances toCE2 interface ge-0/0/2.0 set routing-instances toCE2 route-distinguisher 65000:1 set routing-instances toCE2 vrf-target target:65000:1 set routing-instances toCE2 vrf-table-label set routing-instances toCE2 protocols bgp group toCE2 type external set routing-instances toCE2 protocols bgp group toCE2 peer-as 65002 set routing-instances toCE2 protocols bgp group toCE2 neighbor 10.1.6.22 set routing-instances toCE2 routing-options multipath vpn-unequal-cost equal-external-internal set policy-options policy-statement lb then load-balance per-packet
Device PE3
set interfaces ge-0/0/1 unit 0 family inet address 10.1.3.10/30 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/1 unit 0 description toPE1 set interfaces ge-0/0/0 unit 0 family inet address 10.1.5.18/30 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/0 unit 0 description toP set interfaces ge-0/0/2 unit 0 family inet address 10.1.7.25/30 set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/2 unit 0 description toCE2 set interfaces ge-0/0/3 unit 0 family inet address 10.1.8.29/30 set interfaces ge-0/0/3 unit 0 family mpls set interfaces ge-0/0/3 unit 0 description toCE3 set interfaces lo0 unit 0 family inet address 192.0.2.4/32 set protocols mpls interface all set protocols ldp interface all set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 metric 10 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 metric 5 set protocols bgp group toInternal type internal set protocols bgp group toInternal local-address 192.0.2.4 set protocols bgp group toInternal family inet-vpn unicast set protocols bgp group toInternal family route-target set protocols bgp group toInternal neighbor 192.0.2.2 set protocols bgp group toInternal neighbor 192.0.2.3 set routing-options router-id 192.0.2.4 set routing-options autonomous-system 65000 set routing-options forwarding-table export lb set routing-instances toCE2_3 instance-type vrf set routing-instances toCE2_3 interface ge-0/0/2.0 set routing-instances toCE2_3 interface ge-0/0/3.0 set routing-instances toCE2_3 route-distinguisher 65000:1 set routing-instances toCE2_3 vrf-target target:65000:1 set routing-instances toCE2_3 vrf-table-label set routing-instances toCE2_3 protocols bgp group toCE2 type external set routing-instances toCE2_3 protocols bgp group toCE2 peer-as 65002 set routing-instances toCE2_3 protocols bgp group toCE2 neighbor 10.1.7.26 set routing-instances toCE2_3 protocols bgp group toCE3 type external set routing-instances toCE2_3 protocols bgp group toCE3 peer-as 65003 set routing-instances toCE2_3 protocols bgp group toCE3 neighbor 10.1.8.30 set routing-instances toCE2_3 routing-options multipath vpn-unequal-cost equal-external-internal set policy-options policy-statement lb then load-balance per-packet
Device P
set interfaces ge-0/0/1 unit 0 family inet address 10.1.4.14/30 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/1 unit 0 description toPE2 set interfaces ge-0/0/0 unit 0 family inet address 10.1.5.17/30 set interfaces ge-0/0/0 unit 0 family mpls set interfaces ge-0/0/0 unit 0 description toPE3 set interfaces lo0 unit 0 family inet address 192.0.2.5/32 set protocols mpls interface all set protocols ldp interface all set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 metric 5 set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 metric 5 set routing-options router-id 192.0.2.5 set routing-options autonomous-system 65000
Device CE2
set interfaces ge-0/0/1 unit 0 family inet address 10.1.6.22/30 set interfaces ge-0/0/1 unit 0 family mpls set interfaces ge-0/0/1 unit 0 description toPE2 set interfaces ge-0/0/2 unit 0 family inet address 10.1.7.26/30 set interfaces ge-0/0/2 unit 0 family mpls set interfaces ge-0/0/2 unit 0 description toPE3 set interfaces lo0 unit 0 family inet address 192.0.2.6/32 set routing-options router-id 192.0.2.6 set routing-options autonomous-system 65002 set protocols bgp group toPE2PE3 type external set protocols bgp group toPE2PE3 export send-direct set protocols bgp group toPE2PE3 peer-as 65000 set protocols bgp group toPE2PE3 neighbor 10.1.6.21 set protocols bgp group toPE2PE3 neighbor 10.1.7.25 set policy-options policy-statement send-direct from protocol direct set policy-options policy-statement send-direct then accept
Device CE3
set interfaces ge-0/0/3 unit 0 family inet address 10.1.8.30/30 set interfaces ge-0/0/3 unit 0 family mpls set interfaces ge-0/0/3 unit 0 description toPE3 set interfaces lo0 unit 0 family inet address 192.0.2.7/32 set routing-options router-id 192.0.2.7 set routing-options autonomous-system 65003 set protocols bgp group toPE3 type external set protocols bgp group toPE3 export send-direct set protocols bgp group toPE3 peer-as 65000 set protocols bgp group toPE3 neighbor 10.1.8.29 set policy-options policy-statement send-direct from protocol direct set policy-options policy-statement send-direct then accept
Procedimiento paso a paso
En el ejemplo siguiente, se requiere navegar por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en el modo de configuración en la Guía del usuario de la CLI.
Para configurar el equilibrio de carga de costo desigual en toda la configuración de VPN:
Configure el ID del enrutador en el dispositivo CE1 y asigne el dispositivo a su sistema autónomo.
[edit routing-options] user@CE1# set router-id 192.0.2.1 user@CE1# set autonomous-system 65001
Del mismo modo, configure todos los demás dispositivos.
Configure grupos BGP para el tráfico a través de toda la red.
Configure el grupo BGP para el tráfico hacia y desde la red MPLS (dispositivos CE).
[edit protocols bgp group toPE1] user@CE1# set type external user@CE1# set peer-as 65000 user@CE1# set neighbor 10.1.1.2
Configure grupos BGP similares (
to AS 65000
ytoPE3
) en los dispositivos CE2 y CE3 modificando laspeer-as
instrucciones yneighbor
en consecuencia.Configure el grupo BGP para el tráfico a través de la red MPLS (dispositivos PE).
[edit protocols bgp group toInternal] user@PE1# set type internal user@PE1# set family inet-vpn unicast user@PE1# set local-address 192.0.2.2 user@PE1# set neighbor 192.0.2.3 user@PE1# set neighbor 192.0.2.4
Configure el mismo grupo BGP (
toInternal
) en los dispositivos PE2 y PE3 modificando laslocal-address
instrucciones yneighbor
en consecuencia.
Configure una política de enrutamiento para exportar rutas hacia y desde la red MPLS (
send-direct
política) y una política para equilibrar la carga de la red de tráfico en la red MPLS (lb
política).Configure una política (
send-direct
) para exportar rutas desde la tabla de enrutamiento al BGP en el dispositivo CE1.[edit policy-options policy-statement send-direct] user@CE1# set from protocol direct user@CE1# set then accept
[edit protocols bgp group toPE1] user@CE1# set export send-direct
Del mismo modo, configure la
send-direct
política en los dispositivos CE2 y CE3.Configure una política (
lb
) para exportar rutas desde la tabla de enrutamiento a la tabla de reenvío del dispositivo PE1.La
lb
política configura el equilibrio de carga por paquete, lo que garantiza que todas las direcciones de salto siguiente para un destino estén instaladas en la tabla de reenvío.[edit policy-options policy-statement lb] user@PE1# set then load-balance per-packet
[edit routing-options] user@PE1# set forwarding-table export lb
Del mismo modo, configure la
lb
política en los dispositivos PE2 y PE3.
Configure lo siguiente:
Configure la instancia de enrutamiento en los dispositivos pe para exportar rutas a través de los sistemas autónomos.
Incluya la
equal-external-internal
instrucción en el nivel de jerarquía para habilitar el[edit routing-instances instance-name routing-options multipath vpn-unequal-cost]
equilibrio de carga en la red.Incluya la
vrf-table-label
instrucción en el[edit routing-instances instance-name]
nivel de jerarquía para filtrar el tráfico antes de salir del dispositivo de salida (dispositivo CE3).
Device PE1
[edit routing-instances toCE1] user@PE1# set instance-type vrf user@PE1# set interface ge-0/0/2.0 user@PE1# set route-distinguisher 65000:1 user@PE1# set vrf-target target:65000:1 user@PE1# set vrf-table-label user@PE1# set protocols bgp group toCE1 type external user@PE1# set protocols bgp group toCE1 peer-as 65001 user@PE1# set protocols bgp group toCE1 neighbor 10.1.1.1 user@PE1# set routing-options multipath vpn-unequal-cost equal-external-internal
Device PE2
[edit routing-instances toCE1] user@PE2# set instance-type vrf user@PE2# set interface ge-0/0/2.0 user@PE2# set route-distinguisher 65000:1 user@PE2# set vrf-target target:65000:1 user@PE2# set vrf-table-label user@PE2# set protocols bgp group toCE2 type external user@PE2# set protocols bgp group toCE2 peer-as 65002 user@PE2# set protocols bgp group toCE2 neighbor 10.1.6.22 user@PE2# set routing-options multipath vpn-unequal-cost equal-external-internal
Device PE3
[edit routing-instances toCE2_3] user@PE3# set instance-type vrf user@PE3# set interface ge-0/0/2.0 user@PE3# set interface ge-0/0/3.0 user@PE3# set route-distinguisher 65000:1 user@PE3# set vrf-target target:65000:1 user@PE3# set vrf-table-label user@PE3# set protocols bgp group toCE2 type external user@PE3# set protocols bgp group toCE2 peer-as 65002 user@PE3# set protocols bgp group toCE2 neighbor 10.1.7.26 user@PE3# set protocols bgp group toCE3 type external user@PE3# set protocols bgp group toCE3 peer-as 65003 user@PE3# set protocols bgp group toCE3 neighbor 10.1.8.30 user@PE3# set routing-options multipath vpn-unequal-cost equal-external-internal
Resultados
Desde el modo de configuración, escriba el comando para confirmar la show configuration
configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregir la configuración. El siguiente es un fragmento de código de la show configuration
salida para PE3.
user@PE3# show configuration
interfaces {
ge-0/0/0 {
unit 0 {
description toP;
family inet {
address 10.1.5.18/30;
}
family mpls;
}
}
ge-0/0/1 {
unit 0 {
description toPE1;
family inet {
address 10.1.3.10/30;
}
family mpls;
}
}
ge-0/0/2 {
unit 0 {
description toCE2;
family inet {
address 10.1.7.25/30;
}
family mpls;
}
}
ge-0/0/3 {
unit 0 {
description toCE3;
family inet {
address 10.1.8.29/30;
}
family mpls;
}
}
lo0 {
unit 0 {
family inet {
address 192.0.2.4/32;
}
}
}
}
policy-options {
policy-statement lb {
then {
load-balance per-packet;
}
}
}
routing-instances {
toCE2_3 {
routing-options {
multipath {
vpn-unequal-cost equal-external-internal;
}
}
protocols {
bgp {
group toCE2 {
type external;
peer-as 65002;
neighbor 10.1.7.26;
}
group toCE3 {
type external;
peer-as 65003;
neighbor 10.1.8.30;
}
}
}
instance-type vrf;
interface ge-0/0/2.0;
interface ge-0/0/3.0;
route-distinguisher 65000:1;
vrf-target target:65000:1;
vrf-table-label;
}
}
routing-options {
forwarding-table {
export lb;
}
router-id 192.0.2.4;
autonomous-system 65000;
}
protocols {
ospf {
area 0.0.0.0 {
interface lo0.0 {
passive;
}
interface ge-0/0/1.0 {
metric 10;
}
interface ge-0/0/0.0 {
metric 5;
}
}
}
bgp {
group toInternal {
type internal;
local-address 192.0.2.4;
family inet-vpn {
unicast;
}
family route-target;
neighbor 192.0.2.2;
neighbor 192.0.2.3;
}
}
ldp {
interface all;
}
mpls {
interface all;
}
}
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Verificación
Confirme que la configuración funciona correctamente.
Verificar el BGP
Propósito
Verifique que el BGP esté funcionando.
Acción
Desde el modo operativo, ejecute el show route protocol bgp
comando.
user@PE3> show route protocol bgp inet.0: 19 destinations, 19 routes (19 active, 0 holddown, 0 hidden) inet.3: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden) toCE2_3.inet.0: 9 destinations, 14 routes (9 active, 0 holddown, 0 hidden) @ = Routing Use Only, # = Forwarding Use Only + = Active Route, - = Last Active, * = Both 10.1.1.0/30 *[BGP/170] 6d 19:24:16, localpref 100, from 192.0.2.2 AS path: I, validation-state: unverified > to 10.1.3.9 via ge-0/0/1.0, Push 16 10.1.6.20/30 *[BGP/170] 6d 19:24:12, localpref 100, from 192.0.2.3 AS path: I, validation-state: unverified > to 10.1.5.17 via ge-0/0/0.0, Push 16, Push 299808(top) [BGP/170] 6d 17:53:50, localpref 100 AS path: 65002 I, validation-state: unverified > to 10.1.7.26 via ge-0/0/2.0 10.1.7.24/30 [BGP/170] 6d 17:53:50, localpref 100 AS path: 65002 I, validation-state: unverified > to 10.1.7.26 via ge-0/0/2.0 10.1.8.28/30 [BGP/170] 6d 17:55:03, localpref 100 AS path: 65003 I, validation-state: unverified > to 10.1.8.30 via ge-0/0/3.0 192.0.2.1/32 *[BGP/170] 6d 19:24:16, localpref 100, from 192.0.2.2 AS path: 65001 I, validation-state: unverified > to 10.1.3.9 via ge-0/0/1.0, Push 16 192.0.2.6/32 @[BGP/170] 6d 17:53:50, localpref 100 AS path: 65002 I, validation-state: unverified > to 10.1.7.26 via ge-0/0/2.0 [BGP/170] 6d 17:53:50, localpref 100, from 192.0.2.3 AS path: 65002 I, validation-state: unverified > to 10.1.5.17 via ge-0/0/0.0, Push 16, Push 299808(top) 192.0.2.7/32 *[BGP/170] 6d 17:55:03, localpref 100 AS path: 65003 I, validation-state: unverified > to 10.1.8.30 via ge-0/0/3.0 mpls.0: 12 destinations, 12 routes (12 active, 0 holddown, 0 hidden) bgp.l3vpn.0: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 65000:1:10.1.1.0/30 *[BGP/170] 6d 19:24:16, localpref 100, from 192.0.2.2 AS path: I, validation-state: unverified > to 10.1.3.9 via ge-0/0/1.0, Push 16 65000:1:10.1.6.20/30 *[BGP/170] 6d 19:24:12, localpref 100, from 192.0.2.3 AS path: I, validation-state: unverified > to 10.1.5.17 via ge-0/0/0.0, Push 16, Push 299808(top) 65000:1:192.0.2.1/32 *[BGP/170] 6d 19:24:16, localpref 100, from 192.0.2.2 AS path: 65001 I, validation-state: unverified > to 10.1.3.9 via ge-0/0/1.0, Push 16 65000:1:192.0.2.6/32 *[BGP/170] 6d 17:53:50, localpref 100, from 192.0.2.3 AS path: 65002 I, validation-state: unverified > to 10.1.5.17 via ge-0/0/0.0, Push 16, Push 299808(top) inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden) toCE2_3.inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden) bgp.rtarget.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
El resultado enumera las rutas BGP instaladas en la tabla de enrutamiento. Las líneas de salida que comienzan con 192.0.2.1/32, 10.1.1.0/30y 65000:1:192.0.2.1/32 muestran las rutas del BGP al dispositivo CE1, que está en el AS 65001. Las líneas de salida que comienzan con 192.0.2.6/32, 65000:1:192.0.2.6/32y 65000:1:10.1.6.20/30 muestran las rutas del BGP al dispositivo CE2, que está en el AS 65002. La línea de salida que comienza con 192.0.2.7/32 muestra la ruta del BGP al dispositivo CE3, que está en el AS 65003.
Significado
El BGP es funcional en la red.
Verificar el equilibrio de carga
Propósito
Verifique que el reenvío se realice en ambas direcciones comprobando lo siguiente:
Si se instalan ambos saltos siguientes en la tabla de reenvío de una ruta.
Si se instalan rutas BGP externas en la tabla de reenvío de una ruta.
Acción
Desde el modo operativo, ejecute los show route forwarding-table comandos y show route forwarding-table destination <destination IP> .
user@PE3> show route forwarding-table Routing table: default.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif default perm 1 rjct 36 2 0.0.0.0/32 perm 0 dscd 34 1 10.1.2.4/30 user 0 ulst 1048576 2 10.1.5.17 ucst 625 12 ge-0/0/0.0 10.1.3.9 ucst 617 8 ge-0/0/1.0 10.1.3.8/30 intf 0 rslv 604 1 ge-0/0/1.0 10.1.3.8/32 dest 0 10.1.3.8 recv 602 1 ge-0/0/1.0 10.1.3.9/32 dest 0 0:50:56:93:63:e7 ucst 617 8 ge-0/0/1.0 10.1.3.10/32 intf 0 10.1.3.10 locl 603 2 10.1.3.10/32 dest 0 10.1.3.10 locl 603 2 10.1.3.11/32 dest 0 10.1.3.11 bcst 601 1 ge-0/0/1.0 10.1.4.12/30 user 0 10.1.5.17 ucst 625 12 ge-0/0/0.0 10.1.5.16/30 intf 0 rslv 600 1 ge-0/0/0.0 10.1.5.16/32 dest 0 10.1.5.16 recv 598 1 ge-0/0/0.0 10.1.5.17/32 dest 0 0:50:56:93:f8:ff ucst 625 12 ge-0/0/0.0 10.1.5.18/32 intf 0 10.1.5.18 locl 599 2 10.1.5.18/32 dest 0 10.1.5.18 locl 599 2 10.1.5.19/32 dest 0 10.1.5.19 bcst 597 1 ge-0/0/0.0 192.0.2.2/32 user 1 10.1.3.9 ucst 617 8 ge-0/0/1.0 192.0.2.3/32 user 1 10.1.5.17 ucst 625 12 ge-0/0/0.0 192.0.2.4/32 intf 0 192.0.2.4 locl 607 1 192.0.2.5/32 user 1 10.1.5.17 ucst 625 12 ge-0/0/0.0 224.0.0.0/4 perm 1 mdsc 35 1 224.0.0.1/32 perm 0 224.0.0.1 mcst 31 5 224.0.0.2/32 user 1 224.0.0.2 mcst 31 5 224.0.0.5/32 user 1 224.0.0.5 mcst 31 5 255.255.255.255/32 perm 0 bcst 32 1 Routing table: __master.anon__.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif default perm 0 rjct 524 1 0.0.0.0/32 perm 0 dscd 522 1 224.0.0.0/4 perm 0 mdsc 523 1 224.0.0.1/32 perm 0 224.0.0.1 mcst 526 1 255.255.255.255/32 perm 0 bcst 527 1 Routing table: toCE2_3.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif default perm 0 rjct 566 1 0.0.0.0/32 perm 0 dscd 564 1 10.1.1.0/30 user 0 indr 1048574 3 10.1.3.9 Push 16 623 2 ge-0/0/1.0 10.1.6.20/30 user 0 indr 1048575 3 10.1.5.17 Push 16, Push 299808(top) 629 2 ge-0/0/0.0 10.1.7.24/30 intf 0 rslv 616 1 ge-0/0/2.0 10.1.7.24/32 dest 0 10.1.7.24 recv 614 1 ge-0/0/2.0 10.1.7.25/32 intf 0 10.1.7.25 locl 615 2 10.1.7.25/32 dest 0 10.1.7.25 locl 615 2 10.1.7.26/32 dest 1 0:50:56:93:86:18 ucst 618 4 ge-0/0/2.0 10.1.7.27/32 dest 0 10.1.7.27 bcst 613 1 ge-0/0/2.0 10.1.8.28/30 intf 0 rslv 612 1 ge-0/0/3.0 10.1.8.28/32 dest 0 10.1.8.28 recv 610 1 ge-0/0/3.0 10.1.8.29/32 intf 0 10.1.8.29 locl 611 2 10.1.8.29/32 dest 0 10.1.8.29 locl 611 2 10.1.8.30/32 dest 1 0:50:56:93:bb:ed ucst 622 4 ge-0/0/3.0 10.1.8.31/32 dest 0 10.1.8.31 bcst 609 1 ge-0/0/3.0 192.0.2.1/32 user 0 indr 1048574 3 10.1.3.9 Push 16 623 2 ge-0/0/1.0 192.0.2.6/32 user 0 ulst 1048577 2 10.1.7.26 ucst 618 4 ge-0/0/2.0 indr 1048575 3 10.1.5.17 Push 16, Push 299808(top) 629 2 ge-0/0/0.0 192.0.2.7/32 user 0 10.1.8.30 ucst 622 4 ge-0/0/3.0 224.0.0.0/4 perm 0 mdsc 565 1 224.0.0.1/32 perm 0 224.0.0.1 mcst 568 1 255.255.255.255/32 perm 0 bcst 569 1 ...
En la default.inet tabla de enrutamiento, que es la tabla de reenvío, la línea de salida que comienza con 10.1.2.4/30 muestra que para una ruta al dispositivo PE2 en el mismo AS, se instalan dos saltos siguientes en la tabla: 10.1.3.9 y 10.1.5.17.
En la toCE2_3.inet tabla de enrutamiento, que es la tabla de enrutamiento externa, la línea de salida que comienza con 192.0.2.6/32 muestra que para una ruta al dispositivo CE2 en el AS 65002, se instala en la tabla un salto 10.1.5.17 siguiente interno y un salto 10.1.7.26 siguiente externo. Esto indica que las rutas BGP internas y externas están operativas en la red.
user@PE3> show route forwarding-table destination 10.1.2.6 Routing table: default.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif 10.1.2.4/30 user 0 ulst 1048576 2 10.1.5.17 ucst 625 12 ge-0/0/0.0 10.1.3.9 ucst 617 8 ge-0/0/1.0 Routing table: __pfe_private__.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif default perm 0 dscd 513 2 Routing table: __master.anon__.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif default perm 0 rjct 524 1 Routing table: __juniper_services__.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif default perm 0 dscd 546 2 Routing table: toCE2_3.inet Internet: Destination Type RtRef Next hop Type Index NhRef Netif default perm 0 rjct 630 1
La línea de salida que comienza con 10.1.2.4/30 muestra que para una ruta del dispositivo PE3 al dispositivo PE2 en el mismo AS, se instalan dos saltos siguientes en la tabla: 10.1.3.9 a través de la ge-0/0/1.0 interfaz y 10.1.5.17 a través de la ge-2/1/10.18 interfaz.
Significado
En las tablas de reenvío se instalan varios saltos siguientes para una ruta, incluidas las rutas BGP externas.
Configuración del equilibrio de carga independiente del protocolo en VPN de capa 3
El equilibrio de carga independiente del protocolo para VPN de capa 3 permite el reenvío de próximos saltos tanto de la ruta activa como de rutas alternativas para el equilibrio de carga. El equilibrio de carga independiente del protocolo funciona junto con VPN de capa 3. Es compatible con el equilibrio de carga de las rutas VPN independientemente del distinguidor de rutas asignado. Cuando se habilita el equilibrio de carga independiente del protocolo, tanto las rutas a otros enrutadores de PE como las rutas a enrutadores CE conectados directamente tienen un equilibrio de carga.
Cuando se crea información de equilibrio de carga para una ruta determinada, la ruta activa se marca como Routing Use Only
en el resultado del show route table
comando.
En las siguientes secciones se describe cómo configurar el equilibrio de carga independiente del protocolo y cómo esta configuración puede afectar a las políticas de enrutamiento:
- Configuración del equilibrio de carga para VPN de capa 3
- Configuración de políticas de equilibrio de carga y enrutamiento
Configuración del equilibrio de carga para VPN de capa 3
La configuración del equilibrio de carga independiente del protocolo para VPN de capa 3 es un poco diferente para IPv4 frente a IPv6:
IPv4: solo debe configurar la
multipath
instrucción en el[edit routing-instances routing-instance-name routing-options]
nivel jerárquico o en el[edit routing-instances routing-instance-name routing-options rib routing-table-name]
nivel jerárquico.IPv6: debe configurar la
multipath
instrucción tanto en el[edit routing-instances routing-instance-name routing-options]
nivel jerárquico como en el[edit routing-instances routing-instance-name routing-options rib routing-table-name]
de jerarquía.
No puede configurar la multipath
instrucción y las sub-instrucciones al mismo tiempo que configuró la instrucción l3vpn .
Para configurar el equilibrio de carga independiente del protocolo para VPN de capa 3, incluya la multipath
instrucción:
multipath { vpn-unequal-cost equal-external-internal; }
Cuando se incluye la multipath
instrucción en los siguientes niveles jerárquicos, el equilibrio de carga independiente del protocolo se aplica a la tabla de enrutamiento predeterminada para esa instancia de enrutamiento (routing-instance-name.inet.0):
[edit routing-instances routing-instance-name routing-options]
[edit logical-systems logical-system-name routing-instances routing-instance-name routing-options]
El [edit logical-systems]
nivel de jerarquía no es aplicable en los enrutadores de la serie ACX.
Cuando se incluye la multipath
instrucción en los siguientes niveles de jerarquía, el equilibrio de carga independiente del protocolo se aplica a la tabla de enrutamiento especificada:
[edit routing-instances routing-instance-name routing-options rib routing-table-name]
[edit logical-systems logical-system-name routing-instances routing-instance-name routing-options rib routing-table-name]
El [edit logical-systems]
nivel de jerarquía no es aplicable en los enrutadores de la serie ACX.
La vpn-unequal-cost
instrucción es opcional:
Cuando se incluye, el equilibrio de carga independiente del protocolo se aplica a rutas VPN que son iguales hasta la métrica IGP con respecto a la selección de rutas.
Cuando no lo incluye, el equilibrio de carga independiente del protocolo se aplica a las rutas VPN que son iguales hasta que el identificador del enrutador con respecto a la selección de rutas.
La vpn-unequal-cost
instrucción no es aplicable en enrutadores de la serie ACX.
La equal-external-internal
instrucción también es opcional. Cuando se incluye, el equilibrio de carga independiente del protocolo se aplica a rutas bgp internas y externas. Puede configurar esto junto con el filtrado de encabezado IP de salida (habilitado con la vrf-table-label
instrucción). Para obtener más información, consulte Equilibrio de carga y Filtrado de encabezado IP para VPN de capa 3.
Puede incluir la vpn-unequal-cost equal-external-internal
instrucción y la l3vpn
instrucción en el [edit routing-options forwarding-options chained-composite-next-hop ingress]
nivel de jerarquía simultáneamente. Sin embargo, si hace esto, EBGP no funciona. Esto significa que cuando hay ambas rutas con saltos siguientes encadenados y rutas con saltos siguientes no unidos como candidatos para múltiples rutas de igual costo (ECMP) de EBGP, se excluyen las rutas que utilizan saltos siguientes encadenados. En un caso típico, las rutas excluidas son las rutas internas.
Configuración de políticas de equilibrio de carga y enrutamiento
Si habilita el equilibrio de carga independiente del protocolo para VPN de capa 3 mediante la inclusión de la multipath
instrucción y si también incluye la load-balance per-packet
instrucción en la configuración de política de enrutamiento, los paquetes no tienen equilibrio de carga.
Por ejemplo, un enrutador de PE tiene configurada la siguiente instancia de enrutamiento VRF:
[edit routing-instances] load-balance-example { instance-type vrf; interface fe-0/1/1.0; interface fe-0/1/1.1; route-distinguisher 2222:2; vrf-target target:2222:2; routing-options { multipath; } protocols { bgp { group group-example { import import-policy; family inet { unicast; } export export-policy; peer-as 4444; local-as 3333; multipath; as-override; neighbor 10.12.33.22; } } } }
El enrutador de PE también tiene configurada la siguiente instrucción de política:
[edit policy-options policy-statement export-policy] from protocol bgp; then { load-balance per-packet; }
Cuando se incluye la multipath
instrucción en la configuración de la instancia de enrutamiento VRF, las rutas ya no se marcan como rutas BGP, sino que se marcan como rutas multiruta. Los paquetes del enrutador de PE no tienen equilibrio de carga.
Para garantizar que el equilibrio de carga de VPN funcione según lo esperado, no incluya la from protocol
instrucción en la configuración de la instrucción de política. La instrucción de política debe configurarse de la siguiente manera:
[edit policy-options policy-statement export-policy] then { load-balance per-packet; }
Para obtener más información acerca de cómo configurar el equilibrio de carga por paquete, consulte la Guía del usuario de políticas de enrutamiento, filtros de firewall y agentes de policía de tráfico.
Ejemplo: Configurar el equilibrio de carga de unión PIM en VPN multidifusión de última generación
En este ejemplo, se muestra cómo configurar el enrutamiento de varias rutas para rutas de red privada virtual (VPN) externas e internas con métricas desiguales de protocolo de puerta de enlace interior (IGP) y un equilibrio de carga de multidifusión independiente de protocolo (PIM) en enrutadores de borde del proveedor (PE) que ejecutan VPN de multidifusión de última generación (MVPN). Esta función permite que los mensajes de unión pim del cliente (C-PIM) sean equilibrados de carga en las rutas ascendentes del BGP interno (IBGP) disponibles cuando no hay ninguna ruta de BGP externa (EBGP) presente, y en las rutas ascendentes de EBGP disponibles cuando las rutas de BGP externo e interno (EIBGP) están presentes hacia el punto de origen o de encuentro (RP).
Requisitos
En este ejemplo, se utilizan los siguientes componentes de hardware y software:
Tres enrutadores que pueden ser una combinación de enrutadores serie M, MX o T.
Junos OS versión 12.1 que se ejecuta en todos los dispositivos.
Antes de comenzar:
Configure las interfaces del dispositivo.
Configure los siguientes protocolos de enrutamiento en todos los enrutadores de PE:
OSPF
MPLS
LDP
PIM
BGP
Configure una VPN de multidifusión.
Descripción general y topología
Junos OS versión 12.1 y posteriores admiten la configuración de múltiples rutas junto con el equilibrio de carga de unión PIM. Esto permite que los mensajes de unión de C-PIM estén equilibrados de carga en todas las rutas de IBGP disponibles cuando solo hay rutas IBGP presentes, y en todas las rutas EBGP ascendentes disponibles cuando las rutas EIBGP están presentes hacia el origen (o RP). A diferencia de Draft-Rosen MVPN, MVPN de última generación no utiliza rutas EIBGP desiguales para enviar mensajes de unión C-PIM. Esta función se aplica a los mensajes de unión C-PIM IPv4.
De forma predeterminada, solo se usa una ruta IBGP activa para enviar los mensajes de unión C-PIM para un enrutador de PE que solo tenga rutas IBGP hacia el origen (o RP). Cuando hay rutas ascendentes de EIBGP presentes, solo se utiliza una ruta EBGP activa para enviar los mensajes de unión.
En una MVPN de última generación, los mensajes de unión C-PIM se traducen en (o codificados como) rutas MVPN de multidifusión del cliente BGP (C-multicast) y se anuncian con la familia de direcciones BGP MCAST-VPN hacia los enrutadores de PE del remitente. Un enrutador de PE origina una ruta MVPN de multidifusión C en respuesta a la recepción de un mensaje de unión C-PIM a través de su enrutador pe a la interfaz del enrutador del borde del cliente (CE). Los dos tipos de rutas MVPN de multidifusión C son:
Ruta de unión de árbol compartido (C-*, C-G)
Originado por enrutadores de PE receptores.
Se originó cuando un enrutador de PE recibe un mensaje de unión C-PIM de árbol compartido a través de su interfaz de enrutador PE-CE.
Ruta de unión de árbol de origen (C-S, C-G)
Originado por enrutadores de PE receptores.
Se origina cuando un enrutador de PE recibe un mensaje de unión C-PIM de árbol de origen (C-S, C-G) o se origina en el enrutador de PE que ya tiene una ruta de unión de árbol compartido y recibe una ruta de detección automática activa de origen.
La ruta ascendente en una MVPN de última generación se selecciona mediante el algoritmo hash Bytewise-XOR tal como se especifica en el borrador de Internet draft-ietf-l3vpn-2547bis-mcast, Multicast in MPLS/BGP IP VPNs. El algoritmo hash se realiza de la siguiente manera:
Los enrutadores de PE del conjunto de candidatos se numeran de una dirección IP inferior a una superior, a partir de 0.
Un byte exclusivo o de todos los bytes se realiza en la dirección C-root (origen) y C-G (grupo).
El resultado se toma en módulo n, donde n está la cantidad de enrutadores de PE en el conjunto de candidatos. El resultado es N.
N representa la dirección IP del enrutador de PE ascendente como se numera en el paso 1.
Durante el equilibrio de carga, si un enrutador de PE con una o más rutas IBGP ascendentes hacia el origen (o RP) descubre una nueva ruta IBGP hacia la misma fuente (o RP), los mensajes de unión C-PIM distribuidos entre rutas IBGP existentes se redistribuirán debido al cambio en el conjunto de enrutadores de PE candidato.
En este ejemplo, PE1, PE2 y PE3 son los enrutadores de PE que tienen configurada la función de equilibrio de carga de unión PIM de múltiples rutas. El enrutador PE1 tiene dos rutas EBGP y una ruta ascendente de IBGP, PE2 tiene una ruta EBGP y una ruta ascendente de IBGP, y PE3 tiene dos rutas ascendentes de IBGP hacia el origen. El enrutador CE4 es el enrutador de borde del cliente (CE) conectado al PE3. El origen y el receptor son los hosts BSD gratuitos.
En enrutadores PE que tienen rutas EIBGP hacia el origen (o RP), como PE1 y PE2, el equilibrio de carga de unión PIM se realiza de la siguiente manera:
Los mensajes de unión C-PIM se envían solo mediante rutas EBGP. Las rutas IBGP no se utilizan para propagar los mensajes de unión.
En la figura 2, el enrutador PE1 distribuye los mensajes de unión entre las dos rutas EBGP al enrutador CE1, y PE2 utiliza la ruta ebgp a CE1 para enviar los mensajes de unión.
Si un enrutador de PE pierde una o más rutas EBGP hacia el origen (o RP), el vecino de RPF en la interfaz de túnel de multidifusión se selecciona según un mecanismo hash.
Al descubrir la primera ruta de EBGP, solo los mensajes de unión nuevos obtienen un equilibrio de carga en las rutas EBGP disponibles, mientras que los mensajes de unión existentes en la interfaz de túnel de multidifusión no se redistribuyen.
Si la ruta EBGP del enrutador PE2 al enrutador CE1 se cae, PE2 envía los mensajes de unión a PE1 mediante la ruta IBGP. Cuando se restaura la ruta de EBGP a CE1, solo los mensajes de unión nuevos que llegan a PE2 utilizan la ruta de EBGP restaurada, mientras que los mensajes de unión que ya se envían en la ruta del IBGP no se redistribuyen.
En enrutadores de PE que solo tienen rutas IBGP hacia el origen (o RP), como el enrutador PE3, el equilibrio de carga de unión PIM se realiza de la siguiente manera:
Los mensajes de unión C-PIM de enrutadores CE obtienen equilibrio de carga solo como mensajes de datos de multidifusión C bgp entre rutas IBGP.
En la Figura 2, suponiendo que el host CE4 esté interesado en recibir tráfico desde el origen, y CE4 inicia mensajes de combinación de origen para diferentes grupos (grupo 1 [C-S,C-G1] y grupo 2 [C-S,C-G2]), los mensajes de combinación de origen llegan al enrutador PE3.
A continuación, el enrutador PE3 utiliza el algoritmo hash Bytewise-XOR para seleccionar el enrutador de PE ascendente para enviar los datos de multidifusión C para cada grupo. El algoritmo primero numera los enrutadores pe ascendentes de dirección IP inferior a superior a partir de 0.
Suponiendo que el enrutador PE1 del enrutador está numerado 0 y el enrutador PE2 es 1, y el resultado hash para los mensajes de unión del grupo 1 y del grupo 2 es 0 y 1, respectivamente, el enrutador PE3 selecciona PE1 como enrutador de PE ascendente para enviar mensajes de unión del grupo 1 y PE2 como enrutador de PE ascendente para enviar los mensajes de unión del grupo 2 al origen.
Los mensajes de unión compartidos para diferentes grupos [C-*,C-G] también se tratan de manera similar para llegar al destino.

Configuración
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía y, luego, ingrese commit
desde el [edit]
modo de configuración.
PE1
set routing-instances vpn1 instance-type vrf set routing-instances vpn1 interface ge-3/0/1.0 set routing-instances vpn1 interface ge-3/3/2.0 set routing-instances vpn1 interface lo0.1 set routing-instances vpn1 route-distinguisher 1:1 set routing-instances vpn1 provider-tunnel rsvp-te label-switched-path-template default-template set routing-instances vpn1 vrf-target target:1:1 set routing-instances vpn1 vrf-table-label set routing-instances vpn1 routing-options multipath vpn-unequal-cost equal-external-internal set routing-instances vpn1 protocols bgp export direct set routing-instances vpn1 protocols bgp group bgp type external set routing-instances vpn1 protocols bgp group bgp local-address 10.40.10.1 set routing-instances vpn1 protocols bgp group bgp family inet unicast set routing-instances vpn1 protocols bgp group bgp neighbor 10.40.10.2 peer-as 3 set routing-instances vpn1 protocols bgp group bgp1 type external set routing-instances vpn1 protocols bgp group bgp1 local-address 10.10.10.1 set routing-instances vpn1 protocols bgp group bgp1 family inet unicast set routing-instances vpn1 protocols bgp group bgp1 neighbor 10.10.10.2 peer-as 3 set routing-instances vpn1 protocols pim rp static address 10.255.10.119 set routing-instances vpn1 protocols pim interface all set routing-instances vpn1 protocols pim join-load-balance set routing-instances vpn1 protocols mvpn mvpn-mode rpt-spt set routing-instances vpn1 protocols mvpn mvpn-join-load-balance bytewise-xor-hash
PE2
set routing-instances vpn1 instance-type vrf set routing-instances vpn1 interface ge-1/0/9.0 set routing-instances vpn1 interface lo0.1 set routing-instances vpn1 route-distinguisher 2:2 set routing-instances vpn1 provider-tunnel rsvp-te label-switched-path-template default-template set routing-instances vpn1 vrf-target target:1:1 set routing-instances vpn1 vrf-table-label set routing-instances vpn1 routing-options multipath vpn-unequal-cost equal-external-internal set routing-instances vpn1 protocols bgp export direct set routing-instances vpn1 protocols bgp group bgp local-address 10.50.10.2 set routing-instances vpn1 protocols bgp group bgp family inet unicast set routing-instances vpn1 protocols bgp group bgp neighbor 10.50.10.1 peer-as 3 set routing-instances vpn1 protocols pim rp static address 10.255.10.119 set routing-instances vpn1 protocols pim interface all set routing-instances vpn1 protocols mvpn mvpn-mode rpt-spt set routing-instances vpn1 protocols mvpn mvpn-join-load-balance bytewise-xor-hash
PE3
set routing-instances vpn1 instance-type vrf set routing-instances vpn1 interface ge-0/0/8.0 set routing-instances vpn1 interface lo0.1 set routing-instances vpn1 route-distinguisher 3:3 set routing-instances vpn1 provider-tunnel rsvp-te label-switched-path-template default-template set routing-instances vpn1 vrf-target target:1:1 set routing-instances vpn1 vrf-table-label set routing-instances vpn1 routing-options multipath vpn-unequal-cost equal-external-internal set routing-instances vpn1 routing-options autonomous-system 1 set routing-instances vpn1 protocols bgp export direct set routing-instances vpn1 protocols bgp group bgp type external set routing-instances vpn1 protocols bgp group bgp local-address 10.80.10.1 set routing-instances vpn1 protocols bgp group bgp family inet unicast set routing-instances vpn1 protocols bgp group bgp neighbor 10.80.10.2 peer-as 2 set routing-instances vpn1 protocols pim rp static address 10.255.10.119 set routing-instances vpn1 protocols pim interface all set routing-instances vpn1 protocols mvpn mvpn-mode rpt-spt set routing-instances vpn1 protocols mvpn mvpn-join-load-balance bytewise-xor-hash
Procedimiento
Procedimiento paso a paso
En el ejemplo siguiente, debe navegar por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración. Para configurar el enrutador PE1:
Repita este procedimiento para cada enrutador de Juniper Networks en el dominio MVPN, después de modificar los nombres de interfaz, las direcciones y cualquier otro parámetro adecuados para cada enrutador.
Configure una instancia de enrutamiento de reenvío de enrutamiento VPN (VRF).
[edit routing-instances vpn1] user@PE1# set instance-type vrf user@PE1# set interface ge-3/0/1.0 user@PE1# set interface ge-3/3/2.0 user@PE1# set interface lo0.1 user@PE1# set route-distinguisher 1:1 user@PE1# set provider-tunnel rsvp-te label-switched-path-template default-template user@PE1# set vrf-target target:1:1 user@PE1# set vrf-table-label
Habilite el equilibrio de carga independiente del protocolo para la instancia de VRF.
[edit routing-instances vpn1] user@PE1# set routing-options multipath vpn-unequal-cost equal-external-internal
Configure grupos BGP y vecinos para habilitar el enrutamiento de PE a CE.
[edit routing-instances vpn1 protocols] user@PE1# set bgp export direct user@PE1# set bgp group bgp type external user@PE1# set bgp group bgp local-address 10.40.10.1 user@PE1# set bgp group bgp family inet unicast user@PE1# set bgp group bgp neighbor 10.40.10.2 peer-as 3 user@PE1# set bgp group bgp1 type external user@PE1# set bgp group bgp1 local-address 10.10.10.1 user@PE1# set bgp group bgp1 family inet unicast user@PE1# set bgp group bgp1 neighbor 10.10.10.2 peer-as 3
Configure PIM para habilitar el enrutamiento de multidifusión PE a CE.
[edit routing-instances vpn1 protocols] user@PE1# set pim rp static address 10.255.10.119
Habilite PIM en todas las interfaces de red.
[edit routing-instances vpn1 protocols] user@PE1# set pim interface all
Habilite el equilibrio de carga de unión PIM para la instancia de VRF.
[edit routing-instances vpn1 protocols] user@PE1# set pim join-load-balance
Configure el modo para que los mensajes de unión de C-PIM usen árboles de punto de encuentro y cambien al árbol de rutas más corta después de que se conozca el origen.
[edit routing-instances vpn1 protocols] user@PE1# set mvpn mvpn-mode rpt-spt
Configure la instancia de VRF para usar el algoritmo hash Bytewise-XOR.
[edit routing-instances vpn1 protocols] user@PE1# set mvpn mvpn-join-load-balance bytewise-xor-hash
Resultados
Desde el modo de configuración, confirme su configuración ingresando el comando show routing-instances . Si el resultado no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregir la configuración.
user@PE1# show routing-instances
routing-instances {
vpn1 {
instance-type vrf;
interface ge-3/0/1.0;
interface ge-3/3/2.0;
interface lo0.1;
route-distinguisher 1:1;
provider-tunnel {
rsvp-te {
label-switched-path-template {
default-template;
}
}
}
vrf-target target:1:1;
vrf-table-label;
routing-options {
multipath {
vpn-unequal-cost equal-external-internal;
}
}
protocols {
bgp {
export direct;
group bgp {
type external;
local-address 10.40.10.1;
family inet {
unicast;
}
neighbor 10.40.10.2 {
peer-as 3;
}
}
group bgp1 {
type external;
local-address 10.10.10.1;
family inet {
unicast;
}
neighbor 10.10.10.2 {
peer-as 3;
}
}
}
pim {
rp {
static {
address 10.255.10.119;
}
}
interface all;
join-load-balance;
}
mvpn {
mvpn-mode {
rpt-spt;
}
mvpn-join-load-balance {
bytewise-xor-hash;
}
}
}
}
Si ha terminado de configurar el dispositivo, ingrese confirmar desde el modo de configuración.
Verificación
Confirme que la configuración funciona correctamente.
Verificar la información de ruta C-Multicast de MVPN para diferentes grupos de mensajes de unión
Propósito
Verifique la información de ruta C-multicast MVPN para diferentes grupos de mensajes de unión recibidos en el enrutador PE3.
Acción
Desde el modo operativo, ejecute el comando show mvpn c-multicast .
user@PE3>
MVPN instance:
Legend for provider tunnel
I-P-tnl -- inclusive provider tunnel S-P-tnl -- selective provider tunnel
Legend for c-multicast routes properties (Pr)
DS -- derived from (*, c-g) RM -- remote VPN route
Family : INET
Instance : vpn1
MVPN Mode : RPT-SPT
C-mcast IPv4 (S:G) Ptnl St
0.0.0.0/0:203.0.113.1/24 RSVP-TE P2MP:10.255.10.2, 5834,10.255.10.2
192.0.2.2/24:203.0.113.1/24 RSVP-TE P2MP:10.255.10.2, 5834,10.255.10.2
0.0.0.0/0:203.0.113.2/24 RSVP-TE P2MP:10.255.10.14, 47575,10.255.10.14
192.0.2.2/24:203.0.113.2/24 RSVP-TE P2MP:10.255.10.14, 47575,10.255.10.14
Significado
La salida muestra cómo el enrutador PE3 ha equilibrado la carga de los datos de multidifusión C para los diferentes grupos.
Para mensajes de combinación de origen (S,G):
192.0.2.2/24:203.0.113.1/24 (S,G1) hacia el enrutador PE1 (10.255.10.2 es la dirección de circuito cerrado del enrutador PE1).
192.0.2.2/24:203.0.113.2/24 (S,G2) hacia el enrutador PE2 (10.255.10.14 es la dirección de circuito cerrado del enrutador PE2).
Para mensajes de unión compartidos (*,G):
0.0.0.0/0:203.0.113.1/24 (*,G1) hacia el enrutador PE1 (10.255.10.2 es la dirección de circuito cerrado del enrutador PE1).
0.0.0.0/0:203.0.113.2/24 (*,G2) hacia el enrutador PE2 (10.255.10.14 es la dirección de circuito cerrado del enrutador PE2).