Question

How to configure loss based path selection?


Solution

Consider these when you are configuring a path selection policy based on packet loss thresholds: 

  • Which forwarding classes should SLA monitoring be configured for? 

Refer this Versa article for a general explanation on how forwarding classes are used in path selection.


Traffic that transits a Versa appliance belongs to one of the 16 forwarding classes, as specified in the QoS policy (or it defaults to fc_be if there is no QoS policy). Each forwarding class maps to one of the 4 traffic classes. Since there are 16 forwarding classes and only 4 traffic classes, multiple forwarding classes map to one traffic class. The mapping is configurable, but defaults to the following:

FC_NC ... FC_3 -> TC0
FC_EF ... FC_7 -> TC1
FC_AF ... FC_11 -> TC2
FC_BE ... FC15 -> TC3


Packet loss is measured by counting packets sent/received on a per traffic class basis, not per forwarding class. 

For example, loss of traffic that is using FC_BE or FC_12 would be counted using TC3


NOTE: To correctly use the packet loss measurement and other SLA metrics being performed on a per traffic class basis,    ensure that SLA monitoring is configured on only one forwarding class from among all forwarding classes that map to one traffic class. 


Example

Using QoS policy, 

  • RTP traffic is mapped to FC_EF.
    • SIP traffic is mapped to FC_6.
    • HTTP and FTP are mapped to FC_9.
    • Everything else is mapped to FC_BE.

The user wants to configure path selection per the following: 

  • For RTP and SIP traffic, set the loss threshold to 2%.
    • For HTTP and FTP traffic, set the loss threshold to 5%.
    • For all other traffic, path selection is not being done based on packet loss

Therefore, the following is done:

  • [SIP, RTP] Since FC_EF and FC_6 both map to TC1, configure SLA monitoring for any one (only one) forwarding class that maps to TC1 (FC_EF ... FC_7). For example, FC_EF
    • [HTTP, FTP]—Since FC_9 maps to TC2, configure SLA monitoring for any of FC_AF ... FC_1. For example, FC_9.
    • [Everything else]: Configure SLA monitoring for FC_BE


  • What should be the SLA monitoring frequency and forwarding profile recompute interval?

To reliably steer traffic based on loss thresholds, the loss measurement itself must be accurate. In band loss, measurement relies on counting the number of packets sent per traffic class from site A to site B, and the number of packets received by site B from site A. If there is a lot of transit traffic, this measurement is highly accurate.


However, if there is no transit traffic, then the only traffic between site A and site B is the SLA PDUs. 


Consider what would happen if the SLA monitoring interval is 2 seconds, and the forwarding profile recompute interval is 10 seconds. In 10 seconds, there are only 5 SLA PDUs transmitted. If a single PDU is lost, it will look like a loss of 1/5, or 20%. 


Clearly, if the actual loss rate in the network is very low, the calculated loss is highly inaccurate. This becomes a problem when traffic moves from a non-compliant path P1 to a compliant path P2. On P1, now there would be only SLA PDUs.


To overcome this problem, configure a combination of SLA monitoring interval and recompute interval that will result in a reasonably accurate loss measurement even in the absence of transit traffic. For example, configuring an SLA monitoring interval of 1 second and a recompute interval of 30 seconds improves things considerably. Versa Networks recommends this configuration


NOTE: From 16.1R2 onwards, SLA monitoring can be made sub-second. For example, the SLA monitoring interval can be configured to be as small as 100 ms. This increases the loss measurement accuracy and should be used after considering the implications. One implication is that using such a high probing frequency could result in a lot of probe traffic in the network.