ONT – IntServ and DiffServ
As I started reading other resources – mostly Cisco documentation and RFCs, I realized how important IntServ and DiffServ are to understanding QoS and decided to dedicate this post to review the two models.
IntServ (RFC 1633) and DiffServ (RFC 2475) are two ways of considering the problem of providing QoS for a given IP packet. IntServ came first and DiffServ tried to answer some of the questions (or problems) that came up using IntServ.
IntServ answer the needs of real-time applications such as remote video, multimedia conferencing, visualization, and virtual reality. It allow delivering the end-to-end QoS that real-time applications need by explicitly managing network resources to provide QoS to specific user packet streams (flows).
IntServ model relies on the RSVP (Resource Reservation Protocol) to signal and reserve QoS for each flow in the network. Two types of service can be requested via RSVP: The first type is a very strict guaranteed service that provides for firm bounds on end-to-end delay and assured bandwidth for traffic that conforms to the reserved specifications. The second type is a controlled load service that provides for a better than best effort and low delay service under light to moderate network loads.
IntServ requires several functions on routers and switches participating in its path:
- Admission Control: determine whether a new flow can be granted the requested QoS without impacting existing reservations
- Classification: recognize packets that need particular levels of QoS
- Policing: take action, including possibly dropping packets, when traffic does not conform to its specified characteristics
- Queuing and Scheduling: forward packets according to those QoS requests that have been granted
DiffServ is a scalable end-to-end QoS model. This model intended to address the following difficulties with IntServ and RSVP:
- Scalability: maintaining states by routers in high-speed networks is difficult due to the very large number of flows
- Flexible Service Models: IntServ has only two classes. DiffServ offer more service classes and service distinction
- Simpler signaling (than RSVP): many applications and users may only want to specify a more qualitative notion of service
This image describe DiffServ end-to-end architecture, where the entire path with all routers must be DiffServ enabled (read the full white paper for more details). Using DiffServ, a small bit-pattern in each packet, in the IPv4 ToS octet or the IPv6 traffic class octet, is used to mark a packet to receive a particular forwarding treatment, or per-hop behavior (PHB), at each network node. Using the IPv4 ToS byte and PHB is the core of DiffServ:
- Packet Marking - the ToS byte is completely redefined, six bits are now used to classify packets. The six bits replace the three IP-precedence bits, and is called the Differentiated Services Codepoint (DSCP).
- PHB, Per Hop Behaviors – the collection of packets that have the same DSCP value (codepoint) and crossing in a particular direction is called a Behavior Aggregate (BA). Packets from multiple applications/sources could belong to the same BA. PHB refers to the packet scheduling, queuing, policing, or shaping behavior of a node on any given packet belonging to a BA, and as configured by a Service Level Agreement (SLA) or policy.
There are four types of PHB: Default PHB, Class-Selector PHB, Expedited Forwarding PHB and Assured Forwarding PHB. I will not detail on the different types as they go beyond the scope of the exam.
This is only the basic of this topic. The more you read, the wider it gets and for every answer you find there are two new questions…
I found a short but helpful summary of IntServ vs DiffServ on WPI‘s CS web site.