NETWORK TESTING

Kiểm thử OSPF Graceful Restart và overload khi bảo trì router

10/8/2026 · 16 phút

Topology OSPF gồm router helper, router restart và hai điểm phát thu lưu lượng
Mục lục bài viết 9 phần

Graceful Restart (GR) và overload/Stub Router Advertisement cùng hướng tới giảm gián đoạn, nhưng giải quyết hai tình huống khác nhau. Một test plan tốt phải chứng minh route, traffic và adjacency phản ứng đúng theo từng cơ chế, thay vì chỉ thấy phiên OSPF “vẫn Up” rồi kết luận đạt.

ĐỌC NHANH

Bài viết giúp bạn

  • Hai cơ chế đang giải quyết bài toán nào?
  • Topology và điều kiện đo
  • Biến số phải kiểm soát
Tùy chỉnh đọc
01

Hai cơ chế đang giải quyết bài toán nào?

#

OSPF Graceful Restart theo RFC 3623 cho phép router khởi động lại tiến trình OSPF trong khi các neighbor hỗ trợ giữ adjacency và tiếp tục quảng bá topology trong một cửa sổ giới hạn. Mục tiêu là duy trì forwarding nếu dataplane còn nguyên; GR không biến lỗi phần cứng, mất interface hoặc dataplane reset thành hitless.

Stub Router Advertisement theo RFC 3137 lại là cơ chế “drain” lưu lượng transit bằng cách quảng bá metric rất lớn cho link không phải stub trước khi bảo trì. Router vẫn có thể reachable cho quản trị và prefix trực tiếp, nhưng đường đi khác được ưu tiên khi topology có lựa chọn. Không nên dùng hai tên gọi thay thế cho nhau.

02

Topology và điều kiện đo

#

Dùng ít nhất bốn router tạo hai đường từ nguồn tới đích: một đường qua DUT và một đường thay thế. Một traffic generator phát nhiều flow hai chiều qua cả IPv4/IPv6 nếu hệ thống hỗ trợ; collector lấy OSPF adjacency, LSDB, RIB/FIB, interface counter và timestamp sự kiện. Cần xác nhận traffic thực sự đi qua DUT trước fault injection.

Chạy ba baseline: không thay đổi, restart OSPF không bật GR, và bảo trì không bật overload. Baseline giúp phân biệt tác dụng của cơ chế với hành vi tự nhiên của SPF, BFD hoặc ECMP. Đồng bộ clock giữa generator, router và collector; nếu không, loss burst và log adjacency không thể xếp cùng timeline.

Topology dự phòng OSPF dùng để đo traffic loss khi restart hoặc drain DUT
Topology dự phòng OSPF dùng để đo traffic loss khi restart hoặc drain DUT
03

Biến số phải kiểm soát

#

Khóa hello/dead interval, SPF/LSA throttle, BFD, ECMP, interface cost, GR restart interval và helper policy. Ghi rõ implementation có hỗ trợ planned/unplanned restart nào; không suy từ RFC sang khả năng của một phiên bản phần mềm cụ thể.

Traffic profile cần cả flow dài và flow ngắn, nhiều kích thước frame, mức tải đủ thấy loss nhưng không làm nghẽn link. Với ECMP, giữ hash seed và số flow đủ lớn để tránh một lần chạy may mắn không đi qua DUT. Tách control-plane restart khỏi process restart kéo theo FIB programming hoặc line-card event.

04

KPI và bằng chứng đầu ra

#

KPI tối thiểu gồm packet loss, loss duration, out-of-order, latency p99, thời gian adjacency/LSDB/RIB/FIB ổn định và số lần route change. Với GR, bằng chứng quan trọng là forwarding được duy trì trong khi control plane phục hồi và helper thoát trạng thái đúng hạn. Với overload, đo thời gian từ lúc bật bit/metric đến khi traffic transit rời DUT.

Không dùng một counter duy nhất. Kết hợp tx/rx sequence của generator, capture có chọn lọc, telemetry route, LSA decode và log. Pass/fail phải nêu ngân sách gián đoạn theo dịch vụ; “không thấy ping rớt” không đủ đại diện cho tải thật.

  • Kịch bản: Restart có GR · KPI chính: loss duration, GR timer · Bằng chứng bắt buộc: packet sequence, helper log, LSDB/FIB · Dấu hiệu fail: helper hết hạn hoặc blackhole
  • Kịch bản: Restart không GR · KPI chính: convergence baseline · Bằng chứng bắt buộc: adjacency, route/FIB timeline · Dấu hiệu fail: kết quả không tái hiện được
  • Kịch bản: Bật overload · KPI chính: drain time, residual traffic · Bằng chứng bắt buộc: LSA metric/bit, per-path counter · Dấu hiệu fail: transit vẫn chọn DUT
  • Kịch bản: Tắt overload · KPI chính: restore time, path stability · Bằng chứng bắt buộc: route và flow distribution · Dấu hiệu fail: flap hoặc chuyển đường lặp
  • Kịch bản: Mất dataplane khi GR · KPI chính: blackhole detection · Bằng chứng bắt buộc: interface/FIB/capture · Dấu hiệu fail: helper giữ route quá lâu
