Si forwarding consiste en transmitir un paquete hasta el siguiente nodo,routing es el proceso de determinar el mejor camino para realizar elencaminamiento. En otras palabras, routing es el proceso que se realiza paradeterminar las tablas de encaminamiento.
El problema del routing se trata generalmente modelando las redes mediantegrafos. En ellos, los nodos representan a los routers de la red y los arcos a losenlaces que los interconectan.
La solución más frecuente que buscan los algoritmos de routing consiste enencontrar el camino más corto que une a cada par de routers (el router origendel paquete y el router destino). Como es lógico, el router origen es en realidadel first-hop router (el que conecta con Internet a la red que contiene el hostque en realidad genera el paquete) y el router destino es el last-hop router (elque conecta con Internet a la red que contiene el host que es el destino delpaquete).
Evidéntemente, ninguno de estos routers son realmente ni el origen ni eldestino del paquete. En realidad son las redes que se conectan a estos routers.Sin embargo, el problema del routing queda resuelto si obviamos este hechoporque independientemente de la red destino a la que finalmente va dirigidoel paquete, este debe de llegar forzosamente al last-hop router, y el mismorazonamiento puede realizarse para el first-hop router.