Almacenamiento en búfer de memoria en los switches

Un switch Ethernet puede usar una técnica de almacenamiento en búfer para almacenar tramas antes de enviarlas. El almacenamiento en búfer también se puede utilizar cuando el puerto de destino está ocupado debido a una congestión. En este caso, el switch almacena la trama hasta que se pueda transmitir.

Como se muestra en la ilustración, existen dos métodos de almacenamiento en búfer de memoria: memoria basada en puerto y memoria compartida.

Búfer de memoria basada en puerto

En el búfer de memoria basada en puerto, las tramas se almacenan en colas conectadas a puertos de entrada y de salida específicos. Una trama se transmite al puerto de salida una vez que todas las que están delante de ella en la cola se hayan transmitido correctamente. Es posible que una sola trama demore la transmisión de todas las tramas almacenadas en la memoria debido al tráfico del puerto de destino. Esta demora se produce aunque las demás tramas se puedan transmitir a puertos de destino abiertos.

Búfer de memoria compartida

El búfer de memoria compartida deposita todas las tramas en un búfer de memoria común que comparten todos los puertos del switch. La cantidad de memoria de búfer que requiere un puerto se asigna de forma dinámica. Las tramas que están en el búfer se enlazan de forma dinámica al puerto de destino. Esto permite que se pueda recibir el paquete por un puerto y que se pueda transmitir por otro, sin necesidad de colocarlo en otra cola.

El switch conserva un mapa de enlaces de trama a puerto que indica adónde debe transmitirse el paquete. El enlace se elimina del mapa una vez que la trama se transmite correctamente. La cantidad de tramas almacenadas en el búfer está limitada por el tamaño del búfer de memoria en su totalidad y no se limita a un solo búfer de puerto. Esto permite que se transmitan tramas más grandes y que se descarte una menor cantidad de ellas. Esto es de especial importancia para el switching asimétrico. El switching asimétrico permite diferentes índices de datos en diferentes puertos. Esto permite dedicar un mayor ancho de banda a ciertos puertos, como a un puerto conectado a un servidor.