On 05/13/2014 05:54 PM, Tony wrote:
Hi Mike,

In a nutshell:

* create qos policies on your aggregation router (7200/ASR). These should be a standard parent/child policy with the parent to shape the traffic and then whatever queueing you want in the child. * add entries in radius to apply qos policy to subscriber virtual-interface when they connect

An example of the radius attribute returned:

Cisco-AVPair = "ip:sub-qos-policy-out=qos-dsl-8m"

which would reference the QoS policy defined on the router of "policy-map qos-dsl-8m".

The big problem you will have is knowing what speed to shape each individual DSL session to (ie. the downstream sync speed). There are some ways that this can be presented to you from the DSL carrier, but it's probably best to assume that you won't get this information (although lucky for you if it is presented to you). For QoS to be of ANY benefit you need to shape the traffic to LESS than the sync speed. This leaves you with a couple of options to achieve this outcome:

1. shape all to a uniform speed that you know will be achieved by all connections 2. shape to some speed you determine to be reasonable (but likely less) that the sync based on distance calculations 3. wait until service is up and check sync speed and apply the nearest speed shaper

We only do QoS for DSL services in limited numbers and so we use the third option. It would be manually intensive for any large number of services but is manageable for us. We also provide managed CPE (Cisco 800's) and so are able to determine the sync speed easily (and monitor it via SNMP should we choose to).

The problem is always shaping to something that is BELOW the sync speed so that your QoS functions, but not TOO much below so that you are robbing the users of performance. An extreme example would be that you could shape all sessions to 1mbps, but then if someone achieved a sync speed of 20mbps, you'd be wasting the extra 19mbps that might be available to that user.

Without looking I think we have QoS policies for DSL of something like 512k, 1500k, 2m, 4m, 6m, 8m, 10m, 16m, 20m. There might be a couple more between 10 & 20m, but you get the idea. Make sure you allow for your overhead as well, sync speed != QoS shaper (PPPoE/PPPoA, etc).

There is also the issue that sync speeds do change over time (usually downwards, rarely increasing), so we often choose to be conservative in case the speed of the service drops.

Good luck :)


Thank you for your response, this is very helpful.

In my environment I do have line sync information since it's my own dslams. Its provided via PPPoE Intermediate Agent, or DHCP Option 82 depending on type of subscriber (currently Im 100% pppoe but thats going to change).

Some ideas I had then would be to dynamically determine which class to put any given customer into. We have freeradius and a script that can execute for each authentication request and looks at the intermediate agent info and could decide which QoS policy to apply based on the customer actual data rates (which is an administratively configured value, not to be confused with 'attainable rate', which is based on loop length and quality). This would make things dynamic and likely worthwhile. The only fly in the ointment would be the case where, without retraining, the attainable rate drops by some significant margin below the previously-established actual rate, which would make the QoS ineffective. In that case however, it would be no worse than not having qos and I would argue that there likely would need to be some sort of service call anyways to restore service to normal anyways.

Mike-

_______________________________________________
cisco-nsp mailing list  [email protected]
https://puck.nether.net/mailman/listinfo/cisco-nsp
archive at http://puck.nether.net/pipermail/cisco-nsp/

Reply via email to