Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 🧠 Bạn đã thực sự hiểu quá trình “bắt tay” giữa các router OSPF?

    🧠 Bạn đã thực sự hiểu quá trình “bắt tay” giữa các router OSPF?

    Dù OSPF là giao thức định tuyến cực kỳ phổ biến, nhưng không ít anh em vẫn hay nhầm giữa “neighbor” và “adjacency”, hoặc không rõ tại sao hai router cấu hình đúng nhưng lại không vào được trạng thái Full. Bài viết này sẽ làm rõ các trạng thái láng giềng OSPF và những điều kiện cần để hai router trở thành “bạn thân thiết” — tức là hoàn toàn đồng bộ LSDB.
    🌐 1. Hiểu đúng về OSPF Neighbor và Adjacency
    • Neighbor là khi hai router OSPF gửi và nhận gói Hello với nhau trên cùng một liên kết mạng OSPF.
    • Adjacency là khi hai router đã hoàn tất quá trình đồng bộ cơ sở dữ liệu định tuyến LSDB – nghĩa là chúng đã “chia sẻ toàn bộ bản đồ thế giới” cho nhau.

    🔄 Một router có thể có nhiều neighbor, nhưng không phải tất cả đều trở thành adjacent. Ví dụ: trên mạng multi-access như Ethernet, chỉ router DR và BDR mới thiết lập adjacency với các router còn lại.
    📊 2. Các trạng thái trong quan hệ OSPF Neighbor


    OSPF định nghĩa 7 trạng thái chính cho quá trình hình thành quan hệ láng giềng:
    1. Down – chưa nhận gói Hello nào từ neighbor.
    2. Attempt – chỉ áp dụng cho mạng NBMA; đang cố gửi Hello.
    3. Init – đã nhận Hello nhưng chưa thấy mình trong Hello của neighbor.
    4. 2-Way – thấy mình trong Hello của neighbor → thiết lập song phương.
      Đây là lúc xảy ra bầu cử DR/BDR nếu cần thiết.
    5. ExStart – bắt đầu thương lượng ai là master/slave cho việc đồng bộ LSDB.
    6. Exchange – trao đổi các DBD (Database Description Packets).
    7. Loading – gửi LSR để yêu cầu chi tiết LSAs còn thiếu.
    8. Full – đã đồng bộ hoàn toàn LSDB → chính thức trở thành “adjacent”.

    🧩 Lưu ý: Trạng thái dừng ở đâu phụ thuộc vào loại liên kết. Mạng Point-to-Point sẽ tiến đến Full, nhưng mạng Ethernet có thể dừng ở 2-Way nếu không phải DR/BDR.
    ✅ 3. Những điều kiện bắt buộc để thiết lập adjacency


    Nhiều anh em khi cấu hình xong OSPF nhưng neighbor không tiến tới Full thường bỏ sót các điều kiện này:
    • 🎯 Router ID phải duy nhất trong toàn bộ domain OSPF.
    • 🌐 Cùng subnet – hai router phải nằm trong cùng lớp mạng IP.
    • 📦 MTU phải khớp – nếu không sẽ kẹt ở Exchange và báo lỗi.
    • 🗺 Cùng Area ID – không thể là neighbor nếu ở khác Area.
    • 🧱 DR/BDR config phải giống nhau – nếu một bên set network point-to-point mà bên kia không, sẽ có vấn đề.
    • Hello và Dead Interval phải giống nhau – lệch vài giây cũng không bắt tay được.
    • 🔐 Kiểu xác thực và mật khẩu (nếu có) phải giống hệt.
    • 🚩 Flag loại Area (stub, NSSA…) phải giống nhau.

    🧪 Kiểm tra từng điều kiện trên là bước cực kỳ quan trọng khi debug OSPF neighbor. Dùng lệnh show ip ospf neighbor, debug ip ospf adj, hoặc show ip ospf interface để xác minh.
    📌 Ví dụ thực tế


    Một mạng Ethernet có 3 router: R1, R2, R3. Giả sử R1 là DR, R2 là BDR, R3 là DROTHER. Khi kiểm tra:
    • R1 sẽ thiết lập adjacency Full với R2 và R3.
    • R2 cũng Full với R1 và R3.
    • Nhưng R3 chỉ có trạng thái 2-Way với các DROTHER khác → không có adjacency trực tiếp.

    Nếu ta vô tình thay đổi MTU hoặc sai mật khẩu OSPF, trạng thái sẽ dừng ở Exchange hoặc Init mãi không tiến tới Full.
    🛠 Kết luận


    OSPF là một giao thức có kiến trúc rõ ràng, nhưng để vận hành trơn tru, chúng ta phải nắm chắc 7 trạng thái quan hệ neighbor8 điều kiện bắt buộc để adjacency xảy ra. Đừng để một sai sót nhỏ như mismatch MTU hay dead timer phá vỡ cả hệ thống định tuyến!

    Bạn đã từng gặp lỗi neighbor OSPF “lỳ” không vào Full? Chia sẻ trải nghiệm hoặc ảnh chụp lệnh show ip ospf neighbor trong bình luận nhé!
    Attached Files
    Đặng Quang Minh, CCIE#11897 (Enterprise Infrastructure, Wireless, Automation, AI), CCSI#31417

    Email : dangquangminh@vnpro.org
    https://www.facebook.com/groups/vietprofessional/
Working...
X