dscp value

Answered Question
Apr 23rd, 2009
User Badges:

Hi,


Two sites A & B have qos configuration specially for voice.Configurations have been attached.Both are attached as outbound on wan interfaces.

1)the markings of ef,cs5 & cs3,af31- are they different from each other.Like is ef different from Cs5?

2)does the existing configuration mean that any other traffic apart from these two would be treated in default queue on the available bandwidth?

3)I understand that dscp values are markings for the packets to be treated on each hop accordingly.That means even if a normal class of traffic is put to ef5, it will be given preference?

4)how does the device know that ef5 belongs to voice ? cant it be anything else?

5) i need to include another sensitive class of traffic in here.Would it be better to include dscp markings to tag and treat it or would acl's on both sides for that traffic be better?

if dscp , pls suggest a sample configuration.

What does fair queue server as.


Thanks.



Attachment: 
Correct Answer by Joseph W. Doherty about 8 years 1 month ago

You can use a bandwidth statement, like other non-LLQ classes. This defines a single queue for all class-default traffic.


Personally, I like FQ very much, and again, the issue I see might not arise at all for your traffic. However, if you really, really need to insure some applications get a bandwidth guarantee, it's something to be aware of.

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 4.6 (5 ratings)
Loading.
Collin Clark Thu, 04/23/2009 - 07:25
User Badges:
  • Purple, 4500 points or more

1) Yes each one (marking) is different.

2) Any traffic that is not marked is put into the best-effort queue. Typically most ISPs also take unknown (markings they don't support) and remark it to 0 (best effort).

3) Per Hope Behavior, correct. If something like HTTP traffic got marked as EF, it would get priority. This is obviously a misconfiguration somewhere.

4) It knows it's voice because the phone sets the DSCP value for it packets. You can mark it to something else if you like (but you shouldn't).

5) I would use ACL's, it's more restrictive and prevents a user from setting their own QoS and getting priority (highly unlikely, but why give them the chance)?


Hope that helps.

Joseph W. Doherty Thu, 04/23/2009 - 16:33
User Badges:
  • Super Bronze, 10000 points or more

1) Markings themselves are different, whether the traffic is different is unknown by examination of the markings alone.


2) Traffic that doesn't fall into one your your two explictly defined classes would be placed into the default class (which may, or may not, be one queue on many platforms).


3) Treatment of DSCP EF or CS5 depends on the QoS implementation per hop. When treating based on DSCP, hop doesn't care whether traffic is "normal". Also, hop can ignore any or all DSCP tags.


4) It doesn't unless it examines the packet beyond the DSCP tag. (Which negates the main reason for having the tag, i.e. to preclude deeper packet inspection.)


5) Treating based on DSCP tag alone is more efficient. With regard to a sample, depends on what resources your new "sensitive" class of traffic requires.


"What does fair queue server as. "


It's a method to share bandwidth across multiple flows. It generally works very well.


PS:

BTW, this looks wrong . . .


Site B:


class-map match-any rtp

match ip dscp ef

match ip dscp cs5

class-map match-any voip

match ip dscp cs3

match ip dscp af31

!

!

policy-map prior

class trust

priority 512

class voip

bandwidth percent 10

class class-default

fair-queue


PPS:

BTW, I believe using class-default FQ on many platforms can disrupt non-LLQ class bandwidth guarantees.

suthomas1 Fri, 04/24/2009 - 07:05
User Badges:

Thanks.Apologies,Site B class name mismatch is my typo error.

As i understood from the post, the recognition of dscp ef5/cs5 is facilitated by phone marking the dscp value, otherwise if there has to be manual marking, is that correct?

What purpose does having both ef5 & cs5 ; af31 & cs3 server, wouldnt one of them for each class like ef5 or af31 be enough?

The new traffic class is quite sensitive and needs atleast 384-512 kbps for smooth operation.Below is the config

that am planning to add on for the new

class, please see if this would work with current setup.

______________

class-map match-any video

match ip dscp af21

OR

class-map match-any video

match access-list 175


policy-map prior

class rtp

priority 512

class voip

bandwidth percent 10

class video

priority 512

class class-default

fair-queue


acl 175 permit ip 192.168.100.3 any eq "port"

acl 175 permit ip any 192.168.100.3 eq "port".


Would dscp af21( or anyother suitable tag) be better or using acl's be more useful?

Should i use priority for this new class or would any other useful thing.

Please suggest.


Thanks.




Joseph W. Doherty Fri, 04/24/2009 - 08:36
User Badges:
  • Super Bronze, 10000 points or more

