cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1007
Views
14
Helpful
11
Replies

DSCP - congestion avoidance

GRANT3779
Spotlight
Spotlight

Hello,

When marking packets, does avoidance mechanisms like WRED use built in algorithms to know that it drops certain af classes before others?

1 Accepted Solution

Accepted Solutions

Hello

When WRED is enabled for DSCP within a policy-map it calcuates the drop probalitiy of a packet based on default vaules which can be changed.


Example:

sh policy-map interface  fa0/0
 FastEthernet0/0

  Service-policy output: STAN

    Class-map: class-default (match-any)
      0 packets, 0 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: any
      Queueing
        Output Queue: Conversation 265
        Bandwidth 1024 (kbps)
        (pkts matched/bytes matched) 0/0
        (depth/total drops/no-buffer drops) 0/0/0
         exponential weight: 9
         mean queue depth: 0

   dscp    Transmitted      Random drop      Tail drop    Minimum Maximum  Mark
           pkts/bytes       pkts/bytes       pkts/bytes    thresh  thresh  prob
   af11       0/0               0/0              0/0           32      40  1/10
   af12       0/0               0/0              0/0           28      40  1/10
   af13       0/0               0/0              0/0           24      40  1/10
   af21       0/0               0/0              0/0           32      40  1/10
   af22       0/0               0/0              0/0           28      40  1/10
   af23       0/0               0/0              0/0           24      40  1/10
   af31       0/0               0/0              0/0           32      40  1/10
   af32       0/0               0/0              0/0           28      40  1/10
   af33       0/0               0/0              0/0           24      40  1/10
   af41       0/0               0/0              0/0           32      40  1/10
   af42       0/0               0/0              0/0           28      40  1/10
   af43       0/0               0/0              0/0           24      40  1/10
    cs1       0/0               0/0              0/0           22      40  1/10
    cs2       0/0               0/0              0/0           24      40  1/10
    cs3       0/0               0/0              0/0           26      40  1/10
    cs4       0/0               0/0              0/0           28      40  1/10
    cs5       0/0               0/0              0/0           30      40  1/10
    cs6       0/0               0/0              0/0           32      40  1/10
    cs7       0/0               0/0              0/0           34      40  1/10
     ef       0/0               0/0              0/0           36      40  1/10
   rsvp       0/0               0/0              0/0           36      40  1/10
default       0/0               0/0              0/0           20      40  1/10

 

Here you can see Assured Forwarding PHB ( per hop behavior) match against DSCP and for backward compatibility the Class Selector  (CS) values for ip precedence


res

Paul

 


Please rate and mark as an accepted solution if you have found any of the information provided useful.
This then could assist others on these forums to find a valuable answer and broadens the community’s global network.

Kind Regards
Paul

View solution in original post

11 Replies 11

Hello

When WRED is enabled for DSCP within a policy-map it calcuates the drop probalitiy of a packet based on default vaules which can be changed.


Example:

sh policy-map interface  fa0/0
 FastEthernet0/0

  Service-policy output: STAN

    Class-map: class-default (match-any)
      0 packets, 0 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: any
      Queueing
        Output Queue: Conversation 265
        Bandwidth 1024 (kbps)
        (pkts matched/bytes matched) 0/0
        (depth/total drops/no-buffer drops) 0/0/0
         exponential weight: 9
         mean queue depth: 0

   dscp    Transmitted      Random drop      Tail drop    Minimum Maximum  Mark
           pkts/bytes       pkts/bytes       pkts/bytes    thresh  thresh  prob
   af11       0/0               0/0              0/0           32      40  1/10
   af12       0/0               0/0              0/0           28      40  1/10
   af13       0/0               0/0              0/0           24      40  1/10
   af21       0/0               0/0              0/0           32      40  1/10
   af22       0/0               0/0              0/0           28      40  1/10
   af23       0/0               0/0              0/0           24      40  1/10
   af31       0/0               0/0              0/0           32      40  1/10
   af32       0/0               0/0              0/0           28      40  1/10
   af33       0/0               0/0              0/0           24      40  1/10
   af41       0/0               0/0              0/0           32      40  1/10
   af42       0/0               0/0              0/0           28      40  1/10
   af43       0/0               0/0              0/0           24      40  1/10
    cs1       0/0               0/0              0/0           22      40  1/10
    cs2       0/0               0/0              0/0           24      40  1/10
    cs3       0/0               0/0              0/0           26      40  1/10
    cs4       0/0               0/0              0/0           28      40  1/10
    cs5       0/0               0/0              0/0           30      40  1/10
    cs6       0/0               0/0              0/0           32      40  1/10
    cs7       0/0               0/0              0/0           34      40  1/10
     ef       0/0               0/0              0/0           36      40  1/10
   rsvp       0/0               0/0              0/0           36      40  1/10
