Furniture 499

The combination of QoS, prioritization, traffic management, and scheduling provides a comprehensive set of mechanisms that can be applied across a network Classifier Meter Marker Shaper Dropper IP Packets In Packets with BE DSCP Packets with EF DSCP Conforms to SLA Traffic Profile Nonconforming; Marked for Possible Upstream Action Delayed to Fit SLA Priority Scheduling IP Packets Out FIGURE 8.5 Traffic Conditioning Functions Performance Mechanisms 347 QoS, Prioritization, Traffic Management, Scheduling Network Devices Network FIGURE 8.6 Performance Mechanisms Act on Network Devices to achieve various performance levels for traffic flows (Figure 8.6). As we will see, these mechanisms are closely tied to SLAs and policies, which are discussed next. Queuing We complete this section with a discussion of queuing. Queuing is storing IP packets (this can also be applied to frames or cells, but for the purposes of this discussion we limit it to IP packets) within a network device while they wait for processing. There may be several locations where packets are stored (queues) within a network device, for each type of processing that the device is performing on each packet (e.g., holding packets received from the network, processing for QoS, holding packets for transmission onto the network). There are a number of queuing mechanisms available in network devices. Each mechanism is developed to achieve a particular objective in processing packets. For example, queue mechanisms may treat all packets in the same way, may randomly select packets for processing, or may favor particular packets. In this chapter we briefly consider the following queuing mechanisms: • First in first out (FIFO) • Classbased queuing (CBQ) • Weighted fair queuing (WFQ) • Random early detect (RED) • Weighted RED (WRED) First in first out (FIFO) queuing is arguably the simplest queuing mechanism available. In FIFO queuing packets are stored in a single queue. For an output FIFO queue, packets are transmitted onto the network in the order that they were received (at the input queue). 348 CHAPTER 8 Performance Architecture In classbased queuing (CBQ), multiple queues with differing priorities are maintained. Priority levels are configurable in the network device and indicate the performance levels required for each traffic type. Packets of each priority level are placed in their respective queues. Higherpriority queues are processed before lowerpriority queues, with the result that higherpriority traffic receives more network resources and thus greater performance. Like CBQ, weighted fair queuing (WFQ) assigns priorities (weights) to queues. Typically with this mechanism, highpriority traffic flows are processed first, and lowerpriority traffic flows share the remaining resources. Generally, when a queue becomes full (e.g., during periods of congestion), packets are dropped either from the beginning of the queue (head) or end of the queue (tail).