El entramado de conmutación se encuentra en el auténtico núcleo del router. Es mediante este entramado de conmutación es donde los paquetes son realmente desplazados desde un puerto de entrada a un puerto de salida. La conmutación puede obtenerse de variadas formas, como se indica en la Figura 3.
Figura 3. Tres técnicas de conmutación.
Conmutación mediante memoria.
Los primeros routers, más simples, solían ser computadoras personales, y la conmutación entre los puertos de entrada y los de salida se hacía bajo el control directo de la CPU (procesador de ruteo). Los puertos de entrada y de salida funcionaban como dispositivos de E/S tradicionales en un sistema operativo tradicional. Primero, cada puerto de entrada señalizaba al procesador de ruteo mediante una interrupción. El paquete era entonces copiado del puerto de entrada hacia la memoria del procesador. El procesador de ruteo extraía entonces la dirección destino de la cabecera, buscaba el puerto de salida adecuado en la tabla de encaminamiento, y copiaba el paquete hacia los buffers de los puertos de salida. Podemos observar que si el ancho de banda de la memoria es tal que se pueden escribir en, o leer de, la memoria B paquetes por segundo, entonces la productividad completa del conmutador (la tasa total a la que se transfieren los paquetes desde los puertos de entrada a los puertos de salida) no supera B/2.
Muchos routers modernos también conmutan mediante memoria. Una gran diferencia con respecto a los routers primitivos, sin embargo, es que en los primeros la búsqueda de la dirección destino y el almacenamiento (conmutación) del paquete sobre la ubicación apropiada de la memoria es realizada por los procesadores en las tarjetas de entrada de línea. En cierto modo, los routers que conmutan mediante memoria son muy similares a los multiprocesadores de memoria compartida, en los cuales los procesadores en la tarjeta de línea almacena paquetes en la memoria del puerto de salida apropiado.
Conmutación mediante bus.
En esta aproximación, los puertos de salida transfieren un paquete directamente al puerto de salida sobre un bus compartido, sin intervención del procesador de ruteo -obsérvese que cuando se conmuta mediante memoria, el paquete debe también cruzar el bus del sistema en su trayecto desde (o hacia) la memoria-. Aunque el procesador de ruteo no está involucrado en la transferencia del bus, como el bus es compartido, sólo puede transferirse un paquete cada vez por el bus. Cada paquete que llega al puerto de entrada y encuentra el bus ocupado en la transferencia de otro paquete, es bloqueado al intentar pasar hacia el entramado de conmutación, y se pone en cola en el puerto de entrada. Dado que cada paquete debe cruzar un solo bus, el ancho de banda de conmutación del router viene limitado por la velocidad del bus. Puesto que con la tecnología de hoy es posible encontrar anchos de banda de más de un gigabit por segundo, la conmutación mediante buses es suficiente para los routers que operan en redes de acceso y redes de negocio (por ejemplo, redes de área local y redes corporativas). La tecnología de conmutación basada en bus ha sido adoptada en un buen número de productos de ruteo que operan con anchos de banda comprendidos entre 1 y 2 Gbps.
Conmutación mediante una red de interconexión
Una forma de resolver la limitación del ancho de banda de un único bus compartido es utilizar una red de interconexión más sofisticada, como la utilizada en, desde hace tiempo, la interconexión de procesadores en una arquitectura multiprocesador. Un conmutador crossbar es una red de interconexión que consta de 2N buses que conectan N puertos de entrada a N puertos de salida, como se muestra en la Figura 3. Cada paquete que llega a un puerto de entrada atraviesa el bus horizontal conectado a la entrada hasta que interfecta con el bus vertical que conduce al puerto de salida deseado. Si el bus vertical que conduce al puerto de salida está libre, el paquete se reconduce hacia el puerto de salida. Si el bus vertical está siendo utilizado para transferir un paquete desde otro puerto de entrada hacia este mismo puerto de salida, el paquete entrante se bloquea, y deberá ponerse en cola en el puerto de entrada.
También se ha propuesto usar entramados de conmutación Delta y Omega como red de interconexión entre puertos de entrada y puertos de salida. Véase Tobagi14 para un repaso de arquitecturas de conmutación. Algunos diseños de conmutadores utilizan una red de interconexión que proporciona hasta 60 Gbps mediante su entramado de conmutación. Una tendencia actual en el diseño de redes de interconexión (Kes-hav15) es fragmentar un datagrama IP de longitud variable en celdas de longitud fija, y entonces etiquetar y conmutar dichas celdas de longitud fija a través de la red de interconexión. Las celdas son después reensambladas para dar el datagrama original en el puerto de salida. El tamaño fijo de las celdas y el etiquetado pueden acelerar y simplificar considerablemente la conmutación de paquetes a través de la red de interconexión.
14 . Tobagi, "Fast Packet Switch
Architectures for Broadband Integrated Networks," Proc. of the IEEE,
Vol. 78, No. 1 (Jan. 1990), pp. 133-167.
15 S. Keshav, R. Sharma, "Issues and
Trends in Router Design," IEEE Communications Magazine, Vol. 36,
No. 5 (May 1998), pp. 144-151.