В современных сетях связи для быстрого обнаружения проблем на канальном уровне широко применяется протокол BFD(Bidirectional Forwarding Detection)
В маршрутизаторах серии ME BFD поддерживается для определения неисправности на составных линках LAG, MC-LAG, статических маршрутов, а также протоколов RIP, OSPFv2, OSPFv3, ISIS, BGP, RSVP-TE.
Включение механизма BFD на агрегированном интерфейсе производится в конфигурации самого интерфейса:
interface bundle-ether 3 bfd address-family ipv4 fast-detect bfd address-family ipv4 local-address 1.2.3.4 bfd address-family ipv4 neighbor 1.2.3.5 exit
IP адреса назначаются произвольно и не участвуют в маршрутизации и в работе других протоколов.
Сводную информацию по BFD сессиям на агрегированных интерфейсах можно посмотреть командой
0/ME5200:R17-180# sh bfd bundle-ether Mon Jul 17 15:06:55 2023 Bundle-ether Interface State Session uptime ------------- ----------------------- ----------- --------------- bu3 te0/0/8 up 00h00m10s bu3 te0/0/32 up 05h02m19s
При указании конкретного интерфейса выдаётся подробная информация:
0/ME5200:R17-180# sh bfd bundle-ether 3 Mon Jul 17 15:16:09 2023 BFD Information for bundle-ether3: Status enabled Local IP 1.2.3.4 Neighbor IP 1.2.3.5 Multiplier 2 Tx interval 100 ms Rx interval 100 ms BFD information for aggregated interfaces: Interface: te0/0/8 Micro-BFD session status: up Session type: hardware Local discriminator: 2 Remote discriminator: 4 Sorce port: 49153 Destination port: 6784 Negotiated TX interval: 100 ms Negotiated RX interval: 100 ms Detection time: 200 ms Statistics: Create time: 00h09m25s Last up time: 00h09m24s Last down time: never Down count: 0 Interface: te0/0/32 Micro-BFD session status: up Session type: hardware Local discriminator: 3 Remote discriminator: 3 Sorce port: 49153 Destination port: 6784 Negotiated TX interval: 100 ms Negotiated RX interval: 100 ms Detection time: 200 ms Statistics: Create time: 05h11m36s Last up time: 05h11m35s Last down time: never Down count: 0
В приведённом примере показаны дефолтные значения множителя и интервалов tx и rx, которые могут быть изменены для каждого bundle-ether интерфейса.
Включение BFD для протоколов маршрутизации и для RSVP-TE показано на примере ниже.
router isis 1 interface tengigabitethernet 0/0/5.954 address-family ipv4 unicast bfd fast-detect exit exit spf interval maximum-wait 0 <============ команда необходима для быстрого схождения протокола при изменении статуса BFD сессии exit router ospfv2 1 area 0.0.0.0 interface tengigabitethernet 0/0/5.952 bfd fast-detect exit exit exit mpls rsvp interface tengigabitethernet 0/0/5.952 bfd fast-detect
Общую информацию по имеющимся BFD сессиям и из статусу можно получить командой
0/ME5100revX:R17-246# show bfd neighbors Wed Jul 19 14:39:59 2023 IPv4 Neighbor address Local address Discriminator State Code Protocols Session name ----------------- ---------------- -------------- ----------- ----------------------- ----------------------- ------------- 10.0.0.2 10.0.0.1 5 up no-diagnostic bgp 10.0.0.34 10.0.0.33 4097 up no-diagnostic rsvp ospf 10.0.0.42 10.0.0.41 4 up no-diagnostic rsvp ospf isis There are no BFD neighbors over IPv6
Подробную информацию по каждой сессии соответственно можно увидеть указав конкретного нейбора:
0/ME5100revX:R17-246# show bfd neighbors ipv4 10.0.0.42 Wed Jul 19 14:57:16 2023 Neighbor Address: 10.0.0.42 Local address: 10.0.0.41 Session state is up Diagnostic: no-diagnostic Interface: te0/0/5.954 Applied session profile: LocalDiscriminator: 1 RemoteDiscriminator: 4 Registered protocols: rsvp ospf isis <============ Протоколы, использующие в работе статус BFD сессии MinTxInt: 100 ms, MinRxInt: 100 ms, Multiplier: 3 Received MinTxInt: 10 ms, Received Multiplier: 4 Actual TxInt: 100 ms Actual Detection Interval: 400 ms Peer path is single-hop <============ Сценарий BFD сессии BFD is hardware Uptime: 01d05h23m Elapsed time since the last change: 01w05d15h Last received packet: Version: 1 Diagnostic: no-diagnostic State bit: up Multiplier: 4 Length: 24 My Discriminator: 4 Your Discriminator: 1 Desired Min Tx Interval: 10 ms Required Min Rx Interval: 10 ms Required Min Echo Rx Interval: 0 ms Flags: Poll: 0 Final: 0 Control Plane Independent: 1 Authentication Present: 0 Demand: 0 Multipoint: 0
В примере выше показана single-hop сессия, ниже пример multi-hop сессии
ME5100revX:R17-246# show bfd neighbors ipv4 10.0.0.2 Wed Jul 19 15:59:43 2023 Neighbor Address: 10.0.0.2 Local address: 10.0.0.1 Session state is up Diagnostic: no-diagnostic Interface: te0/0/5.954 Applied session profile: LocalDiscriminator: 5 RemoteDiscriminator: 5 Registered protocols: bgp <============ Протоколы, использующие в работе статус BFD сессии MinTxInt: 300 ms, MinRxInt: 300 ms, Multiplier: 3 Received MinTxInt: 300 ms, Received Multiplier: 3 Actual TxInt: 300 ms Actual Detection Interval: 900 ms Peer path is multi-hop <============ Сценарий BFD сессии BFD is hardware Uptime: 01d06h25m Elapsed time since the last change: 01w05d15h Last received packet: Version: 1 Diagnostic: no-diagnostic State bit: up Multiplier: 3 Length: 24 My Discriminator: 5 Your Discriminator: 5 Desired Min Tx Interval: 300 ms Required Min Rx Interval: 300 ms Required Min Echo Rx Interval: 0 ms Flags: Poll: 0 Final: 0 Control Plane Independent: 1 Authentication Present: 0 Demand: 0 Multipoint: 0
Дефолтные занчения множителя и таймеров отправки и приёма пакетов для single-hop сессий:
multiplier 3
rx-interval 100
tx-interval 100
для multi-hop сессий:
multiplier 3
rx-interval 300
tx-interval 300
Значения можно изменить глобально для всех сессий:
bfd multi-hop multiplier 5 multi-hop rx-interval 200 multi-hop tx-interval 200 multiplier 2 rx-interval 50 tx-interval 50 exit
Так же можно провести настройку каждой отдельной сессии:
bfd session example address-family ipv4 local-address 10.0.0.33 address-family ipv4 neighbor 10.0.0.34 multiplier 7 rx-interval 150 tx-interval 150 exit exit