Cisco Support Community
Community Member

QoS - at which layer does it work?

I'm not sure at which layer QoS mechanisms work. I mean, if you configure various QoS bandwitdh parameters like bandwidth in CBWFQ, priority in LLQ or shaping and policing bandwidth values, to data flow at which layer does it apply? It seems that values displayed by show policy-map interface take into account L2 frame, at least in case of Ethernet. For HDLC only 4 bytes over IP packet are being counted. I'm not sure whether this should be treated as an indicator for the answer to my question, however.


Re: QoS - at which layer does it work?

I'm sure there are other thoughts on this, but I believe that it could go as high as L7 with the use of nbar. Without nbar, you can match on protocol/port, so that would be L4.

But, I guess the bigger question is, for my own curiosity, does QoS really run at a layer at all since the classification mechanism is really done with either acls or nbar?


*** Please rate all useful posts ***

HTH, John *** Please rate all useful posts ***
Hall of Fame Super Blue

Re: QoS - at which layer does it work?

Personally i see QOS as a toolset that depending on which tool is being used can work at different layers of the TCP/IP stack.

As John says, classification can be L2, L3, L4 up to the application layer with NBAR. Marking is generally done using L2 (CoS) or L3 (IPPrec/DSCP) etc..

So i don't think QOS itself can be tied down to any specific layer in terms of where it operates.


Community Member

Re: QoS - at which layer does it work?

Sorry, I haven't made myself clear enough. Yes, that's all true what you wrote guys. My question relates only to the way how the bps values are counted in IOS. For a given data flow bps values are different at different TCP/IP stack layers due to the protocols headers build-up towards down of the stack. For example let's take the situation when I configure police 64000 8000 command under policy-map. Policing counts bytes, but which ones? Only IP packet or with L2 header?

CreatePlease to create content