default       0/0               0/0              0/0           20      40  1/10

 

Here you can see Assured Forwarding PHB ( per hop behavior) match against DSCP and for backward compatibility the Class Selector  (CS) values for ip precedence


res

Paul

 


Please rate and mark as an accepted solution if you have found any of the information provided useful.
This then could assist others on these forums to find a valuable answer and broadens the community’s global network.

Kind Regards
Paul

Disclaimer

The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.

Liability Disclaimer

In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.

Posting

As Paul notes, Cisco routers usually have default DSCP settings, when WRED is enabled for using DSCP (on many platforms, just enabling WRED it uses defaults based on IPPrec).  BTW, such defaults can vary between platforms, and the defaults might be (very much) less than ideal for your service needs.

Other platforms, such a Cisco switches, might also have default WTD settings for DSCP markings too.  Again, their defaults might be (very much) less than ideal for your service needs.

PS:

"and for backward compatibility the Class Selector  (CS) values for ip precedence"

Just want to also note devices using IPPrec might (although unlikely) also may be using the other DTR ToS bits, which would look like a non-CS DSCP value.

 

Hi Paul,

Thanks a lot for that.

What are the reasons we would use CS for some traffic and AF for others? E.G looking at Cisco documentation it suggests

Bulk Data - AF1

Multimedia Streaming - AF3

Broadcast Video - CS5

Call Signalling - CS3

Is this due to the way congestion avoidance mechanisms work and drop traffic?

 

Hello
Prior to DSCP , IP Precedence was and still is wildly used as a form for traffic prioritising.

DSCP Class Selector and Assured forwarding provides support for these historical code points, which can be used  for backward capability mapping of the Ip precedence values

Of the 8 bit tos octet in the ip packet, IP Precedence uses 3 of these for classification   ranging from 0 -7

DSCP uses 6 bits,The same bits as IPP but also an additional 3 bits for drop preference with classification range from 0 -63, Thus more providing more granularity with DSCP for classification.

(Note:Through my studies I have noticed this 6th bit isn’t used )



IPP =  0 0 0
           4 2 1


DSCP =   0   0   0   0   0   0
                32 16  8    4  2   1


Lets take CS3 as an example:

IPP = 3  (011)
DSCP CS3 - = (011000)
DSCP decimal = 24  ( IPP 3 * 8)

For assured forwarding the
A= the precedence  
F= drop probability ( higher value more likely to be dropped)
note: this has a dscp value of 2

Classification:
AF31 ( 011010)  
AF32, ( 011100)
AF33, ( 011110)

Drop Probability:
AF31 ( 011010)  
AF32, ( 011100)
AF33, ( 011110)

So:

AF31 ( 011010)  DSCP Decimal = 26  CS=3 IPP= 3
AF32, ( 011100) DSCP Decimal = 28  CS=3 IPP= 3
AF33, ( 011110) DSCP Decimal = 30  CS=3 IPP= 3

hope this helps

res
Paul


