What is DiffServ?

DiffServ stands for “Differentiated Services” and is a quite recent model to signal the priority of data packets. DiffServ is based on the known Type-of-Service (ToS) field and uses the same byte within the IP header.

ToS is using the first three bits to describe the priorities (precedence) 0 to 7, as well as four further bits (the ToS bits) to optimize the data stream (e.g. “Low Delay” and “High Reliability”). This model is rather inflexible, and this is why it has been used quite rarely in the past.

The DiffServ model uses the first 6 bits to make distinctions of different classes. Up to 64 gradings are thus possible (Differentiated Services Code Point, DSCP) which enable a finer priorisation of the data stream:

Finally, the class “Expedited Forwarding” marks those packets, that shall be transferred preferentially, before all other packets.

Code point DSCP bits Dec.   Code point DSCP bits Dec.   Code point DSCP bits Dec.
CS0 (BE) 000000 0   AF11 001010 10   AF33 011110 30
CS1 001000 8   AF12 001100 12   AF41 100010 34
CS2 010000 16   AF13 001110 14   AF42 100100 36
CS3 011000 24   AF21 010010 18   AF43 100110 38
CS4 100000 32   AF22 010100 20   EF 101110 46
CS5 101000 40   AF23 010110 22        
CS6 110000 48   AF31 011010 26        
CS7 111000 56   AF32 011100 28