# Conmutación virtual cut-through

La conmutación cut-through (en inglés: «Cut-through switching») –más conocida como virtual cut-through– es una técnica de conmutación de paquetes según la cual el conmutador empieza a retransmitir una trama o paquete antes de haberlo recibido por completo, normalmente al identificar la dirección del nodo destino.
Si los conmutadores de la red implementan conmutación adaptativa (adaptive switching), pueden alternar selectivamente entre un modo de operación cut-through y otro de tipo «store-and-forward» ("almacenamiento y reenvío"), dependiendo de las condiciones que presente la red en cada momento. Este mecanismo permite optimizar las prestaciones de la red al combinar la alta velocidad de transferencia de virtual cut-through (cuando la tasa de errores es baja) con la fiabilidad que proporciona «store-and-forward» (cuando la tasa de errores aumenta).

## Características
### Funcionamiento

Al igual que en conmutación vermiforme, en una red que opera con virtual cut-through el encaminamiento en el conmutador se ejecuta en cuanto llega la cabecera del paquete. La unidad de transferencia entre interfaces (nivel de red del modelo OSI) es el paquete, que puede "cortarse" (cut-through) en trozos más pequeños, de forma que la cabecera pueda estar ya en el siguiente conmutador cuando aún no se ha recibido el paquete completo.
Si un paquete se bloquea por hallarse ocupado un enlace, puede entretanto almacenarse en el buffer a la entrada del conmutador, cuya capacidad debe ser suficiente para alojar (al menos) un paquete completo. Esto implica que si los mensajes no tienen un tamaño máximo preestablecido, deberán fragmentarse en unidades más pequeñas. De esta forma, en virtual cut-through el camino a recorrer por los paquetes se segmenta en etapas, al igual que sucede en conmutación vermiforme, pero asignando buffer y enlaces a nivel de paquete como en «almacenamiento y reenvío». Este esquema permite que, en cada momento, un paquete no bloqueado pueda estar transfiriéndose por múltiples canales de la red al mismo tiempo.

### Prestaciones
#### Ancho de banda global

El ancho de banda global de una red depende del número de canales que puedan estar transfiriendo información simultáneamente. Este número dependerá de la cantidad de enlaces que ocupe un paquete bloqueado; estos enlaces no podrán transferir datos mientras dure el bloqueo, lo que mermará la productividad global de la red. Si en un momento dado un paquete no puede acceder a un recurso (i.e. el puerto de salida del conmutador por el que debe encaminarse), se bloquea. Esto implica que un cierto número de enlaces quedarán ocupados por el paquete bloqueado, permaneciendo inutilizados mientras dure el bloqueo. Estos enlaces ocupados pueden a su vez provocar el bloqueo de otros paquetes y, en última instancia, causar un bloqueo en cadena y saturar la red. El problema puede solventarse en parte usando en los conmutadores un almacenamiento común a todas las entradas, de forma que el bloqueo de paquetes no impida la entrada de nuevos paquetes (siempre que haya espacio disponible en el buffer para ellos).

### Coste

La capacidad de almacenamiento de los conmutadores repercute directamente en su coste. En este caso, el tamaño del buffer asociado a los puertos de entrada o salida será múltiplo de un paquete, al igual que en «almacenamiento y reenvío».

## Ventajas

* En comparación con «almacenamiento y reenvío», esta técnica reduce el tiempo de paso por el conmutador ($t_{s}$), aunque a costa de la fiabilidad (no se verifica la integridad de los paquetes, luego podrían transferirse paquetes de datos corruptos).
* No necesita almacenar el paquete completo en el buffer para empezar a transmitir, lo que aumenta el rendimiento.

## Usos

Virtual cut-through es un modo de direccionamiento adecuado para redes con un tamaño máximo de mensaje limitado, como p.ej. redes de interconexión de sistemas multiprocesadores con memoria compartida y caché coherente, donde la longitud del mensaje suele ajustarse al tamaño de una línea de caché.
Un ejemplo comercial que usa virtual cut-through es el chip EV7 (Alpha 21364), cuyas entradas proveen almacenamiento para varios paquetes de tamaño máximo. El tamaño máximo de paquete equivale en este caso a 76 bytes (19 phits). Otros sistemas que hacen uso de virtual cut-through son Synfinity de Fujitsu y BlueGene/L de IBM.