Механизм выбора DF

Механизм выбора DF позволяет выбрать разный DF для разных вланов, тем самым можно, например, добиться балансировки трафика между различными bridge-доменами — трафик разных вланов будет идти по разным линкам в сторону CE маршрутизатора внутри одного EVPN-instance.

Маршрутизатор отправляет анонс маршрута типа 4 с указанием ESI и соответствующим комьюнити и запускает таймер выбора DF. По умолчанию данный таймер установлен в 3 секунды. Его можно изменить, но он должен быть одинаков на всех PE маршрутизаторах сегмента — иначе алгоритм может отработать некорректно.

По истечению таймера все PE маршрутизаторы, участвующие в выборе DF, составляют полный список всех PE маршрутизаторов сегмента начиная с самого маленького адреса. Каждому из PE маршрутизаторов в списке присваивается номер (i), начиная с нуля.

После этого высчитывается номер DF по формуле V mod N = i, где V — номер влана, а N количество PE маршрутизаторов в сегменте. Тот PE маршрутизатор, номер которого будет результатом вычисления и становится DF данного сегмента в данном влане.

Попробуем высчитать DF для влана 777 если у нас будет только 2 PE маршрутизтора с адресами 62.0.0.1 и 62.0.0.2.

Оба PE маршрутизатора составят такой список

62.0.0.1 i=0
62.0.0.2 i=1

Так как влан у нас 777, то V=777, а N=2 (так как у нас всего два маршрутизатора в сегменте). Теперь считаем 777 mod 2 = 1. Значит DF у нас 62.0.0.2.

Теперь увеличим число PE маршрутизаторов в сегменте до 3 и еще раз посчитаем.

62.0.0.1 i=0
62.0.0.2 i=1
62.0.0.3 i=2

777 mod 3 = 0, значит DF 62.0.0.1.

bormoglotx@RZN-PE-2# run show evpn instance RZN-VPN-3 extensive | match "vlan|forward"
    VLAN ID: 777
      Designated forwarder: 62.0.0.2
      Backup forwarder: 62.0.0.1

Теперь поменяем номер влана на 778 и посмотрим, изменится ли DF:

bormoglotx@RZN-PE-2# run show evpn instance RZN-VPN-3 extensive | match "vlan|forward"
    VLAN ID: 778
      Designated forwarder: 62.0.0.1
      Backup forwarder: 62.0.0.2

Как видите механизм работает.

Last updated