Danh mục sản phẩm
Tìm hiểu, cấu hình BFD (Bidirectional Forwarding Detection) trên Cisco
1. BFD là gì?
BFD (Bidirectional Forwarding Detection) là giao thức phát hiện lỗi đường truyền nhanh, hoạt động độc lập với giao thức định tuyến và với loại đường truyền bên dưới (Ethernet, MPLS, tunnel, VLAN…). Hai thiết bị liền kề thiết lập một phiên BFD và gửi gói hello nhẹ cho nhau theo chu kỳ rất ngắn. Nếu không nhận được gói nào trong khoảng thời gian cho phép, BFD coi đường truyền đã lỗi và báo ngay cho giao thức định tuyến.
Thay vì mỗi giao thức (OSPF, EIGRP, BGP, static route…) tự phát hiện lỗi bằng timer riêng, quản trị viên dùng BFD làm cơ chế phát hiện chung. Nhờ vậy thời gian hội tụ dễ dự đoán và dễ lập kế hoạch hơn.
2. Vì sao cần BFD?
Các giao thức định tuyến có cơ chế phát hiện lỗi riêng, nhưng thường chậm:
- OSPF mặc định mất 40 giây (dead interval) trên link broadcast.
- BGP mặc định mất 180 giây (hold time).
- Có thể chỉnh timer của từng giao thức xuống thấp, nhưng làm vậy tốn CPU và dễ gây flap.
BFD giải quyết vấn đề này theo cách khác:
- Phát hiện lỗi trong khoảng mili-giây đến dưới 1 giây, ví dụ 50 ms × 3 = 150 ms.
- Gói BFD nhỏ, có thể xử lý trên hardware ở nhiều nền tảng nên ít tốn CPU.
- Một phiên BFD phục vụ được nhiều giao thức cùng lúc.
- Phát hiện được cả lỗi mà trạng thái link vật lý không báo, ví dụ qua switch trung gian hoặc đường truyền thuê.
3. Cách hoạt động
Hai thiết bị thiết lập phiên BFD và thỏa thuận các tham số:
- Interval: chu kỳ gửi gói BFD của thiết bị này.
- Min_rx: chu kỳ tối thiểu thiết bị này có thể nhận gói.
- Multiplier: số gói liên tiếp bị mất thì coi là lỗi. Bài gốc gọi là "holddown".
Thời gian phát hiện lỗi = interval × multiplier. Ví dụ interval 50 ms, multiplier 3 thì sau 150 ms không nhận được gói là phiên BFD down và thông báo cho OSPF, OSPF hội tụ ngay thay vì chờ hết dead interval.
4. Cấu hình BFD với OSPF
Mô hình: hai router R1 và R2 kết nối trực tiếp, chạy OSPF.

Bước 1: Đặt tham số BFD trên interface kết nối giữa 2 router (cấu hình trên cả R1 và R2):
interface GigabitEthernet0/0 bfd interval 50 min_rx 50 multiplier 3
Bước 2: Bật BFD cho OSPF:
router ospf 1 bfd all-interfaces
Nếu chỉ muốn bật cho một interface cụ thể:
interface GigabitEthernet0/0 ip ospf bfd
Cần cấu hình đối xứng trên cả hai router thì phiên BFD mới lên.


5. Kiểm tra và xác minh
Kiểm tra phiên BFD đã được tạo và OSPF đã đăng ký sử dụng BFD:
show bfd neighbors details


Trạng thái phiên phải là Up, và cột Registered Protocols phải có OSPF.
Kiểm tra BFD đã được kích hoạt ở mức tiến trình OSPF:
show ip ospf


Kiểm tra BFD đã được kích hoạt trên interface kết nối giữa hai router:
show ip ospf interface GigabitEthernet0/0


6. Lưu ý khi triển khai
- Đừng đặt timer quá thấp trên thiết bị yếu hoặc đường truyền không ổn định, vì có thể gây flap liên tục.
- BFD cũng dùng được với EIGRP, BGP, IS-IS và static route (qua BFD template hoặc
ip route static bfd). - Kiểm tra nền tảng hỗ trợ BFD offload lên hardware hay không, vì điều này ảnh hưởng đến timer tối thiểu.
7. BFD trong Cisco SD-WAN
BFD không chỉ dùng trong định tuyến truyền thống. Trong Cisco SD-WAN, BFD chạy mặc định trên mọi IPsec tunnel giữa các router edge, không cần cấu hình riêng. Nó vừa phát hiện tunnel lỗi, vừa đo độ trễ, jitter và packet loss của từng đường WAN. Dữ liệu này là cơ sở để Application-Aware Routing chọn đường tối ưu cho từng ứng dụng.
Bạn có thể xem kiến trúc đầy đủ của giải pháp này tại bài Cisco SD-WAN Viptela là gì? Giải pháp SD-WAN cho hệ thống mạng doanh nghiệp.
Tham khảo thêm tài liệu chính thức: Cisco BFD Configuration Guide.
