Una serie de no muy importantes sucesos han hecho acrecentar la curiosidad que tenia por un protocolo muy importante de internet, BGP (protocolo de pasarela frontera “border gateway protocol“). Del que algo sabía y ahora se un poco más. Como tengo tan mala cabeza voy a dejar constancia en este blog con un breve y poco preciso resumen que simplemente me ayude a entenderlo algo.

Metafóricamente y por si no hay ganas de leer la parrafada que viene detrás:

Imaginemos que Internet son nuestras carreteras, nuestros ISPs ciudades y los ISPs pequeños, pueblos. BGP se encarga de construir rutas para unir las ciudades usando nuestras carreteras e intentando siempre hacerlo por el camino mas corto y en mejor estado.

Imagina en cada ciudad o pueblo poner a un Policía controlando el tráfico en cada uno de los accesos que tiene la ciudad, mientras mas grande sea la ciudad (ISP) mas accesos tendrá (enlaces). Ahora tu quieres ir de una ciudad a otra (visitar una web), internamente sabes cual es la mejor salida para hacerlo (OSPF, por ejemplo) y en ella te encuentras a un policia que gracias al walkie y unas tablas sabe todas las incidencias en las carreteras conociendo previamente los posibles caminos que hay para llegar a tu destino. El te dirá el mejor camino ya que sabe que un trozo de carretera esta cortado y en otro hay demasiado tráfico.

Si un policia ve que un tramo esta cortado, enseguida coge el walkie y avisa a sus vecinos para que no usen esa ruta y den otra alternativa. Eso sí la noticia suele tardar un poco en difundirse (ahí vienen los problemillas y las llamaditas jeje), hay policias mas rápidos que otros y en ese proceso hay gente que ha sido enviada por una ruta que les lleva a la perdición (por ejemplo no alcanzas un host para ver si página web).

Hasta aqui la chorrada que se me ha ocurrido para darlo a entender como yo lo entiendo, si no quieres calentarte mas la cabeza, no sigas leyendo, si tienes un poco mas de curiosidad (solo la que he tenido yo) continúa para entrar en detalles (mas bien pocos) sobre BGP.

*********

BGP Es uno de los protocolos mas importantes en las comunicaciones en internet, la versión actual es BGP-4 y se encuentra descrita en las RFC 1771 y 1772.

Practicamente casi todo el tráfico que fluye entre ISP’s es enrutado a través de este protocolo. Es un protocolo de encaminamiento entre sistemas autónomos.

BGP-4 tiene unas tablas de encaminamiento dinámico donde se almacenan rutas para alcanzar redes. Con el fin de reducir el tamaño de las tablas de encaminamiento y de facilitar su gestión Internet se encuentra dividida en sistemas autónomos (AS). El principal motivo para almacenar la ruta completa es el de evitar que se generen bucles y un mismo paquete pase varias veces por el mismo AS.

Un sistema autónomo es un conjunto de redes administradas por una misma organización, tiene una única política de encaminamiento definida que decide las rutas admitidas desde otros sistemas autónomos vecinos y las rutas que se envían hacia estos. Internamente, el AS utiliza a su vez otro protocolo interno de encaminamiento (OSPF, RIP…).

Cada SA en Internet tiene un identificador (ASN) formado por 16 bits que permite 65536 sistemas autónomos diferentes. El rango de 64512 a 65535 se encuentra reservado para uso privado.

Muy resumidamente el proceso es el siguiente:

Cuando dos AS estan en la misma subred se les llama vecinos. Entre ellos se cominican a base de mensajes para ponerse de acuerdo a la hora de intercambiar información de encaminamiento. Uno AS solicita a otro intercambiar información con un mensaje OPEN y este lo confirma con el mensaje KEEPALIVE.

Una vez establecida la relación de vecino, para mantenerla se envia periódicamente mensajes KEEPALIVE.

Para la detección de redes alcanzables los AS tienen una base de datos con las redes alcanzables y la mejor ruta para llegar a ellas. Cuando un AS realiza un cambio en una base de datos este difunde el cambio con un mensaje UPDATE.

Todo esto es muy relativo, los AS pueden tener politicas que se salten ciertas reglas, o hacer estáticas determinadas rutas. Tambien tiene que haber una buena relación entre AS, no solo vale que esten en la misma subred

Como puede verse, es muy importante la seguridad en este protocolo, ya que alguien podría hacerse pasar (no creo que facilmente) por un AS. Para eso hay otras medidas mas seguras como S-BGP (Secure BGP), desarrollado por BBN. da autenticidad, integridad y autorizaciones a los mensajes BGP.

Algunas fuentes:
[http://matt.ucc.asn.au/mirror/bgp/]
[http://www.saulo.net/pub/inv/BGP-art.htm]
[http://eia.udg.es/~atm/tcp-ip/bgp.htm]

Leave a reply