Un enrutador utilizará un algoritmo de enrutamiento para determinar el próximo punto de entrega inmediato (“próximo salto”) para un paquete dado. ¿Cómo eliges el mejor camino? Esa será una combinación de decisiones administrativas (costos, prioridades) e información aprendida sobre las rutas de red. En el caso más básico, la decisión depende solo de la dirección de destino IP.
Entonces, ¿cómo aprende información sobre las rutas de red? Utiliza un protocolo de enrutamiento entre los enrutadores para compartir información. De hecho, puede usar múltiples protocolos de enrutamiento al mismo tiempo. Recuerda eso para más tarde. Pero por ahora, escojamos uno.
Hay dos escuelas principales de pensamiento en los protocolos de enrutamiento:
- ¿Por qué una estructura Feistel en criptografía tiene 16 rondas? ¿Por qué no hay más o menos?
- ¿Es arriesgado subir una composición original en SoundCloud?
- Cómo probar que mi computadora fue pirateada
- ¿Cómo protege un individuo su computadora contra el ransomware?
- ¿Es seguro el wifi doméstico con una contraseña?
- Distancia-Vector . En esta escuela de pensamiento, solo aprende lo que sus vecinos saben sobre la red. Los vecinos proporcionan periódicamente una lista de redes que conocen y un “vector” (distancia, saltos, otros datos) relacionados con cada red. Sobre la base de estos vectores aprendidos, se utiliza una forma distribuida del algoritmo Bellman-Ford para elegir la mejor ruta.
- Estado de enlace. En esta escuela de pensamiento, cada enrutador en un área mantiene una topología de red completa de enlaces y costos en memoria para un área determinada, y aplica el algoritmo de Dijkstra a ese gráfico para trazar las rutas más cortas para cada ruta. Cada nodo observa agresivamente los cambios en el estado del enlace (ya sea que un enlace esté activo o inactivo), lo que podría implicar un cambio de topología y la necesidad de volver a calcular el gráfico de topología.
Una vez que obtenga información sobre las “mejores” rutas de destino, esos datos llenan una tabla de enrutamiento para cada destino. Si ejecuta un protocolo, la tabla de enrutamiento es efectivamente la misma que la Base de información de enrutamiento (RIB) , que es la fuente de datos autorizada para las decisiones de enrutamiento, basada en un cálculo de ruta de todos los datos y reglas disponibles. Si ejecuta múltiples protocolos de enrutamiento o utiliza otras reglas administrativas (listas de acceso, enrutamiento de origen, etc.), el RIB reflejará las reglas del conjunto digeridas.
Al reenviar un paquete, el enrutador realiza una búsqueda RIB, y a partir de ahí se le asignará un “próximo salto” al paquete reenviado, que es la siguiente dirección IP que debe manejar el paquete reenviado.
Una vez que se decide el enrutamiento, el envío real a una interfaz puede regirse por otras reglas en torno al equilibrio de carga u otras preocupaciones a nivel de hardware. La Base de información de reenvío (FIB) es una tabla en la que la dirección MAC (y la interfaz física) deben transportar un paquete a un siguiente salto IP determinado determinado por la búsqueda RIB.