Differentiated services

Last updated

Differentiated services or DiffServ is a computer networking architecture that specifies a mechanism for classifying and managing network traffic and providing quality of service (QoS) on modern IP networks. DiffServ can, for example, be used to provide low-latency to critical network traffic such as voice or streaming media while providing best-effort service to non-critical services such as web traffic or file transfers.

Contents

DiffServ uses a 6-bit differentiated services code point (DSCP) in the 8-bit differentiated services field (DS field) in the IP header for packet classification purposes. The DS field replaces the outdated IPv4 TOS field. [1]

Background

Modern data networks carry many different types of services, including voice, video, streaming music, web pages and email. Many of the proposed QoS mechanisms that allowed these services to co-exist were both complex and failed to scale to meet the demands of the public Internet. In December 1998, the IETF replaced the TOS and IP precedence fields in the IPv4 header with the DS field. [2] In the IPv6 header the DS field is part of the Traffic Class field where it occupies the 6 most significant bits. [2]

In the DS field, a range of eight values (class selectors) is used for backward compatibility with the former IPv4 IP precedence field. Today, DiffServ has largely supplanted TOS and other layer-3 QoS mechanisms, such as integrated services (IntServ), as the primary architecture routers use to provide QoS.

Traffic management mechanisms

DiffServ is a coarse-grained, class-based mechanism for traffic management. In contrast, IntServ is a fine-grained, flow-based mechanism. DiffServ relies on a mechanism to classify and mark packets as belonging to a specific class. DiffServ-aware routers implement per-hop behaviors (PHBs), which define the packet-forwarding properties associated with a class of traffic. Different PHBs may be defined to offer, for example, low-loss or low-latency service.

Rather than differentiating network traffic based on the requirements of an individual flow, DiffServ operates on the principle of traffic classification, placing each data packet into one of a limited number of traffic classes. Each router on the network is then configured to differentiate traffic based on its class. Each traffic class can be managed differently, ensuring preferential treatment for higher-priority traffic on the network. The premise of Diffserv is that complicated functions such as packet classification and policing can be carried out at the edge of the network by edge routers. Since no classification and policing is required in the core routers, functionality there can then be kept simple. Core routers simply apply PHB treatment to packets based on their markings. PHB treatment is achieved by core routers using a combination of scheduling policy and queue management policy.

A group of routers that implement common, administratively defined DiffServ policies are referred to as a DiffServ domain. [3]

While DiffServ does recommend a standardized set of traffic classes, [4] the DiffServ architecture does not incorporate predetermined judgments of what types of traffic should be given priority treatment. DiffServ simply provides a framework to allow classification and differentiated treatment. The standard traffic classes (discussed below) serve to simplify interoperability between different networks and different vendors' equipment.

Classification and marking

Network traffic entering a DiffServ domain is subjected to classification and conditioning. A traffic classifier may inspect many different parameters in incoming packets, such as source address, destination address or traffic type and assign individual packets to a specific traffic class. Traffic classifiers may honor any DiffServ markings in received packets or may elect to ignore or override those markings. For tight control over volumes and type of traffic in a given class, a network operator may choose not to honor markings at the ingress to the DiffServ domain. Traffic in each class may be further conditioned by subjecting the traffic to rate limiters, traffic policers or shapers. [5] :§3

The per-hop behavior is determined by the DS field in the IP header. The DS field contains the 6-bit DSCP value. [2] Explicit Congestion Notification (ECN) occupies the least-significant 2 bits of the IPv4 TOS field and IPv6 traffic class (TC) field. [6] [7] [8]

In theory, a network could have up to 64 different traffic classes using the 64 available DSCP values. The DiffServ RFCs recommend, but do not require, certain encodings. This gives a network operator great flexibility in defining traffic classes. In practice, however, most networks use the following commonly defined per-hop behaviors:

Default Forwarding

A default forwarding (DF) PHB is the only required behavior. Essentially, any traffic that does not meet the requirements of any of the other defined classes uses DF. Typically, DF has best-effort forwarding characteristics. The recommended DSCP for DF is 0. [4]

Expedited Forwarding

The IETF defines Expedited Forwarding (EF) behavior in RFC   3246. The EF PHB has the characteristics of low delay, low loss and low jitter. These characteristics are suitable for voice, video and other realtime services. EF traffic is often given strict priority queuing above all other traffic classes. Because an overload of EF traffic will cause queuing delays and affect the jitter and delay tolerances within the class, admission control, traffic policing and other mechanisms may be applied to EF traffic. The recommended DSCP for EF is 101110B (46 or 2EH).

Voice Admit

The IETF defines Voice Admit behavior in RFC   5865. The Voice Admit PHB has identical characteristics to the Expedited Forwarding PHB. However, Voice Admit traffic is also admitted by the network using a Call Admission Control (CAC) procedure. The recommended DSCP for voice admit is 101100B (44 or 2CH).

