Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных


Loop-Free Alternate (LFA) - это механизм, который заранее просчитывает резервный маршрут и выставляет данный маршрут в таблице маршрутизации.

Таким образом, в случае сбоя основного пути, маршрутизатор быстро переключится на резервный путь.


LFA можно настроить на следующих IGP протоколах: ISIS и OSPF. Используемый тип сети: Point-to-Point.


Рассмотрим пример настройки LFA.

В качестве примера будем использовать схему, изображенную на рисунке 1. Протокол динамической маршрутизации ISIS.

Рисунок 1 — Схема включения


Приведу пример настройки LFA на маршрутизаторе R2, аналогичные настройки выполняются на остальных маршрутизаторах.

Маршрутизатор R2:

router isis 1
  address-family ipv4 unicast
    lfa include-all <============== Включение LFA на всех интерфейсах.
  exit
  advertise-passive-only <========= Для уменьшения записей в таблице маршрутизации, анонсируем только пассивные интерфейсы.
  interface bundle-ether 1
    address-family ipv4 unicast
      bfd fast-detect
    exit
    level level-2
      lsp-interval 5
      retransmit-interval 1
    exit
    point-to-point 
  exit
  interface loopback 1
    address-family ipv4 unicast
    exit
    passive
  exit
  interface tengigabitethernet 0/0/7
    address-family ipv4 unicast
      bfd fast-detect
    exit
    level level-2
      lsp-interval 5
      retransmit-interval 1
    exit
    point-to-point
  exit
  interface tengigabitethernet 0/0/9
    address-family ipv4 unicast
      bfd fast-detect
    exit
    level level-2
      lsp-interval 5
      retransmit-interval 1
    exit
    point-to-point
  exit
  host-name R2
  is-level level-2
  level level-2
    lsp min-refresh-interval 200
    metric-style wide
  exit
  microloop-avoidance rib-update-delay 140
  net 49.0001.0100.0000.1013.00
  spf interval maximum-wait 80
exit


После настройки всех маршрутизаторов, таблица маршрутизации на R2 выглядит следующим образом:

0/ME5100:R2# show  route
Thu Apr 20 16:48:10 2023
  Codes: C - connected, S - static, O - OSPF, B - BGP, L - local
      IA - OSPF inter area, EA - OSPF intra area
      N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
      E1 - OSPF external type 1, E2 - OSPF external type 2
      i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2,
      LE1 - IS-IS level1 external, LE2 - IS-IS level2 external
      BI - BGP internal, BE - BGP external, BV - BGP vpn,
      BL - BGP labeled, R - RIP
  
  
  C      10.0.0.20/31     is directly connected, 02d04h49m, te0/0/7
  L      10.0.0.21/32     is directly connected, 02d04h49m, te0/0/7
  C      10.0.0.24/31     is directly connected, 02d04h49m, te0/0/9
  L      10.0.0.25/32     is directly connected, 02d04h49m, te0/0/9
  i L2   10.0.0.28/31    via 10.0.0.20 (backup local-lfa, address: 10.0.0.24) [116/4010], 02d04h47m, te0/0/7 < === Защищенный маршрут.
         10.0.0.28/31    via 10.0.0.24 [0/4020], 02h15m16s, te0/0/9
  C      10.0.0.30/31     is directly connected, 02d04h49m, bu1
  L      10.0.0.31/32     is directly connected, 02d04h49m, bu1
         10.0.1.1/32    via 10.0.0.20 [0/20], 02h15m16s, te0/0/7
  i L2   10.0.1.1/32    via 10.0.0.24 (backup local-lfa, address: 10.0.0.20) [116/10], 02d04h49m, te0/0/9 < === Защищенный маршрут.
  i L2   10.0.1.2/32    via 10.0.0.20 (backup local-lfa, address: 10.0.0.24) [116/10], 02d04h49m, te0/0/7 < === Защищенный маршрут.
         10.0.1.2/32    via 10.0.0.24 [0/20], 02h15m16s, te0/0/9
         10.0.1.12/32    via 10.0.0.24 [0/20], 02h15m16s, te0/0/9
  i L2   10.0.1.12/32    via 10.0.0.30 (backup local-lfa, address: 10.0.0.24) [116/10], 02d04h49m, bu1 < === Защищенный маршрут.
  L      10.0.1.13/32     is directly connected, 02d04h49m, lo1
  i L2   10.0.1.14/32    via 10.0.0.20 (backup local-lfa, address: 10.0.0.24) [116/2020], 02d04h47m, te0/0/7 < === Защищенный маршрут.
         10.0.1.14/32    via 10.0.0.24 [0/2030], 02h15m16s, te0/0/9
  
  Total entries: 17


