I have a question for the QOS gurus out there.
We are having some problems with packet loss for our
smaller MPLS locations. This packet loss is due to the large speed
differential on our Hub site(150mb/s) in comparison the the branch office
locations(single T-1 to 4.5mb/s multilinks). This packet loss only seems
to impact really bursty applications like our Web Proxy. I have been
around and around with WindStream to give me some extra buffer or enable
random early detection on the smaller interfaces in my MPLS network. So
far they are unwilling to do a custom policy and none of their standard
policies have enough buffer to handle the bursts. They do FIFO tail drop
in every queue, so I can’t even choose a policy that has WRED implemented.
I am looking for a way to solve the problem on my side. I
can create a shaper for the proxy and match off an access-list to the
smaller sites, but I am either forced to do bandwidth reservations for each
site, or have multiple sites share the same shaper. Here is an example of
what I was playing around with:
ip access-list extended ProxyT1Sites
permit tcp any host 10.x.x.x 10.x.x.x 0.0.0.255
permit tcp any host 10.x.x.x 10.x.x.x 0.0.0.255
class-map match-any ProxyShaperT1
match access-group name ProxyT1Sites
policy-map WindStream
class VOICE
priority percent 25
set dscp ef
class AF41
bandwidth percent 40
set dscp af41
queue-limit 1024 packets
class ProxyShaperT1
shape average 1536
bandwidth percent 1
set dscp af21
queue-limit 1024 packets
class class-default
fair-queue
set dscp af21
queue-limit 1024 packets
Another Idea I had was to create a bunch of shaper classes all feeding the
same child policy for priority queuing and bandwidth reservations based on
DSCP markings. I’m just not exactly sure that this is allowed or
supported. I also would run out of bandwidth allocation on the policy if I
use the true bandwidth number of 150mb/s. It is on a Gig port so I could
just take the bandwidth statement off of the interface to give myself
enough room for all of the shaper allocations.
Something like this(I am omitting the access-list that matches the branch
subnet and class map for brevity):
policy-map PerSiteShaper
class FtSmith
shape average 1536
bandwidth 1536
service policy Scheduler
class Dallas
shape average 4500
bandwidth 4500
service policy Scheduler
class NYC
shape average 100000
bandwidth 100000
service policy Scheduler
class-default
service-policy Scheduler
policy-map Scheduler
class VOICE
priority percent 25
set dscp ef
class AF41
bandwidth percent 40
set dscp af41
queue-limit 1024 packets
class class-default
fair-queue
set dscp af21
queue-limit 1024 packets
Just looking for some ideas that do not involve building tunnels to our
remote offices. Thanks in advance,
*Wes Tribble*