Loop-Free Alternate (LFA) в OSPF
Для быстрого переключения с основного маршрута на резервный в протоколе OSPF используется технология LFA (Loop-Free Alternate).
При включении данной опции создаётся новая таблица с резервными, надёжными маршрутами для быстрого переключения маршрутов (fast-reroute). Под надёжностью маршрута здесь понимается защищённость его от петель.
Если маршрутизатор детектирует падение локального линка, по которому строился основной маршрут, то в FIB моментально отправляется заранее выбранный резервный маршрут.
Пересчёт дерева по алгоритму SPF осуществляется независимо от переключения на резервный маршрут и может происходить как во время переключений, так и после.
Для того чтобы резервный маршрут был добавлен в таблицу быстрого переключения маршрутов, необходимо и достаточно выполнения следующего условия:
D(N,D) < D(N,S) + D(S,D) где: D(x,y) — расстояние между x и y, выраженное в ospf-метрике; N — соседний маршрутизатор, через который ищется резервный путь; D — маршрут назначения; S — источник.
Резервный маршрут может быть только один. Когда на роль резервного маршрута есть несколько претендентов, то работают следующие правила:
- Выигрывает маршрут с наименьшей метрикой.
- Если метрики равны, то выбирается маршрут с наименьшим адресом соседнего маршрутизатора.
Изменить эти правила нельзя.
Если в основной таблице маршрутизации RIB находятся два активных маршрута, т.е. работает ECMP, то таблица для маршрутов быстрого переключения будет пуста.
Резервный маршрут рассчитывается для каждого основного маршрута отдельно (per-prefix LFA). В случае для ECMP альтернативным для каждого основного маршрута будет второй активный маршрут. Поскольку эти маршруты и так находятся в основной таблице маршрутизации, то нет необходимости их помещать в таблицу для быстрого переключения маршрутов.
Для включения данной технологии используется команда fast-reroute keep-all-paths
в режиме конфигурации протокола OSPF.
Для отключения технологии на конкретных интерфейсах используется команда ip ospf fast-reroute per-prefix candidate disable
.
Просмотреть потенциальные резервные маршруты можно с помощью команды show ip route fast-reroute
. Вывод данной команды аналогичен формату вывода команды show ip route
.
Данный функционал доступен также при работе в VRF. Команда для просмотра — show ip route vrf <NAME> fast-reroute
, где NAME — имя VRF.