При просмотре маршрута, например до 10.0.1.2/32, можно увидеть информацию о наличии защиты:

0/ME5100:R2# show  route 10.0.1.2
Thu Apr 20 17:03:31 2023
  Routing entry for 10.0.1.2/32
    Last update: 02d05h04m
    Routing Descriptor Blocks
      10.0.0.20, via te0/0/7
      Known via isis, distance 116, metric 10
        type isis-level2-internal, protection local-lfa, route-type remote
        LFA nexthop 10.0.0.24, te0/0/9 <================= Резервный маршрут.
  
  Entries: 1
  
0/ME5100:R2# 


Также можно посмотреть информацию, связанную с ISIS LFA FRR, например до 10.0.1.2/32:

0/ME5100:R2# show  isis fast-reroute ipv4 10.0.1.2/32 
Thu Apr 20 17:05:13 2023
  IS-IS Router 1
    The destination Internet address prefix: 10.0.1.2/32
      Reason: best-candidate, providing-protection is true, primary-excluded is false, candidate-excluded is false, loop-free is true, overloaded is false, primary is false, remote-lfa is false, node-protecting is false
      The router ID of the next hop router on this path: 0100.0000.1001, metric 20
      Primary next hop:
          router address: 10.0.0.20
          local network interface: Tengigabitethernet0/0/7
      Candidate:
          LFA router address: 10.0.0.24
          local network interface: Tengigabitethernet0/0/9
      Attached:
          router ID: 
          local network interface: 
      
    The destination Internet address prefix: 10.0.1.2/32
      Reason: tie-router-id, providing-protection is false, primary-excluded is false, candidate-excluded is false, loop-free is true, overloaded is false, primary is false, remote-lfa is false, node-protecting is false
      The router ID of the next hop router on this path: 0100.0000.1012, metric 20
      Primary next hop:
          router address: 10.0.0.20
          local network interface: Tengigabitethernet0/0/7
      Candidate:
          LFA router address: 10.0.0.30
          local network interface: Bundle-ether1
      Attached:
          router ID: 
          local network interface:


В выводе данной команды мы можем увидеть, что LFA также заранее просчитал резерв через линк Bundle-ether1. В связи с этим, если возникнут проблемы с линком Ten0/0/9 или Ten0/0/7, то у нас есть ещё один резервный линк.


Рассмотрим фильтрацию маршрутов, для которых не требуется организация резервного пути.

Используя приведенную конфигурацию выше, запретим построения резервного маршрута до 10.0.1.2/32.

Настраиваем фильтр:


router isis 1
  address-family ipv4 unicast
    lfa filter TEST
      address-prefix 10.0.1.2/32
      disable
    exit
    lfa include-all


В результате до данного маршрута резервный путь не строится:

