Friday, March 14, 2008

DSCP Confusion

A friend of mine asked me a question the other day that pointed out a common area of confusion with the DiffServ model for IP QoS. He was reading some documentation that recommended setting the DSCP value for voice-signaling packets to 26 instead of 24. He was trying to convert those numbers to Assured Forwarding (AF) values, and came up with 31 and 30, respectively. His question was "Why does the documentation appear to be making the QoS treatment of these packets WORSE?"

The answer is, it's not. 30 is not a valid AF value. With the Assured Forwarding classes, there are three drop precedence values: 1, 2, and 3. Since zero is not a valid drop precedence, 30 is not a valid AF.

The DSCP value of 26 is 001000 in binary. The per-hop-behavior (PHB) value for this is actually not an Assured Forwarding PHB at all, it's a Class Selector value, CS3. The class selector values equate directly to the old IP precedence values, from the days before DiffServ. So DSCP 26 = CS3 = IP precedence 3 = 001000.

Clear as mud? Try the Wikipedia article.


Berni Gardiner said...

actually DSCP 24 = 011000 = CS3 where DSCP 26 = 011100 = AF31

Originally call signaling was marked on cisco ip phones with dscp 26 until it was determined that that marking left call signaling open to being marked down to a higher drop probability as an AF marking. So, to fall in line with the defacto industry standard, Cisco now marks signaling as CS3, which does not have the same mark down capabilities.

Hope this helps with some of the confusion,
Berni Gardiner

Berni Gardiner said...

one small correction DSCP 26 = 011010 = AF31