Differentiated Services
DiffServ is more commonly used than
IntServ and is referred to as soft QoS due to its reliance on per-hop behaviors at each node in the
network, dictated largely by a common understanding and configuration of how to
handle traffic based on the applied marking. The result is far less network
overhead and resource utilization, because the configuration can remain largely
static and does not require constant synchronization.
Furthermore, bandwidth and handling
do not need to be requested from each node within the network. Rather,
predefined per-hop behavior dictates the handling of classified traffic at each
hop. In this way, DiffServ is often referred to as the more efficient and more
scaleable end-to-end QoS model when compared to IntServ. Unlike IntServ, which
uses 5 bits of the ToS byte for signaling and control flags, DiffServ does not
use control flags, thereby allowing it to consume a larger quantity of bits
within the ToS byte and providing a greater degree of differentiation. DiffServ
uses 6 bits of the ToS byte, thereby allowing for up to 64 differentiated levels
of traffic. Although 64 differentiated levels of traffic is significant, many
enterprise organizations commonly use 8 or fewer. On the other hand, most
service providers offer only four differentiated levels of traffic.
DiffServ uses the ToS byte in such a
way that it provides backward compatibility with IntServ implementations. The
first 3 bits are used as a class selector and the next 3 bits are used to assign drop precedence. Note that in
any case, per-hop behaviors may differ for each intermediary node in the network
path between two communicating hosts, and as such, this should be understood in
advance. For instance, organizations that use a managed WAN from a service
provider may be able to negotiate appropriate handling of packets marked in a
certain way within the provider cloud.
For more information on DiffServ, visit: http://www.cisco.com/en/US/tech/tk543/tk766/technologies_white_paper09186a00800a3e2f.shtml.
Traffic Policing
Traffic conditioning is another
pre-queuing operation that can be performed on traffic. Traffic conditioning is
a mechanism that can selectively drop incoming traffic to ensure an appropriate
level of bandwidth consumption through a network device such as a router. This
is commonly called policing.
Policing helps to ensure that the amount
of data a device such as a router receives does not exceed the physical capacity
of the next-hop link. Policing is commonly used in conjunction with shaping, but
the two differ significantly.
Policing enforces a strict
bandwidth capacity for traffic that is entering a router queue, thereby ensuring
that the amount of traffic in queue does not exceed the capacity of the next-hop
link or the configured policy. Traffic entering the router queue that exceeds
this rate is immediately dropped. For flows that use TCP as a transport,
detection of a lost segment is used as an indicator by the transmitting node
that congestion has been encountered, and the sender adjusts the transmission
rate accordingly.
Shaping, on the other hand, which is
described in more detail in the next section, allows the incoming packets to
enter the device queues even if the packets are received at a rate higher than
that of the next-hop link or configured policy. The queue itself is then
serviced according to the capacity of the next-hop link or configured policy. In
this way, shaping queues packets rather than immediately dropping them, assuming
the queue capacity is large enough to hold the incoming packets. Figure 3-11
examines the use of policing as a means of traffic conditioning.
Again, pre-queuing operators have three
purposes: to mark classified traffic appropriately to ensure that it is handled
properly throughout the network by intermediary network devices; to drop
unnecessary or excess traffic; and to conform application flow throughput so
that it does not consume more network capacity than allocated or physically
available.