These rules summarized in Figure 1 are effective in communicating a priority requested by a user and in obtaining access to a LAN in competition with other devices also attempting to transmit on that LAN. However, the rules don't directly provide guidance concerning the relative priority with which frames are to be handled by a bridge. For example, consider a bridge connected to a token ring on one side and an Ethernet on the other. Suppose that the bridge receives a large volume of traffic from the token ring so that a number of frames are buffered, waiting to be transmitted onto the Ethernet. Should the bridge transmit these frames in the order in which they were received, or should the bridge take into account the user priority of all waiting frames in determining which frame to transmit next? Consideration of this issue led to the development of a new concept, traffic class, incorporated in the 1998 version of IEEE 802.1D.
Figure 1 Outbound access priorities.
The goal of the traffic class addition to 802.1D is to enable Layer 2 switches and bridges to support time-critical traffic (such as voice and video) effectively. The remainder of this article begins with an overview of the use of traffic classes in bridges. Next, we examine the mapping of user priorities into traffic classes. Finally, we look at the larger issue of quality of service (QoS) in an intranet that includes bridges as well as routers and other Layer 3 switches.
The 1998 version of IEEE 802.1D distinguishes three concepts:
User priority: The user priority is a label carried with the frame that communicates the requested priority to downstream nodes (bridges and end systems). Typically, the user priority is not modified in transit through bridges, unless a mapping is needed for the use of a different number of priority levels by different MAC types. Thus, the user priority has end-to-end significance across bridged LANs.
Access priority: On LANs that support priority, the access priority is used to compete for access to the shared LAN with frames from other devices (end systems and other bridges) attached to the same LAN. For example, the token-passing discipline in a token ring network enables higher-priority frames to gain access to the ring ahead of lower-priority frames when frames from multiple stations are waiting to gain access. When both the incoming and outbound LAN are of the same MAC type, the bridge assigns an access priority equal to the incoming user priority. Otherwise, the bridge must perform a mapping as defined in Figure 1.
Traffic class: A bridge can be configured so that multiple queues are used to hold frames waiting to be transmitted on a given outbound port, in which case the traffic class is used to determine the relative priority of the queues. All waiting frames at a higher traffic class are transmitted before any waiting frames of a lower traffic class. As with access priority, traffic class is assigned by the bridge on the basis of incoming user priority.
The significance of traffic classes can be seen by recognizing that a frame experiences two types of delay at a bridge:
Queuing delay: The time that a frame waits until it becomes first in line for transmission on the outbound port. This delay is determined by the queuing discipline used by the bridge. The simplest scheme is first-in-first-out. Traffic classes permit more sophisticated schemes.
Access delay: The delay that a frame experiences while waiting for permission to transmit on the LAN, in competition with frames from other stations attached to the same LAN. This delay is determined by the MAC protocol used (token ring, CSMA/CD, and so on).
The total delay experienced by a frame at a bridge is the sum of its queuing delay and its access delay.
Figure 2 illustrates the mechanism used to support traffic classes at a bridge. A bridge can support up to eight different traffic classes on any outbound port by implementing up to eight distinct queues (buffers) for that port. A traffic class value is associated with each queue, ranging from a low of 0 to a high of N 1, where N is the number of traffic classes associated with a given outbound port (N < 8).
Figure 2 IEEE 802.1D traffic class operation.
On a given output port with multiple queues, these are the rules for transmission:
A frame may be transmitted from a queue only if all queues corresponding to numerically higher values of traffic class are empty. For example, if there is a frame in queue 0, it can only be transmitted if all of the other queues at that port are currently empty.
Within a given queue, the order of frame transmission must satisfy the following: The order of frames received by this bridge and assigned to this outbound port shall be preserved for these items:
Unicast frames with a given combination of destination address and source address
Multicast frames for a given destination address
In practice, a first-in-first-out discipline is typically used.
Thus, a strict priority mechanism is used. It follows that during times of congestion, lower-priority frames may be stuck indefinitely at a bridge, which devotes its resources to moving out the higher-priority frames.