Upload
trinhcong
View
250
Download
3
Embed Size (px)
Citation preview
BFD Features
1
Session Objectives
At the end of the session, the participants should:
Understand advantages of BFD implementation on S9700
Understand when to use BFD on S9700
2
Contents
BFD introduction and protocol features
BFD on S9700 – snapshot
BFD on S9700 – software implementation details
BFD on S9700 – configuration
Summary
3
Why BFD Lightweight hello protocol over different protocols IPv4, MPLS…
Used for fast (often sub-second) communication failure detection
Single, common & standardized mechanism
Independent of specific routing, VRRP and other client protocols
dst UDP port 3784 & 4784 (4784 is used for multi-hop BFD)
RFC 5880
SRU (Supervisor)
OSPF VRRP PIM BGP Etc.
BFD
IS-IS
So lots protocols could leverage this lightweight BFD to achieve fast hello without more CPU burden.
4
BFD Advantages
Many protocols use same hellos-reduce control plane load
No impact due to sup switchover, unless the route down
ms-level fault detection performance
Proprietary one-arm-echo BFD function can be used with device which does
not support BFD
Proprietary multicast BFD can be used to detect the L2 link and the specific
member in a trunk, and bind the interface state.
Associating with oam protocol , notifies the link faults
Associating with the protocols running on the ring network
5
Contents
BFD introduction and protocol features
BFD on S9700 – snapshot
BFD on S9700 – software implementation details
BFD on S9700 – configuration
Summary
6
BFD on S9700: Snapshot
Software support start: V200R001
Hardware support:
All current and future I/O modules
Centralized packet processing
Master CPU transmit/receive BFD packets
with OAM Chip, we could do hardware offload
SRU-D has already integrated OAM FPGA, so no extra cost.
MCU(S9703) is done by a process in CPU.
BFD packets sent with TOS-EXP
7
S97’s BFD Modes brief
Asynchronous mode – Supported from S9700
Systems establish BFD session and periodically exchange control packets
If some number of control packets missed (default is 3 ) session declared down
One ARM Echo mode – Huawei proprietary mode
Worked with other devices does not support BFD
Multicast BFD – Huawei proprietary mode
Could run at L2 links, no IP interface needs.
8
Async timer negotiate My desc = foo
Your desc = xxx
Required Rx = 50ms
Desired Tx = 100ms
My desc = bar Your desc = foo Required Rx = 60ms Desired Tx = 40ms
My desc = foo Your desc = bar Required Rx = 50ms Desired Tx = 100ms
R1 R2
R1
R1
R2
Handshake Complete Session is UP
Compare min-RX from peer vs self Desire TX, the slower win
So send @ 100ms
Compare min-RX from peer vs self Desire TX, the slower win.
So send @ 50ms
9
BFD one-arm-mode – Huawei
proprietary Application scenario
Connect with a 3rd party device, which doesn’t support BFDv1
3rd Device
Only BFD echo frames No control frames exchange
Trigger hooked clients
sth. Fails
10
Multicast BFD – Huawei proprietary
Application scenario
Test a link if no IP address could be specified.
L2 Link or unnumbered interface
Specify a dedicated 224.x.x.x mc-IP-address The MC address must be same in 2 devices.
BFD control frames with multicast
address
Capture this mc-addr. Need avoid conflict.
Capture this mc-addr. Need avoid conflict.
11
S97 BFD software features (1) Static BFD
Dynamic BFD
Triggered by protocol, like: OSPF, BGP, IS-IS, MPLS LDP, RSVP-
TE, PWE3、PIM.
BFD for single hop & multi-hop
BFD for supervisor’s switch-over
S97’s BFD session won’t teardown when supervisor do a switch-
over.
BFD for static route / OSPF / BGP / IS-IS
BFD for PIM
BFD for VRRP
BFD for FRR (LDP FRR/ TE FRR /VPN FRR /VLL FRR)
12
S97 BFD software features (2) BFD over Ports
L3 GE & 10GE ports
VLAN-IF interface
L3 dot1Q interface
L3 Eth-trunk Logical
Single BFD session for whole trunk
When BFD run over trunk, BFD packets are sent over some link
members using hashing.
L2 port
Need Huawei proprietary multicast BFD.
Eth-trunk Per-link
Separate BFD sessions for each link in interface for resiliency
Need Huawei proprietary multicast BFD session.
13
S97 BFD software features (3)
BFD Interface support
Static LSP
LDP LSP
MPLS TE
VLL PW
No detective for backup PW
No support for PW over TE
VPLS PW
No support for PW over TE
14
BFD vs Per-Protocol Timers
Per-Protocol Timers:
Single interface may have 2-3+ protocols establishing adjacency
E.g., VRRP, PIM, OSPF on each vlanif/subinterfaceI
Tuning down timers for every protocol increases inband and CPU
utilization. This wastes CPU effort and link bandwidth
Configuration complexity
BFD:
One BFD session can track link-state for all client protocol sessions
between an IP node pair
15
Contents
BFD introduction and protocol features
BFD on S9700 – snapshot
BFD on S9700 – software implementation details
BFD on S9700 – configuration
Summary
16
BFD on S9700 Software Architecture
OSPF RIP PIM BGP IS-IS Etc.
BFD
Switching Route Unit
Hardware
I/O Module
Hardware
I/O Module
Hardware
I/O Module
BFD Client
17
Client Behavior – OSPF
OSPF 1 BFD 1 OSPF 2 BFD 2
Establish OSPF Adj
Establish OSPF Adj
OSPF FULL OSPF FULL
Register OSPF neighbor IP with BFD
BFD notifies OSPF
OSPF Registered BFD packets
Register OSPF neighbor IP with BFD
OSPF Registered BFD packets
Send OSPF Hellos
Send OSPF Hellos
Device Fails BFD notifies OSPF
OSPF Adj removed
OSPF de-Registered De-register neighbor IP with BFD
18
Client Behavior – PIM
PIM 1 BFD 1 PIM 2 BFD 2
Send PIM Hellos
Send PIM Hellos
PIM Adj PIM Adj
Register neighbor IP with BFD BFD notifies PIM
PIM Registered BFD packets
Register neighbor IP with BFD
PIM Registered BFD packets
Send PIM Hellos
Send PIM Hellos
Device Fails BFD notifies PIM
PIM Adj removed
PIM de-Registered De-register neighbor IP with BFD
19
Client Behavior –static routes
static route 1 BFD 1 static route 2 BFD 2
Track static route with BFD
Add a static BFD configuration
BFD packets
Track static route with BFD
BFD packets
Device Fails BFD notifies static
route static route turn to
inactive
20
Proprietary BFD: one-arm-echo (1)
static route 1 BFD 1
Third-part device without BFD function
Track static route with BFD
Add a static BFD configuration one-side only
BFD packets IP loop
BFD notifies static route static route turn to
inactive sth. Fails
21
One-arm-echo vs Echo
Unlike standard echo mode. one-arm-echo only send echo BFD frames, no BFD control frame exchange.
Be carefully, by default echo frames use self-interface-ip as src & dst ip, so you should disable some security check function along with the path.
22
BFD Interoperability
Tested with:
NE40E
C7600
S9500
23
Contents
BFD introduction and protocol features
BFD on S9700 – snapshot
BFD on S9700 – software implementation details
BFD on S9700 – configuration
Summary
24
BFD Configuration (1)
Pre-configuration Tasks
Before configuring BFD, complete the following tasks:
1. Connecting each interface correctly
2. Configuring IP addresses for Layer 3 interfaces
Data Preparation
To configure BFD, you need the following data.
1. BFD configuration name
2. Peer IP address, local interface type and number for the directly-connected link
detected by BFD, and default multicast address used by BFD if it checks the
physical layer status of the link
3. BFD session parameters: local and remote discriminators
25
BFD Configuration (2)
BFD min-tx-interval <10-1000> min-rx-interval < 10-1000 > multiplier <3-50>
Global or per-interface control of BFD timers
Interval –frequency in msec at which to send BFD messages
Multiplier: BFD declared down if no packet received within (interval*multiplier)
msec
Default is interval = 10 msec and multiplier = 3
failover detection in 30 msec
26
BFD Configuration (3)
one arm echo config:
bfd cfg-name bind peer-ip peer-ip [ vpn-instance vpn-instance-
name ] interface interface-type interface-number [ source-ip source-
ip ] one-arm-echo
Notice:
1) only in sing-hop BFD
2) Only need local discriminate. “discriminator local discr-value ”.
3) “min-echo-rx-interval interval” could set the echo interval, default is 10ms.
27
BFD Configuration: other parameters
WTR configured (default 0) [WTR is a timer to hold when BFD
session state change from down to up.]
Run: wtr wtr-value
Set the priority of BFD packets (default 7, lowest priority 0)
Run: tos-exp tos
Configure the number of the default destination port for the multi-hop
BFD control packet
Run: multi-hop destination-port { 3784 | 4784 }
28
BFD Configuration Example 1
BFD for OSPF
1 Display the system view:
Run: system-view
2 Display the OSPF view:
Run: ospf process-id
3 Establish BFD sessions for OSPF:
Run: bfd all-interfaces enable
4 Specify the value for each parameter used to establish a BFD session(Optional):
Run: bfd all-interfaces { min-rx-interval receive-interval | min-tx-interval
transmit-interval | detect-multiplier multiplier-value } *
5 Check the information about the BFD session:
Run: display ospf [process-id ] bfd session interface-type interface-
number [ router-id ] or
display ospf[process-id ] bfd session { router-id | all }
29
BFD Configuration Example 2
BFD for PIM
1 Display the system view:
Run: system-view
2 Display the interface view (Interface type must be VLANIF):
Run: interface interface-type interface-number
3 PIM BFD is enabled :
Run: pim bfd enable
4 PIM BFD parameters are adjusted.
Run: pim bfd { min-tx-interval tx-value | min-rx-interval rx-value | detect-multiplier
multiplier-value }*
5 check information about a PIM BFD session :
Run: display pim [ vpn-instance vpn-instance-name | all-instance ] bfd session
statistics
30
BFD Configuration example 3
one-arm-bfd example
src & dst ip is local interface IP address by default
Also could change it by CLI: src IP= Loopback IP, dst IP = local
interface IP
Src-MAC = local interface MAC, dst-MAC = peer’s MAC
31
BFD Configuration example 4
Multicast BFD example
bfd 1 bind peer-ip default-ip interface ?
Eth-Trunk Ethernet-Trunk interface
Ethernet Ethernet interface
GigabitEthernet GigabitEthernet interface
When use MC-BFD @ Eth-trunk
1) Multi MC-BFD sessions for individual link
2) (Optional) Associate BFD with port status
3) (Optional) Set min-active link parameter in Eth-Trunk
For example:
A 4 links Eth-trunk. If 3 member links down, then teardown the eth-trunks.
32
BFD Monitoring
CLI and XML available to obtain BFD information and status
Run: <SwitchA> display bfd session all verbose
BFD MIB
Clear BFD statistics in the user view
Run: reset bfd statistics { all | discriminator discr-value }
33
BFD troubleshooting
• Make sure pre-configuration requirements are met.
• Make sure neighbor supports BFD except one-arm-echo scenario.
• Make sure neighbor supports running BFD over same type of interface (i.e trunk).
• Debugs
Enable the debugging of the BFD module
Run: debugging bfd { all | defect-detect | error | event | fsm | ha | packet | process
| product-interface | session-management | timer }
34
Contents
BFD introduction and protocol features
BFD on S9700 – snapshot
BFD on S9700 – software implementation details
BFD on S9700 – configuration
Summary
35
Summary Top 5 things to remember
Dedicated HW offload the CPU’s BFD process burden
Support both single hop & multi-hop mode
Proprietary BFD one arm echo mode
Worked with other 3rd device, which don’t support BFDv1
Proprietary multicast BFD
Worked in L2 links
BFD trigger interface status & BFD action
Copyright©2012 Huawei Technologies Co., Ltd. All Rights Reserved. The information in this document may contain predictive statements including, without limitation, statements regarding the future financial and
operating results, future product portfolio, new technology, etc. There are a number of factors that could cause actual results and developments to
differ materially from those expressed or implied in the predictive statements. Therefore, such information is provided for reference purpose only and
constitutes neither an offer nor an acceptance. Huawei may change the information at any time without notice.
HUAWEI ENTERPRISE ICT SOLUTIONS A BETTER WAY