La capa de red se puede descomponer en dos partes que interactúan: el plano de datos y el plano de control. Las funciones del plano de datos son las funciones por enrutador que determinan cómo se reenvía un datagrama (es decir, un paquete de la capa de red) que llega a uno de los enlaces de entrada de un enrutador a uno de los enlaces de salida del mismo. Las funciones del plano de control de la capa de red son la lógica de toda la red que controla cómo se enruta un datagrama entre enrutadores a lo largo de una ruta de extremo a extremo desde el host de origen hasta el host de destino.

El reenvío IP (donde el reenvío se basa en la dirección de destino de un datagrama) y el reenvío generalizado (donde el reenvío y otras funciones pueden realizarse utilizando valores en varios campos diferentes en el encabezado del datagrama).

La función principal del plano de datos de cada enrutador es reenviar datagramas desde sus enlaces de entrada a sus enlaces de salida. La función principal del plano de control de red es coordinar estas acciones de reenvío locales por enrutador para que los datagramas se transfieran en última instancia de extremo a extremo, a lo largo de las rutas de los enrutadores entre los hosts de origen y destino.

Forwarding

Cuando un paquete llega al enlace de entrada de un enrutador, este debe moverlo al enlace de salida correspondiente. Esta es solo una de las funciones implementada en el plano de datos. En el caso más general, un paquete también podría verse bloqueado al salir de un enrutador (por ejemplo, si se originó en un host emisor malicioso conocido o si se destinó a un host de destino prohibido), o podría duplicarse y enviarse a través de múltiples enlaces salientes. Forwarding se refiere a la acción local del enrutador de transferir un paquete desde una interfaz de enlace de entrada a la interfaz de enlace de salida correspondiente. Se realiza en escalas de tiempo muy cortas (normalmente unos pocos nanosegundos) y, por lo tanto, suele implementarse en hardware. Un elemento clave de todo enrutador de red es su tabla de reenvío. Un enrutador reenvía un paquete examinando el valor de uno o más campos en el encabezado del paquete que llega y, a continuación, utilizando estos valores para indexarlos en su tabla de reenvío. El valor almacenado en la entrada de la tabla de reenvío para esos valores indica la interfaz de enlace de salida en ese enrutador a la que se reenviará el paquete.

image.png

Routing

La capa de red debe determinar la ruta o camino que siguen los paquetes al fluir del emisor al receptor. Los algoritmos que calculan estas rutas se denominan algoritmos de enrutamiento. El enrutamiento se implementa en el plano de control de la capa de red. El enrutamiento se refiere al proceso a nivel de red que determina las rutas de extremo a extremo que siguen los paquetes desde el origen hasta el destino. Se realiza en escalas de tiempo mucho más largas (normalmente segundos) y, como veremos, suele implementarse en software.

Control Plane

Enfoque tradicional

Enfoque SDN (software-defined networking)

Un controlador remoto, físicamente independiente, calcula y distribuye las tablas de reenvío que utilizará cada enrutador. El dispositivo de enrutamiento solo realiza el reenvío, mientras que el controlador remoto calcula y distribuye las tablas de reenvío. El controlador remoto podría implementarse en un centro de datos remoto con alta confiabilidad y redundancia, y podría ser administrado por el ISP o un tercero. ¿Cómo se comunican los enrutadores y el controlador remoto? Intercambiando mensajes con tablas de reenvío y otra información de enrutamiento.

image.png

Network Service Model

Define las características de la entrega de paquetes de extremo a extremo entre los hosts emisores y receptores. Consideremos ahora algunos posibles servicios que la capa de red podría proporcionar: