前述したように、スイッチは、パケットを宛先ホストに転送する前に、パケットの一部またはすべてを分析します。 イーサネット スイッチでは、フレームを転送する前に保存するためにバッファリングの手法を使用できます。 バッファリングは宛先ポートが輻輳によってビジー状態の場合にも使用でき、その場合、スイッチは送信できるようになるまでフレームを保存します。

図に示すように、メモリ バッファリングにはポート ベースと共有メモリという 2 つの方式があります。

ポート ベースのメモリ バッファリング

ポートベースのメモリ バッファでは、フレームは、特定の入力および出力ポートにリンクされているキューに保存されます。 フレームは、キュー内にある前方のフレームがすべて正常に送信された場合に限り、発信ポートに送信されます。 ビジー状態の宛先ポートが原因で、1 つのフレームによってメモリ内のすべてのフレームの送信が遅れる可能性があります。 こうした遅延は、空いている宛先ポートに他のフレームを送信できる場合でも発生します。

共有メモリ バッファリング

共有メモリ バッファリングでは、スイッチのすべてのポートが共有する共通のメモリ バッファにすべてのフレームを蓄えます。 1 つのポートに必要なバッファ メモリの容量が動的に割り当てられます。 バッファ内のフレームは、宛先ポートに動的にリンクされます。 これにより、パケットはあるポートで受信された後、別のキューに移動することなく、別のポートで送信できます。

スイッチは、どこにパケットを送信する必要があるかを示す、フレームからポートへのリンクのマップを保持しています。 このマップ リンクは、フレームが正常に送信された後に消去されます。 バッファに保存されるフレームの数は、メモリ バッファ全体のサイズによる制限を受け、1 つのポート バッファに制限されることはありません。 これにより、フレームのドロップ数を少なく抑えながら、大量のフレームを送信できます。 この点は非対称スイッチングで特に重要です。 非対称スイッチングでは、ポートごとにデータ速度を変えることができます。 これにより、サーバに接続されているポートな、特定のポートにより多くの帯域幅を割り当てることができます。