Equilibrio de carga en VPN de capa 3
Equilibrio de carga VPN por paquete
De forma predeterminada, cuando hay varias rutas de acceso de igual costo al mismo destino para la ruta activa, el software Junos OS utiliza un algoritmo hash para seleccionar una de las direcciones del próximo salto para instalarla en la tabla de reenvío. Cada vez que cambia el conjunto de saltos siguientes para un destino, este proceso de selección (utilizando el mismo algoritmo hash) se repite para elegir la mejor dirección de salto siguiente utilizando el mismo algoritmo hash.
Como alternativa, puede configurar el software Junos OS para distribuir el tráfico VPN entre las múltiples rutas válidas entre dispositivos PE. Esta característica 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 en 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 tablas siguientes se describe cómo se ejecuta el algoritmo hash de equilibrio de carga en las rutas del 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 bit S establecido en 1 (que indica la parte inferior de la pila), ya no se aplica el algoritmo hash.
Aplicación |
Interfaz lógica de entrada |
Etiquetas MPLS |
Direcciones MAC de origen y destino |
Reordenación y riesgo de separación de flujos |
Deshabilitar 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 flujos |
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 el equilibrio de carga del tráfico en rutas BGP internas y externas y el filtrado del tráfico en función del encabezado IP. Esto le permite configurar filtros y políticas en el enrutador de PE de salida para el tráfico que se equilibra simultáneamente en las rutas de BGP internas y externas. Esta función solo está disponible en los enrutadores M120, M320, serie MX y T.
Para habilitar estas funciones en una instancia de enrutamiento VPN de capa 3, incluya la vpn-unequal-cost equal-external-internal instrucción en el nivel de [edit routing-instances routing-instance-name routing-options multipath] jerarquía y la vrf-table-label instrucción en el nivel de [edit routing-instances routing-instance-name] jerarquía.
Si ejecuta el show route detail comando, puede descubrir si una ruta está siendo cargada o no equilibrada (igual-externa-interna) y cuál es su índice de interfaz.
Si también ha configurado el reenrutamiento rápido, tenga en cuenta el siguiente comportamiento:
Si una ruta de IBGP deja de funcionar, podría reemplazarse por una ruta de EBGP activa o por una ruta de IBGP activa.
Si una ruta de EBGP deja de funcionar, solo se puede reemplazar por otra ruta de EBGP activa. Esto impide el reenvío del tráfico de la interfaz orientada al núcleo a un destino IBGP.
Puede incluir la instrucción y la vpn-unequal-cost equal-external-internal l3vpn instrucción en el nivel jerárquico [edit routing-options forwarding-options chained-composite-next-hop ingress] simultáneamente. Sin embargo, si hace esto, EBGP no funciona. Esto significa que cuando hay rutas con próximos saltos encadenados y rutas con saltos siguientes no encadenados como candidatos para EBGP de ruta múltiple de costo igual (ECMP), se excluyen las rutas que utilizan saltos siguientes encadenados. En un caso normal, 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 hay varios protocolos en uso, el dispositivo utiliza el valor de preferencia de ruta (también conocido como valor de distancia administrativa ) para seleccionar una ruta. Cuando utiliza un único protocolo de enrutamiento, el enrutador elige la ruta con el menor costo (o métrica) hasta el destino. Si el dispositivo recibe e instala varias rutas con la misma preferencia de ruta y el mismo costo hasta un destino, se debe configurar el equilibrio de carga.
En una red con rutas BGP internas y externas instaladas entre dispositivos de diferentes sistemas autónomos, BGP selecciona una única ruta mejor de forma predeterminada y no realiza el equilibrio de carga. Una VPN de capa 3 con rutas BGP internas y externas utiliza la instrucción para el equilibrio de carga independiente del multipath protocolo. Cuando se incluye la instrucción en una instancia de enrutamiento, se aplica un multipath equilibrio de carga independiente del protocolo a la tabla de enrutamiento predeterminada para esa instancia de enrutamiento. Mediante la instrucción, el equilibrio de carga independiente del protocolo se aplica a las vpn-unequal-cost rutas VPN. Mediante la instrucción, el equal-external-internal equilibrio de carga independiente del protocolo se aplica a las rutas de 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 del tráfico VPN de capa 3 mientras se utiliza simultáneamente el filtrado de encabezado IP
Nuestro equipo de pruebas de contenido ha validado y actualizado 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) mientras se utiliza simultáneamente el filtrado de encabezado IP.
Requisitos
Este ejemplo requiere los siguientes componentes de hardware y software:
-
Enrutadores perimetrales 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 siguiente ejemplo se muestra cómo configurar el equilibrio de carga mientras se utiliza simultáneamente 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 alcance de este ejemplo.
El BGP de Junos OS proporciona una función multiruta que permite el equilibrio de carga entre pares en el mismo sistema autónomo (AS) o en sistemas autónomos (AS) diferentes. En este ejemplo se utiliza la instrucción en el nivel de jerarquía para realizar el equal-external-internal equilibrio de [edit routing-instances instance-name routing-options multipath vpn-unequal-cost] 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 equilibrio de [edit routing-instances instance-name routing-options multipath vpn-unequal-cost] carga en la red. El filtrado de encabezado IP se habilita cuando la vrf-table-label instrucción se configura en el nivel de [edit routing-instances instance-name] jerarquía en los dispositivos PE.
La figura 1 muestra la topología utilizada en este ejemplo.
Topología
de encabezado IP
La Tabla 3 muestra la lista de direcciones IP utilizadas en este ejemplo para una referencia rápida.
| Dispositivo |
COMO |
ID del 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 |
Este ejemplo se probó utilizando sistemas lógicos (enrutadores lógicos). Por lo tanto, todas las interfaces físicas del ejemplo son iguales y la configuración se realiza en interfaces lógicas independientes. En una red que no sea de prueba, utilizará 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, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit] 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
El ejemplo siguiente requiere que navegue 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 en la Guía del usuario de CLI.
Para configurar un equilibrio de carga de costo desigual en la configuración de VPN:
-
Configure el ID del enrutador en el dispositivo CE1 y asígnelo a su sistema autónomo.
[edit routing-options] user@CE1# set router-id 192.0.2.1 user@CE1# set autonomous-system 65001Del mismo modo, configure todos los demás dispositivos.
-
Configure grupos BGP para el tráfico que atraviesa 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 65000ytoPE3) en los dispositivos CE2 y CE3 modificando laspeer-asinstrucciones yneighborsegún corresponda. -
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-addressinstrucciones yneighborsegún corresponda.
-
-
Configure una directiva de enrutamiento para exportar rutas hacia y desde la red MPLS (
send-directdirectiva) y una política para equilibrar la carga de la red de tráfico a través de la red MPLS (lbdirectiva).-
Configure una política (
send-direct) para exportar rutas de la tabla de enrutamiento a 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-directDel mismo modo, configure la
send-directdirectiva en los dispositivos CE2 y CE3. -
Configure una política (
lb) para exportar rutas de la tabla de enrutamiento a la tabla de reenvío en el dispositivo PE1.La
lbpolítica configura el equilibrio de carga por paquete, lo que garantiza que todas las direcciones del 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 lbDel mismo modo, configure la
lbdirectiva 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-internalinstrucción en el nivel jerárquico para habilitar el[edit routing-instances instance-name routing-options multipath vpn-unequal-cost]equilibrio de carga en la red. -
Incluya la
vrf-table-labelinstrucción en el nivel de[edit routing-instances instance-name]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-internalDevice 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-internalDevice 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, confirme la configuración introduciendo el show configuration comando. Si el resultado no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregir la configuración. A continuación se muestra un fragmento de código de la show configuration salida de 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.
Comprobación de BGP
Propósito
Compruebe que BGP funciona.
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 por 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 se encuentra en el AS 65001. Las líneas de salida que comienzan por 192.0.2.6/32, 65000:1:192.0.2.6/32y 65000:1:10.1.6.20/30 muestran las rutas BGP al dispositivo CE2, que se encuentra en el AS 65002. La línea de salida que comienza con 192.0.2.7/32 muestra la ruta BGP al dispositivo CE3, que se encuentra en el AS 65003.
Significado
BGP es funcional en la red.
Comprobación del equilibrio de carga
Propósito
Compruebe que el reenvío se realiza en ambas direcciones comprobando:
-
Si los dos saltos siguientes están instalados en la tabla de reenvío para una ruta.
-
Si hay rutas BGP externas instaladas 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 instalan en la tabla un salto 10.1.5.17 siguiente interno y un salto siguiente externo de 10.1.7.26 . 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 reenviar los siguientes saltos tanto de la ruta activa como de rutas alternativas que se utilizarán para el equilibrio de carga. El equilibrio de carga independiente del protocolo funciona junto con las VPN de capa 3. Admite el equilibrio de carga de rutas VPN independientemente del distinguidor de ruta asignado. Cuando el equilibrio de carga independiente del protocolo está habilitado, tanto las rutas a otros enrutadores 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 la salida del show route table comando.
En las secciones siguientes se describe cómo configurar el equilibrio de carga independiente del protocolo y cómo esta configuración puede afectar a las directivas de enrutamiento:
- Configuración del equilibrio de carga para VPN de capa 3
- Configuración de políticas de enrutamiento y equilibrio de carga
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 necesita configurar la
multipathinstrucción en el nivel de jerarquía o en el[edit routing-instances routing-instance-name routing-options][edit routing-instances routing-instance-name routing-options rib routing-table-name]nivel de jerarquía.IPv6: debe configurar la
multipathinstrucción tanto en el nivel de jerarquía como en el[edit routing-instances routing-instance-name routing-options rib routing-table-name][edit routing-instances routing-instance-name routing-options]nivel de jerarquía.
No puede configurar la multipath instrucción y las subinstrucciones al mismo tiempo que ha configurado 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 instrucción en los siguientes niveles de jerarquía, se aplica un multipath equilibrio de carga independiente del protocolo 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 instrucción en los siguientes niveles de jerarquía, se aplica un multipath equilibrio de carga independiente del protocolo 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 las rutas VPN que son iguales hasta la métrica IGP con respecto a la selección de ruta.
Cuando no se incluye, el equilibrio de carga independiente del protocolo se aplica a las rutas VPN que son iguales hasta el identificador del enrutador con respecto a la selección de ruta.
La vpn-unequal-cost instrucción no es aplicable en los 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 las rutas de BGP internas y externas. Puede configurarlo 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 instrucción y la vpn-unequal-cost equal-external-internal l3vpn instrucción en el nivel jerárquico [edit routing-options forwarding-options chained-composite-next-hop ingress] simultáneamente. Sin embargo, si hace esto, EBGP no funciona. Esto significa que cuando hay rutas con siguientes saltos encadenados y rutas con saltos siguientes no encadenados como candidatos para EBGP de ruta múltiple de costo igual (ECMP), se excluyen las rutas que utilizan los siguientes saltos encadenados. En un caso normal, las rutas excluidas son las rutas internas.
Configuración de políticas de enrutamiento y equilibrio de carga
Si habilita el equilibrio de carga independiente del protocolo para VPN de capa 3 incluyendo la multipath instrucción y si también incluye la load-balance per-packet instrucción en la configuración de la directiva de enrutamiento, los paquetes no tienen equilibrio de carga.
Por ejemplo, un enrutador 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 PE también tiene configurada la siguiente declaración de directiva:
[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 de múltiples rutas. Los paquetes del enrutador PE no tienen equilibrio de carga.
Para asegurarse de que el equilibrio de carga de VPN funciona como se esperaba, no incluya la from protocol instrucción en la configuración de la instrucción de directiva. La declaración de directiva 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 directivas de enrutamiento, filtros de firewall y políticas de tráfico.
Ejemplo: configuración del equilibrio de carga de unión PIM en VPN de multidifusión de próxima generación
En este ejemplo se muestra cómo configurar el enrutamiento de múltiples rutas para rutas de red privada virtual (VPN) externas e internas con métricas desiguales de protocolo de puerta de enlace interior (IGP) y equilibrio de carga de unión de multidifusión independiente del protocolo (PIM) en enrutadores perimetrales de proveedor (PE) que ejecutan VPN de multidifusión de próxima generación (MVPN). Esta característica permite que los mensajes de unión PIM (C-PIM) del cliente tengan un equilibrio de carga en las rutas ascendentes internas de BGP (IBGP) disponibles cuando no hay una ruta de BGP externa (EBGP) presente, y en las rutas ascendentes de EBGP disponibles cuando hay rutas de BGP externas e internas (EIBGP) hacia el origen o el punto 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, serie MX o serie T.
Junos OS versión 12.1 ejecutándose en todos los dispositivos.
Antes de empezar:
Configure las interfaces del dispositivo.
Configure los siguientes protocolos de enrutamiento en todos los enrutadores 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 C-PIM tengan un equilibrio de carga en todas las rutas de IBGP disponibles cuando solo hay rutas de IBGP presentes, y en todas las rutas de EBGP ascendentes disponibles cuando las rutas de EIBGP están presentes hacia el origen (o RP). A diferencia de Draft-Rosen MVPN, la MVPN de próxima generación no utiliza rutas EIBGP desiguales para enviar mensajes de unión C-PIM. Esta función es aplicable a los mensajes de unión C-PIM IPv4.
De forma predeterminada, solo se utiliza una ruta IBGP activa para enviar los mensajes de unión C-PIM para un enrutador 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 VPN de próxima generación, los mensajes de unión a C-PIM se traducen (o codifican como) rutas MVPN de multidifusión del cliente BGP (C-multidifusión) y se anuncian con la familia de direcciones BGP MCAST-VPN hacia los enrutadores PE remitentes. Un enrutador PE origina una ruta MVPN de multidifusión C en respuesta a recibir un mensaje de unión C-PIM a través de su interfaz de enrutador PE al enrutador perimetral del cliente (CE). Los dos tipos de rutas MVPN de C-multidifusión son:
Ruta compartida de unión a árboles (C-*, C-G)
Originado por enrutadores de PE receptores.
Se origina cuando un enrutador 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 al árbol fuente (C-S, C-G)
Originado por enrutadores de PE receptores.
Se origina cuando un enrutador PE recibe un mensaje de unión C-PIM (C-S, C-G) de árbol de origen, u originado por el enrutador de PE que ya tiene una ruta de unión de árbol compartido y recibe una ruta de autodescubrimiento activa de origen.
La ruta ascendente en una MVPN de próxima 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 PE del conjunto de candidatos se numeran de menor a mayor dirección IP, a partir de 0.
Se realiza un bytewise exclusive-or de todos los bytes en la raíz C (origen) y la dirección C-G (grupo).
El resultado es módulo tomado n, donde n es el número de enrutadores PE en el conjunto candidato. 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 PE con una o más rutas de IBGP ascendentes hacia el origen (o RP) descubre una nueva ruta de IBGP hacia la misma fuente (o RP), los mensajes de unión C-PIM distribuidos entre rutas de IBGP previamente existentes se redistribuyen debido al cambio en el conjunto de enrutadores PE candidatos.
En este ejemplo, PE1, PE2 y PE3 son los enrutadores PE que tienen configurada la característica 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 perimetral del cliente (CE) conectado a PE3. Source y Receiver son los hosts BSD gratuitos.
En los 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 a C-PIM se envían únicamente mediante rutas de EBGP. Las rutas de 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 usa la ruta EBGP a CE1 para enviar los mensajes de unión.
Si un enrutador PE pierde una o más rutas EBGP hacia el origen (o RP), el vecino RPF en la interfaz de túnel de multidifusión se selecciona en función de un mecanismo hash.
Al descubrir la primera ruta de EBGP, solo los mensajes de unión nuevos se equilibran en las rutas de 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 deja de funcionar, PE2 envía los mensajes de unión a PE1 utilizando 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 ya enviados en la ruta de IBGP no se redistribuyen.
En los enrutadores 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 los enrutadores CE se equilibran en 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 del origen y CE4 inicia los mensajes de unión de origen para diferentes grupos (Grupo 1 [C-S,C-G1] y Grupo 2 [C-S,C-G2]), los mensajes de unión de origen llegan al enrutador PE3.
A continuación, el enrutador PE3 utiliza el algoritmo hash Bytewise-XOR para seleccionar el enrutador PE ascendente para enviar los datos de multidifusión C para cada grupo. El algoritmo primero numera los enrutadores PE ascendentes de menor a mayor dirección IP a partir de 0.
Suponiendo que el enrutador PE1 tiene el número 0 y el enrutador PE2 es 1, y que el resultado del 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 al 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.
de próxima generación
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, a continuación, 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 es necesario 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 todos los enrutadores de Juniper Networks del 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-labelHabilite 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-internalConfigure grupos y vecinos de BGP 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 3Configure PIM para habilitar el enrutamiento de multidifusión de PE a CE.
[edit routing-instances vpn1 protocols] user@PE1# set pim rp static address 10.255.10.119Active PIM en todas las interfaces de red.
[edit routing-instances vpn1 protocols] user@PE1# set pim interface allHabilite el equilibrio de carga de unión PIM para la instancia de VRF.
[edit routing-instances vpn1 protocols] user@PE1# set pim join-load-balanceConfigure el modo para que los mensajes de unión de C-PIM usen árboles de puntos de encuentro y cambie al árbol de ruta más corta después de conocer el origen.
[edit routing-instances vpn1 protocols] user@PE1# set mvpn mvpn-mode rpt-sptConfigure la instancia de VRF para utilizar 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 introduciendo 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;
}
}
}
}
Cuando haya terminado de configurar el dispositivo, escriba confirmar desde el modo de configuración.
Verificación
Confirme que la configuración funciona correctamente.
Verificar la información de ruta de multidifusión C MVPN para diferentes grupos de mensajes de unión
Propósito
Compruebe la información de ruta de multidifusión C 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
El resultado muestra cómo el enrutador PE3 ha equilibrado la carga de los datos de C-multidifusión para los diferentes grupos.
Para mensajes de unió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).