Sunteți pe pagina 1din 7

JUNIO 2019 1

Enrutamiento BGP en gns3 y análisis con Wireshark


Juan Inga
juan.inga@ucuenca.edu.ec
Universidad de Cuenca

Resumen
En este documento se redacta las caracterı́sticas principales del protocolo de enrutamiento BGP, y su manera de compartir
tablas de enrutamiento. Posteriormente se realiza una simulación usando el emulador GNS3 donde se creará una topologı́a de red
como ejemplo, donde se configuraran dos sistemas autónomos AS, donde en el primero se configurará el protocolo de enrutamiento
RIP y en el segundo el protocolo OSPF. Posteriormente se cnfigurara el protocolo BGP en dos routers de borde y se comprobará
el funcionamiento de las cppnfiguraciones. Finalmente, mediante Wireshark se capturarán los paquetes de la red, y se analizará
a detalle los paquetes BGP.

Index Terms
MicroTik, router, topologı́a de red, OSPF.

I. I NTRODUCCI ÓN

E L BGP es el protocolo de encaminamiento EGP (External Gateway Protocol) más utilizado en Internet. La versión 1
de este protocolo (RFC 1105) apareció en 1989 para sustituir a EGP. Posteriormente, salieron nuevas versiones como la
versión 2 en 1990 (RFC 1163) y la versión 3 en 1991 (RFC 1267). Finalmente apareció la versión 4 (RFC 1771 y RFC 4271)
que proporciona soporte para CIDR (Classless Interdomain Routing).

BGP es un protocolo que funciona sobre TCP por el puerto 179. BGP permite el encaminamiento de los paquetes IP que
se intercambian entre los distintos AS. Para ello, es necesario el intercambio de prefijos de rutas entre los diferentes AS de
forma dinámica, lo cual se lleva a cabo mediante el establecimiento de sesiones BGP inter-AS sobre conexiones TCP. Este
tipo de operación proporciona comunicación fiable y esconde todos los detalles de la red por la que se pasa.

II. D ESARROLLO
La topologı́a propuesta para la configuración y análisis del protocolo BGP se muestra en la figura 1. Como se observa en
esta figura, se tiene dos AS (Autonomous Systems) (100 y 200) y se han elegido tres direcciones de red para asignarlas a
las distintas interfaces de los routers. Las interfaces de los routers de AS 100 están configurados con una dirección clase C
192.168.1.0 con una máscara de red de 255.255.255.252 esto para conexiones punto a punto, como en este caso. Las interfaces
de los routers de AS 200 están configurados con una dirección clase B 172.16.1.0 con una máscara de red de 255.255.255.252
y los routers de borde se conectan entre ellos mediante una dirección 10.50.45.0/30.

II-A. Configuración de las Direcciones de red de Interfaces de los Routers

De acuerdo a las direcciones IP utilizadas antes mencionadas, se configuró una dirección IP a cada interfaz Ethernet de los
routers. El proceso para la configuración de una dirección se muestra en la figura 2. EL proceso es el siguiente:

configure terminal: Ingresa a los comandos de configuración del router.

interface Ethernet0/0: Ingresa a la configuración de la interfaz Ethernet 0/0 del router.

ip address 192.168.1.221 255.255.255.252: Asigna la dirección 192.168.1.221 con máscara de red de 255.255.255.252
a esa interfaz.

no shutdown: Habilita la interfaz del router.

Para realizar una comprobación de las direcciones IP asignadas a las interfaces, se procede a ejecutar el comando show ip
int brief , cuyo resultado se puede observar en la figura 3, en donde se muestra también si la interfaz está levantada o no.
JUNIO 2019 2

Figura 1. Topologı́a de Red propuesta

Figura 2. Configuración de una dirección IP a la interfaz Ethernet0/0 de un router

Figura 3. Comprobación de la configuración de direcciones IP

II-B. Configuración del Protocolo de Enrutamiento OSPF en los routers

Una guı́a detallada sobre la configuración de routers Cisco con el protocolo de enrutamiento OSPF se puede encontrar en
[1]. En este caso, por demostración, se realizará la configuración más simple, la cual se muestra en la figura 4. El protocolo
de enrutamiento OSPF fue configurado los routers que se encuentran en el AS 200.
El proceso es el siguiente:

configure terminal: Se ingresa a los comandos de configuración del router.

router ospf process id: Mediante este comando se crea un proceso de enrutamiento OSPF. El argumento process id es
un identificador utilizado internamente para este proceso de enrutamiento y puede ser cualquier entero positivo [1]. Esta
ID no tiene que coincidir con la ID en ningún otro dispositivo; es sólo para uso interno. Se puede utilizar un máximo de
dos procesos.

network ip address mask area area id: Define las direcciones IP en las que se ejecuta OSPF y el ID de área para esa
interfaz. Al agregar un área nueva, se ingresa el ID de área. Se puede especificar el ID de área como un número decimal
o una dirección IP. Los valores decimales válidos varı́an de 0 a 4294967295 [1].

II-C. Configuración del Protocolo de Enrutamiento RIP en los routers

La configuración del protocolo RIP en Routers Cisco [?] es relativamente sencillo. Los comandos utilizados se detallan a
continuación:
JUNIO 2019 3

Figura 4. Configuración de OSPF en los routers

configure terminal: Entra en modo de configuración global.

router rip: Permite un proceso de enrutamiento RIP e ingresa al modo de configuración del enrutador.

version: (1, 2) Permite que el software de Cisco envı́e solo paquetes RIP versión 2 (RIPv2).

network ip-address: Asocia una red con un proceso de enrutamiento RIP.

La versión RIP configurada es la 2, y este protocolo fue configurado en los routers que se encuentran en el AS 100. El
proceso de configuración de uno de los routers se muestra en la figura 5. En este ejemplo el router 2 solo se encuentra
conectado mediante dos interfaces, por lo tanto, en la configuración RIP solo se especifican dos redes.

Figura 5. Configuración del Protocolo RIP en un router Cisco

II-D. Configuración del Protocolo BGP en los routers de Borde


Una guı́a detallada sobre la configuración de routers Cisco con el protocolo BGP se puede encontrar en [2]. En este caso,
por demostración, se realizará la configuración más simple, la cual se muestra en la figura ??. El protocolo de enrutamiento
eBGP fue configurado en los routers de borde que conectan los dos AS (100 y 200), mientras que se configuro iBGP para los
demás routers.

La primera acción a realizar en la configuración de un router BGP es definir el proceso BGP y el número de AS al que el
router pertenece. El comando utilizado para habilitar BGP en un router es:
router bgp ASN.

El comando utilizado para establecer la conexión TCP con un vecino es el siguiente: neighbor dir IP remote-as ASN. El
número de AS corresponde al AS remoto al que pertenece el router con el que se quiere conectar y cuya dirección IP es
dir IP. En el caso de sesiones E-BGP la dirección IP corresponde a la interfaz del router directamente conectado (next hop),
mientras que en el caso de una sesión I-BGP la dirección IP indicada puede ser una cualquiera de las del router destino, el
cual no tiene por qué estar directamente conectado al router origen.

La configuración del router R1 que es un router de borde del AS 100 y que se conecta al router R6 de AS 200 se muestra
en la figura 6. Un router BGP envı́a a un vecino las rutas que aprende de otros vecinos (internos o externos), pero también
puede generar nuevas rutas mediante los comandos network y redistribute. De este modo, para las rutas generadas de esta
manera el AS origen corresponderá al AS al que pertenece el router que ejecuta los dos comandos anteriores. Se ha utilizado
el comando redistribute rip como se indica en la figura 6.

II-E. Comprobación de la Configuración


Para realizar la comprobación de la configuración de los routers, se puede ejecutar el comando show ip route para observar las
tablas de enrutamiento, en donde se encentran las direcciones aprendidas. El resltado de la ejecución del comando anteriormente
JUNIO 2019 4

Figura 6. Configuración del Protocolo BGP en un router Cisco

mencionado se muestra en la figura 7.

Figura 7. Tabla de Enrutamiento del Router 1

