Documente Academic
Documente Profesional
Documente Cultură
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.
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:
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.
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
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:
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].
La configuración del protocolo RIP en Routers Cisco [?] es relativamente sencillo. Los comandos utilizados se detallan a
continuación:
JUNIO 2019 3
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).
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.
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.
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.
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.
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.
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.
Marker
Length
Type
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