
Mục lục bài viết 10 phần
Route reflection giảm full-mesh iBGP nhưng có thể che khuất đường thay thế vì reflector thường chỉ quảng bá đường được chọn. BGP Add-Path cho phép quảng bá nhiều path cho cùng NLRI; nghiệm thu phải chứng minh đúng capability, path diversity, withdraw và service restoration thay vì chỉ đếm nhiều route trong RIB.
Bài viết giúp bạn
- Câu hỏi kỹ thuật cần trả lời
- Topology và điều kiện đo
- Biến số phải kiểm soát
Câu hỏi kỹ thuật cần trả lời
#RFC 7911 mở rộng BGP để quảng bá nhiều đường cho cùng NLRI bằng Path Identifier, với capability được thương lượng theo address family và hướng send/receive. Nó không quy định một thuật toán duy nhất chọn bao nhiêu path hoặc path nào; đó là điểm phải ghi theo implementation và policy.
Phép thử cần trả lời: reflector/client có thương lượng đúng; path bổ sung có thực sự khác failure domain hoặc next hop; withdraw có loại đúng path; và failure có giảm outage so baseline không Add-Path. Nhiều entry hơn trong RIB không mặc nhiên tạo ECMP hay fast convergence ở FIB.
Topology và điều kiện đo
#Topology tối thiểu gồm hai route reflector, nhiều client, hai egress/PE quảng bá cùng prefix và generator ở hai phía. Đặt capture trên phiên BGP và đo data plane qua từng egress. Có thể thêm IGP metric hoặc policy khác nhau để tạo tình huống reflector chọn đường không tối ưu cho một client.
Lấy baseline route reflection không Add-Path: Adj-RIB-In/Out, Loc-RIB, best path, next hop, FIB và traffic path. Sau đó bật Add-Path theo từng address family, giữ nguyên policy. Đồng bộ clock giữa generator, routers và collector để nối update/withdraw với packet loss.

Biến số phải kiểm soát
#Khóa AFI/SAFI, capability send/receive, số path advertise/receive, best-path algorithm, multipath, next-hop-self, cluster ID/list, originator ID, route policy, local preference, MED, communities và IGP cost. Ghi rõ graceful restart, BFD và PIC nếu có vì chúng có thể chi phối restoration.
Traffic profile phải gồm flow count, packet rate, frame size, ECMP entropy và hai chiều. Route profile cần prefix count, path/prefix, update rate, attribute diversity và churn. Chỉ đổi một cơ chế giữa baseline và candidate; nếu vừa bật Add-Path vừa bật PIC thì không quy kết được nguyên nhân.
KPI và bằng chứng đầu ra
#KPI control plane gồm negotiation success, path count hợp lệ, update/withdraw propagation, convergence, CPU, memory và session stability. KPI data plane gồm outage, packet loss, latency/jitter, traffic path, loop/duplicate và service restoration. Đo percentile qua nhiều fault cycle.
Bằng chứng gồm BGP OPEN/UPDATE capture có capability và Path Identifier, Adj-RIB-In/Out, Loc-RIB, FIB/CEF, policy trace, next-hop reachability, event log và sequence-number traffic. Báo cáo phải chỉ ra path nào tồn tại ở mỗi giai đoạn, không chỉ chụp final state.
Ma trận quyết định pass/fail
#Pass/fail cần kiểm tính đa dạng: hai path có next hop khác nhưng cùng link/node failure domain không tạo resilience tương ứng. Cần ghi rõ mục tiêu là visibility, ECMP hay convergence.
- Tình huống: Hai peer cùng hỗ trợ · Kỳ vọng: Capability đúng AFI/SAFI và nhiều path hợp lệ · Bằng chứng: OPEN + UPDATE · Dấu hiệu fail: nhầm send/receive hoặc path ID
- Tình huống: Peer không hỗ trợ · Kỳ vọng: Session vẫn hoạt động theo BGP thường · Bằng chứng: OPEN + route state · Dấu hiệu fail: reset/flap ngoài dự kiến
- Tình huống: Withdraw một path · Kỳ vọng: Chỉ path ID tương ứng bị loại · Bằng chứng: UPDATE + RIB/FIB · Dấu hiệu fail: xóa nhầm mọi path
- Tình huống: Egress chính lỗi · Kỳ vọng: Chọn path còn lại trong SLO · Bằng chứng: route timeline + traffic · Dấu hiệu fail: có path nhưng FIB blackhole
- Tình huống: Policy đổi · Kỳ vọng: Re-advertisement nhất quán · Bằng chứng: policy trace + UPDATE · Dấu hiệu fail: stale path hoặc loop
- Tình huống: Route churn cao · Kỳ vọng: Control plane ổn trong profile mục tiêu · Bằng chứng: CPU/memory/update rate · Dấu hiệu fail: queue backlog, session reset
Test plan capability, advertisement và withdraw
#Khởi động từ peer không Add-Path, sau đó bật receive-only, send-only và cả hai theo phạm vi hỗ trợ. Xác minh OPEN capability rồi đọc UPDATE có Path Identifier. Quảng bá nhiều path với thuộc tính giống và khác nhau; kiểm reflector chọn/tuyên truyền đúng policy đã công bố.
Path Identifier chỉ có ý nghĩa trên phiên BGP liên quan; không giả định một giá trị được giữ end-to-end qua mọi speaker. Bài thử nên nhận diện path bằng next hop và thuộc tính kèm timeline.
- Baseline không Add-Path.
- Kiểm negotiation theo từng AFI/SAFI và hướng.
- Đối soát Adj-RIB-Out của RR với Adj-RIB-In của client.
- Withdraw riêng một path rồi tái quảng bá.
- Thay đổi attribute và next-hop reachability độc lập.
- Restart một peer trong mixed-version topology.
- Kiểm route refresh, policy reload và soft clear.
Path hiding, failure và data-plane restoration
#Tạo case mà reflector nhìn thấy best path khác với path tối ưu của client do IGP cost hoặc policy. So route và traffic trước/sau Add-Path. Sau đó fault link, node, BGP session và next-hop reachability; đo riêng detection, route selection, FIB programming và gói dịch vụ đầu tiên phục hồi.
Thử cả hard failure và silent data-plane failure. Add-Path giúp client biết nhiều route nhưng không tự phát hiện một next hop vẫn “up” mà không chuyển tiếp. Nếu kết hợp BFD/PIC, chạy ma trận bật/tắt để tách đóng góp của từng cơ chế và tránh kết luận quá mức.