Al lado izquierdo de cada subred aprendida se puede observar una letra como identificador. En el caso de BGP se muestra
con una B, que significa que esa ruta la aprendió mediante ese protocolo. También se puede observar que las redes de su
propio AS las aprendió mediante RIP.

III. A N ÁLISIS M EDIANTE W IRESHARK


Mediante Wireshark se pudo capturar tres tipos de mensajes BGP, los cuales son: OPEN Message, KEEPALIVE Message
y UPDATE Message. Cada uno de ellos es analizado a continuación, describiendo su contenido y caracterı́sticas.

III-A. Mensaje (OPEN Message)


Este tipo de mensaje BGP se pudo capturar solo cuando se inician los routers. Una vez que dos enrutadores BGP completan
un enlace vı́a TCP, intentarán establecer una sesión BGP, esto se hace usando mensajes abiertos (OPEN Messages). En el
mensaje abierto encontrará información sobre el enrutador BGP, ambos deben ser negociados y aceptados por ambos enrutadores
antes de que puedan intercambiar información de enrutamiento.
Una captura del mensaje y su contenido se muestra en la figura 8. En esta figura se puede observar, que este protocolo va
sobre TCP, ası́ mismo, la comunicación es punto a punto y se establece entre dos interfaces.

Figura 8. Captura del mensaje OPEN Message

Analizando el contenido que agrega el protocolo BGP se puede observar lo que muestra la figura 9. El contenido de la
cabecera de este mensaje se describe a continuación:

Marker: Se usa para autenticar BGP. Si no hay información de autenticación asignada o contenida en este campo,
entonces el marcador se establece en todos unos, también se establece en unos si el mensaje es un mensaje OPEN.
JUNIO 2019 5

Length: Muestra la longitud total del mensaje BPG, incluidos los encabezados BGP. El valor siempre estará entre 19 y
el mensaje máximo permitido en cualquier mensaje de BGP es 4096 bytes.

Type: Indica qué tipo de paquete es este y qué tipo de información contiene. En este caso es un paquete tipo OPEN
Message.

Version: Incluye la versión BGP que está utilizando el enrutador. La versión actual de BGP es la versión 4 que se describe
en RFC 4271 . Dos enrutadores BGP intentarán negociar una versión compatible, cuando hay una falta de coincidencia,
entonces no habrá sesión BGP.

My AS: Incluye el número de AS del enrutador BGP, los enrutadores deberán acordar el (los) número(s) de AS y también
definir si ejecutarán iBGP o eBGP.

Hold Time: Si BGP no recibe ningún mensaje de ”keepalive” o actualización del otro lado durante el tiempo de espera,
declarará el otro lado como ”muerto” y eliminará la sesión de BGP. De forma predeterminada, el tiempo de espera se
establece en 180 segundos en los enrutadores Cisco IOS, el mensaje de ”keepalive” se envı́a cada 60 segundos.
BGP Identifier: Este es el ID de enrutador BGP local que se elige.

Optional Parameters: Aquı́ se detallan algunas capacidades opcionales del enrutador BGP. Este campo se ha agregado
para que las nuevas funciones se puedan agregar a BGP sin tener que crear una nueva versión. En la figura 8 se observa
que el enrutador BGP tiene las capcidades de:

1. Multiprotocol extensions:La versión normal de BGP (Border Gateway Protocol) solo era compatible con los prefijos
de unidifusión IPv4. Hoy en dı́a se usa MP-BGP (Multiprotocol BGP) que admite diferentes direcciones: IPv4 unicast,
IPv4 multicast, IPv6 unicast y IPv6 multicast. MP-BGP también se puede usar para MPLS VPN, donde se usa MP-BGP
para intercambiar las etiquetas VPN.

2. Router Refresh: Almacena una versión no modificada de los prefijos de su vecino BGP. Esto hará que se necesite
memoria adicional ya que se está guardando una tabla adicional para cada vecino BGP. Además el enrutador le pedirá
a su vecino BGP que reenvı́e sus prefijos.

Figura 9. Contenido del protocolo BGP (OPEN Message)

III-B. Mensaje (UPDATE Message)


