Teoría del protocolo de enrutamiento de puerta de enlace externa BGP (puntos de conocimiento que puede comprender de un vistazo)

1. Escenarios de trabajo de IGP y BGP

Inserte la descripción de la imagen aquí

En segundo lugar, el concepto de AS

1. Sistema autónomo (AS) se refiere a un conjunto de dispositivos que utilizan la misma estrategia bajo la gestión de la misma organización.
2. Los distintos AS se distinguen por el número de AS, el rango de valores del número de AS es 1-65535, de los cuales 64512-65535 son números de AS privados. IANA es responsable de la distribución de números AS.
3. Número de AS de China Telecom 163: 414.4 Número de AS de
China Telecom CN2: 4809
5. Número de AS de China Netcom: 9929.

Tres, descripción general de BGP

** 1. Border Gateway Protocol (Border Gateway Protocol, BGP) es un protocolo vectorial que realiza la accesibilidad de rutas entre AS en sistemas autónomos y selecciona la mejor ruta. ** Las tres primeras versiones son BGP-1 (RFC1105), BGP-2 (RFC1163) y BGP-3 (RFC1267). BGP-4 (RFC1771) se utilizó en 1994 y las redes unicast IPv4 se utilizaron después de 2006 La versión utilizada por otras redes es BGP-4 (RFC4271), y la versión utilizada por otras redes es MP-BGP (RFC4760).

4. Características del protocolo de enrutamiento BGP:

1. BGP usa TCP como su protocolo de capa de transporte (el número de puerto de escucha es 179), lo que mejora la confiabilidad del protocolo.
2. BGP es un protocolo de enrutamiento externo que se utiliza para transferir datos entre AS, lo que requiere una estabilidad muy alta. Por lo tanto, se utiliza la alta confiabilidad del protocolo TCP para garantizar la estabilidad del protocolo BGP.
3. Los pares BGP deben estar conectados lógicamente y tener conexiones TCP. El número de puerto de destino es 179 y el número de puerto local es arbitrario.
4. Los pares BGP son diferentes de los pares IGP. Los pares BGP (Peer) se refieren a los dos extremos que usan TCP para establecer una conexión, en lugar de a los vecinos conectados directamente con el mismo concepto que IGP. Siempre que TCP pueda establecer una conexión, no es necesariamente necesario Conexión directa.
5. BGP en sí solo es responsable de controlar el enrutamiento, y el reenvío de datos aún depende del enrutamiento estático o IGP.
6. BGP admite CIDR para enrutamiento entre dominios sin clases.
7. Cuando se actualiza el enrutamiento, BGP solo envía rutas actualizadas, lo que reduce en gran medida el ancho de banda ocupado por BGP para propagar rutas y es adecuado para propagar una gran cantidad de información de enrutamiento en Internet.
8. BGP es un protocolo de enrutamiento por vector de distancia mejorado, que evita bucles en el diseño.
9. Entre AS: BGP marca el AS que pasa llevando la información de la ruta de AS, y la ruta con el número de AS local se descartará, evitando así bucles entre dominios.
10. Dentro del AS: Las rutas aprendidas por BGP en el AS no se anunciarán a los vecinos BGP en el AS para evitar bucles en el AS.
11. BGP proporciona una gran cantidad de estrategias de enrutamiento, que pueden lograr un filtrado y una selección de rutas flexibles.
12. BGP proporciona un mecanismo para evitar la oscilación de la ruta (atenuación de la ruta), que mejora efectivamente la estabilidad de la red de Internet.
13. BGP es fácil de expandir y puede adaptarse al nuevo desarrollo de la red (ipv4 single / multicast, vpv4 single / multicast). Principalmente a través de TLV para expansión.

Cinco, clasificación BGP:

BGP se divide en EBGP (BGP externo / exterior) e IBGP (BGP interno / interior) según el modo de funcionamiento.

1. EBGP : BGP que se ejecuta entre diferentes AS se denomina EBGP Para evitar bucles entre AS, cuando los dispositivos BGP reciben rutas enviadas por pares EBGP, descartarán las rutas con números AS locales.
2. IBGP : BGP que se ejecuta en el mismo AS se denomina IBGP. Para evitar bucles en el AS, los dispositivos BGP no anuncian las rutas aprendidas de los pares IBGP a otros pares IBGP y son pares con todos los IBGP El cuerpo establece una conexión completa. Para resolver el problema de demasiadas conexiones entre pares IBGP, BGP diseñó un reflector de ruta y una alianza BGP.

Inserte la descripción de la imagen aquí

Seis, reglas de horizonte dividido IBGP

