Thursday, February 20, 2020

OER Variance to solve Policy Conflicts

When you configure a policy for OER you can choose what metrics are most important to you (packet loss, delay, jitter, etc.). For example you can configure a policy that will choose an exit path based on the following criteria:
  1. Lowest Delay
  2. Lowest Jitter
  3. Lowest Packet Loss
Now imagine we have two exit paths with the following metrics:
  1. Exit A: Delay is 80ms, jitter is 5ms and packet loss is 2000ppm.
  2. Exit B: Delay is 90ms, jitter is 3ms and packet loss is 1500ppm.
If we select exit A based on the lowest delay only then we don’t make the best choice since the jitter and packet loss of exit A are worse than exit B. By using the variance we can ensure that other exit paths fall within the “acceptable” criteria for a certain metric. This allows us to choose an exit path based on more than one metric.
Now let’s say I configure a variance of 15% for delay. Exit path A has a delay of 80 ms. All exit paths that fall within 80 ms + 15% will be considered equal when it comes to delay. 80ms + 15% = 92 ms. The delay for exit B (90 ms) is lower than 92 ms so exit A and B are seen as “equal” when it comes to delay. This means we will have to look at the second metric (jitter).
Does this make sense? Let’s take a look at an actual policy with 3 exit paths:
  • Exit A: Delay 100 ms, jitter 5ms, packet loss 2000ppm.
  • Exit B: Delay 150 ms, jitter 6ms, packet loss 1900ppm.
  • Exit C: Delay 110 ms, jitter 3ms, packet loss 1900ppm.
MC#show run | sec oer-map
oer-map VARIANCE 10
 match traffic-class prefix-list MYPREFIXES
 set resolve delay priority 1 variance 20
 set resolve loss priority 2 variance 10
 set resolve jitter priority 3 variance 15
Let me describe the policy above:
  • Priority 1 is delay but we have a variance of 20%.
  • Priority 2 is loss with a variance of 10%.
  • Priority 3 is jitter with a variance of 15%.
Now which exit path are we going to use? Let me walk you through the process:
  1. First we take a look at the lowest delay, that is exit A. The variance however is 20%. 100 ms + 20% = 120 ms.
  2. Exit C is still in the race because 110 ms is lower than 120 ms. Exit B has a too high delay so it will not be used.
  3. The second priority is packet loss so we’ll compare exit A and B. Exit C has a packet loss of 1900 ppm (packet per million). There is a variance of 10% however. 1900 ppm + 10% = 2090 ppm. Exit A has a packet loss of 2000 which is lower than 2090 ppm so exit A is still in the race…
  4. We’ll have to compare the last metric which is jitter. Exit C has 3 ms jitter and exit A has 5 ms jitter. As a result we will select exit C as the most optimal exit path.
That’s how OER will select the most optimal path when using variance. I hope this has been helpful to you! If you have any questions just leave a comment.

No comments:

Post a Comment