0/ME5100:MPLS_RT11_R13# show  route
Thu Apr 20 14:24:52 2023
  Codes: C - connected, S - static, O - OSPF, B - BGP, L - local
      IA - OSPF inter area, EA - OSPF intra area
      N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
      E1 - OSPF external type 1, E2 - OSPF external type 2
      i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2,
      LE1 - IS-IS level1 external, LE2 - IS-IS level2 external
      BI - BGP internal, BE - BGP external, BV - BGP vpn,
      BL - BGP labeled, R - RIP
  
  
  C      10.0.0.20/31     is directly connected, 02d02h26m, te0/0/7
  L      10.0.0.21/32     is directly connected, 02d02h26m, te0/0/7
  C      10.0.0.24/31     is directly connected, 02d02h26m, te0/0/9
  L      10.0.0.25/32     is directly connected, 02d02h26m, te0/0/9
  i L2   10.0.0.28/31    via 10.0.0.20 (backup local-lfa, address: 10.0.0.24) [116/4010], 02d02h23m, te0/0/7
         10.0.0.28/31    via 10.0.0.24 [0/4020], 00h00m21s, te0/0/9
  C      10.0.0.30/31     is directly connected, 02d02h26m, bu1
  L      10.0.0.31/32     is directly connected, 02d02h26m, bu1
         10.0.1.1/32    via 10.0.0.20 [0/20], 00h00m21s, te0/0/7
  i L2   10.0.1.1/32    via 10.0.0.24 (backup local-lfa, address: 10.0.0.20) [116/10], 02d02h25m, te0/0/9
  i L2   10.0.1.2/32    via 10.0.0.20 [116/10], 02d02h25m, te0/0/7
         10.0.1.12/32    via 10.0.0.24 [0/20], 00h00m21s, te0/0/9
  i L2   10.0.1.12/32    via 10.0.0.30 (backup local-lfa, address: 10.0.0.24) [116/10], 02d02h25m, bu1
  L      10.0.1.13/32     is directly connected, 02d02h26m, lo1
  i L2   10.0.1.14/32    via 10.0.0.20 (backup local-lfa, address: 10.0.0.24) [116/2020], 02d02h23m, te0/0/7
         10.0.1.14/32    via 10.0.0.24 [0/2030], 00h00m21s, te0/0/9


Отметим, что также можно включить LFA на отдельных интерфейсах:

router isis 1
  address-family ipv4 unicast
    lfa <============== Активация механизма LFA
  exit
  interface tengigabitethernet 0/0/7
    address-family ipv4 unicast
    exit
    point-to-point
    lfa <==============
  exit
  interface tengigabitethernet 0/0/9
    address-family ipv4 unicast
    exit
    point-to-point
  exit
  host-name R2
  is-level level-2
  level level-2
    metric-style wide
  exit
  net 49.0001.0100.0000.1013.00
exit


Приведем пример включения LFA в протоколе OSPF:

router ospfv2 test
  lfa include-all <============== Включение LFA на всех интерфейсах.
exit


Включение LFA на отдельных интерфейсах:

router ospfv2 1
  area 0.0.0.0
    interface loopback 1
      passive
    exit
    interface tengigabitethernet 0/0/1
      bfd fast-detect
      network point-to-point
      lfa <============== 
    exit
    interface tengigabitethernet 0/0/2
      bfd fast-detect
      network point-to-point
    exit
  lfa <============== Активация механизма LFA
  router-id 10.0.0.15
exit


Ранее был приведен пример настройки LFA в ISIS, где также были указаны таймеры.

Данные таймеры являются рекомендуемыми, что также позволяют достичь быстрой сходимости сети.

Пояснения к таймерам:

 router isis X
  interface tengigabitethernet Y
    level Z
      lsp-interval 5 <==============  Задает задержку между успешными передачами ISIS Link-state Packets (LSP) (ms)
      retransmit-interval 1 <============== Интервал пересылок Link-state Packet (LSP) (sec)
    exit
  exit
  level Z 
    lsp min-refresh-interval 200 <============== Интервал обновления Link-state Packet (LSP) (ms)
  exit
  microloop-avoidance rib-update-delay 140 <========= Задержка обновления таблицы маршрутизации при перестроении топологии 
											    	  для избежания образования петель (ms)
  spf interval maximum-wait 80 <======== Таймер между двумя последовательными пересчетами алгоритма Shortest Path First (ms)
exit


Данные таймеры необходимо одинаково настраивать на всех устройствах сети, чтобы избежать появления микропетель.


  • Нет меток