I hope you can help me with this question because I've not been able to find a solution yet.
This is the situation: my private network 192.168.1.0/24 connects to Internet through a Cisco 2651XM router with a DSL connection providing 10000 Kbps download and 256 Kbps upload. I want to implement a QoS policy on the router so that HTTP traffic from this network gets precedence over HTTP traffic coming from a single host located at 192.168.2.1. I want to use CBWFQ for this.
Let's suppose I configure the class-maps and policy-maps this way:
class-map match-all HTTP1
match access-group 150
class-map match-all HTTP2
match access-group 160
bandwidth percent 50
bandwidth percent 25
access-list 150 permit tcp 192.168.1.0 0.0.0.255 any eq 80
access-list 160 permit tcp host 192.168.2.1 any eq 80
and then apply the Map policy-map to the outside interface using the "service-policy outside Map" interface command.
Now, I know that with this configuration HTTP traffic from 192.168.1.0/24 is guaranteed minimum 50% of the interface bandwidth and HTTP traffic from 192.168.2.1 is guaranteed minimum 25% but both can increase their own bandwidth usage if the other map isn't using the one reserved for itself.
My question is: suppose that host at 192.168.1.1 and 192.168.1.2 start sending HTTP requests. Are these two flows (which belong to the same class) managed using a FIFO policy inside the same class or are they managed differently? In other words, with the configuration above, what happens if host at 192.168.1.1 starts consuming the whole bandwidth reserved to the HTTP1 class (half of the interface bandwidth) and 192.168.1.2 wants to connect too? Will the router decrease bandwidth assigned to 192.168.1.1 to assign a portion of it to 192.168.1.2 (WFQ behaviour) or will 192.168.1.1 continue to consume the whole bandwidth (FIFO behaviour) thus starving 192.168.1.2? If so, what commands do I have to issue in order to manage different flows inside the same class using a WFQ policy?
Thanks very much for your help.