Chuyển đến nội dung chính (Skip to content)
CCNA

OSPF hoạt động thế nào: neighbor, LSDB và SPF

OSPF hoạt động thế nào: neighbor, LSDB và SPF

Tách neighbor, LSDB, SPF và RIB trên tam giác OSPF area0. Tính cost từ từng router, hiểu DR/BDR và phân biệt 2-Way hợp lệ với adjacency chưa đồng bộ.

Ba router đều hiện neighbor OSPF ở trạng thái Full, nhưng đường tới chi nhánh không đi qua link trực tiếp. Một người nghi giao thức chọn sai vì đường qua router trung gian có nhiều hop hơn. OSPF không chọn theo số router đi qua: nó tính đường trên đồ thị có cost rồi đưa ứng viên tuyến vào quá trình chọn route.

Muốn giải thích đường đi, cần tách bảng neighbor, cơ sở dữ liệu trạng thái liên kết và bảng định tuyến. Bài này dùng một tam giác area 0 để tính bằng số cụ thể; phần cấu hình và tình huống lỗi được triển khai ở bài kế tiếp.

1. Một area và các cost đã được khai báo rõ

Mô hình biên tập có R1, R2, R3 trong OSPFv2 area 0. Các link transit được đặt network type point-to-point. Cost R1–R2 là 10, R2–R3 là 10, R1–R3 là 30; trong ví dụ này cost hai chiều bằng nhau. LAN phía R3 là 10.30.30.0/24, cost interface phía R3 bằng 1.

Đây là giá trị cost đặt để học cơ chế, không suy ra từ tốc độ dây thật. Không có redistribution, multi-area, stub area, VRF hoặc default route. Router ID lần lượt 1.1.1.1, 2.2.2.2 và 3.3.3.3, là định danh OSPF, không tự mang ý nghĩa địa chỉ mà người dùng phải ping được.

Đồ thị area 0 có cost 10 giữa R1 R2, 10 giữa R2 R3, 30 giữa R1 R3 và cost LAN R3 là 1
Hình 1. Các router dùng cùng thông tin topology trong area đã hội tụ, nhưng mỗi router tính cây từ chính mình.

Cuộn ngang khi cần, hoặc chạm sơ đồ để mở ảnh gốc.

Cần đọc bảng định tuyến trước để phân biệt ứng viên từ OSPF với route thực sự được cài. Bài không nhận các trạng thái hay thời gian là kết quả đo trên thiết bị thật; mọi ví dụ số học đều theo giả thiết trên.

2. Neighbor, LSDB và RIB trả lời ba câu hỏi khác nhau

Bảng neighbor ghi router láng giềng và tiến trình quan hệ trên interface: đã nhận Hello, thấy hai chiều, đang trao đổi cơ sở dữ liệu hay đã đồng bộ. LSDB giữ các LSA mô tả topology và những thông tin định tuyến trong phạm vi tương ứng. RIB giữ tuyến được chọn để chuyển tiếp, không phải bản sao đầy đủ của LSDB.

Với area 0 thông thường ở đây, các router đã đồng bộ sẽ có tập thông tin LSA cùng phạm vi area nhất quán. Tuổi LSA tại hai thời điểm thu có thể khác; không đòi từng byte output phải giống. Nếu router tham gia area khác hoặc có loại LSA phạm vi khác, không thể khái quát mọi LSDB trên toàn hệ thống đều giống nhau.

Router dùng thuật toán SPF để xây cây đường ngắn nhất từ vị trí của nó. R1 có cây gốc R1, R2 có cây gốc R2; cùng bản đồ nhưng điểm xuất phát khác nên next-hop khác. Một route còn cạnh tranh với nguồn khác theo quy tắc RIB. Có LSA về mạng đích không tự chứng minh có dòng OSPF tương ứng trong show ip route.

PDF trang vật lý 243–258 trình bày quan hệ giữa neighbor, topology database và SPF. RFC 2328 là nguồn chuẩn về OSPFv2; bài giới hạn ví dụ intra-area để người học tự kiểm tra đồ thị trước khi gặp các loại tuyến phức tạp hơn.

3. Từ Hello hai chiều tới đồng bộ cơ sở dữ liệu