Scale, rolling upgrade và runbook
#Tăng prefix và path/prefix theo bậc; đo RIB/FIB memory, update volume, CPU và convergence tail. Churn phải có phân phối thực tế thay vì đồng loạt mọi prefix nếu production không như vậy. Kiểm giới hạn nhận/quảng bá theo model, software và AFI/SAFI.
Rolling upgrade cần mixed capability, route-reflector redundancy và đường rollback. Runbook gồm lệnh xác nhận negotiation, cách giảm số path, tắt send trước receive nếu vendor yêu cầu, kiểm route leak/loop và OOB access. Canary trên một address family hoặc peer group có kiểm soát.
Giới hạn kết luận
#Kết quả chỉ đúng cho topology, RR design, implementation, policy, AFI/SAFI, route scale và fault model đã thử. Add-Path không thay thế thiết kế failure domain, next-hop tracking, FIB resilience hay giám sát data plane.
Convergence control plane nhanh không bảo đảm application continuity. Không công bố “zero loss” nếu generator/capture không đủ độ phân giải hoặc nếu flow hashing chưa bao phủ các next hop.
Khái niệm cần nhớ
#- Route reflector: BGP speaker phản xạ route để giảm full-mesh iBGP.
- Path hiding: đường thay thế không đến được client do lựa chọn của reflector.
- Add-Path: mở rộng quảng bá nhiều path cho cùng NLRI.
- Path Identifier: giá trị phân biệt các path trên một phiên BGP.
- AFI/SAFI: định danh address family và kiểu NLRI.
- Adj-RIB-In/Out: route nhận từ và quảng bá tới một peer.
- Service restoration: thời điểm traffic end-to-end đáp ứng lại SLO.
Khái niệm cần nhớ
- DUT / SUT
- Thiết bị hoặc toàn bộ hệ thống đang là đối tượng của bài kiểm thử.
- Steady state
- Giai đoạn tải đã ổn định và đủ điều kiện để lấy số liệu đại diện.
- Pass / fail
- Kết luận dựa trên ngưỡng đã thống nhất, luôn đi cùng topology, cấu hình và điều kiện đo.
TÀI LIỆU ĐỐI CHIẾUTài liệu tham khảo3 nguồn +
Nội dung được biên soạn độc lập, theo hướng vendor-neutral và đối chiếu các tài liệu gốc dưới đây. Tính năng sản phẩm cần được kiểm tra lại theo phiên bản đang sử dụng.
NetVali ưu tiên nguồn tiêu chuẩn và tài liệu chính thức; phân biệt khuyến nghị triển khai với yêu cầu của tiêu chuẩn; không công bố thông số sản phẩm chưa gắn với phiên bản và điều kiện đo.
