Topic: tech juniper jir prev next
tech juniper jir > 12: GR and BFD
Availability refers to the ability of a user group to access a desired system or resource. High availability is the ability to ensure a high degree of operational continuity to a resource for a user community. It is not the same as uptime. A system can be up, but unavailable.
When building networks for high availability, consider whether the base functionality of the network’s operations protected from hardware or software failure, and when a failure does occur, how the overall system or network will react and what kind of recovery can be expected.
Junos supports a number of high availability features;
A router about to undergo a restart event informs its neighbours and requests a grace period. During the grace period, the router continues to forward traffic through existing paths. After the restart, the router synchronises with its neighbours, again without disrupting packet forwarding.
The neighbours of the restarting router hide the event from other routers, further reducing disruption. Graceful restart can only occur when the network topology is stable, the neighbour or peer cooperates, the restarting router is not already cooperating with another restart, and the grace period does not expire.
Graceful restart is supported by many standard protocols; OSPF, IS-IS, BGP, RIP, RSVP, LDP, MSDP and PIM.
Routers must have graceful restart enabled to support both graceful restart router modes; restarting router mode, and helper router mode. By default, Junos dedvices will act as helper routers, but not restarting routers.
Graceful restart helper mode can be disabled globally;
routing-options {
graceful-restart {
disable;
}
}
It can also be disabled per protocol, or more granularly, depending on the protocol.
Graceful restarting restarting router mode can be configured globally, per protocol, or with more granularity. It is enabled globally with;
routing-options {
graceful-restart;
}
Verification methods vary between protocols. For BGP, use show bgp neighbor
<PEER_ADDRESS>
. The GracefulRestart
options will appear if graceful restart
helper router mode is enabled on the remote router.
For OSPF, enable traceoptions
with the graceful-restart
flag.
All modern protocols have a mechanism to detect failures. The problem with these is that they are slow; for example, OSPF takes 40 seconds to detect failures with the default timers.
Bidirectional Forwarding Detection (BFD) is a simple protocol to rapidly detect link failures. It takes less than a second to detect a failure. When a failure is detected, the system is notified. With BFD, timers for other protocols can be left at their defaults. BFD provides a unified method for rapid link failure detection that works across a range of protocols. It also works for static routes, which would not otherwise have a link failure detection mechanism. BFD is supported for OSPF, IS-IS, RIP, BGP, RSVP, PIM and static routes.
bfd-liveness-detection
enables BFD. minimum-interval
sets the minimum
transmit and receive interval in one step. The transmit and receive intervals
can also be set separately. The value is set in milliseconds. It is not
recommended to set a value lower than 300ms. The receive interval multiplier
is 3; if a BFD notification is not received within 900ms, the link is
considered to have failed.
If the minimum-interval
values differ at each end, the higher value is used.
protocols {
bgp {
group my-group {
bfd-liveness-detection {
minimum-interval 300;
}
...
}
}
}
protocols {
ospf {
area 0.0.0.0 {
interface ge-0/0/0.0 {
bfd-liveness-detection {
minimum-interval 300;
}
}
}
}
}
BFD is not useful for all media types. For instance, ATM and SONET both already include rapid link failure detection. Ethernet, however, benefits greatly from BFD, especially when intermediate switches are located between devices. Ethernet OAM is a close alternative to BFD, but operates at Layer 2.
show bfd session
lists BFD sessions with their interval times, which may not
be the same as the locally configured intervals. show bgp neighbor <PEER_IP>
shows the BfdEnabled
option if BFD is supported and BFD: enabled, up
if it
is running. If BFD should be running, but is not, a common fault is that the
firewall is not configured to permit BFD packets.