Assured Forwarding

The IETF defines the Assured Forwarding (AF) behavior in RFC   2597 and RFC   3260. Assured forwarding allows the operator to provide assurance of delivery as long as the traffic does not exceed some subscribed rate. Traffic that exceeds the subscription rate faces a higher probability of being dropped if congestion occurs.

The AF behavior group defines four separate AF classes with all traffic within one class having the same priority. Within each class, packets are given a drop precedence (high, medium or low, where higher precedence means more dropping). The combination of classes and drop precedence yields twelve separate DSCP encodings from AF11 through AF43 (see table).

Assured Forwarding behavior group
Drop
probability
Class 1Class 2Class 3Class 4
LowAF11 (DSCP 10) 001010AF21 (DSCP 18) 010010AF31 (DSCP 26) 011010AF41 (DSCP 34) 100010
MediumAF12 (DSCP 12) 001100AF22 (DSCP 20) 010100AF32 (DSCP 28) 011100AF42 (DSCP 36) 100100
HighAF13 (DSCP 14) 001110AF23 (DSCP 22) 010110AF33 (DSCP 30) 011110AF43 (DSCP 38) 100110

Some measure of priority and proportional fairness is defined between traffic in different classes. Should congestion occur between classes, the traffic in the higher class is given priority. Rather than using strict priority queuing, more balanced queue servicing algorithms such as fair queuing or weighted fair queuing are likely to be used. If congestion occurs within a class, the packets with the higher drop precedence are discarded first. To prevent issues associated with tail drop, more sophisticated drop selection algorithms such as random early detection are often used.

Class Selector

Class Selector mapping [4]
Service classDSCP NameDSCP Value IP precedence Examples of application
StandardCS0 (DF)00 (000)
Low-priority dataCS181 (001)File transfer (FTP, SMB)
Network operations, administration and management (OAM)CS2162 (010) SNMP, SSH, Ping, Telnet, syslog
Broadcast videoCS3243 (011)
Real-time interactiveCS4324 (100)Gaming, low priority video conferencing
SignalingCS5405 (101)Peer-to-peer (SIP, H.323, H.248), NTP
Network controlCS6486 (110)Routing protocols (OSPF, BGP, ISIS, RIP)
Reserved for future useCS7567 (111)

DF= Default Forwarding

Prior to DiffServ, IPv4 networks could use the IP precedence field in the TOS byte of the IPv4 header to mark priority traffic. The TOS octet and IP precedence were not widely used. The IETF agreed to reuse the TOS octet as the DS field for DiffServ networks. In order to maintain backward compatibility with network devices that still use the Precedence field, DiffServ defines the Class Selector PHB.

The Class Selector code points are of the binary form 'xxx000'. The first three bits are the IP precedence bits. Each IP precedence value can be mapped into a DiffServ class. IP precedence 0 maps to CS0, IP precedence 1 to CS1, and so on. If a packet is received from a non-DiffServ-aware router that used IP precedence markings, the DiffServ router can still understand the encoding as a Class Selector code point.

Specific recommendations for use of Class Selector code points are given in RFC 4594.

Configuration guidelines

RFC   4594 offers detailed and specific recommendations for the use and configuration of code points.

IETF RFC   4594 recommendations
Service classDSCP NameDSCP ValueConditioning at DS edgePHBQueuingAQM
Network controlCS648 See section 3.1 RFC 2474 RateYes
TelephonyEF46Police using sr+bs RFC 3246 PriorityNo
SignalingCS540Police using sr+bs RFC 2474 RateNo
Multimedia conferencingAF41, AF42, AF4334, 36, 38Using two-rate, three-color marker (such as RFC 2698) RFC 2597 RateYes per DSCP
Real-time interactiveCS432Police using sr+bs RFC 2474 RateNo
Multimedia streamingAF31, AF32, AF3326, 28, 30Using two-rate, three-color marker (such as RFC 2698) RFC 2597 RateYes per DSCP
Broadcast videoCS324Police using sr+bs RFC 2474 RateNo
Low-latency dataAF21, AF22, AF2318, 20, 22Using single-rate, three-color marker (such as RFC 2697) RFC 2597 RateYes per DSCP
OAMCS216Police using sr+bs RFC 2474 RateYes
High-throughput dataAF11, AF12, AF1310, 12, 14Using two-rate, three-color marker (such as RFC 2698) RFC 2597 RateYes per DSCP
StandardDF0Not applicable RFC 2474 RateYes
Low-priority dataLE1Not applicable RFC 8622 RateYes

sr+bs = single rate with burst size control.

Design considerations

Under DiffServ, all the policing and classifying are done at the boundaries between DiffServ domains. This means that in the core of the Internet, routers are unhindered by the complexities of collecting payment or enforcing agreements. That is, in contrast to IntServ, DiffServ requires no advance setup, no reservation, and no time-consuming end-to-end negotiation for each flow.

