|  | 2.3 | Switching and VLANs
| 2.3.8 | Memory buffering
An Ethernet switch may use a buffering technique to store and forward packets to the correct port or ports. Buffering may also be used when the destination port is busy. The area of memory where the switch stores the data is called the memory buffer. This memory buffer can use two methods for forwarding packets—port-based memory buffering and shared memory buffering In port-based memory buffering, packets are stored in queues that are linked to specific incoming ports. A packet is transmitted to the outgoing port only when all the packets ahead of it in the queue have been successfully transmitted. It is possible for a single packet to delay the transmission of all the packets in memory because of a busy destination port. This delay occurs even if the other packets can be transmitted to open destination ports. Shared memory buffering deposits all packets into a common memory buffer that is shared by all the ports on the switch. The amount of memory allocated to a port is determined by how much is required by each port. This is called dynamic allocation of buffer memory. The packets in the buffer are then linked dynamically to the transmit port—the packet is linked to the memory allocation of that transmit port. This allows the packet to be received on one port and transmitted on another port, without moving it into a different queue. The switch maintains a map of the ports to which a packet needs to be transmitted. The switch clears out this map of destination ports only after the packet has been successfully transmitted. Because the memory buffer is shared, the packet is restricted by the size of the entire memory buffer, not just the allocation to one port. This means that larger packets can be transmitted with fewer dropped packets. This is important to 10/100 switching, where a 100-Mbps port can forward a packet to a 10-Mbps port.