OSPFv2 dùng IP protocol 89, không phải TCP hay UDP port 89. Hello giúp phát hiện và duy trì quan hệ với peer. Những điều kiện như area, Hello/Dead timer, xác thực, loại area và tham số interface cần tương thích theo loại mạng. Router ID cần duy nhất trong miền liên quan. Đừng lấy việc ping transit thành công làm bằng chứng mọi điều kiện OSPF đã đúng.

Init cho biết đã nhận Hello nhưng chưa thấy Router ID của mình trong danh sách neighbor của peer. 2-Way xác nhận nhận biết hai chiều. Với quan hệ cần trở thành adjacent, Exstart thương lượng quá trình trao đổi Database Description; Exchange so thông tin mô tả LSDB, Loading yêu cầu/nhận các LSA còn thiếu, Full đánh dấu đồng bộ adjacency.

DBD chứa các header LSA để mô tả nội dung, không phải luôn mang toàn bộ topology dưới dạng một bảng route. Link State Request yêu cầu thông tin; Link State Update mang LSA; Link State Acknowledgment xác nhận. Đừng gọi mọi gói này là “bản cập nhật route định kỳ” giống một giao thức distance-vector đơn giản.

Chuỗi Init, 2-Way, Exstart, Exchange, Loading, Full với chức năng Hello DBD LSR LSU LSAck
Hình 2. Timeline mô tả ý nghĩa trạng thái, không quy định mỗi bước mất một khoảng thời gian cố định.

Cuộn ngang khi cần, hoặc chạm sơ đồ để mở ảnh gốc.

Hướng dẫn trạng thái neighbor của Cisco giải thích tiến trình này. Một trạng thái xuất hiện thoáng qua lúc khởi tạo có thể bình thường; bị giữ lâu hoặc lặp lại mới cần đối chiếu log, interface và hành vi peer.

4. Khi nào 2-Way đúng, DR có quyết định đường dữ liệu không?

Trong tam giác point-to-point, các peer trực tiếp dự kiến hình thành Full, không bầu DR/BDR trên link đó. Trên Ethernet network type broadcast có nhiều router, DR và BDR giúp tổ chức adjacency và trao đổi thông tin, thay vì mọi cặp đều phải Full.

Xét riêng một segment broadcast có bốn router A, B, C, D, cùng ưu tiên khác 0 và đang tham gia một cuộc bầu mới. Giả sử kết quả đã xác nhận là D làm DR, C làm BDR. A và B là DROTHER; giữa A–B có thể dừng 2-Way hợp lệ, còn chúng Full với DR và BDR. Phải biết mình đang đứng trên router nào khi đọc hậu tố /DR, /BDR, /DROTHER.

Priority interface cao hơn được ưu tiên trong bầu chọn; Router ID xử lý tình huống hòa phù hợp. Priority 0 không tranh DR/BDR. Tuy nhiên cuộc bầu không preempt theo cách cứ có router priority cao hơn xuất hiện là DR hiện tại bị thay ngay. Trạng thái trước đó và thời điểm tham gia ảnh hưởng kết quả, nên không dự đoán DR chỉ bằng sắp xếp Router ID trong một ảnh chụp muộn.

DR không trở thành default gateway hay điểm bắt buộc đi qua cho dữ liệu người dùng. Vai trò này phục vụ control plane OSPF trên segment. Gói giữa hai mạng vẫn đi theo bảng forwarding, cost và next-hop. Vì vậy đổi DR chưa chắc làm đường dữ liệu đổi theo cách người đọc đang hình dung.

5. Tính SPF và giải thích vì sao hai hop có thể thắng

Từ R1 tới node R3, đường trực tiếp cost 30; qua R2 cost 10 + 10 = 20. Cộng cost 1 của LAN đích, tuyến tới 10.30.30.0/24 theo mô hình có cost 21 thay vì 31. Next-hop là R2. Đường hai link thắng vì tổng cost nhỏ hơn, không phải vì OSPF không thấy link R1–R3.

Từ R2 tới LAN ấy, cost là 10 + 1 = 11. Cùng một prefix, cùng topology, nhưng metric tính từ hai điểm khác nhau. Không dùng metric tại R2 để so trực tiếp với một output của R1 mà quên điểm xuất phát.

Cây SPF từ R1 chọn R2 rồi R3 với tổng tới LAN 21 thay vì 31 qua link trực tiếp
Hình 3. Cost tới node R3 là 20; tới LAN gắn sau R3 là 21 theo giá trị interface LAN đã giả định.

