irements. Queueing/scheduling. A mechanism to prioritize the transmission of certain traffic aggregates above others. Congestion avoidance mechanisms. A mechanism to lower the transmit speed at the sender, before the router is fully congested; for example, Random Early Discard (RED), discussed later. There are different ways of providing QoS to a network using the functional blocks described earlier. Examples are as follows: IPv4 precedence marking. This is the use of the IPv4 Type of Service (ToS) field as originally described in RFC791. This RFC described a simple priority dequeue for different types of traffic. Label switching. For example: MPLS (or Asynchronous Transfer Mode, back in the day). A traffic stream gets a certain label and is switched according to that. On a management level, the characteristics of the traffic stream are known SO that it can be routed through a part of the network that is not congested. This keeps the total bandwidth use of the network below maximum, thus guaranteeing the resources to the users. This goes at the cost of higher management overhead. Integrated Services (IntServ)/RSVP. In this system, each flow makes a bandwidth reservation in each node of the network, thus guaranteeing the end-to-end QoS. IntServ is not widely used. The problems with Label Switching and Integrated Services are that they require a large amount of overhead at the central nodes of the network, as every flow needs to be treated individually. This requirement makes these schemes not well scalable. Simple IPv4 ToS- field-based precedence marking on the other hand does not give enough flexibility to pro- vide good QoS. Combined, this explains the need for a different system: Differentiated Services or DiffServ. DiffServ reaches scalability by limiting the application of classification and conditioning to the boundaries of the network. Inside the network, the Per Hop Behavior (PHB) works on aggregates of flows which have been marked using the DiffServ (DS) field in IPv4 and IPv6 headers. This means that the