Capa de red: Plano de control

Consiste en la lógica de toda la red que controla no sólo cómo se enruta un datagrama a lo largo de una ruta de extremo a extremo desde el host de origen hasta el host de destino, sino también cómo se configuran y gestionan los componentes y servicios de la capa de red.

La siguiente figura ilustra el caso en el que un algoritmo de enrutamiento se ejecuta en cada enrutador; cada enrutador contiene una función de reenvío y una de enrutamiento. Cada enrutador tiene un componente de enrutamiento que se comunica con los componentes de enrutamiento de otros enrutadores para calcular los valores de su tabla de reenvío. Este enfoque de control por enrutador se ha utilizado en Internet durante décadas. Los protocolos OSPF y BGP se basan en este enfoque de control por enrutador.

image.png

Un controlador lógicamente centralizado calcula y distribuye las tablas de reenvío que utilizará cada enrutador. La abstracción generalizada de coincidencia y acción permite al enrutador realizar el reenvío IP tradicional, así como un amplio conjunto de otras funciones (reparto de carga, cortafuegos y NAT) que previamente se implementaban en middleboxes separados.

image.png

El controlador interactúa con un agente de control (CA) en cada enrutador mediante un protocolo bien definido para configurar y gestionar la tabla de flujo. Normalmente, un CA tiene una como función comunicarse con el controlador y ejecutar sus comandos. A diferencia de los algoritmos de enrutamiento de la Figura 5.1, los CA no interactúan directamente entre sí ni participan activamente en el cálculo de la tabla de reenvío. Esta es una distinción clave entre el control por enrutador y el control lógicamente centralizado.

Routing Algorithms (5.1)

Su objetivo es determinar rutas adecuadas (las de menor costo) desde los emisores hasta los receptores, a través de la red de enrutadores. En la práctica, también influyen cuestiones del mundo real, como las políticas (por ejemplo, una regla como "el enrutador X, perteneciente a la organización Y, no debe reenviar ningún paquete originado en la red de la organización Z"). Independientemente de si el plano de control de red adopta un enfoque de control por enrutador o un enfoque lógicamente centralizado, siempre debe haber una secuencia bien definida de enrutadores que un paquete cruzará al viajar del host emisor al host receptor.

Un grafo se utiliza para formular problemas de enrutamiento. Un grafo G = (N, E) es un conjunto N de nodos y una colección E de aristas, donde cada arista es un par de nodos de N. En el contexto del enrutamiento de la capa de red, los nodos del grafo representan enrutadores (los puntos donde se toman las decisiones de reenvío de paquetes) y las aristas que conectan estos nodos representan los enlaces físicos entre estos enrutadores.

image.png

Para nuestros propósitos, simplemente tomaremos los costos de arista como un dato y no nos preocuparemos por cómo se determinan. Para cualquier arista (x, y) en E, denotamos c(x, y) como el costo de la arista entre los nodos x e y. Si el par (x, y) no pertenece a E, establecemos c(x, y) = ∞. Solo consideraremos grafos no dirigidos, por lo que c(x, y) = c(y, x), se dice que un nodo y es vecino del nodo x si (x, y) pertenece a E.

Un objetivo natural de un algoritmo de enrutamiento es identificar las rutas menos costosas entre orígenes y destinos. Una ruta (path) en un grafo G = (N, E) es una secuencia de nodos y sus aristas existen en E, siendo su costo la suma de todas las aristas en el mismo.