Quality of Service (QoS) for Local Area Networks (LANs)
A typical on-premise network configuration of an organization contains multiple local area networks (LANs) connected by bridges or Layer 2 switches. The LANs may all be of one type (such as Ethernet) or of mixed types (such as Ethernet, token ring, and wireless). In either case, the issue of Quality of Service (QoS) arises.
User Priority and Access Priority
The first attempt to deal with LAN QoS in a standardized fashion appears in the original version of IEEE 802.1D, which is a specification that defines the protocol architecture for bridges and Layer 2 switches, which operate at the MAC (medium access control) level. IEEE 802.1D deals with the interconnection of LANs with the same MAC protocol as well as LANs with different MAC protocols. In addition to passing MAC frames from one LAN to another across the bridge, the bridge is able to pass parameters from software that controls the incoming port to the software that controls the outgoing port. Two of these parameters are user_priority and access_priority.
The user_priority and access_priority parameters relate to the problem of how to handle priorities. In IEEE 802.3 (Ethernet) and 802.11 (wireless LAN), priority is not supported. Other 802 LAN types support up to eight levels of priority. The user_priority value provided to the MAC layer entity at the incoming port is derived from the incoming MAC frame; in the case of an incoming frame with no priority value, a value of unspecified is used. The user_priority value issued to the MAC entity at the outgoing port is to be placed in the outbound MAC frame for LAN types that provide a priority field. The access_priority value refers to the priority used by a bridge MAC entity to access a LAN for frame transmission. You may not want the access_priority to be equal to the user_priority for several reasons:
A frame that must go through a bridge has already suffered more delay than a frame that doesn't have to go through a bridge; therefore, you may want to give such a frame a higher access priority than the requested user priority.
It's important that the bridge not become a bottleneck. Therefore, you may want to give all frames being transmitted by a bridge a relatively high priority.
The rules for handling priorities can now be summarized. The user_priority value is determined from the priority field of the incoming frame and placed in the priority field of the outbound frame. Priorities are not used to transmit 802.3 and 802.11 MAC frames, and the frames themselves have no priority field. Therefore, if the outbound frame is 802.3 or 802.11, any incoming priority field (from a frame that has such a field) is ignored. If the incoming frame is 802.3 or 802.11, and the outbound frame requires a priority field, the priority field in the outbound frame is set to a default user_priority value. If both incoming and outbound frames carry a priority field, the priority field in the outbound MAC frame is set equal to the priority field in the inbound MAC frame.
The access_priority value is also determined from the priority field of the incoming frame. For incoming 802.3 and 802.11 frames, a user_priority of 0 (lowest priority) is assumed. Table 1 shows the access priorities assigned to outgoing MAC frames for each of the LAN types, as a function of incoming user priority value. For 802.3 and 802.11, there is no access priority mechanism and therefore a priority of 0 is used. For 802.4 and 802.6, there are eight available access priorities, and so the incoming user priority is mapped to the outgoing access priority using equality. IEEE 802.11 permits only two priority levels; half of the possible user priority values are mapped into each of these levels. For the two token ring types (802.5 and FDDI), although eight priority levels are available, the highest priority (level 7) is not used in bridge forwarding. The reason for this restriction is that the token-passing protocol reserves priority 7 for its use in transmitting frames needed to manage the token-passing process, such as recovering from a frame loss.