Professional Documents
Culture Documents
Table of Contents
3 Standardized BFD........................................................................................................................ 10
5 Conclusion ................................................................................................................................... 13
BFD has many unique advantages. Huawei has realized the BFD technology in its
respect.
links can be rapidly used when network failures occur. Currently some pieces of hardware
like SDH can provide this function, but multiple pieces of hardware or software such as
interface cannot implement path detection and end-to-end detection. At present, a network
usually adopts the slow hello mechanism, especially in the route protocol. As a result, it
takes a long time in detection, without the help of hardware (for example, OSPF needs two
seconds while ISIS one second). This is too long for some applications. When it comes to
a data rate of gigabit, the defective detection time will lead to great loss of data and the
nodes not supporting routing protocols cannot detect link states; the existing IP network
does not have an intermittent failure recovery function within one second while the
traditional network has a limited capability to implement accurate failure detection for
real-time applications such as voice. With the wide use of VoIP, fast detection and
The BFD protocol provides a solution to the above questions. The BFD allows failure
detection on any types of channels between systems, including direct physical link, virtual
circuit, tunneling, MPLS LSP, multi-hop route channel, and indirect channel. Meanwhile,
as the failure detection the BFD implements is simple and single, the BFD can be devoted
to fast detection of forwarding failures to help networks realize the transmission of voice,
video, and other on-demand services with good QoS, and to help service providers offer
VoIP of high reliability and high applicability and other real-time services required by their
customers.
The BFD protocol is a simple “Hello” protocol. Many of its aspects are similar to the
neighbor detect part of those famous routing protocols. Two systems periodically send and
receive detection packets through a channel established between them. If one system
does receive a detection packet from the other for a long time, it indicates that failures
occur in a certain part of the bi-directional channel between the two adjacent systems.
The detection packet the BFD sends is the UDP packet. Two types of packets are defined:
1) Control packet
Compulsory
Optional
z Required Min Echo RX Interval: the minimum receiving interval of the Echo packet
supported by the local side (it is set to 0 if the local side does not support the Echo
function)
z Auth Type: an authentication type, the current protocol provides:
Simple Password
Keyed MD5Meticulous Keyed MD5
Keyed SHA1
Meticulous Keyed SHA1
z Auth Length: an authentication data length
z Authentication Date: an authentication data area
2) Echo packet
The BFD protocol does not define an echo packet format. But the echo packet format
is only related to the local side. The remote side only needs to return the echo packet
on the return path. The local system must be able to separate corresponding contents
in the packet to corresponding sessions (so the sending and receiving processing of
the echo packet are not defined in the protocol). The number of the UDP destination
port used by the echo packet defined by the protocol is 3785.
The BFD protocol describes two bi-directional detection modes: asynchronous mode and
query mode. In addition, an auxiliary echo function can be used together with these two
modes. The difference between asynchronous mode and query mode is the detection
position. Under the asynchronous mode, the local side sends the BFD control packet
periodically and the remote side needs to detect it. Under the query mode, the local
system detects the BFD control packet sent by the local side.
1) Asynchronous mode
Under the asynchronous mode, two systems periodically send the BFD control packet
to each other. If a system does not receive the BFD control packet from the other
within a detection time, it declares that this session is down.
2) Query mode
Under the query mode, suppose that each system has an independent method to
determine whether it is connected to another system. Once a BFD session is
established, systems stop sending the BFD control packet unless a system needs to
verify its connection explicitly. If a system needs explicit connection verification, it
sends a short-series BFD control packet. If the system does not receive a response
packet within a detection time, it will declare that the session is down. If the system
receives a response packet from the opposite side, the protocol keeps silence again.
3) Echo function
The local side sends a series of BFD echo packets. The remote system returns them
through its forwarding channel. If the local system does not receive several continual
echo packets, it declares that the session is down. The echo function can be used
together with the above two detection modes. The echo function can be used to
replace the detection task of the BFD control packet to reduce the sending period
(under asynchronous mode) of the control packet or completely cancel the BFD
control packet (under query mode).
The calculation of the sending period is unrelated to the detection mode. Under any
detection mode, an allowed range is needed since link jitter needs to be considered. The
max (bfd.DMTI, received RMRI); if not, the sending period = (75%–100%) * max(bfd.DMTI,
received RMRI).
Since there are two BFD detection modes, the detection time calculations are somewhat
different under these two BFD detection modes. Since two detection modes can use the
echo function, the calculation method of the detection time of the echo packet is not given
and any mechanism for detecting echo packet loss can be used.
1) Asynchronous mode
Under the asynchronous mode, since the detection position is the opposite side, the
detection multiple of the local side will be used in calculating the detection time. The
formula is: detection time = received remote DM * max (bfd.RMRI, received DMTI).
2) Query mode
Under the query mode, since the detection position is the local side, the detection
multiple of the local side will be used in calculating the detection time. The formula is:
detection time = bfd.DM * max (bfd.RMRI, received DMTI).
Various BFD parameters may dynamically change after a session is established. But this
does not affect the current status of the session. The parameters that can dynamically
change include DMTI, RMRI, enabling or disabling the echo function, enabling or disabling
the query function, and enabling or disabling the authentication function. When the DMTI
is added, the actual sending interval of the local side cannot be changed until a BFD
control packet whose F bit is 1 is received. This ensures that when the sending interval of
the remote system is increased at the local side, its detection time will be updated. When
the RMRI is reduced, the detection time calculated by the remote side cannot be changed
until a BFD control packet whose F bit (See the explanation of packet format fields) is 1 is
received. This ensures that the remote system will have sent the BFD control packet at a
Before the BFD detection, it is necessary to establish an equivalent session at the two
sides of the channel. After the session is established, each side sends a BFD control
packet to the other at an agreed speed to implement failure detection. The session
detection path can be a flag switching path, a tunnel of other type , or an Ethernet.
At the initialization stage of a BFD session establishment process, whether the two sides
are active or passive roles depends on applications. But at least one side is the active role.
When two sides are active roles, the system of each side needs to send a BSFD
control packet whose “Your Discriminator is 0” to the opposite side until each side
receives Discriminator from the opposite side, and then starts to establish the session
(for example, the BFD session established by the OSPF or ISIS can ensure that both
sides are active roles).
When two sides are active parties, since your discriminator is 0, they cannot be
separated to a corresponding session according to the BFD protocol. So initializing
the packet needs other methods:
a) For 1hop:
b) For multihop:
z Method 1:
Before the session establishment, first use an outer band mode to get the
Discriminator of the opposite side. This method is used when a session is
established on the LSP of the MPLS.
z Method 3:
Use two unidirectional links. The separation of initialization packet is similar to that
in 1hop. One unidirectional link is an active party before the session. The passive
party separates the BFD control packet whose “Your discriminator is 0” according
to the packet-receiving interface.
2) One party being the active role and the other being the passive role
When one party is the active role and the other is the passive role, who is the active
role or passive role depends on the application. The active party first sends a packet
and then the application carries the discriminator from the opposite party to the active
party. The passive party also starts to send packets after receiving the packet from the
active party. Later your discriminators in the packets sent by both the active and
passive parties are none zero. Each side separates the control packet to a
The session establishment process is a process with three handshakes. After this process,
the session at the two sides becomes the Up state. In this process the both sides
up
down init
DOWN
Using the establishment process of BFD session connection as an example, the migration
A Packet transmit B
down down
BFD
D OWN
OWN
B FD D down => init
down => init
BFD IN
IT init BFD DOWN : DOWN state in packet
B FD
UP init => up BFD UP : UP state in packet
BFD U
P XX => YY : Resault of changing
state (Local)
Point of changing state
: (Local)
Point of changing state
: (in sending packet)
z Stations A and B start the BFD. Their initial state is “Down”. They send the BFD
packets with the state “Down”.
z State B receives the BFD packet with the state “Down”. Its local state is changed
over to “Init”. It sends the BFD packet with the state “Init”.
z After the local BFD state of station B becomes “Init”, station B receives the packet
with the state “Down” and does not process it.
z The change process of the BFD state of station A is the same as the above.
z State B receives the BFD packet with the state “Init”. Its local state is changed over
to “Up”.
z The change process of the BFD state of station A is the same as the above.
z After the state of stations A and B changes from “Down” to “Init”, a timeout timer will
be started. The timer can be used to prevent the local state from being always “Init”
(may be the connection between A and B is broken and the session cannot be
established normally). If the BFD packet with the state “Init/Up” is still not received
within a defined time, the state is automatically changed over to “Down”.
3 Standardized BFD
Since July 2004 when the first draft of the BFD standard was introduced, IETF has been in
engaged in discussing how to revise the BFD protocol. Now draft base-00 has been
developed into draft base-03 and version 0 has been upgraded to version 1. The following
Draf t base-00
• Nov 04 Submit BFD MIB to the IESG to be considered as Proposed Standard.
2004.7 • Feb 05 Submit BFD encapsulation and usage profile for multi-hop IPv 4 and
IPv 6 adj acencies to the IESG to be considered as a Proposed Standard
Draf t base-01
2005.2
Draf t base-02
2005.3 Draf t base-03
2005.7
According to the detection, the BFD is the best solution to communication forwarding
With the development of NGN and IPTV, the IP network has to simultaneously bear
multiple services. So it must have high requirements for reliability and security. Currently
many carriers tend to use the MPLS VPN to isolate different services. The MPLS VPN is
characterized by: 1) High security and isolation of resources in the future; 2) Clear
NE40-8 NE40-8
CD1 GZ1
SH1 WH1
NE80 BJ2 SY2 NE80 SoftX3000
XA2 NJ2
SoftX3000
SoftX3000
UMG8900
UMG8900
CD2 GZ2
SH2 WH2
B forwarding platform
One of requirements of voice services for the bearer network: When failures occur in the
ms in the best. Together with the VPN, voice services from one side to another include the
equipment, where if any segment (including link and equipment) cannot reach the above
requirements, voice services will be affected. The failures include failures occurred on
When failures occur on node P, fast reroute technologies usually are adopted, including
the traditional TE FRR and latest LDP FRR. These two technologies protect the standby
LSP. When the active LSP fails, the standby LSP is changed over before the failure node.
The BFD can provide the capability to fast detect failures of adjacent nodes or links for
node P. When the BFD detects these failures, it will trigger the FRR mechanism to
implement the changeover to ensure that the loss of user data services will be the
minimum.
When failures occur to the PE, the MPLS VPN FRR will be adopted to solve the problem
that the changeover to the standby PE cannot be fast implemented after failures occur at
the original PE. The purpose is that the VPN service can be fast changed over to the
standby tunnel and standby PE so that the traffic can be recovered in a very short time.
The major realization means of the MPLS VPN FRR is that when the active tunnel is
the standby tunnel. When the forwarding engine realizes that the active tunnel is
unavailable, it can directly use the standby tunnel to transfer information without relying on
The BFD can provide the fast detection function to the opposite PE for the MPLS VPN
FRR. When the BFD finds that the opposite PE is broken, it will notify the MPLS VPN FRR
to implement the changeover so that the loss of user data services will be the minimum.
The communication transmission in such a network architecture that the VoIP media
gateway is connected to the IP core network through a switching Ethernet faces with two
problems: 1. Since the current media gateway keeps a equivalent session relationship at
the IP layer, the whole network is “invisible” and failure detection between a media
gateway and the IP edge router cannot be implemented; 2. When failures occur at a
remote unit in the switching network, the Ethernet has no effective mode to notify the host
or router. Although the detection tool for high-speed link failures plays a very important role
in the realization of the high applicability VoIP, it is difficult for it to fast detect network
failures when there is a switch between the host and the router.
Now the BFD protocol is completely integrated with the media gateway platform and is
used to keep the connection between the gateway and the edge router. The BFD can
detect failures in the Ethernet or independent network segment. It can alternatively build
redundant paths between the gateway and the router. Once failures are detected and
confirmed, the BFD can trigger a corresponding changeover mechanism in all routes,
5 Conclusion
The BFD aims at binding more things to the forwarding plane so that they can be out of
specific network protocols and fast defective detection and carrier-level changeover will
become possible. Together with the low cost of the BFD processing, this allows wide
expansion and good applicability for the BFD. The BFD will surely become an important
AppendixA References
1) Katz, D., and Ward, D., "Bidirectional Forwarding Detection", draft-IETF-bfd-base-02.txt,
March, 2005.
2) Katz, D., and Ward, D., "BFD for IPv4 and IPv6 (Single Hop)",
draft-IETF-bfd-v4v6-1hop-02.txt, March, 2005.
3) Aggarwal, R., and Kompella, K., "BFD for MPLS LSPs", draft-IETF-bfd-mpls-01.txt, March,
2005.
4) Katz, D., and Ward, D., "BFD for Multihop Paths", draft-IETF-bfd-multihop-02.txt, February,
2005.
IP Internet Protocol
DM Detect Mult