El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Este documento describe el comportamiento de recibir y anunciar trayectos sin etiquetar y etiquetados sobre una sesión BGP en Cisco IOS® XR.
No hay requisitos específicos para este documento.
Este documento es específico de Cisco IOS® XR, pero no se limita a una versión o hardware de software específico.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
El Identificador de familia de direcciones (AFI) es una indicación del tipo de ruta BGP. Los ejemplos son 1 para IPv4 y 2 para IPv6.
El identificador de familia de direcciones (SAFI) subsiguiente es una indicación adicional del tipo de ruta. Los ejemplos son 1 para una ruta sin etiqueta y 4 para una ruta etiquetada.
La unidifusión sin etiqueta para IPv4 es AFI 1 y SAFI 1.
La unidifusión etiquetada para IPv4 es AFI 1 y SAFI 4.
La unidifusión sin etiqueta para IPv6 es AFI 2 y SAFI 1.
La unidifusión etiquetada para IPv6 es AFI 2 y SAFI 4.
La unidifusión etiquetada (LU) se denomina a menudo RFC 3107 "Transportación de información de etiquetas en BGP-4".
A continuación, U se refiere a unicast sin etiqueta, por lo que SAFI 1 y LU se refieren a unicast etiquetado, por lo que SAFI 4.
Tenga en cuenta que Cisco IOS® XR necesita "asignar-label all| route-policy..." o la ruta no se originará ni propagará al siguiente altavoz BGP como SAFI 4.
La unidifusión IPv4/v6 y la unidifusión etiquetada en una sesión BGP no se soportó en Cisco IOS® XR .
En Cisco IOS® XR, el soporte para tener no etiquetado y etiquetado en una sesión BGP se realizó en 6.2.1.
Cuando se ejecutan ambos en una sesión no se soporta, es problemático pues la última actualización/retiro recibida invalida la anterior, incluso si fueron recibidos en otro SAFI.
Cuando configura SAFI 1 y 4 en la misma sesión BGP en un router que ejecuta código IOS-XR antes de IOS-XR 6.2.1, el router da la siguiente advertencia:
bgp[1051]: %ROUTING-BGP-4-INCOMPATIBLE_AFI : IPv4 Unicast and IPv4 Labeled-unicast Address families together are not supported under the same neighbor.
Este mensaje de advertencia fue introducido en IOS-XR 5.3.0 y IOS-XR 5.2.2.
Las capacidades intercambiadas entre peers BGP deben coincidir. Si no, la sesión BGP no aparece.
Esta es una captura de Wireshark de la capacidad intercambiada para AFI 1/SAFI 1 y AFI 1/SAFI 4 en el mensaje BGP Open:
Imagen 1
Este es un ejemplo para IOS-XR configurado con LU solamente en una sesión a IOS configurada solamente con U.
IOS-XR:
RP/0/0/CPU0:R4#show bgp neighbor 10.100.1.8
BGP neighbor is 10.100.1.8
Remote AS 65003, local AS 65003, internal link
Remote router ID 0.0.0.0
BGP state = Idle
…
Connections established 0; dropped 0
Local host: 10.100.1.4, Local port: 179, IF Handle: 0x00000000
Foreign host: 10.100.1.8, Foreign port: 33396
Last reset 00:00:14, due to BGP Notification sent: unsupported/disjoint capability
Time since last notification sent to neighbor: 00:00:14
Error Code: unsupported/disjoint capability
Notification data sent:
None
El router IOS imprime un mensaje syslog para este error de configuración:
*Aug 8 12:40:44.719: %BGP-3-NOTIFICATION: received from neighbor 10.100.1.4 active 2/7 (unsupported/disjoint capability) 0 by
Usted configura "address-family ipv4 unicast" bajo el comando de vecino BGP para habilitar ipv4 unicast para la sesión BGP.
Usted configura "address-family ipv6 unicast" bajo el comando de vecino BGP para habilitar ipv6 unicast para la sesión BGP.
Usted configura "address-family ipv4 etiquetado-unicast" bajo el comando de vecino BGP para habilitar ipv4 etiquetado unicast para la sesión BGP.
Usted configura "address-family ipv6 etiquetado-unicast" bajo el comando de vecino BGP para habilitar ipv6 etiquetado unicast para la sesión BGP.
En IOS-XR, la combinación AFI/SAFI se configura por peer BGP.
Este es un ejemplo para una sesión BGP que tiene SAFI 1 y 4:
router bgp 65003
address-family ipv4 unicast
redistribute connected
allocate-label all unlabeled-path
…
neighbor 10.100.1.7
remote-as 65003
update-source Loopback0
address-family ipv4 unicast
route-reflector-client
!
address-family ipv4 labeled-unicast
route-reflector-client
Observe que todavía hay solamente la "unidifusión de familia de direcciones" y no la "familia de direcciones etiquetada-unidifusión" en el router BGP. Las trayectorias SAFI 1 y 4 se almacenan en esta tabla BGP.
Independientemente de si IOS-XR es más antiguo o más reciente que 6.2.1, sólo hay una tabla BGP para almacenar las rutas U y LU. Esto es evidente por el hecho de que sólo puede configurar (habilitar) "address-family ipv4 unicast" o "address-family ipv6 unicast" en router bgp. No puede configurar "address-family ipv4 etiquetado-unicast" o "address-family ipv6 etiquetado-unicast" en router bgp.
La trayectoria U y LU puede ser idéntica. Antes de IOS-XR 6.2.1, recibir la misma trayectoria de nuevo pero esta vez con o sin una etiqueta, invalidaría la trayectoria recibida anteriormente. Después de IOS-XR 6.2.1, las dos trayectorias idénticas se verán como diferentes si sólo difieren por la etiqueta. Los diferentes SAFI realizan las adiciones, eliminaciones o modificaciones de la ruta.
Este es un ejemplo de una ruta en la tabla BGP con AFI 1/SAFI 4. Debido a que la asignación de etiquetas está habilitada para todos los prefijos, esta ruta se almacenará con una etiqueta local. Debido a que sólo hay una tabla BGP para almacenar las rutas U y LU, el prefijo aparece con los comandos "show bgp ipv4 unicast" y "show bgp ipv4 etiquetado-unicast".
RP/0/0/CPU0:R4#show bgp ipv4 unicast 10.100.1.1/32
BGP routing table entry for 10.100.1.1/32
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Local Label: 24000
Last Modified: Aug 6 15:03:59.574 for 16:06:13
Paths: (1 available, best #1)
Advertised to update-groups (with more than one peer):
0.3 0.4
Advertised to peers (in unique update groups):
10.1.45.5
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.3 0.4
Advertised to peers (in unique update groups):
10.1.45.5
65002 65001
10.1.24.2 from 10.1.24.2 (10.100.1.2)
Received Label 24003
Origin IGP, localpref 100, valid, external, best, group-best, labeled-unicast
Received Path ID 0, Local Path ID 0, version 5
Origin-AS validity: not-found
Observe que la trayectoria está marcada con "etiqueta-unidifusión".
RP/0/0/CPU0:R4#show bgp ipv4 labeled-unicast 10.100.1.1/32
BGP routing table entry for 10.100.1.1/32
Versions:
Process bRIB/RIB SendTblVer
Speaker 5 5
Local Label: 24000
Last Modified: Aug 6 15:03:59.574 for 16:08:41
Paths: (1 available, best #1)
Advertised to update-groups (with more than one peer):
0.3 0.4
Advertised to peers (in unique update groups):
10.1.45.5
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.3 0.4
Advertised to peers (in unique update groups):
10.1.45.5
65002 65001
10.1.24.2 from 10.1.24.2 (10.100.1.2)
Received Label 24003
Origin IGP, localpref 100, valid, external, best, group-best, labeled-unicast
Received Path ID 0, Local Path ID 0, version 5
Origin-AS validity: not-found
Observe que la trayectoria está marcada con "etiqueta-unidifusión".
Si la trayectoria está presente como U y LU, entonces el ID de trayectoria local es diferente.
RP/0/0/CPU0:R4#show bgp ipv4 labeled-unicast 10.100.1.1/32 detail
BGP routing table entry for 10.100.1.1/32
Versions:
Process bRIB/RIB SendTblVer
Speaker 30 30
Local Label: 24003 (no rewrite);
Flags: 0x00003028+0x00010000;
Last Modified: Aug 30 10:45:50.502 for 00:01:59
Paths: (2 available, best #1)
Advertised IPv4 Unicast paths to peers (in unique update groups):
10.100.1.8 10.100.1.9
Advertised IPv4 Labeled-unicast paths to update-groups (with more than one peer):
0.8
Path #1: Received by speaker 0
Flags: 0x4000000009060205, import: 0x20
Advertised IPv4 Unicast paths to peers (in unique update groups):
10.100.1.8 10.100.1.9
Advertised IPv4 Labeled-unicast paths to update-groups (with more than one peer):
0.8
65001, (Received from a RR-client)
10.100.1.9 (metric 2) from 10.100.1.9 (10.100.1.9)
Origin IGP, metric 0, localpref 100, valid, internal, best, group-best
Received Path ID 0, Local Path ID 1, version 29
Path #2: Received by speaker 0
Flags: 0x4080000008020205, import: 0x20
Not advertised to any peer
65001, (Received from a RR-client)
10.100.1.9 (metric 2) from 10.100.1.9 (10.100.1.9)
Received Label 24001
Origin IGP, metric 0, localpref 100, valid, internal, labeled-unicast
Received Path ID 0, Local Path ID 0, version 0
Debe configurar el comando "asignar-label" para que las trayectorias recibidas o originadas en BGP tengan una etiqueta MPLS local. Sin este comando, las rutas no tendrán una etiqueta local.
RP/0/0/CPU0:R4#conf t
RP/0/0/CPU0:R4(config)#router bgp 65003
RP/0/0/CPU0:R4(config-bgp)# address-family ipv4 unicast
RP/0/0/CPU0:R4(config-bgp-af)#allocate-label ?
all Allocate labels for all prefixes
route-policy Use a route policy to select prefixes for label allocation
La asignación de etiquetas ocurre para todas las rutas o según la política de rutas configurada.
En la implementación anterior en IOS-XR, se da una advertencia al configurar tanto la U como la LU en la misma sesión BGP. La advertencia se introduce en las versiones 5.3.0 y 5.2.2 del IOS-XR. La advertencia se elimina en la versión 6.2.1 de IOS-XR, porque se admite etiquetado y sin etiqueta en la misma sesión de BGP.
Ejemplo:
RP/0/0/CPU0:ios#conf t
RP/0/0/CPU0:ios(config)#router bgp 65001
RP/0/0/CPU0:ios(config-bgp)#add ipv4 unicast
RP/0/0/CPU0:ios(config-bgp-af)#exit
RP/0/0/CPU0:ios(config-bgp)#neighbor 10.0.0.1
RP/0/0/CPU0:ios(config-bgp-nbr)#remote-as 65001
RP/0/0/CPU0:ios(config-bgp-nbr)#exit
RP/0/0/CPU0:ios(config-bgp)#neighbor 10.0.0.1
RP/0/0/CPU0:ios(config-bgp-nbr)#address-family ipv4 unicast
RP/0/0/CPU0:ios(config-bgp-nbr-af)#exit
RP/0/0/CPU0:ios(config-bgp-nbr)#address-family ipv4 labeled-unicast
RP/0/0/CPU0:ios(config-bgp-nbr-af)#commit
RP/0/0/CPU0:Aug 21 14:14:22.222 : bgp[1052]: %ROUTING-BGP-4-INCOMPATIBLE_AFI : IPv4 Unicast and IPv4 Labeled-unicast Address families together are not supported under the same neighbor.
La explicación de este mensaje de error:
Este mensaje indica que el usuario ha configurado familias de direcciones unidifusión IPv4 e unidifusión etiquetada IPv4 o unidifusión IPv6 e unidifusión etiquetada IPv6 juntas bajo el mismo vecino. Esta configuración en particular no se soporta.
Acción recomendada: configure dos sesiones vecinas en el router. Configure la familia de direcciones unicast bajo la primera sesión vecina y configure la familia de direcciones etiquetada-unicast bajo la segunda sesión vecina.
Ejemplo de configuración para dos sesiones BGP entre un par de routers IOS-XR. Utilice una dirección (loopback) diferente para cada sesión de BGP.
hostname R1
interface Loopback0
ipv4 address 10.100.1.1 255.255.255.255
!
interface Loopback1
ipv4 address 10.100.1.101 255.255.255.255
!
router bgp 65001
address-family ipv4 unicast
!
neighbor 10.100.1.2
remote-as 65001
update-source Loopback0
address-family ipv4 unicast
!
!
neighbor 10.100.1.102
remote-as 65001
update-source Loopback1
address-family ipv4 labeled-unicast
!
!
hostname R2
interface Loopback0
ipv4 address 10.100.1.2 255.255.255.255
!
interface Loopback1
ipv4 address 10.100.1.102 255.255.255.255
!
router bgp 65001
address-family ipv4 unicast
!
neighbor 10.100.1.1
remote-as 65001
update-source Loopback0
address-family ipv4 unicast
!
!
neighbor 10.100.1.101
remote-as 65001
update-source Loopback1
address-family ipv4 labeled-unicast
!
!
En IOS-XR 6.2.1, tanto la U como la LU se soportan en la misma sesión BGP en el VRF predeterminado.
No importa si la sesión BGP es BGP interno o externo.
Los altavoces BGP no admiten U y LU en la misma sesión en ningún VRF no predeterminado.
Antes de IOS-XR 6.2.1, todos los altavoces BGP U, LU y U + LU se guardaban en grupos de actualizaciones independientes. Después de IOS-XR versión 6.2.1, esto ya no es así. Algunos altavoces BGP en un grupo de actualización pueden ser sólo U, o sólo LU, o tanto U como LU.
En la tabla siguiente se muestra el comportamiento del anuncio y del retiro para diferentes escenarios. Hay 16 escenarios.
Todo se aplica a IOS-XR versión 6.2.1 y posteriores, a menos que se mencione lo contrario en la columna de comentarios.
Caso |
Tipo de ruta de acceso/ruta de acceso óptima |
¿Hay una etiqueta local? |
NHS o NHU |
Update-group SAFI |
¿Anunciar o retirar? |
Comentarios |
1 |
Ruta sin etiqueta, es decir, sin etiqueta RX |
Yes |
NHS |
SAFI-1 |
Anuncio predeterminado Retirar con comando advertise local-label-route (safi-unicast) disable |
Sólo es posible después de 6.5.1. |
2 |
SAFI-4 |
Anuncio |
Sólo es posible después de 6.5.1. Rutas de reversión IPv4/v6 y 6PE: NHS implícito siempre |
|||
3 |
NHU |
SAFI-1 |
Anuncio |
Sólo es posible después de 6.5.1. |
||
4 |
SAFI-4 |
Retirar |
Sólo es posible después de 6.5.1. Rutas de reversión IPv4/v6 y 6PE: NHU ignorado; NHS implícito siempre |
|||
5 |
No |
NHS |
SAFI-1 |
Anuncio |
||
6 |
SAFI-4 |
Retirar |
||||
7 |
NHU |
SAFI-1 |
Anuncio |
|||
8 |
SAFI-4 |
Retirar |
||||
9 |
Trayectoria etiquetada, es decir, con etiqueta rx |
Yes |
NHS |
SAFI-1 |
Anuncio predeterminado Retirar con el comando advertise local-label-route (safi-unicast) disable |
Antes de 6.2.1: el comportamiento predeterminado es Anunciar. |
10 |
SAFI-4 |
Anuncio |
||||
11 |
NHU |
SAFI-1 |
Retirar |
Antes de 6.2.1: el comportamiento es anunciar. |
||
12 |
SAFI-4 |
Anuncio |
||||
13 |
No |
NHS |
SAFI-1 |
Anuncio |
||
14 |
SAFI-4 |
Retirar |
||||
15 |
NHU |
SAFI-1 |
Retirar |
Antes de 6.2.1: el comportamiento es anunciar. |
||
16 |
SAFI-4 |
Anuncio |
Tabla 1 Comportamiento del Anuncio para las Sesiones iBGP y eBGP
NHS = Siguiente Salto
NHU = Salto Siguiente Sin Cambiar.
Si NHU está en efecto, esto significa que el salto siguiente no se configura para una sesión iBGP.
Tenga en cuenta que NHS es siempre el caso cuando el altavoz BGP envía a un par eBGP.
Puede haber NHS o NHU hacia un altavoz iBGP, dependiendo de la configuración de next-hop-self. El comportamiento predeterminado hacia los peers iBGP es NHU.
Para la segunda columna: tenga en cuenta que la ruta se considera no etiquetada o etiquetada sólo si la mejor trayectoria o una de las trayectorias marcadas con add-path no está etiquetada o etiquetada.
Para la propagación de la ruta importa qué características tiene la mejor trayectoria. Dependiendo de las características (columnas 2 a 4), determina si la trayectoria se anuncia como U, LU o ambas.
Si la función Rutas adicionales (ADD-PATH) está activada y una ruta de acceso está marcada con "add-path", las características de esa ruta también juegan un papel en cómo se anunciará esa ruta.
"Etiqueta local presente?: No" significa lo siguiente: es posible que se reciba una etiqueta con la actualización recibida, pero la etiqueta no está instalada. La etiqueta local no se instala si el comando "asignar-label" no está ahí.
Puede verificar si la etiqueta local está presente observando el prefijo en detalle. Utilice "show bgp <prefix> detail" o "show route <prefix> detail".
En el siguiente ejemplo, el prefijo se recibe sin una etiqueta (por lo tanto, a través de un par SAFI 1) y no se asigna ninguna etiqueta local:
RP/0/0/CPU0:R2#show bgp ipv4 labeled-unicast 10.100.1.5/32 detail
BGP routing table entry for 10.100.1.5/32
Versions:
Process bRIB/RIB SendTblVer
Speaker 3 3
Flags: 0x04001001+0x00000000;
Last Modified: Sep 5 03:44:45.647 for 01:01:27
Paths: (1 available, best #1)
Advertised to update-groups (with more than one peer):
0.3
Path #1: Received by speaker 0
Flags: 0x4000000001040207, import: 0x00
Advertised to update-groups (with more than one peer):
0.3
Local, (Received from a RR-client)
10.100.1.1 (metric 2) from 10.100.1.1 (10.100.1.1)
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best
Received Path ID 0, Local Path ID 1, version 3
RP/0/0/CPU0:R2#show route 10.100.1.5/32 detail
Routing entry for 10.100.1.5/32
Known via "bgp 65001", distance 200, metric 0, type internal
Installed Sep 5 03:44:45.480 for 01:01:37
Routing Descriptor Blocks
10.100.1.1, from 10.100.1.1
Route metric is 0
Label: None
Tunnel ID: None
Extended communities count: 0
NHID:0x0(Ref:0)
Route version is 0x23 (35)
No local label
IP Precedence: Not Set
QoS Group ID: Not Set
Flow-tag: Not Set
Route Priority: RIB_PRIORITY_RECURSIVE (12) SVD Type RIB_SVD_TYPE_LOCAL
Download Priority 4, Download Version 52
No advertising protos.
De forma predeterminada, las rutas sin etiqueta (SAFI 1) nunca se etiquetan, incluso cuando se configura el comando "asignar-etiqueta".
A partir de la versión 6.5.1 del IOS-XR, existe la palabra clave "unetiqueta-ruta" para el comando "asignar-etiqueta", de modo que también se puedan asignar etiquetas a las trayectorias no etiquetadas.
RP/0/0/CPU0:R4#conf t
RP/0/0/CPU0:R4(config)#router bgp 65003
RP/0/0/CPU0:R4(config-bgp)# address-family ipv4 unicast
RP/0/0/CPU0:R4(config-bgp-af)#allocate-label all ?
unlabeled-path Allocate label for unlabeled paths too
<cr>
RP/0/0/CPU0:R4(config-bgp-af)#allocate-label all unlabeled-path ?
<cr>
RP/0/0/CPU0:R4(config-bgp-af)#allocate-label all unlabeled-path
RP/0/0/CPU0:R4(config-bgp-af)#commit
La trayectoria es una trayectoria SAFI 1, por lo que no hay ninguna etiqueta recibida.
Debido al comando "unetiqueta-ruta" ahora hay una etiqueta local.
RP/0/0/CPU0:R4#show bgp ipv4 labeled-unicast 10.100.1.1/32 detail
BGP routing table entry for 10.100.1.1/32
Versions:
Process bRIB/RIB SendTblVer
Speaker 16 16
Local Label: 24003 (no rewrite);
Flags: 0x01303028+0x00000000;
Last Modified: Aug 27 19:08:47.502 for 00:00:59
Paths: (1 available, best #1)
Advertised IPv4 Unicast paths to update-groups (with more than one peer):
0.3
Advertised IPv4 Labeled-unicast paths to update-groups (with more than one peer):
0.7
Advertised IPv4 Labeled-unicast paths to peers (in unique update groups):
10.1.45.5
Path #1: Received by speaker 0
Flags: 0x4000000009040207, import: 0x20
Advertised IPv4 Unicast paths to update-groups (with more than one peer):
0.3
Advertised IPv4 Labeled-unicast paths to update-groups (with more than one peer):
0.7
Advertised IPv4 Labeled-unicast paths to peers (in unique update groups):
10.1.45.5
65001, (Received from a RR-client)
10.100.1.10 (metric 2) from 10.100.1.10 (10.100.1.10)
Origin IGP, metric 0, localpref 100, valid, internal, best, group-best
Received Path ID 0, Local Path ID 1, version 16
RP/0/0/CPU0:R4#show route 10.100.1.1/32 detail
Routing entry for 10.100.1.1/32
Known via "bgp 65003", distance 200, metric 0
…
Route version is 0x4 (4)
Local Label: 0x5dc3 (24003)
IP Precedence: Not Set
…
Esto permitirá los casos 1 a 4 del cuadro 1.
Para averiguar por qué se sigue asignando una etiqueta local cuando se elimina el comando "asignar-etiqueta", ejecute el comando debug "debug bgp label".
Este es un ejemplo:
RP/0/0/CPU0:R4#debug bgp label
RP/0/0/CPU0:R4#show debug
#### debug flags set from tty 'con0_0_CPU0' ####
ip-bgp default label flag is ON with value '##########'
Es mejor habilitar esta depuración para un prefijo específico o grupo de prefijos. Aquí tiene un ejemplo:
RP/0/0/CPU0:R4#sh running-config route-policy match-prefix
route-policy match-prefix
if destination in (10.100.1.1/32) then
pass
else
drop
endif
end-policy
!
RP/0/0/CPU0:R4#debug bgp label route-policy match-prefix
RP/0/0/CPU0:R4#show debug
#### debug flags set from tty 'con0_0_CPU0' ####
ip-bgp default label flag is ON with value '######match-prefix####'
RP/0/0/CPU0:R4#con t
RP/0/0/CPU0:R4(config)#router bgp 65003
RP/0/0/CPU0:R4(config-bgp)# address-family ipv4 unicast
RP/0/0/CPU0:R4(config-bgp-af)#no allocate-label all
RP/0/0/CPU0:R4(config-bgp-af)#commit
RP/0/0/CPU0:Aug 23 12:43:02.786 : bgp[1048]: [default-lbl] (ip4u): Label computation done: table=TBL:default (1/1), net=10.100.1.1/32: netfl=0x05043001, path=0x1073ed5c(10.1.24.2/32,10.1.24.2,0,0x400000000d060001), pathrcvdlabel=24002: asbr=1, rr=0/1, nhselfcount=1: result="label required"
Puede ver que este router recibió una etiqueta para el prefijo 10.100.1.1/32, es un ASBR, no es un RR y tiene next-hop-self para al menos una sesión BGP. Esto da como resultado que este prefijo necesite una etiqueta local.
La etiqueta local permanece:
RP/0/0/CPU0:R4#show bgp ipv4 unicast 10.100.1.1/32 detail
BGP routing table entry for 10.100.1.1/32
Versions:
Process bRIB/RIB SendTblVer
Speaker 13 13
Local Label: 16002 (no rewrite);
Flags: 0x05043001+0x00000200;
Last Modified: Aug 23 12:37:11.133 for 00:05:53
Paths: (1 available, best #1)
Advertised to update-groups (with more than one peer):
0.6
Advertised to peers (in unique update groups):
10.1.46.6 10.100.1.8 10.100.1.7
Path #1: Received by speaker 0
Flags: 0x400000000d060001, import: 0x1f
Advertised to update-groups (with more than one peer):
0.6
Advertised to peers (in unique update groups):
10.1.46.6 10.100.1.8 10.100.1.7
65002 65001
10.1.24.2 from 10.1.24.2 (10.100.1.2)
Received Label 24002
Origin IGP, localpref 100, valid, external, best, group-best, import-candidate
Received Path ID 0, Local Path ID 1, version 13
Origin-AS validity: not-found
RP/0/0/CPU0:R4#show route 10.100.1.1/32 detail
Routing entry for 10.100.1.1/32
Known via "bgp 65003", distance 20, metric 0, [ei]-bgp, labeled unicast (3107)
Tag 65002, type external
Installed Aug 23 12:37:11.440 for 00:06:02
Routing Descriptor Blocks
10.1.24.2, from 10.1.24.2, BGP external
Route metric is 0
Label: 0x5dc2 (24002)
Tunnel ID: None
Extended communities count: 0
NHID:0x0(Ref:0)
Route version is 0x4 (4)
Local Label: 0x3e82 (16002)
IP Precedence: Not Set
QoS Group ID: Not Set
Route Priority: RIB_PRIORITY_NON_RECURSIVE_LOW (11) SVD Type RIB_SVD_TYPE_LOCAL
Download Priority 4, Download Version 28
No advertising protos.
La depuración muestra el siguiente mensaje cuando no se requiere una etiqueta local:
RP/0/0/CPU0:Aug 23 13:01:15.801 : bgp[1048]: [default-lbl]: Prefix 10.100.1.1/32:()doesn't require label, releasing
RP/0/0/CPU0:Aug 23 13:01:15.801 : bgp[1048]: [default-lbl]: bgp_label_release_label: perform label release onnet 10.100.1.1/32net retain 0 label_retain 0
Si el prefijo está en el LFIB depende de si el prefijo se recibió etiquetado o no y si la etiqueta de asignación se aplica a ese prefijo.
La etiqueta recibida es 24002 para el siguiente prefijo. No está instalado en el LFIB, porque BGP no tiene el comando asignar-label.
RP/0/0/CPU0:R4#show bgp ipv4 unicast 10.100.1.1/32
BGP routing table entry for 10.100.1.1/32
Versions:
Process bRIB/RIB SendTblVer
Speaker 4 4
Local Label: 24002
Last Modified: Aug 8 13:52:57.276 for 00:00:36
Paths: (1 available, best #1)
Advertised to update-groups (with more than one peer):
0.6
Advertised to peers (in unique update groups):
10.100.1.7
Path #1: Received by speaker 0
Advertised to update-groups (with more than one peer):
0.6
Advertised to peers (in unique update groups):
10.100.1.7
65002 65001
10.1.24.2 from 10.1.24.2 (10.100.1.2)
Received Label 24002
Origin IGP, localpref 100, valid, external, best, group-best, labeled-unicast
Received Path ID 0, Local Path ID 0, version 4
Origin-AS validity: not-found
router bgp 65003
bgp unsafe-ebgp-policy
address-family ipv4 unicast
!
RP/0/0/CPU0:R4# show mpls forwarding
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
24000 Aggregate 10.1.24.0/24 default 0
24001 Aggregate 10.1.45.0/24 default 0
Si el comando asignar-label está presente, la etiqueta local está presente en el LFIB:
router bgp 65003
bgp unsafe-ebgp-policy
address-family ipv4 unicast
allocate-label all
!
RP/0/0/CPU0:R4#show mpls forwarding
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
24000 Aggregate 10.1.24.0/24 default 0
24001 Aggregate 10.1.45.0/24 default 0
24002 24002 10.100.1.1/32 10.1.24.2 0
Incluso si el prefijo BGP se recibe a través de una sesión LU, pero no se asigna ninguna etiqueta local, entonces la ruta no se anuncia a través de otra sesión LU donde se realiza NHS. Este es el caso 14 en la tabla 1.Éste es el caso si la sesión de BGP saliente es eBGP.
Ejemplo:
RP/0/0/CPU0:R2#show bgp ipv4 unicast 10.100.1.1/32 detail
BGP routing table entry for 10.100.1.1/32
Versions:
Process bRIB/RIB SendTblVer
Speaker 3 3
Flags: 0x00001001+0x00000000;
Last Modified: Aug 22 09:00:20.646 for 00:10:56
Paths: (1 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Flags: 0x4080000001060001, import: 0x20
Not advertised to any peer
65001
10.1.12.1 from 10.1.12.1 (10.100.1.1)
Received Label 3
Origin IGP, metric 0, localpref 100, valid, external, best, group-best, labeled-unicast
Received Path ID 0, Local Path ID 0, version 3
Origin-AS validity: not-found
RP/0/0/CPU0:R2#show route 10.100.1.1/32 detail
Routing entry for 10.100.1.1/32
Known via "bgp 65002", distance 20, metric 0, labeled unicast (3107)
Tag 65001, type external
Installed Aug 22 09:00:20.416 for 00:10:59
Routing Descriptor Blocks
10.1.12.1, from 10.1.12.1, BGP external
Route metric is 0
Label: 0x100004 (1048580)
Tunnel ID: None
Binding Label: None
Extended communities count: 0
NHID:0x0(Ref:0)
Route version is 0x1 (1)
No local label
IP Precedence: Not Set
…
Esto probablemente se debe a que no se tiene el comando "asignar-label" para la unidifusión de familia de direcciones bajo el BGP del router.
Deberá reiniciar el BGP de proceso cuando elimine el comando "asignar-label" para que el router elimine las etiquetas locales para las rutas BGP.
El nuevo comando advertise local-label-route en la tabla 1 es un nuevo comando para indicar que una ruta con etiqueta local no debe anunciarse como una ruta sin etiqueta a través de SAFI-1.
Este comando es el siguiente:
advertise local-label-route [disable]
Este comando se configura bajo la familia de direcciones vecina. La función de este comando es indicar si una ruta IPv4/v6 con una etiqueta local debe ser anunciada o no al vecino BGP a través de la unidifusión IPv4/v6 (SAFI 1).
El comportamiento predeterminado es anunciar rutas con una etiqueta local.
El nuevo comando también podría configurarse como:
advertise local-label-route safi-unicast [disable]
Este comando se configura bajo el grupo af de la sección BGP. Su función es la misma que la anterior y se aplica a todos los vecinos BGP.
El comportamiento predeterminado es anunciar rutas con una etiqueta local.
La línea "Anunciar rutas con etiqueta local a través de Unicast SAFI"o "No anunciar rutas con etiqueta local a través de Unicast SAFI" está presente en el comando" show bgp neighbor" en la familia de direcciones IPv4 Unicast para indicar que el altavoz BGP permite el anuncio de rutas con etiqueta local o no.
Ejemplo para el comportamiento predeterminado:
RP/0/0/CPU0:R4#show bgp neighbor 10.1.45.5
…
For Address Family: IPv4 Unicast
BGP neighbor version 5
Update group: 0.1 Filter-group: 0.5 No Refresh request being processed
Extended Nexthop Encoding: advertised and received
Route refresh request: received 0, sent 0
0 accepted prefixes, 0 are bestpaths
Exact no. of prefixes denied : 0.
Cumulative no. of prefixes denied: 0.
Prefix advertised 2, suppressed 0, withdrawn 0
Maximum prefixes allowed 1048576
Threshold for warning message 75%, restart interval 0 min
An EoR was not received during read-only mode
Last ack version 5, Last synced ack version 0
Outstanding version objects: current 0, max 1, refresh 0
Additional-paths operation: None
Advertise routes with local-label via Unicast SAFI
…
or
RP/0/0/CPU0:R4# conf t
RP/0/0/CPU0:R4(config)#router bgp 65003
RP/0/0/CPU0:R4(config-bgp)# neighbor 10.1.45.5
RP/0/0/CPU0:R4(config-bgp-nbr)# address-family ipv4 unicast
RP/0/0/CPU0:R4(config-bgp-nbr-af)#advertise local-labeled-route disable
RP/0/0/CPU0:R4(config-bgp-nbr-af)#commit
RP/0/0/CPU0:R4#show bgp neighbor 10.1.45.5
BGP neighbor is 10.1.45.5
…
For Address Family: IPv4 Unicast
BGP neighbor version 5
Update group: 0.1 Filter-group: 0.5 (Update-group Change
pending)
No Refresh request being processed
Extended Nexthop Encoding: advertised and received
Route refresh request: received 0, sent 0
0 accepted prefixes, 0 are bestpaths
Exact no. of prefixes denied : 0.
Cumulative no. of prefixes denied: 0.
Prefix advertised 2, suppressed 0, withdrawn 0
Maximum prefixes allowed 1048576
Threshold for warning message 75%, restart interval 0 min
An EoR was not received during read-only mode
Last ack version 5, Last synced ack version 0
Outstanding version objects: current 0, max 1, refresh 0
Additional-paths operation: None
Do not advertise routes with local-label via Unicast SAFI
No hay cambios en el proceso de cálculo de la mejor trayectoria. Si una trayectoria es SAFI 1 o SAFI 4 o si la trayectoria tiene o no una etiqueta, no hay diferencia en el proceso de cálculo de la mejor trayectoria. Por lo tanto, no hay preferencia entre un trayecto SAFI 1 o SAFI 4. Esto es independientemente de si hay SAFI 1/SAFI 4 en la misma sesión BGP o en diferentes sesiones. Por lo tanto, si una sesión BGP es SAFI 1 y 4, y se recibe un prefijo sobre ambas familias de direcciones, entonces el mejor cálculo de trayectoria elegirá una como la mejor trayectoria, ya que todos los atributos son iguales. Si todos los atributos BGP son iguales entre la trayectoria U y LU, la trayectoria recibida en último lugar se convierte en la mejor trayectoria.
Si las trayectorias SAFI 1 y SAFI 4 se reciben de diferentes peers BGP, siempre hay una diferencia en las trayectorias que llevan a BGP que siempre elige la misma mejor trayectoria de las dos trayectorias. Incluso si en este caso todos los atributos son iguales, la dirección de vecino es diferente. Al observar el Algoritmo de Selección de la Mejor Trayectoria de BGP, la trayectoria del vecino con la dirección de vecino más baja (paso final 13) se elige como la mejor trayectoria.
Utilice el comando "show bgp <AFI> <SAFI> <prefix> bestpath-compare" para verificar la razón por la que la mejor trayectoria es la mejor.
El usuario puede hacer esta preferencia mediante RPL.
Este es un ejemplo de dicha RPL.
RP/0/0/CPU0:R7#show bgp ipv4 un 10.100.1.1/32 detail
BGP routing table entry for 10.100.1.1/32
Versions:
Process bRIB/RIB SendTblVer
Speaker 682 682
Flags: 0x00003001+0x00010000;
Last Modified: Aug 28 13:16:26.826 for 00:00:10
Paths: (2 available, best #2)
Not advertised to any peer
Path #1: Received by speaker 0
Flags: 0x4000000000020005, import: 0x20
Not advertised to any peer
65001
10.100.1.4 (metric 2) from 10.100.1.4 (10.100.1.10)
Origin IGP, metric 0, localpref 100, valid, internal
Received Path ID 1, Local Path ID 0, version 0
Originator: 10.100.1.10, Cluster list: 10.100.1.4
Path #2: Received by speaker 0
Flags: 0x4080000001060005, import: 0x20
Not advertised to any peer
65001
10.100.1.4 (metric 2) from 10.100.1.4 (10.100.1.10)
Received Label 24003
Origin IGP, metric 0, localpref 100, valid, internal, best, group-best, labeled-unicast
Received Path ID 1, Local Path ID 0, version 682
Originator: 10.100.1.10, Cluster list: 10.100.1.4
El trayecto LU es el mejor.
La RPL con peso se utiliza para preferir la trayectoria U.
route-policy weight
if destination in (10.100.1.1/32) then
set weight 60000
endif
end-policy
router bgp 65003
address-family ipv4 unicast
additional-paths receive
additional-paths send
!
neighbor 10.100.1.4
remote-as 65003
update-source Loopback0
address-family ipv4 unicast
route-policy weight in
!
address-family ipv4 labeled-unicast
!
!
RP/0/0/CPU0:R7#show bgp ipv4 un 10.100.1.1/32 bestpath-compare
BGP routing table entry for 10.100.1.1/32
Versions:
Process bRIB/RIB SendTblVer
Speaker 726 726
Last Modified: Aug 28 13:39:27.826 for 00:04:54
Paths: (2 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
65001
10.100.1.4 (metric 2) from 10.100.1.4 (10.100.1.10)
Origin IGP, metric 0, localpref 100, weight 60000, valid, internal, best, group-best
Received Path ID 1, Local Path ID 0, version 726
Originator: 10.100.1.10, Cluster list: 10.100.1.4
best of AS 65001, Overall best
Path #2: Received by speaker 0
Not advertised to any peer
65001
10.100.1.4 (metric 2) from 10.100.1.4 (10.100.1.10)
Received Label 24003
Origin IGP, metric 0, localpref 100, valid, internal, labeled-unicast
Received Path ID 1, Local Path ID 0, version 0
Originator: 10.100.1.10, Cluster list: 10.100.1.4
Lower weight than best path (path #1)
La ruta U es ahora la mejor.
No hay un comando nuevo para preferir las trayectorias etiquetadas a las trayectorias no etiquetadas. Sólo puede configurar el RPL en unidifusión de familia de direcciones o en unicast etiquetado bajo un vecino BGP.
Para depurar la propagación de la actualización BGP en IOS-XR, puede activar el siguiente comando debug: debug bgp update <BGP neighbor> in | fuera.
Esto mostrará la actualización BGP entrante o saliente desde o hacia ese altavoz BGP. La familia de direcciones se muestra como (ip4u) para IPv4 sin etiqueta (AFI 1/SAFI 1) o como (ipv4lu) para IPv4 unicast etiquetado (AFI 1/SAFI 4). El equivalente ocurre para IPv6.
Hay un nuevo campo "etiquetado como unidifusión" que indica que la ruta se aprende a través de SAFI 4.
Ejemplo:
RP/0/0/CPU0:R1#show bgp ipv4 unicast 10.100.1.7/32
BGP routing table entry for 10.100.1.7/32
Versions:
Process bRIB/RIB SendTblVer
Speaker 26 26
Last Modified: Sep 4 10:45:44.551 for 00:29:11
Paths: (1 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Not advertised to any peer
Local
10.100.1.4 (metric 3) from 10.100.1.102 (10.100.1.4)
Received Label 24000
Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, labeled-unicast
Received Path ID 0, Local Path ID 1, version 26
Originator: 10.100.1.4, Cluster list: 10.100.1.2
Para verificar si se anuncia el prefijo, puede utilizar el comando "show bgp ... neighbors" con la palabra clave "adversed-routes" al final.
Ejemplo:
R4 anuncia 10.100.1.1/32 al vecino 10.100.1.7 dos veces porque add-path está habilitado (las dos trayectorias son diferentes).
RP/0/0/CPU0:R4#show bgp ipv4 labeled-unicast neighbors 10.100.1.7 advertised-routes
Network Next Hop From AS Path
10.1.24.0/24 10.100.1.4 Local ?
10.1.34.0/24 10.100.1.4 Local ?
10.1.45.0/24 10.100.1.4 Local ?
10.1.46.0/24 10.100.1.4 Local ?
10.1.47.0/24 10.100.1.4 Local ?
10.1.48.0/24 10.100.1.4 Local ?
10.1.49.0/24 10.100.1.4 Local ?
10.1.104.0/24 10.100.1.4 Local ?
10.1.114.0/24 10.100.1.4 Local ?
10.100.1.1/32 10.100.1.4 10.100.1.9 65001i
10.100.1.10 65001i
10.100.1.4/32 10.100.1.4 Local ?
Processed 11 prefixes, 12 paths
Se aplicarán las normas del cuadro 1. Con MPLS unificado o MPLS sin problemas, un router de borde de área (ABR) actúa como reflector de ruta, pero también es el salto siguiente para las rutas iBGP. Los ABR están en la ruta de reenvío del tráfico etiquetado. Los ABR deben tener la configuración explícita para next-hop-self.
interface Loopback0
ipv4 address 10.100.1.7 255.255.255.255
!
interface Loopback1
ipv4 address 10.100.1.107 255.255.255.255
!
router bgp 65003
address-family ipv4 unicast
!
neighbor 10.100.1.4 -> towards loopback0 on peer
remote-as 65003
update-source Loopback0
address-family ipv4 unicast
!
!
neighbor 10.100.1.104 -> towards loopback1 on peer
remote-as 65003
update-source Loopback1
address-family ipv4 labeled-unicast
!
Las trayectorias U y LU se envían/reciben a través de dos sesiones BGP diferentes.
RP/0/0/CPU0:R7#show bgp ipv4 unicast 10.100.1.1/32 detail
BGP routing table entry for 10.100.1.1/32
Versions:
Process bRIB/RIB SendTblVer
Speaker 753 753
Flags: 0x00001001+0x00010000;
Last Modified: Aug 28 14:06:40.826 for 00:22:10
Paths: (2 available, best #1)
Not advertised to any peer
Path #1: Received by speaker 0
Flags: 0x4000000001060005, import: 0x20
Not advertised to any peer
65001
10.100.1.4 (metric 2) from 10.100.1.4 (10.100.1.10)
Origin IGP, metric 0, localpref 100, valid, internal, best, group-best
Received Path ID 1, Local Path ID 0, version 753
Originator: 10.100.1.10, Cluster list: 10.100.1.4
Path #2: Received by speaker 0
Flags: 0x4080000000020005, import: 0x20
Not advertised to any peer
65001
10.100.1.104 (metric 2) from 10.100.1.104 (10.100.1.10)
Received Label 24003
Origin IGP, metric 0, localpref 100, valid, internal, labeled-unicast
Received Path ID 1, Local Path ID 0, version 0
Originator: 10.100.1.10, Cluster list: 10.100.1.4