Cuộn ngang khi cần, hoặc chạm sơ đồ để mở ảnh gốc.

Nếu link R2–R3 mất và topology mới đã được nhận, tính lại, cài route và cập nhật forwarding, R1 có thể dùng link trực tiếp còn sống với tổng 31. Mô hình không cam kết thời gian phục hồi. Phát hiện lỗi, timer/SPF throttling, tài nguyên CPU và bảng forwarding đều góp phần vào thời gian thực tế.

Cost tự động trên Cisco liên quan reference bandwidth và bandwidth interface; cost cũng có thể cấu hình trực tiếp. Giá trị bandwidth không tự điều chỉnh tốc độ vật lý. Khi dùng reference bandwidth, đặt nhất quán theo thiết kế trên các router. Hướng dẫn OSPF IOS XE là nơi đối chiếu lệnh và khả năng release, không dùng ví dụ cost như benchmark tốc độ.

6. Đọc ba lớp bằng chứng khi neighbor Full mà route chưa có

Chuỗi lệnh đọc cơ bản trên Cisco:

show ip ospf neighbor
show ip ospf interface brief
show ip ospf interface
show ip ospf database
show ip route ospf
show ip route 10.30.30.77
show ip protocols

Đầu tiên hỏi adjacency với router trực tiếp có đúng network type và area không. Tiếp theo tìm thông tin prefix hoặc router quảng bá trong LSDB đúng area. Cuối cùng tra đích cụ thể trong RIB. Nếu static tới cùng /24 đang được ưu tiên, show ip route ospf có thể không hiện tuyến đó dù OSPF đã biết topology.

Nếu không có thông tin LAN R3 trong LSDB, kiểm tra interface LAN có được đưa vào OSPF, còn hoạt động và đúng area không. Nếu có thông tin nhưng RIB chọn đường khác, so nguồn tuyến, prefix và policy. Không reset adjacency chỉ vì chưa hiểu RIB đang ưu tiên nguồn nào.

Full không bảo đảm endpoint dùng đúng gateway, host firewall mở cổng hay đường trả lời hoạt động. Sau khi chứng minh route, vẫn thử từ mạng nguồn thật, ghi source và kết quả ứng dụng. Cũng không đồng nhất LSDB đã hội tụ với mọi gói đang chuyển không mất mát: control plane và data plane cần bằng chứng riêng.

Khi thu LSDB ở hai router để đối chiếu, giữ nguyên process và area cùng thời gian tương đối gần nhau. Router ID quảng bá, loại LSA, Link State ID và sequence giúp tìm đúng đối tượng; chỉ so số lượng dòng rất dễ bỏ sót một LSA khác nội dung. Không sửa cost để che một thông tin topology đã quá hạn hoặc không được đồng bộ.

7. Kiểm chứng lời giải và chuẩn bị lab kế tiếp

Tự vẽ lại tam giác và tính cây từ R3. Trong giả thiết đối xứng, R3 tới R1 qua R2 là 20, trực tiếp là 30. Nếu cost một chiều khác, phải dùng cạnh theo đúng hướng; không lấy trung bình hai đầu. Khi có hai đường tổng cost bằng nhau, khả năng cài nhiều next-hop còn tùy giới hạn và chính sách nền tảng, không suy số link thấy trên hình thành số next-hop chắc chắn.

  • Giải thích được neighbor, adjacency, LSA, LSDB, SPF và RIB bằng chức năng.
  • Đọc network type trước khi kết luận 2-Way là lỗi.
  • Tính cost21 gồm cả interface LAN, không bỏ sót cạnh cuối.
  • Phân biệt Router ID, process ID cục bộ, địa chỉ interface và area.
  • Kiểm tra RIB và dịch vụ ngay cả khi các adjacency cần thiết đã Full.

PDF trang vật lý 243–279 cung cấp nền tảng OSPF đơn vùng; topology, số cost, timeline và sơ đồ đều được biên tập mới. Nội dung chưa kiểm nghiệm trên hardware, không sao chép cấu hình xác thực cũ thành khuyến nghị bảo mật hiện hành. Bài cấu hình và chẩn đoán OSPF single-area sẽ dùng một lab đơn giản hơn để kiểm tra từng lớp bằng chứng và giới hạn của kết luận.