Quality of Service is a broad descriptive term, and can be applied to a variety of different processes. Traditional network design is driven by throughput and reliability. Tomorrow’s networks will be driven by the need to support multimedia, time-sensitive applications. Today’s networks are somewhere in between.
When considering reliability, many factors need to be taken into account. All over the network, single points of failure abound, from the host PC right through to the Internet access router. We cannot hope to solve all of the problems in one go, and it may not be our responsibility to do so. But we can focus on the areas where we can have a large impact. HSRP is one of those areas, where a failure of the default gateway is such a critical factor that Cisco developed a proprietary protocol, HSRP, to manage the problem.
The second side to QoS is the approach taken to try to provide connection-oriented-like services over best efforts networks. This is a serious challenge, as both Ethernet (at the Data Link layer) and IP (at the Network layer) provide genuine best-efforts connectivity, and without the addition of extra content, we would make no progress.
The result has been a spate of new protocol extensions developed by various standards bodies, from the IEEE to the IETF. In IP, we have the Type of Service bits, and their new implementation, the Differentiated Services Code Points. In Ethernet, we have the Class of Service extensions to 802.1Q, specified in 802.1p. Naturally, the DSCP is supported properly only in layer 3 switches, but there is some automatic mapping between the layers in the higher-specification switches.
Cisco switches, at layer 2 and layer 3, support a variety of these new protocols, although they are somewhat limited as yet. This is partly because we in the networking community have yet to achieve consensus on what we want and how we will implement it. When we provide the lead, you can be sure the IOS will follow.