12.21 Packet Drop Options 467
One of the problems of RED is the amount of operations that have to be done at
each time step on each packet. This is one reason why FIFO with tail drop method
is still in use.
Another related algorithm that is similar to RED is flow random early drop
(FRED) where the switch drops each arriving packet with a fixed drop probability
p
b
when the queue size exceeds a certain drop threshold. FRED is classified as a
early random drop algorithm where arriving packets are randomly dropped. The
reasoning being that misbehaving users send more packets and will have a higher
probability that their packets are dropped. However, it has been shown that this drop
policy is not very successful [10].
12.21 Packet Drop Options
We discussed above two advantages for dropping packets in a router. Packets are
dropped to reduce network congestion and to improve its efficiency [39]. There are
several options for selecting the next packet to drop and for determining the times
when the drop policies are implemented. Below, we discuss some of the packet
drop policies that could be implemented alone or in combinations, depending on the
transmission and scheduler protocols being used.
The simplest packet drop policy is to drop incoming packets when the shared
buffer or queue is full. This drop policy does not offer protection against misbe-
having users. A full buffer most probably has been caused by a misbehaving user
and the packets dropped might belong to conforming users. Of course, such sim-
ple policy does not require maintaining any state information. There is only one
state to maintain here which is the level of occupancy of the buffer. Attempting to
protect conforming users requires defining state variables for each user indicating
the amount of packets present in the system and belonging to each session. During
periods of congestion, users that have high buffer occupancy states are eligible to
have their packets dropped. While this offers protection against misbehaving users,
the system must maintain many state variables.
An intermediate solution is to group or aggregate the users into classes of ser-
vice and maintain state information for these classes only. This solution offers some
protection and isolation and also reduces the amount of state variables required.
If the scheduler implements PGPS/WFQ or FFQ algorithms, then a simple packet
drop strategy is to drop the packet with the highest finish number or timestamp
value. The reasoning for this is that large values for these parameters indicate either
long packets or many packets belonging to this session.
Sometimes the packet header contains information that can help with the packet
drop policy. For example, in ATM, the AAL layer contains information about miss-
ing cells. When a switch or router detects that a connection has a missing cell, it
drops all subsequent cells until the last cell of the frame [39]. This frees the network
from supporting a cell stream that will be discarded by the receiver since the frame
will be retransmitted anyway.