Nếu bạn từng nghĩ OSPF chỉ đơn giản là “một giao thức định tuyến link-state”, thì hãy dừng lại một chút – đằng sau cái tên quen thuộc ấy là cả một “ngôn ngữ riêng” gồm 5 loại gói tin. Chính nhờ những gói tin này mà OSPF có thể khám phá láng giềng, đồng bộ LSDB và duy trì tính nhất quán của mạng. Nếu bỏ qua, bạn sẽ chẳng thể nào hiểu rõ được OSPF vận hành ra sao trong thực tế. Năm loại gói tin OSPF
👉 Nếu bạn muốn hiểu thật sâu, hãy thử dựng một lab nhỏ với 3 router OSPF trong cùng một area. Bật Wireshark, quan sát từ lúc router khởi động đến khi adjacency đạt Full. Bạn sẽ thấy từng gói Hello, DBD, LSR, LSU, LSAck xuất hiện tuần tự – chính là “cuốn phim” mô tả cuộc đời của OSPF trong vài giây đầu tiên.
- Hello Packet (Type 1)
- Vai trò: Khám phá và duy trì mối quan hệ láng giềng.
- Cứ định kỳ, router sẽ gửi gói Hello tới địa chỉ multicast 224.0.0.5.
- Nếu hai router cùng chia sẻ các tham số như hello/dead interval, area ID, authentication… thì mới trở thành neighbor.
👉 Ví dụ: khi một router mới cắm vào mạng, nó sẽ “chào hỏi” để xem có ai xung quanh cùng chơi OSPF không.
- Database Description – DBD (Type 2)
- Vai trò: Trao đổi mô tả cơ sở dữ liệu link-state.
- Gói DBD chỉ chứa header của các LSA chứ không mang toàn bộ nội dung, giúp giảm tải.
- Trong quá trình này, hai router sẽ chọn ai làm Master và ai làm Slave để điều phối thứ tự gửi gói.
👉 Ví dụ: giống như bạn gửi “mục lục” của một cuốn sách để đối chiếu xem người kia có thiếu chương nào.
- Link-State Request – LSR (Type 3)
- Sau khi nhận DBD, router sẽ kiểm tra và nếu phát hiện mình thiếu hoặc thông tin cũ về một LSA nào đó, nó gửi LSR yêu cầu neighbor cung cấp bản cập nhật.
👉 Ví dụ: “Ê, trong mục lục mày có chương 5 mà tao không có, gửi tao nội dung với!”.
- Sau khi nhận DBD, router sẽ kiểm tra và nếu phát hiện mình thiếu hoặc thông tin cũ về một LSA nào đó, nó gửi LSR yêu cầu neighbor cung cấp bản cập nhật.
- Link-State Update – LSU (Type 4)
- Gói LSU mang toàn bộ nội dung của LSA cần cập nhật.
- Đây cũng là công cụ chính để OSPF flooding thông tin trong toàn mạng.
👉 Ví dụ: một router mới học được đường đi mới, nó flood LSU để toàn bộ area biết.
- Link-State Acknowledgment – LSAck (Type 5)
- Vì OSPF không dùng TCP (chỉ chạy trực tiếp trên IP, Protocol = 89), nó phải tự định nghĩa cơ chế acknowledgment để đảm bảo đáng tin cậy.
- Mỗi LSU nhận được đều phải được xác nhận bằng LSAck.
👉 Ví dụ: “OK, tao đã nhận được chương 5 rồi, không cần gửi lại nữa”.
- Tất cả các gói OSPF đều được encapsulated trực tiếp vào IP, không qua TCP hay UDP.
- Protocol field trong IP header = 89.
- Trong lab thực tế, khi dùng Wireshark bắt gói Hello, DBD, LSR… bạn sẽ thấy rõ toàn bộ quá trình neighbor lên Full adjacency. Đây là cách rất hay để “học OSPF bằng mắt”.
👉 Nếu bạn muốn hiểu thật sâu, hãy thử dựng một lab nhỏ với 3 router OSPF trong cùng một area. Bật Wireshark, quan sát từ lúc router khởi động đến khi adjacency đạt Full. Bạn sẽ thấy từng gói Hello, DBD, LSR, LSU, LSAck xuất hiện tuần tự – chính là “cuốn phim” mô tả cuộc đời của OSPF trong vài giây đầu tiên.