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... +-----+-----+-----+-------+-------------+-----------+-------+-------+--------