Cuando no todos los caminos conducen a Roma


José M. Piquer

Ya sé que no se puede escribir esto que estoy escribiendo, seguro que es otra de las maneras del día para terminar con las débiles operaciones del sueño; [...] por qué entonces saltar de la cama a la máquina, de la casa de la calle Rivadavia en Buenos Aires donde acabo de estar con Paco, a esta máquina que no servirá de nada ahora que estoy despierto y sé que han pasado treinta y un años desde aquella mañana de octubre, [...], las pobres flores que casi nadie llevó porque maldito si nos importában las flores mientras enterrábamos a Paco. gif

El ruteo en Internet siempre ha sido considerado como un problema abierto. De hecho, no existió nunca en el estándar un protocolo de ruteo, y es probablemente el área donde han habido más cambios desde el comienzo del Internet en versión grande cerca de 1988.

El único paradigma base del ruteo en Internet es que todo se hace de a un paso a la vez ( hop-by-hop), es decir, cada router decide cual es el próximo router al que hay que enviar el paquete y no requiere calcular la ruta total a seguir. Por ello, cada máquina conectada a Internet tiene una tabla de rutas, que contiene para cada red conocida, una entrada diciendo a qué router (conectado a la red local) hay que enviar los paquetes que van a esa red. Como resulta imposible mantener una tabla con todas las redes conectadas a Internet, se utiliza una ruta default, que implica que si la red de destino no está en la tabla, debemos enviar los paquetes al router apuntado por ese default. Esto permite resolver el caso más simple y común, que es el de una red conectada a Internet vía un router único.

Cuando existen más alternativas (por ejemplo en una troncal), se requieren de protocolos de ruteo que propaguen estas tablas con información parcial, de modo de poder adaparse en form automática a los cambios (pérdida de conectividad de una red, aparición de una red nueva). Un protocolo de ruteo es un servicio como cualquier otro, usa UDP o TCP para comunicarse entre routers las tablas de rutas, y luego se calculan las rutas más cortas para los destinos para modificar las tablas de rutas de cada uno. El primer protocolo (y el más simple) es RIP, y fue inventado en Berkeley para rutear en la red interna de máquinas Unix. Resulta increíble que hoy día se utilice como el protocolo de ruteo oficial de todos los proveedores IP en Chile. RIP es demasiado viejo, ni siquiera entiende de sub-redes, menos de super-redes, y tiene una métrica de distancia tan simple que resulta muy difícil tener varios caminos alternativos. Ha envejecido tanto, que se ha diseñado una nueva versión, llamada RIP-2, que por lo menos ha adoptado las nuevas definiciones de IP (como el abandono de las clases y el uso sistemático de máscaras de red). Sin embargo, Cisco ha decidido no implementarlo, puesto que existen otros protocolos mucho mejores (aunque más complejos) tanto para redes locales como para inter-redes. Un protocolo que Cisco no implementa es, para todos los fines prácticos, un protocolo inexistente.

Para simplificar, nuestros proveedores IP han adoptado entonces una estructura de árbol, en que los clientes están en las hojas y la raíz está en el enlace internacional. De esta forma, la ruta default manda, y no hay ningún problema de ruteo. Claro que no existe ninguna redundancia ni alternativa en caso de falla. Cualquier enlace o router entre yo y la salida internacional que falle me deja desconectado.

El problema es ahora, cómo me interconecto en Chile entre proveedores. Cualquier enlace local me genera un cambio importante de topología. Tengo un grafo en vez de un árbol, y mi default ya no me sirve. Hemos visto paquetes saliendo por los enlaces nacionales y volviendo por el internacional y vice-versa. Ahí RIP ha comenzado a funcionar más en serio, y ya a esta altura (en que los únicos interconectados son Chilepac, REUNA y RdC) hay mas de 700 entradas en la tabla de rutas nacional. Parece un poco mucho para confiar en RIP.

En las redes internas, RIP debe reemplazarse por OSPF, que es el estándar ahora. Entre los proveedores, deben hablar BGP-4, que acaba de instaurarse como el protocolo básico en Estados Unidos, y que permite agregar rutas en las tablas basado en prefijos comunes, de modo de disminuir el tamaño de las tablas. Esto permitirá acuerdos de resplado entre proveedores y una conectividad sólida, que cambie el servicio minimal de conectividad actual por un servicio con garantías de calidad.





Jose' Piquer
Sun Mar 24 10:17:19 CST 1996