El encaminamiento IP se puede dividir en dos partes, entrega directa y entrega indirecta:
- La entrega directa es la transmisión de un datagrama desde el host origen hasta el host destino a través de una sola red física, dicho de otra forma, dos hosts solo pueden comunicarse mediante entrega directa si ambos están conectados directamente a la misma red física (por ejemplo, una sola red Ethernet). Básicamente en la entrega directa el emisor encapsula el datagrama dentro de una trama física, transforma la dirección IP destino en una dirección física y envía la trama resultante al destino a través del driver del dispositivo hardware correspondiente.
- La entrega indirecta es necesaria cuando el host destino no está conectado directamente a la red del origen, lo que implica que el datagrama deberá atravesar varias redes físicas, y para ello es necesario atravesar routers. La entrega indirecta es más compleja ya que el host origen ha de identificar al router al que debe entregar el datagrama, el primer router debe identificar cuál será el siguiente router al que debe enviar el datagrama, esto también se denomina identificar el «siguiente salto». La comunicación entre dos routers consecutivos de la ruta se realiza siempre mediante entrega directa, es decir, un determinado router de la ruta y el router del siguiente salto deben estar conectados a la misma red física, si no es así, no es posible su comunicación. A su vez, el último router de la ruta que sigue el datagrama debe estar conectado a la misma red física que el host destino.

El host origen averigua si debe realizar entrega directa o no, es decir, si el host destino está conectado o no directamente a su red física mediante el prefijo de red. El host origen extrae el número de red de la dirección IP del destino y la compara con el número de red de su propia dirección IP. Si ambas se corresponden significa que puede hacerse entrega directa, si no es así, se ha de utilizar entrega indirecta.