End-to-end QoS behavior

The QoS settings on each network device must be aligned to achieve the desired end-to-end QoS behavior for a network. Three service types can be used to categorize and prioritize network traffic:

  • Best Effort Service
  • Ethernet Class of Service (CoS)
  • Internet Differentiated Services (DiffServ)

For a network as a whole, it is best to select one service type to use as the primary end-to-end behavior, and then use the other two service types as needed.

Best effort service

This is the simplest service type. All traffic is treated equally in a first-come, first-served manner. If the traffic load is low in relation to the capacity of the network links, then there is no need for the administrative complexity and costs of maintaining a more complex end-to-end policy. This is sometimes called over-provisioning, as all link speeds are much higher than peak loads on the network.

Class of Service

Class of Service (CoS) is a method for classifying network traffic at layer 2 by marking 802.1Q VLAN Ethernet frames with one of eight service classes.

CoS Traffic type Example protocols
7 Network Control STP, PVST
6 Internetwork Control BGP, OSPF, PIM
5 Voice (<10ms latency) VoIP(UDP)
4 Video (<100ms latency) RTP
3 Critical Applications SQL RPC, SNMP
2 Excellent Effort NFS, SMB
0 Best Effort HTTP, TELNET
1 Background SMTP, IMAP

CoS 1 is deliberately set as the lowest CoS. This enables a traffic service level below the default (best effort) traffic level to be specified.

The 3-bit Priority Code Point (PCP) field within the 16-bit Ethernet VLAN tag is used to mark the CoS.

 
 +--------+--------+--------+----------+-----------+--------
 | mac-da | mac-sa | 0x8100 | VLAN tag | ethertype | data...
 +--------+--------+--------+----------+-----------+--------
                           /            \
                          /              \
                         /                \
                      +-----+-----+---------+
                      | pcp | dei | vlan_id |
                      +-----+-----+---------+

Differentiated services

Differentiated services (DiffServ) is a method for classifying network traffic at layer 3 by marking packets with one of 64 different service classes. Services classes are identified by the Differentiated services Code Point (DSCP) value. Some common DSCP values are:

DSCP Name Service class RFC
56 CS6 Network Control 2474
46 EF Telephony 3246
40 CS5 Signaling 2474
34, 36, 38 AF41, AF42, AF43 Multimedia Conferencing 2597
32 CS4 Real-Time Interactive 2474
26, 28, 30 AF31, AF32, AF33 Multimedia Streaming 2597
24 CS3 Broadcast Video 2474
18, 20, 22 AF21, AF22, AF23 Low-Latency Data 2597
16 CS2 OAM 2474
00 CS0,BE,DF Best Effort 2474
10, 12, 14 AF11, AF12, AF13 Bulk Data 2597
08 CS1 Low-Priority Data 3662

DSCP CS1 (08) CoS 1 is deliberately set as the lowest priority. This is enables a traffic service level below the standard (best effort or default forwarding) level to be specified.

The DSCP value is carried within the IPv4 DSCP field or the upper 6-bits of the 8-bit IPv6 Traffic Class (TC) field.

      +-----+------+-----+-----+----+--------+-----+-------+--------+-------+-------+--------
IPv4  | ver | dscp | ecn | len | id | offset | ttl | proto | chksum | ip-sa | ip-da | data...
      +-----+------+-----+-----+----+--------+-----+-------+--------+-------+-------+--------
             

          +------+-----+
          | dscp | ecn |
          +------+-----+
           \         /
            \       /
       +-----+-----+-----+-------+-------------+-----------+-------+-------+--------
 IPv6  | ver | tc  | len | label | next_header | hop_limit | ip-sa | ip-da | data...
       +-----+-----+-----+-------+-------------+-----------+-------+-------+--------