Una vez que dos enrutadores se han convertido en vecinos de BGP, pueden comenzar a intercambiar información de enruta-
miento. El mensaje de actualización se envı́a a todos los enrutadores BGP, incluido el par, contiene una de las informaciones
más importantes en cualquier mensaje de BGP. El mensaje de actualización es responsable de intercambiar información de
enrutamiento y la posible ruta a ruta de otras redes entre vecinos BGP. En la figura 9 se muestra los parámetros de este
JUNIO 2019 6

mensaje. Se nota que la cabecera es la misma que el del mensaje OPEN, cambiando solo el tipo del mensaje. Los campos que
contiene son:

Withdrown Routes Length: Este campo en el mensaje es de 2 octetos, este campo indica al enrutador BGP receptor
que se ha retirado el número total de rutas withdrown para la ruta BGP. Cuando la longitud es 0 significa que no se han
retirado rutas de la información de intercambio de BGP.
Total Path Attributes Length: El número total de longitud del campo de atributos de ruta en el byte. Si el valor se
establece en 0, eso significará que el campo de información de alcance de la capa de red está presente en este paquete
Path Atributes: En este campo del paquete, será de ayuda la lista de atributos de ruta que están relacionados con la
información de Alcance de la capa de red. En esta sección, cada atributo de ruta tiene lo siguiente: tipo de atributo,
longitud del atributo, valor del atributo, como se observa en la figura 10.

Figura 10. Contenido del protocolo BGP (UPDATE Message)

Cada uno de los atributos de BGP también tiene un indicador de atributo que le dice al enrutador de BGP cómo tratar el
atributo. Aquı́ están las diferentes banderas de bits:
Opcional (Optional): cuando el atributo es conocido, este bit se establece en 0, cuando su opcional se establece en 1.

Transitivo (Transitive): cuando un atributo opcional no es transitivo, este bit se establece en 0, cuando es transitivo se
establece en 1.

Parcial (Partial): cuando se completa un atributo opcional, este bit se establece en 0, cuando es parcial, se establece en 1.

Longitud extendida (Extended Length): cuando la longitud del atributo es 1 octeto, se establece en 0, para 2 octetos
se establece en 1. Esta bandera de longitud extendida solo se puede usar si la longitud del valor del atributo es mayor
que 255 octetos.

Por último se tiene el campo Network Layer Reachability Information, esta parte del paquete contiene una lista de prefijos
de IP que pueden llegar a través de diferentes rutas. Ün valor de longitud de 0 indica un prefijo que coincide con todos los
prefijos de IP”. En la figura 10 se puede observar que el atributo de longitud de prefijo NLRI es de 30, y además se define el
prefijo NLRI con la dirección 192.168.1.216.

III-C. Mensaje (KEEPALIVE Message)


El mensaje de Keepalive se envı́a entre los vecinos de BGP para mantener la conectividad. En este paquete solo se usan
tres tipos de campos, como se muestra en la figura 11. Estos campos son:
JUNIO 2019 7

Marker
Length
Type

Figura 11. Contenido del protocolo BGP (KEEPALIVE Message)

Estos campos se encuentran en las cabeceras de todos los mensajes BGP, cambiando solo el valor del campo tipo.
Anteriormente ya se describió estos campos.

IV. C ONCLUSIONES
Mediante Wireshark se emuló la topologı́a de red propuesta, de la cual se comprobó la correcta configuración del protocolo
BGP en los routers mediante el comando ping de un extremo al otro. Posteriormente se capturo paquetes BGP mediante
Wireshark y se pudo comprobar que existen 4 tipos de mensajes BGP los cuales son: OPEN Message, KEEPALIVE Message
y UPDATE Message. De todos estos tipos de mensajes BGP se analizó el contenido y se describió en completitud.

R EFERENCIAS
[1] Configuring OSPF, Cisco. [Online]. Available: https://www.cisco.com/c/en/us/td/docs/security/asa/asa90/configuration/guide/asa 90 cli config/route ospf.pdf
[2] Casos Prácticos de BGP, Cisco. [Online]. Available: https://www.cisco.com/c/es mx/support/docs/ip/border-gateway-protocol-bgp/26634-bgp-toc.pdf

S-ar putea să vă placă și