Please rate and mark as an accepted solution if you have found any of the information provided useful.
This then could assist others on these forums to find a valuable answer and broadens the community’s global network.

Kind Regards
Paul

Disclaimer

The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.

Liability Disclaimer

In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.

Posting

"DSCP Class Selector and Assured forwarding provides support for these historical code points, which can be used  for backward capability mapping of the Ip precedence values"

Again, DSCP does provide for some backward capability with IPPrec, but it's not fully guaranteed to prioritize all IPPrec values exactly the same.  AF classes should somewhat correspond to their IPPrec, but its not really the same, and, for example, something like RFC 3632's lower-effort (scavenger) uses CS1, but IPPrec 1 is "better" than IPPrec 0.

"(Note:Through my studies I have noticed this 6th bit isn’t used )"

If I remember correctly, that's to allow for "private" DSCP marking usage within the AF classes.

Hi Paul,

Appreciate all the feedback on this. Learning a lot.

You mentioned...

A= the precedence  
F= drop probability ( higher value more likely to be dropped)
note: this has a dscp value of 2
 

What is it that has a dscp value of 2?

Hello

As I mentioned previous DSCP utilizes 6 bts of the TOS octet in the ip header, but the 6th bit isn’t used

In Assured Forwarding PHB the drop probability starts with a value = 2 because of this?

DSCP =   0   0   0   0   0   0
                32 16  8    4  2   1

@Joseph
Maybe you can share your thoughts this, as to why that 6th dscp bit isn used, as per my understanding?


res
Paul


Please rate and mark as an accepted solution if you have found any of the information provided useful.
This then could assist others on these forums to find a valuable answer and broadens the community’s global network.

Kind Regards
Paul

Disclaimer

The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.

Liability Disclaimer

In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.

Posting

@Joseph
Maybe you can share your thoughts this, as to why that 6th dscp bit isn used, as per my understanding?

As I already mentioned, and if my memory is correct, AF values set aside values for "private" usage.

i.e.:

CS3 ( 011000)  DSCP Decimal = 24  CS=3 IPP= 3
"private" ( 011001)  DSCP Decimal = 25  CS=3 IPP= 3
AF31 ( 011010)  DSCP Decimal = 26  CS=3 IPP= 3
"private" ( 011011)  DSCP Decimal = 27  CS=3 IPP= 3
AF32, ( 011100) DSCP Decimal = 28  CS=3 IPP= 3
"private" ( 011101) DSCP Decimal = 29  CS=3 IPP= 3
AF33, ( 011110) DSCP Decimal = 30  CS=3 IPP= 3
"private" ( 011111) DSCP Decimal = 31  CS=3 IPP= 3

"private" means they haven't been defined as part of the AF model, just as DSCP Decimal 1..7 have not been either.

 

Hello Joseph

Cheers, didnt see your first comment on this, much appreciated.

res

Paul


Please rate and mark as an accepted solution if you have found any of the information provided useful.
This then could assist others on these forums to find a valuable answer and broadens the community’s global network.

Kind Regards
Paul

You're most welcome.

Disclaimer

The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.

Liability Disclaimer

In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.

Posting

"What are the reasons we would use CS for some traffic and AF for others?"

The AF model provides relative drop precedence between AF markings.  CS, does not (you might consider CS like BE for its AF class drops, and relative to its class AFs, it often seems to be used for even a lower drop precedence than AFx1, but I don't recall whether that is specified in the RFC).  CS is also used for traffic, when there's no corresponding AF markings, for example, your CS5 (yea there's also EF, but that's not part of the AF model).

"Is this due to the way congestion avoidance mechanisms work and drop traffic?"

Yes and no.  How QoS congestion avoidance works is up to you.  How to mark is up to you.  There are RFC recommendations for both, and additional RFC (and Cisco [which differ a bit from the RFC]) recommendations for how to use certain markings for specific traffic types.

Review Cisco Networking for a $25 gift card