Protocolos de encaminamiento externo BGP (BORDER GATEWAY PROTOCOL) HUGO MAZET Y JONATHAN FRANCOU Tabla de contenidos I. Introducción ........................................................................................................................ 2 II. Principio del encaminamiento externo................................................................................ 2 III. Protocolo BGP................................................................................................................. 3 1. Principio del protocolos BGP .......................................................................................... 3 2. Caso de utilización del protocolo BGP ........................................................................... 4 3. Mensaje BGP................................................................................................................... 4 4. El proceso BGP ............................................................................................................... 5 5. Atributos de los caminos ................................................................................................. 5 6. Criterio para elegir la mejor ruta ..................................................................................... 7 IV. Otros Protocolos de encaminamiento externo ................................................................. 7 V. Conclusión .......................................................................................................................... 7 VI. Bibliografía...................................................................................................................... 8 1 I. Introducción A la primera parte de nuestro tema sobre las técnicas y protocolos de encaminamiento IP, hemos visto el encaminamiento interior y así los protocolos de encaminamiento interno como RIP y OSPF. Ahora nos vamos a interesarse a los protocolos de encaminamiento externo cuyo el más conocido es el BGP (Border Gateway Protocol). Esos protocolos permiten a los diferentes AS (autonomous system) que comunicar las informaciones de encaminamiento. Vamos a ver que hay otros protocolos de encaminamiento externo como EGP, pero no se utiliza más. Al contrario de los protocolos de encaminamiento interno, no van a determinar el camino más corto pero van a propagar las informaciones sobre las accesibilidades. II. Principio del encaminamiento externo En un protocolo de encaminamiento externo, son los router que son a la frontera (vamos a llamarlos border router) de los AS (Autonomous System) que se intercambian las informaciones de encaminamiento. Mediante el encaminamiento externo, los border router van a comunicar las direcciones IP que hay en los AS. Un border router puede también propagar una ruta que ha aprendido desde otro SA. Por ejemplo, mire la figura 1, AS2 podrá propagar las direcciones de AS1 (AdX y Ady) y AS3 (AdY y AdZ) y recíprocamente. Podemos notar también que dos o más border router de un mismo SA pueden intercambiar informaciones de encaminamiento. Las informaciones van a circular entre los border router y van a llegar también dentro los routers que están en los AS mediante los protocolos de encaminamiento interno. El objetivo de esos protocolos de encaminamiento externo es de propagar las rutas hacia otros AS. Sin embargo, cada AS puede imponer obligación. Por ejemplo, siempre según la figura 1: El AS3 podrá decidir que para llegar a la dirección AdV desde el exterior por R4. El AS3 podrá decidir que para ir de la dirección AdX a AdY, no hay ninguna posibilidad de pasar por AS3. El AS3 podrá decidir que todos los paquetes proviniendo de AS1 con destino a AS2 pasan por R4. El AS3 podrá decidir que todos los paquetes con destino a AS1 proviniendo de AS2 pasan por R3. Así, podemos notar que en este tipo de protocolo, hay dos tipos de rutas: Las rutas aprendidas de manera exterior. Las rutas aprendidas de manera interior. 2 Figura 1 III. Protocolo BGP BGP (Border Gateway Protocol) es un protocolo de encaminamiento externo. Es el más conocido y el más utilizado. Ahora, está a su cuarto versión (BGP4). 1. Principio del protocolos BGP Más abajo, algunas características que hay que saber sobre el BGP: BGP es un protocolo de tipo PATH-vector. En efecto, BGP no va a decidir los caminos con arreglo a las distancias. Va a fundar sus decisiones con arreglo a los caminos recorridos, los atributos y las reglas instauradas por los administradores de los AS. El BGP asegura las informaciones de encaminamiento entre los AS. Además, este protocolo garantiza la elección de una ruta sin bucle (loop-free). BGP4 es la primera versión de BGP que soporta CIDR, un sistema de repartición de las direcciones IP, y la agrupación de las rutas El BGP no utiliza las métricas y toma su decisión según las políticas de encaminamiento. El comando para encontrar las tablas de encaminamiento BGP es: show ip bgp. Las actualizaciones BGP (UPDATE) utiliza TCP sobre el puerto 179. Así, BGP necesita una conectividad IP entre los vecinos BGP. Además, hay que abrir conexión TCP antes de intercambiarse informaciones. 3 2. Caso de utilización del protocolo BGP ¿Por qué utilizar el protocolo BGP? El uso del protocolo BGP permite de: Su principal caso utilización está para crear de grupos de redes: los sistemas autónomos (SA). o Esto permite de recibir le redes vecinos, utilizando solamente la referencia de sistemas autónomos (SA). o Permitir de conectarse a varios FAI como Orange, Vodafon… (multi-Homing). o Seguridad: en utilizar el protocolo BGP, es fácil de filtrar le números de SA y así limitar lo acceso a su red. Útil para le grandes redes, permitiendo de adaptarse fácilmente para establecer una jerarquía y limitar los problemas en case de fallo. También, el protocolo permite de añadir o eliminar des redes, sin cambiar las tablas de encaminamiento. De tener un encaminamiento de política y no técnico. Y así decidir cómo su tráfico debe circular en Internet. También, el protocolo BGP es menos sensible con les redes vecinos. 3. Mensaje BGP Cuando la conexión TCP sobre el puerto 179 es abierta entre dos border router, BGP intercambia varios mensajes con los parámetros de la conexión y las informaciones de encaminamiento. Podemos notar que todos los mensajes BGP son unicast hacia un solo asociado. Hay 4 tipos de mensaje BGP: i. OPEN KEEPALIVE UPDATE NOTIFICATION El mensaje OPEN Es el primero mensaje enviado después la apertura de la conexión TCP. En este mensaje, el border router va a informar a su vecino de: Su versión BGP Su número de AS Un numero identificando el sesión BGP Este mensaje OPEN va a proponer un valor que va a ser el tiempo durante el que la sesión será abierta. 4 El valor sugerido es 90 segundos. Si el valor es 0, significa que la sesión será siempre abierta. Este mensaje pone el proceso en espera de un KEEPALIVE ii. El mensaje KEEPALIVE Es un mensaje que es enviado cada los 30 segundos. Su objetivo es de mantener la sesión abierta. Un plazo de 90 segundos sin un mensaje KEEPALIVE o UPDATE va a provocar la cierra de la sesión. iii. El mensaje UPDATE El mensaje UPDATE es utilizado para intercambiar las informaciones de encaminamiento. Por ejemplo: Las rutas que hay que quitar Los atributos de las rutas Las REDES accesibles Cada red es definido por un prefijo y largo A notar, que este tipo de mensaje es enviado solamente si hay un cambio. iv. El mensaje NOTIFICATION Este tipo de mensaje va a cerrar la sesión BGP. En caso de error, va a proveer un código representando el error. UPDATE va a cerrar también la sesión TCP 4. El proceso BGP A continuación un esquema que muestra un proceso BGP con los diferentes mensajes: Figura 2 5. Atributos de los caminos Cada ruta tiene sus propios atributos, que puede incluir: 5 Informaciones sobre el camino Preferencia sobre las rutas Next-hop: va a indicar el próximo router Informaciones sobre las agrupaciones de las rutas Los administradores utilizan esas informaciones con el fin de establecer las políticas de encaminamiento. A partir de los valores de los atributos, BGP puede ser configurado para: Filtrar informaciones sobre algunas rutas Elegir los caminos preferenciales Más abajo, algunas ejemplas de atributos: Origen AS-path: Indica un camino de AS Next_hop: Indica el próximo router Multi-Exit Discriminator (MED) Local preference (La preferencia local) BGP community Y hay todavía muchos otros atributos. A notar que los atributos tienen cuatro tipos: Well-known mandatory Significa que el atributo tiene que ser presente dentro los mensajes BGP UPDATE. Este tipo de atributo es reconocido para todos las implementaciones. Well-known discretionary Significa que el atributo tiene que ser reconocido para todo las implementaciones y puede no ser enviado dentro un mensaje BGP UPDATE. Optional transitive Significa que es un atributo que puede ser reconocido para una implementación BGP. Sin embargo, BGP tiene que aceptar y anunciar el atributo aunque no lo conoce. Optional non-transitive Significa que es un atributo que no puede ser reconocido para una implementación BGP. Este tipo de atributo no tiene que ser propagado a los vecinos. Puede ver a continuación cómo podemos clasificar los atributos vistos antes: 6 Well-Known mandatory AS-Path Next-hop Origin Optional transitive Well-known discretionary Local preference Community Optional nontransitive Multi-exitdiscriminator 6. Criterio para elegir la mejor ruta Ahora vamos a ver como BGP elije las rutas. BGP elige un camino. Este camino será puesto en la tabla de encaminamiento BGP y anunciado a los otros router. Pues puede ver más abajo el orden de la elección: IV. Si el próximo salto es inaccesible, hay que ignorar el camino. Preferencia a los caminos que tienen el más grande peso. Preferencia a los caminos con la más grande Local preference Preferencia a los caminos indicados por el proceso BGP Preferencia a los caminos con el más corto AS_PATH Preferencia a los caminos con el más pequeño origen Preferencia a los caminos con el más pequeño MED Preferencia a los caminos exteriores Preferencia a los caminos con el más cercano vecino IGP (Interior Gateway Protocol) Preferencia a los caminos con la más pequeña dirección IP, indicado por BGP router ID. Otros Protocolos de encaminamiento externo Hay otros protocolos de encaminamiento exterior pero no se utilizan mucho o no se utilizan más. Hay el EGP (Exterior Gateway Protocol) que era el primero. Pero no era muy eficaz y ahora no se utiliza más. Hay también el ES-IS (Exterior System to Interior System), es el solo protocolo de encaminamiento normalizado OSI. Sin embargo, es muy poco utilizado. V. Conclusión Lo que podemos decir para concluir es que el protocolo BGP cumple bien lo que esperamos de un protocolo de encaminamiento exterior. Además, el protocolo no es muy difícil a entender, y como es el más conocido y el más utilizado no era muy difícil de encontrar fuentes de informaciones sobre él. 7 VI. Bibliografía https://fr.wikipedia.org/wiki/Border_Gateway_Protocol#Messages_du_protocole_BGP https://perso.ens-lyon.fr/eric.fleury/CPS/ART/slides/M1_ART_02-ROUTAGE.pdf http://www.gatoux.com/SECTION3/p5.php http://www.ws.afnog.org/afnog2011/sif/40-introbgp/fr-introbgp.pdf 8