"As i understood from the post, the recognition of dscp ef5/cs5 is facilitated by phone marking the dscp value, otherwise if there has to be manual marking, is that correct? "


The purpose of ToS marking is to make it easy for downstream devices to (optionally) QoS process a packet based on the marking w/o the need for additional packet inspection. This being so, the general rule to to mark as close to the source as possible. A phone marking its VoIP traffic is as close to the source as possible. (The counter issue is "trust", i.e. since additional packet analysis can be precluded by looking at a ToS marking, is the marking legitmate?)


"What purpose does having both ef5 & cs5 ; af31 & cs3 server, wouldnt one of them for each class like ef5 or af31 be enough? "


Within your policies, there is no distinction, but having different markings would allow the traffic to be treated differently in the future.


"Would dscp af21( or anyother suitable tag) be better or using acl's be more useful? "


Using the DSCP tag would be more efficient (less packet content inspection). Using the ACL would be more secure. (BTW, they both can be used.)


"Should i use priority for this new class or would any other useful thing."


Depends on the "type" of video. If the video is real-time, e.g. video conferencing, it might merit a LLQ class. If the video is streaming, insuring it has a guarantee of bandwidth is usually sufficient. (Streaming video might also work fine in the class-default FQ.)


PS:

If you do place the video traffic in LLQ, you could also use one class defined with "priority 1024". Depends whether you really need to police VoIP and video rates separately.


Also, if you place the video into a non-LLQ class, don't forget my warning about also using FQ within class-default.

suthomas1 Sat, 04/25/2009 - 04:04
User Badges:

Yes, the video is real time.What issue would using FQ with class-default have & if am correct..the given configuration uses FQ only for the remaining unclassified traffic?

Thanks.

Joseph W. Doherty Sat, 04/25/2009 - 04:21
User Badges:
  • Super Bronze, 10000 points or more

On many platforms/IOSs, class-default using FQ can spawn multiple flows. Each contends for bandwidth.


The way CBWFQ works for defined non-LLQ classes, it assigns a single queue for all flows in that class and gives it a "weight".


As more and more FQ flows activate, each with their own weight, I'm unsure CBWFQ will maintain the bandwidth guarantees for defined non-LLQ classes.


The simple fix is to not use FQ in class-default. The latest IOSs using HQF, I believe, have fixed this issue.


In practice, your actual traffic might be such this is never a problem.


Also, this isn't an issue for LLQ traffic.

suthomas1 Sat, 04/25/2009 - 04:26
User Badges:

Any suggestions, what can be used instead of FQ in default class.

Thanks.

Correct Answer
Joseph W. Doherty Sat, 04/25/2009 - 04:48
User Badges:
  • Super Bronze, 10000 points or more

You can use a bandwidth statement, like other non-LLQ classes. This defines a single queue for all class-default traffic.


Personally, I like FQ very much, and again, the issue I see might not arise at all for your traffic. However, if you really, really need to insure some applications get a bandwidth guarantee, it's something to be aware of.

suthomas1 Sun, 04/26/2009 - 03:22
User Badges:

Would using priority statement for both voice & video classes have any problems..sort of conflict?

Or would it be better to use bandwidth "kbps" instead of priority for new class, although if my understanding is correct, bandwidth statement will only guarantee minimum b/w during congestion to the flow & not allocate priority to the flow.

Priority on the other hand would be more of policing the upper limit on the class , so that they dont exceed their limit during congestion affecting others.But does priority really allow guarantee?

Thanks.

Joseph W. Doherty Sun, 04/26/2009 - 03:48
User Badges:
  • Super Bronze, 10000 points or more

The primary purpose of priority class(es) isn't to police traffic but to place such traffic into a priority queue. Any packets in this queue are dequeued before all other traffic. The implicit policer is only there to insure traffic in this class doesn't use more bandwidth than expected. (I.e. you shouldn't normally see LLQ policer drops.)


"Would using priority statement for both voice & video classes have any problems..sort of conflict? "


It depends on bandwidth. Video often is more bursty and/or bigger packets than VoIP, which can cause issues to VoIP.


For any real-time, time sensitive traffic, e.g. VoIP, video conferencing, generally LLQ is what you want to use, except where mixing video with VoIP will adversely impact it. In this case, real-time video could be placed into a non-LLQ class with a much larger (2x to 3x) bandwidth allocation than it requires for its average utilization. The additional bandwidth allocation will increase the class's weight which will minimize any queuing delays during traffic bursts. Other non-real-time traffic will still obtain bandwidth not used by the "average" bandwidth of the video stream.


"But does priority really allow guarantee? "


For the most part, yes. Again, because any priority (LLQ) packets go first.

Actions

This Discussion