Las rutas IBGP aprendidas por C de E no se pueden transmitir al enrutador B debido a la restricción de la regla de división horizontal, lo que hará que B no aprenda las rutas BGP anunciadas por F. Pero para resolver este problema, E se puede conectar a través de BGP para formar directamente una conexión lógica con B para lograr el propósito de la conexión de red.
Inserte la descripción de la imagen aquí

Siete, ID de enrutador BGP (ID de enrutador):

1. El Router-ID de BGP es un valor de 32 bits que se utiliza para identificar un dispositivo BGP, generalmente en forma de una dirección IPv4, que se incluye en el mensaje Open enviado cuando se establece la sesión BGP. Al establecer una sesión BGE entre pares, cada dispositivo BGP debe tener una ID de enrutador única; de lo contrario, no se puede establecer la conexión BGP entre los pares.

2. El ** Router-ID de BGP debe ser único en la red BGP. ** Puede ser configurado manualmente o seleccionado automáticamente por el dispositivo. De forma predeterminada, BGP selecciona la dirección IPv4 de la interfaz Loopback en el dispositivo como BGP Router-ID. Si no hay una interfaz Loopback configurada en el dispositivo, el sistema seleccionará la dirección IPv4 más grande en la interfaz como BGP Router-ID. Una vez que se selecciona el enrutador . -ID, a menos que ocurra un evento como la eliminación de la dirección de la interfaz, la ID del enrutador original se mantiene incluso si se configura una dirección más grande.

8. Principio de funcionamiento de BGP

Hay principalmente 5 tipos de mensajes, 6 tipos de máquinas de estado y 9 principios en el proceso de interacción de establecimiento, actualización y eliminación de pares BGP .

(1) mensajes BGP: (5 tipos de paquetes)

Los pares de BGP interactúan a través de los siguientes cinco tipos de mensajes, entre los cuales los mensajes Keepalive se envían periódicamente y el resto se envían en modo disparador:

1. Mensaje abierto:

Abierto es el primer mensaje enviado después de que se establece la conexión TCP.
Se utiliza para negociar varios parámetros de pares BGP, incluida la versión BGP (V4), el número AS y otra información, y establecer conexiones entre pares BGP.

2. Mensaje de actualización:

Se utiliza para intercambiar información de enrutamiento entre pares.
Una vez establecida la conexión, cuando hay una ruta para enviar o la ruta cambia, se envía una Actualización para notificar que el par está disponible o retirar la información de la ruta y los atributos de la ruta.

3. Mensaje de notificación:

Se usa para interrumpir la conexión BGP.
Cuando BGP encuentra un error durante la operación, envía un mensaje de notificación para notificar al par BGP, y luego se cerrará la relación de vecino con él.

4. Mensaje de Keepalive:

Se utiliza para mantener conexiones BGP. (Función Keep Alive)
Envíe mensajes Keepalive con regularidad para mantener la validez de la relación entre pares de BGP. Responder al mensaje abierto correcto recibido

5. Mensaje de actualización de ruta:

Se utiliza para realizar un restablecimiento parcial (equivalente a actualizar y recargar) después de cambiar la política de enrutamiento. La
tabla de enrutamiento de BGP solicita al par que vuelva a enviar información de enrutamiento. Solo los dispositivos BGP que admiten la actualización de ruta enviarán y responderán a este mensaje.

(2) máquina de estado BGP: (6 estados)

Hay 6 máquinas de estado en el proceso de interacción de pares BGP: inactivo, conectado, activo, mensaje abierto enviado (OpenSent), mensaje abierto confirmado (OpenConfirm) y conexión establecida (Establecido). Durante el proceso de establecimiento de pares BGP, los tres estados que suelen estar visibles son: Inactivo, Activo y Establecido.