The details of how individual routers deal with the DS field are configuration specific, therefore it is difficult to predict end-to-end behavior. This is complicated further if a packet crosses two or more DiffServ domains before reaching its destination. From a commercial viewpoint, this means that it is impossible to sell different classes of end-to-end connectivity to end users, as one provider's Gold packet may be another's Bronze. DiffServ or any other IP-based QoS marking does not ensure the quality of the service or a specified service-level agreement (SLA). By marking the packets, the sender indicates that it wants the packets to be treated as a specific service, but there is no guarantee this happens. It is up to all the service providers and their routers in the path to ensure that their policies will take care of the packets in an appropriate fashion.

Bandwidth broker

A Bandwidth Broker in the framework of DiffServ is an agent that has some knowledge of an organization's priorities and policies and allocates bandwidth with respect to those policies. [9] In order to achieve an end-to-end allocation of resources across separate domains, the Bandwidth Broker managing a domain will have to communicate with its adjacent peers, which allows end-to-end services to be constructed out of purely bilateral agreements.

DiffServ RFCs

DiffServ Management RFCs

See also

Related Research Articles

The Dynamic Host Configuration Protocol (DHCP) is a network management protocol used on Internet Protocol (IP) networks for automatically assigning IP addresses and other communication parameters to devices connected to the network using a client–server architecture.

<span class="mw-page-title-main">Internet Protocol version 4</span> Fourth version of the Internet Protocol

Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version deployed for production on SATNET in 1982 and on the ARPANET in January 1983. It is still used to route most Internet traffic today, even with the ongoing deployment of Internet Protocol version 6 (IPv6), its successor.

<span class="mw-page-title-main">IPv6</span> Version 6 of the Internet Protocol

Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. IPv6 was developed by the Internet Engineering Task Force (IETF) to deal with the long-anticipated problem of IPv4 address exhaustion, and was intended to replace IPv4. In December 1998, IPv6 became a Draft Standard for the IETF, which subsequently ratified it as an Internet Standard on 14 July 2017.

Multiprotocol Label Switching (MPLS) is a routing technique in telecommunications networks that directs data from one node to the next based on labels rather than network addresses. Whereas network addresses identify endpoints, the labels identify established paths between endpoints. MPLS can encapsulate packets of various network protocols, hence the multiprotocol component of the name. MPLS supports a range of access technologies, including T1/E1, ATM, Frame Relay, and DSL.

Quality of service (QoS) is the description or measurement of the overall performance of a service, such as a telephony or computer network, or a cloud computing service, particularly the performance seen by the users of the network. To quantitatively measure quality of service, several related aspects of the network service are often considered, such as packet loss, bit rate, throughput, transmission delay, availability, jitter, etc.

In computing, Internet Protocol Security (IPsec) is a secure network protocol suite that authenticates and encrypts packets of data to provide secure encrypted communication between two computers over an Internet Protocol network. It is used in virtual private networks (VPNs).

<span class="mw-page-title-main">Network address translation</span> Protocol facilitating connection of one IP address space to another

Network address translation (NAT) is a method of mapping an IP address space into another by modifying network address information in the IP header of packets while they are in transit across a traffic routing device. The technique was originally used to bypass the need to assign a new address to every host when a network was moved, or when the upstream Internet service provider was replaced, but could not route the network's address space. It has become a popular and essential tool in conserving global address space in the face of IPv4 address exhaustion. One Internet-routable IP address of a NAT gateway can be used for an entire private network.

<span class="mw-page-title-main">Subnet</span> Logical subdivision of an IP network

A subnetwork, or subnet, is a logical subdivision of an IP network. The practice of dividing a network into two or more networks is called subnetting.

In computer networking, integrated services or IntServ is an architecture that specifies the elements to guarantee quality of service (QoS) on networks. IntServ can for example be used to allow video and sound to reach the receiver without interruption.

In computer networking, localhost is a hostname that refers to the current computer used to access it. The name localhost is reserved for loopback purposes. It is used to access the network services that are running on the host via the loopback network interface. Using the loopback interface bypasses any local network interface hardware.

The Resource Reservation Protocol (RSVP) is a transport layer protocol designed to reserve resources across a network using the integrated services model. RSVP operates over an IPv4 or IPv6 and provides receiver-initiated setup of resource reservations for multicast or unicast data flows. It does not transport application data but is similar to a control protocol, like Internet Control Message Protocol (ICMP) or Internet Group Management Protocol (IGMP). RSVP is described in RFC 2205.

In Internet networking, a private network is a computer network that uses a private address space of IP addresses. These addresses are commonly used for local area networks (LANs) in residential, office, and enterprise environments. Both the IPv4 and the IPv6 specifications define private IP address ranges.