05

Ma trận kịch bản và quyết định

#

Nếu mục tiêu là nâng cấp tiến trình routing mà forwarding không đổi, ưu tiên kiểm thử GR. Nếu chuẩn bị reload toàn thiết bị hoặc thay đổi vật lý, overload trước bảo trì thường phù hợp hơn, sau đó xác minh traffic đã drain. Khi dataplane có thể mất, không coi GR là cơ chế che chắn duy nhất.

Ma trận phải gồm helper hỗ trợ/không hỗ trợ, restart trong/ngoài cửa sổ, topology đổi trong lúc restart, link fail đồng thời, và nhiều area. Với ABR/ASBR, kiểm tra external route và summary riêng; một kết quả area đơn không suy rộng cho toàn mạng.

06

Test plan từng bước

#
  • Lưu topology, version, timer, LSDB/RIB/FIB và traffic baseline.
  • Xác nhận đường chính qua DUT và đường dự phòng đủ capacity.
  • Chạy control case không GR để định lượng convergence tự nhiên.
  • Bật GR/helper theo phạm vi được phê duyệt; restart đúng component.
  • Thu loss, route timeline và trạng thái helper đến khi ổn định.
  • Lặp lại với một topology change trong cửa sổ restart.
  • Bật overload trước bảo trì; xác nhận transit drain nhưng management còn reachable.
  • Tắt overload, theo dõi restore và ECMP distribution.
  • Thử negative case: dataplane/link mất để xác minh không blackhole kéo dài.
  • Khôi phục cấu hình, so sánh checksum và lưu artifact.
07

Checklist vận hành và rollback

#
  • Xác nhận đường dự phòng còn headroom.
  • Định nghĩa loss budget và thời gian dừng test.
  • Sao lưu cấu hình, version và trạng thái LSDB/FIB.
  • Bảo đảm out-of-band management không phụ thuộc đường đang drain.
  • Kiểm tra mọi neighbor có helper policy tương thích.
  • Giám sát application flow, không chỉ ICMP.
  • Có lệnh rollback overload/GR và người phê duyệt tại chỗ.
  • Xác nhận route, traffic và alarm trở về baseline.
Timeline bảo trì OSPF liên kết LSA, route và packet loss
Timeline bảo trì OSPF liên kết LSA, route và packet loss
08

Giới hạn của kết luận

#

Kết quả chỉ đúng với topology, timer, scale route, traffic profile và phiên bản đã đo. Lab bốn router không chứng minh hành vi khi hàng trăm neighbor cùng chạy SPF. Virtual router có thể giữ dataplane khác chassis thật; ngược lại restart process trong lab có thể không mô phỏng ISSU.

GR duy trì route cũ trong một cửa sổ nên có thể kéo dài blackhole nếu forwarding thực tế hỏng mà helper chưa phát hiện. Overload phụ thuộc có đường thay thế và policy metric; nếu topology đơn tuyến, nó không tạo thêm redundancy. Báo cáo phải nêu rõ phạm vi này.

09

Khái niệm cần nhớ

#
  • Graceful Restart: Khôi phục control plane trong khi cố duy trì forwarding hiện có.
  • Helper: Neighbor hỗ trợ giữ adjacency/topology trong cửa sổ restart.
  • Stub Router Advertisement: Cách làm router kém hấp dẫn cho traffic transit khi bảo trì.
  • LSDB: Cơ sở dữ liệu link-state dùng để tính SPF.
  • RIB/FIB: Bảng định tuyến điều khiển và bảng forwarding thực tế.
  • Convergence: Thời gian mạng đạt trạng thái route và forwarding ổn định mới.
THUẬT NGỮ NHANH

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ảo4 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.

Nguyên tắc biên tập

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.

Thông số và khả năng sản phẩm có thể thay đổi theo phiên bản. Hãy đối chiếu tài liệu chính thức trước khi xây dựng cấu hình hoặc tiêu chí nghiệm thu.
BẮT ĐẦU TỪ BÀI TOÁN

Cần chuyển kiến thức thành test plan?

Chia sẻ mục tiêu, topology và ràng buộc kỹ thuật. NetVali sẽ cùng bạn xác định bài đo phù hợp.

Trao đổi yêu cầu kỹ thuật