1. El estado inactivo es el estado inicial de BGP. En el estado inactivo, BGP rechaza la solicitud de conexión enviada por el vecino. Solo después de recibir el evento de inicio de este dispositivo, BGP comienza a intentar establecer una conexión TCP con otros pares de BGP y luego pasa al estado de conexión.
2. En el estado de conexión , BGP inicia el temporizador de reintento de conexión y espera a que TCP complete la conexión.
-> Si la conexión TCP es exitosa, BGP envía un mensaje abierto al par y se transfiere al estado abierto.
-> Si la conexión TCP falla, BGP pasa al estado Activo e intenta conectarse repetidamente.
-> Si el temporizador de retransmisión de la conexión expira y BGP aún no recibe una respuesta del par BGP, entonces BGP continúa intentando establecer conexiones TCP con otros pares BGP y permanece en el estado Connect.
3. En el estado activo , BGP siempre intenta establecer una conexión TCP.
Si la conexión TCP es exitosa, BGP envía un mensaje Abierto al par, cierra el temporizador de retransmisión de la conexión y se transfiere al estado OpenSent.
Si falla la conexión TCP, BGP permanece en el estado activo.
Si el temporizador de retransmisión de la conexión expira y BGP aún no recibe una respuesta del par BGP, entonces BGP cambia al estado Conectar.
4. En el estado OpenSent , BGP espera el mensaje Open del par y verifica el número de AS, el número de versión, el código de autenticación, etc. en el mensaje Open recibido.
-> Si el mensaje Open recibido es correcto, entonces BGP envía un mensaje Keepalive y pasa al estado OpenConfirm
-> Si se encuentra un error en el mensaje Open recibido, BGP envía un mensaje de notificación al par y va a Estado inactivo
5. En el estado OpenConfirm , BGP espera mensajes Keepalive o Notification.
-> Si se recibe un mensaje keepalive, pasará al estado establecido,
-> si se recibe un mensaje de notificación, pasará al estado inactivo.
6. En el estado establecido, BGP puede intercambiar mensajes de actualización, mantenimiento, actualización de ruta y notificación con pares.
-> Si se recibe el mensaje de actualización o keepalive correcto, entonces BGP considera que el extremo opuesto está en funcionamiento normal y mantendrá la conexión BGP.
-> Si se recibe un mensaje de actualización o de mantenimiento incorrecto, BGP envía un mensaje de notificación para notificar al par y transferirlo al estado inactivo.
-> Si se recibe un mensaje de notificación, BGP se transfiere al estado inactivo.
-> Si se recibe la notificación de desconexión de TCP, BGP se desconecta y pasa al estado inactivo.
-> Los paquetes de actualización de ruta no cambiarán el estado de BGP.
Inserte la descripción de la imagen aquí

(3) Principios de interacción entre pares de BGP: (9 principios)

El dispositivo BGP agrega la ruta óptima a la tabla de enrutamiento BGP para formar una ruta BGP. Después de que un dispositivo BGP establece una relación de vecino con un par, se adoptan los siguientes principios de interacción :
1. Rutas BGP obtenidas de pares IBGP, los dispositivos BGP solo anuncian a sus pares EBGP
2. Rutas BGP obtenidas de pares EBGP El dispositivo BGP anuncia a todos sus pares EBGP e IBGP
3. Cuando hay varias rutas válidas a la misma dirección de destino, el dispositivo BGP solo anuncia la mejor ruta al par
4. Cuando la ruta se actualiza, el dispositivo BGP solo envía La ruta BGP actualizada
5. La ruta enviada por
todos los pares será recibida por el dispositivo BGP 6. El siguiente salto de todos los pares EBGP cambia durante el proceso de transferencia
7. El siguiente salto de todos los pares IBGP permanece sin cambios durante el proceso de transferencia
8. , El valor TTL predeterminado para la entrega EBGP es 1
9. El valor TTL predeterminado para la entrega IBGP es 255

(4) Puntos a tener en cuenta al establecer pares

1. Puntos a tener
en cuenta al establecer pares en conexión directa: Al establecer pares IBGP, haga que el siguiente salto sea accesible. Los pares IBGP en la frontera deben apuntar el próximo salto a sí mismos para que se puedan establecer pares IBGP.
2. Puntos a tener en cuenta al establecer vecinos con un puerto de red de bucle invertido: Es
necesario modificar la fuente de actualización La fuente de actualización predeterminada es un puerto físico y debe modificarse a un puerto de red de bucle invertido. Al establecer pares IBGP, es necesario asegurarse de que el siguiente salto sea accesible. Los pares IBGP en la frontera deben apuntar el siguiente salto a sí mismos para que se puedan establecer pares IBGP.
Al establecer un par EBGP, debido a que EBGP solo puede transmitir un salto, al establecer un par EBGP, debe modificar el número de saltos del multisalto EBGP a 2 o más (el bucle de retorno al par es de dos saltos, el valor predeterminado es un salto) .
3. Acerca de por qué se utiliza el puerto de red de bucle invertido para establecer vecinos: La
razón es que el puerto de red de bucle invertido es estable. Mientras se inicie el enrutador, el puerto de red de bucle invertido no estará ABAJO y el enlace físico puede verse afectado por factores como líneas o interfaces, lo que da como resultado pares Hay un problema con la relación, por lo que los pares BGP generalmente se establecen mediante puertos de red de bucle invertido.

Nueve, comandos de configuración

-------------- Configurar en OSPF AS -------------

1. Configure la dirección IP de cada enrutador
2. Configure OSPF

----------------- La configuración de R8 es similar a la de R7 -----------

[R7] ospf 1
[R7-ospf-1] área 0
[R7-ospf-1-area-0.0.0.0] red 10.0.24.0 0.0.0.255
[R7-ospf-1-area-0.0.0.0] red 7.7. 7.7 0.0.0.0

--------------------- Configurar BGP ------------

