Designing High-Performance Networking Applications: Essential Insights for Developers of IXP2XXX Network Processor-based Systems

Buffer Management

Buffer managers regulate the length of the packet queues in a device by dropping packets as required. Dropping packets indicates to the end devices that the network is congested. Protocols such as TCP typically back off and reduce the rate at which they transmit packets on a connection when they detect packet drops. At the same time, packet-oriented traffic is typically bursty, which means that a device may often see periods of transient congestion followed by periods of little or no traffic. Therefore, the dual goals of the buffer manager are to allow temporary bursts and fluctuations in the packet arrival rate while actively avoiding sustained congestion by providing an early indication to the end devices.

Tail Drop

The simplest scheme for buffer management is tail drop, in which each queue in the system is assigned a maximum threshold. If a packet arrives on a queue that has reached its maximum threshold, the buffer manager drops it. This design gets it name from the fact that it drops the last packet that arrives on a queue, or, in other words, the packet at the tail of the queue. Even though this scheme is very easy to implement, it is a reactive measure since it waits until the queues are full to drop packets. Therefore, the end devices do not get an early indication of congestion. This coupled with the bursty nature of the traffic means that the system may drop a large chunk of packets when...

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Packet Generators
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.