ply start tail-dropping all new packets. Instead, with a probability that increases with the queue size, packets are dropped randomly. In other words, when a link is lightly congested, there is a very small chance that packets will get dropped, caus- ing only few TCP links to lower their transmission speed. As the link gets more congested though, more packets will get dropped, causing more TCP connections to back off. The extreme measure of tail-dropping all packets from a queue is only taken when the queue size gets above a certain top-threshold. The DiffServ RFC specifies that an AF implementation must attempt to minimize long-term congestion in each class while allowing short-term congestion caused by bursty traffic. RED is an example of an algorithm that does exactly this. The same DiffServ RFC also specifies that the dropping probability for low drop precedence packets should be lower than for high drop prece- dence packets. It specifies that at least two different levels of drop probability must be implemen- ted for each class. In this case, AFxl is given one level and AFx2 and AFx3 are given the other (higher) level. Specifying different thresholds for both different IP precedence levels and different traffic classes can be done using an algorithm called WRED. This allows standard traffic to be dropped more frequently than premium traffic during periods of congestion. Multiprotocol Label Switching support for DiffServ When DiffServ traffic must be carried over an MPLS network, the DSCP needs to be mapped to accommodate MPLS level QoS. For this purpose, the EXP bits in the MPLS header are used. Inside the MPLS network, each node only looks at the MPLS label when forwarding the packet. There are two ways of transporting the MPLS packets over the network. The first is called E-LSP. Here, the PHB for the MPLS node is completely defined by the EXP field inside the MPLS label. If the network needs either more than 8 PHBs or the EXP field cannot be used for some reason, the behavior is specifically set up per MPL