R1 (ibgp) establece una relación de vecino con R2, R3, R4, R5, R6 (la configuración de R2, R4, R5 es similar a esa)
[R1] bgp 100 ### Crea el número de bgp 100 (es decir, AS100)
[R1-bgp ] router-id 1.1.1.1 ### Configurar la ID del router de BGP
[R1-bgpl peer 2.2.2.2 as-number 100 ### Especificar la dirección IP del puerto de red loopback del peer y el número AS al que pertenece
[R1-bgp ] peer 2.2.2.2 connect-interface LoopBack0 ## Actualiza la interfaz que envía paquetes bgp a la interfaz Loopback0
[R1-bgp] peer 3.3.3.3 as-number 100
[R1-bgp] peer 3.3.3.3 connect-interface LoopBack0
[R1- bgp] par 4.4.4.4 como número 100
[R1-bgp] par 4.4.4.4 interfaz de conexión LoopBack0
[R1-bgp] par 5.5.5.5 como número 100
[R1-bgp] par 5.5.5.5 interfaz de conexión LoopBack0
[ R1-bgp] par 6.6.6.6 as-number 100
[R1-bgp] par 6.6.6.6 interfaz de conexión LoopBack0

[R3-bgp] peer 2.2.2.2 next-hop-local
-------- Cuando el ASBR aprende la ruta del vecino ebgp y la pasa al vecino ibgp, modifique el comando
[R3-bgp] peer 1.1.1.1 next- hop-local
[R3-bgp] par 6.6.6.6 next-hop-local

[R3-bgp] peer 7.7.7.7 as-number 200 ## Este es el número AS del vecino ebgp
[R3-bgp] peer 7.7.7.7 connect-interface LoopBack0
[R3-bgp] peer 7.7.7.7 ebgp-max-hop 2
-------- Los vecinos construidos con puertos de red de bucle invertido entre dos AS deben cambiar el número máximo de saltos de sus vecinos a 2, y el valor predeterminado es 1 (debido a que no es una conexión directa sino una interfaz de bucle invertido, debe pasar por 2 rutas, y el valor TTL predeterminado para la entrega de EBGP es 1)

[R3-bgp] network 1.1.1.1 255.255.255.255 ### Declare la ruta IGP, estática y predeterminada especificada en el proceso BGP
[R3-bgp] network 2.2.2.2 255.255.255.255
[R3] ip route-static 7.7.7.7 255.255 .255.255 12.1.1.2
------ Los pares ebgp entre los dos AS necesitan establecer una conexión tcp, aquí se usa static para el direccionamiento subyacente, o el enrutamiento IGP se puede usar para construir el direccionamiento subyacente (como RIP)

Red [R3-bgp] 7.7.7.7 255.255.255.255 ### ebgp El segmento de red o IP que se utiliza para configurar el enrutamiento estático o el enrutamiento IGP debe anunciarse en ambos extremos de ebgp

--------- R7 y R8, R3 (R3 y R7 son EBGP entre sí) establecen una relación de vecino (la configuración de R8 es similar) ------------

[R7] bgp 200 ### Crear AS200
[R7-bgp] router-id 7.7.7.7
[R7-bgp] peer 3.3.3.3 as-number 100 ## Este es el número AS del vecino ebgp
[R7-bgp] peer 3.3 .3.3 connect-interface LoopBack0
[R7-bgp] peer 3.3.3.3 ebgp-max-hop 2 ### El número máximo de saltos permitidos por los paquetes ebgp se cambia a 2 (porque no es una conexión directa sino la interfaz Loopback0)

[R7-bgp] peer 8.8.8.8 as-number 200
[R7-bgp] peer 8.8.8.8 interfaz de conexión LoopBack0
[R7-bgp] peer 8.8.8.8 next-hop-local ### ASBR aprendido de vecinos ebgp Cuando la ruta se pasa al vecino ibgp, el siguiente salto de la ruta se modifica a sí mismo

[R7-bgp] network 8.8.8.8 255.255.255.255 ## Declare la ruta especificada aprendida del vecino ibgp en esta área al vecino ebgp

[R7] ip route-static 3.3.3.3 255.255.255.255 12.1.1.1 ### Ejecutar una ruta estática entre dos AS

Red [R7-bgp] 7.7.7.7 255.255.255.255 ### ebgp La IP del puerto de red loopback que se utiliza para configurar el enrutamiento estático o el enrutamiento IGP debe anunciarse en ambos extremos de ebgp

-------------------- Ver comando ------------

1. mostrar bgp peer ### Ver información de bgp peer Establecido se estableció correctamente
2. mostrar bgp routing-table ## Ver información de la tabla de enrutamiento bgp

Supongo que te gusta

Origin blog.csdn.net/Gengchenchen/article/details/109576589
Recomendado
Clasificación