Una tabla de enrutamiento es un conjunto de reglas que sirven para determinar qué camino deben seguir los paquetes de datos. Todo esto a través de toda red que trabaje con el protocolo IP. Cualquier dispositivo que tenga la posibilidad de tener una dirección IP, incluyendo routers y PC como Windows, Linux o Mac, tienen una tabla de enrutamiento para saber cómo llegar al destino.
Componentes de una tabla de enrutamiento
Una tabla de este tipo contiene toda la información necesaria para hacer que uno o varios paquetes de datos puedan viajar a través de la red utilizando el mejor camino. Así, se garantiza su llegada al destino, siempre que se utilicen protocolos de la capa de transporte orientados a conexión, como TCP, ya que TCP sí nos garantiza que un paquete llega al destino correctamente. Es bueno recordar que cada paquete de datos contiene, valga la redundancia, datos adicionales que nos ayudan a saber respecto a la dirección de IP origen y la IP de destino, entre otra información que va en la cabecera.
Citemos como ejemplo a un router, este tipo de dispositivos cuentan con una (o varias) tabla de enrutamiento. Lo que hace dicha tabla es permitir que dicho dispositivo pueda mandar el paquete de datos al siguiente salto, es decir, ante la próxima interfaz de red con la que pueda encontrarse. Sin embargo, esto depende únicamente de la manera que hemos configurado nuestros dispositivos de redes. En este caso, los routers.
Los componentes de una tabla de enrutamiento son:
- Red de destino: esto corresponde a la red de destino donde deberá ir el paquete de datos.
- Máscara de subred: es la que se utiliza para definir la máscara de subred de la red a la que debemos ir.
- Siguiente salto: en inglés a esto se lo conoce como next hop. Es la dirección de IP de la interfaz de red por donde viajará el paquete de datos, para seguir con su camino hasta el final.
- Interfaz de salida: es la interfaz de red por donde deben salir los paquetes, para posteriormente llegar finalmente al destino.
- Métricas: tienen varias aplicaciones. Una de ellas consiste en indicar el número mínimo de saltos hasta la red de destino, o simplemente el «coste» para llegar hasta la red de destino, y sirve para dar prioridad.
Los tipos de rutas que se pueden almacenar en una tabla de enrutamiento son:
- Conectadas directamente
- Rutas remotas
- De host
- Rutas por defecto
- El destino
Es sumamente importante tener reforzado el concepto de ruteo. Es decir, cuál es la función de un router en la red:
- Recibe el paquete de datos.
- Busca cuál es la dirección de destino.
- Verifica la tabla de enrutamiento que tiene configurada.
- Procede a enviar el paquete a destino por la mejor ruta posible.
¿Cómo se realiza el mantenimiento de una tabla de enrutamiento?
Básicamente, de tres maneras: las redes conectadas directamente que se mantienen de forma automática, ya que son las conectadas directamente y las rutas se añaden automáticamente. También tenemos el routing estático, donde el administrador de la red añade o quita una o varias rutas, y, por último, tenemos el routing dinámico.
Hoy en día, se da mucha importancia al routing dinámico. ¿Cómo funciona? Los dispositivos de red, en este caso los routers, crean y actualizan sus tablas de enrutamiento automáticamente. Lo hacen mediante protocolos de enrutamiento para intercambiar información respecto a las topologías de red. Si se cuenta con una red grande o muy grande, el routing estático y, en consecuencia, el mantenimiento manual del mismo, implicará muchísimas horas de esfuerzo del personal técnico. Esto último resulta muy poco práctico y mucho menos productivo. Las tablas de enrutamiento dinámico permiten que los dispositivos de red conectados se «escuchen» entre sí, de manera a que puedan actualizar automáticamente sus tablas de enrutamiento de acuerdo a los eventos de la red. Sobre todo, si hablamos de fallos o congestión en la red.
A continuación, revisaremos con algo más detalle tanto al ruteo estático como el dinámico.
Routing estático
Como hemos comentado, las rutas estáticas se configuran en el router en forma manual, lo mismo que ocurre con su mantenimiento. ¿En qué momento se podría dar un requerimiento de cambiar? Cuando hay cambios en la topología de red. A pesar de que, generalmente, el routing estático es muy trabajoso, sobre todo a la hora de realizar el mantenimiento, tiene un par de beneficios que lo convierten aún en una opción para configurar el ruteo:
- Mayor seguridad de que una ruta se ha introducido correctamente y no hay problemas, ya que son introducidas manualmente por el administrador.
- Eficiencia a la hora de gestionar los recursos, porque no hay ningún protocolo funcionando en el router.
Existen dos tipos principales de ruteo estático: a una red específica y estática predeterminada (o ruta por defecto). Para tener un mejor contexto, si se utiliza IPv4 la configuración del ruteo estático a una red específica tiene la siguiente estructura:
DirecciónIP MáscaradeSubred IPsiguientesalto | InterfazDeSalida
Apliquemos esta estructura a un comando de router del fabricante Cisco:
ip route 192.168.0.0 255.255.255.0 192.168.10.5
En vez de la IP del siguiente salto, o sea, la IP de la interfaz por donde seguirá navegando el paquete de datos, podemos indicar la interfaz:
ip route 192.168.0.0 255.255.255.0 serial 0/0/1
Ahora bien, por el lado de la ruta estática predeterminada o ruta por defecto, debemos saber que esto sirve cuando la tabla de enrutamiento no tiene una ruta específica para la red de destino. Esto se aplica especialmente cuando hay que configurar routers que permitan la salida a Internet. ¿Por qué no nos sería útil la ruta a una red específica si vamos a navegar en Internet? Porque nadie tiene seguro a qué tipo de sitios y servicios web va a estar accediendo cada día. No lo percibimos, pero nosotros como usuarios de la red de redes, estamos accediendo a múltiples redes a diario. Por lo que es inviable la ruta estática específica, ni tampoco la dinámica porque los routers domésticos no soportarían todas las redes del mundo. De ahí a que la ruta por defecto nos permitirá ir a donde queramos, cuando necesitamos de la salida a Internet, ya que se encargará de enviar todos los paquetes por defecto al router del operador.
Sin embargo, la estructura del comando de configuración es muy similar a la ruta estática «normal». Veamos su estructura:
0.0.0.0 0.0.0.0 IPsiguientesalto | InterfazDeSalida
Apliquemos esta estructura nuevamente a un comando de router de Cisco:
ip route 0.0.0.0 0.0.0.0 192.168.10.5
En vez de la IP del siguiente salto, o sea, la IP de la interfaz por donde seguirá navegando el paquete de datos, podemos indicar la interfaz:
ip route 0.0.0.0 0.0.0.0 serial 0/0/1
Routing dinámico
Los routers se valen de los distintos protocolos de routing dinámico para compartir todo dato relacionado al estado de las redes. En vez de que un administrador de red configure manualmente las tablas de enrutamiento, los protocolos de enrutamiento dinámico se encargan de esto. Lo único que tendrá que hacer el administrador es configurar correctamente el protocolo de enrutamiento dinámico, y compartir las redes que tiene directamente conectadas, para que otros routers sepan dónde deben ir en caso de que se requiera acceso a esa red. Esta especie de aprendizaje permite que se determine la mejor ruta para cada caso para posteriormente, agregarla a la tabla de enrutamiento del router.
Es importante citar un par de ventajas relacionado al routing dinámico. La más importante tiene que ver con la capacidad de determinar una nueva mejor ruta si es que la que se determinó en un principio ha quedado fuera de operación. Por otro lado, la intervención humana no es necesaria en ningún caso, ni ante los cambios de topología de red más complejos. Dependiendo del escenario, deberemos usar protocolos de enrutamiento de pasarela interior (IGP), lo que se usan dentro de un AS (Sistema autónomo), como RIP, OSPF, IS-IS o EIGRP. Asimismo, si vamos a intercomunicar diferentes AS, el protocolo que se utiliza es BGP.