domingo, 19 de febrero de 2012

Algoritmo de ruteo IP

Una duda que suele surgir cuando se empieza a estudiar el enrutamiento IP es la siguiente: "cuando llega un paquete a un router, y este tiene una ruta posible para la dirección de red y también la ruta por defecto, ¿qué criterio se sigue para dedicir que ruta usar (la de la dirección de red o la ruta por defecto)? ¿podría ser la que encuentre primero (tal vez haciendo una comprobación secuencial)?"

Se puede hacer una prueba con alguna herramienta de simulación de redes, por ejemplo NetKit o Packet Tracer, y se comprobará que la ruta por defecto es la última opción. Ahora veréis el por qué.

Buscando en libros he encontrado el "algoritmo de ruteo IP". Como es a nivel IP no depende del tipo de router, o sistema operativo (en caso de un equipo como router). El algoritmo es el siguiente:

1. Extraer dirección IP de destino y obtener el prefijo de red (partiendo de la máscara)
2. ¿Entrega directa? --> Si es afirmativo se entregan datos y FIN
3. Consultar tabla de encaminamiento, ¿existe una ruta especifica de anfitrión (host)? --> Si es afirmativo se entregan datos y FIN
4. Consultar tabla de encaminamiento, ¿existe una ruta especifica para la red de destino? --> Si es afirmativo se entregan datos y FIN
5. Consultar tabla de encaminamiento, ¿existe una ruta por defecto? --> Si es afirmativo se entregan datos y FIN
6. Si llegamos hasta aquí es que se ha producido un ERROR: "Destination host unreachable"

Puede que el punto 3 os llame la atención, el hecho de añadir una ruta especifica para un host, cuando siempre se dice que las tablas de encaminamiento contienen redes destinatarias. Bueno ésto lo explico otro día que ahora no tengo ganas, :-(

REFERENCIA:
  • "Redes globales de información con Internet y TCP/IP: Principios básicos, protocolos y arquitectura". Autor: Douglas E. Comer
¡Saludos!