Class of service is a parameter used in data and voice protocols to differentiate the types of payloads contained in the packet being transmitted. The objective of such differentiation is generally associated with assigning priorities to the data payload or access levels to the telephone call.

The type of service (ToS) field is the second byte of the IPv4 header. It has had various purposes over the years, and has been defined in different ways by five RFCs.

RFC 2638 from the IETF defines the entity of the Bandwidth Broker (BB) in the framework of differentiated services (DiffServ). According to RFC 2638, a Bandwidth Broker is an agent that has some knowledge of an organization's priorities and policies and allocates quality of service (QoS) resources with respect to those policies. In order to achieve an end-to-end allocation of resources across separate domains, the Bandwidth Broker managing a domain will have to communicate with its adjacent peers, which allows end-to-end services to be constructed out of purely bilateral agreements. Admission control is one of the main tasks that a Bandwidth Broker has to perform, in order to decide whether an incoming resource reservation request will be accepted or not. Most Bandwidth Brokers use simple admission control modules, although there are also proposals for more sophisticated admission control according to several metrics such as acceptance rate, network utilization, etc. The BB acts as a Policy Decision Point (PDP) in deciding whether to allow or reject a flow, whilst the edge routers acts as Policy Enforcement Points (PEPs) to police traffic.

A forwarding information base (FIB), also known as a forwarding table or MAC table, is most commonly used in network bridging, routing, and similar functions to find the proper output network interface controller to which the input interface should forward a packet. It is a dynamic table that maps MAC addresses to ports. It is the essential mechanism that separates network switches from Ethernet hubs. Content-addressable memory (CAM) is typically used to efficiently implement the FIB, thus it is sometimes called a CAM table.

Label switching is a technique of network relaying to overcome the problems perceived by traditional IP-table switching. Here, the switching of network packets occurs at a lower level, namely the data link layer rather than the traditional network layer.

An IPv6 transition mechanism is a technology that facilitates the transitioning of the Internet from the Internet Protocol version 4 (IPv4) infrastructure in use since 1983 to the successor addressing and routing system of Internet Protocol Version 6 (IPv6). As IPv4 and IPv6 networks are not directly interoperable, transition technologies are designed to permit hosts on either network type to communicate with any other host.

An IPv6 packet is the smallest message entity exchanged using Internet Protocol version 6 (IPv6). Packets consist of control information for addressing and routing and a payload of user data. The control information in IPv6 packets is subdivided into a mandatory fixed header and optional extension headers. The payload of an IPv6 packet is typically a datagram or segment of the higher-level transport layer protocol, but may be data for an internet layer or link layer instead.

Application Layer Transport Optimization (ALTO) is a protocol that allows internet clients to obtain information that compares the network properties of paths to other endpoints. Typically, this would be used to identify the lowest-cost location to access a copy of some sort of content.

References

  1. D. Grossman (April 2002). New Terminology and Clarifications for DiffServ. doi: 10.17487/RFC3260 . RFC 3260.Informational. Updates RFC  2474, 2475 and 2597.
  2. 1 2 3 K. Nichols; S. Blake; F. Baker; D. Black (December 1998). Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers. Network Working Group. doi: 10.17487/RFC2474 . RFC 2474.Proposed Standard. Obsoletes RFC  1455 and 1349. Updated by RFC  3168, 3260 and 8436.
  3. S3700HI Ethernet Switches Configuration Guide - QoS, Huawei, p. 7, retrieved 2016-10-07, A DiffServ domain is composed of a group of interconnected DiffServ nodes that use the same service policy and PHBs.
  4. 1 2 3 J. Babiarz; K. Chan; F. Baker (August 2006). Configuration Guidelines for DiffServ Service Classes. Network Working Group. doi: 10.17487/RFC4594 . STD 67. RFC 4594.Informational. Updated by RFC  5865 and 8622.
  5. J. Heinanen; F. Baker; W. Weiss; J. Wroclawski (June 1999). Assured Forwarding PHB Group. Network Working Group. doi: 10.17487/RFC2597 . RFC 2597.Proposed Standard. Updated by RFC  3260.
  6. G. Tsirtsis; G. Giaretta; H. Soliman; N. Montavont (January 2011). Traffic Selectors for Flow Bindings. IETF. doi: 10.17487/RFC6088 . ISSN   2070-1721. RFC 6088.Proposed Standard.
  7. Worldwide. "Implementing Quality of Service Policies with DSCP". Cisco. Retrieved 2010-10-16.
  8. Filtering DSCP Archived July 29, 2016, at the Wayback Machine
  9. K. Nichols; V. Jacobson; L. Zhang (July 1999). A Two-bit Differentiated Services Architecture for the Internet. IETF. doi: 10.17487/RFC2638 . RFC 2638.

Further reading