Nguyễn Văn Huấn
Intern
Bên cạnh về Static Route chúng ta đã tìm hiểu ở bài Lý thuyết trước, đối với các hệ thống mạng lớn, việc cấu hình định tuyến tĩnh rất phức tạp và không có khả năng tự cập nhật cấu hình khi có sự cố. Do đó, ta có OSPF (Open Shortest Path First) là giao thức định tuyến động, tìm kiếm đường đi ngắn nhất để truyền gói tin, phù hợp với mạng doanh nghiệp.
Mục lục
1. OSPF là gì?
2. Các đặc điểm chính của OSPF
3. Cách hoạt động của OSPF
4. Ưu/nhược điểm của OSPF
1. OSPF là gì?
Xem thêm về các trạng thái láng giềng của OSPF tại đây: OSPF neighbor states
Mục lục
1. OSPF là gì?
2. Các đặc điểm chính của OSPF
3. Cách hoạt động của OSPF
4. Ưu/nhược điểm của OSPF
1. OSPF là gì?
- Là một giao thức định tuyến động sử dụng thuật toán Dijkstra để tính toán đường đi ngắn nhất từ một Router đến tất cả các đích trong mạng
- Hoạt động bằng cách duy trì một cơ sở dữ liệu trạng thái liên kết (Link-State Database - LSDB) đồng bộ giữa các router trong cùng một khu vực (Area), từ đó xây dựng bảng định tuyến
- Hỗ trợ cho cả IPv4 và IPv6
- Chia mạng thành các khu vực (areas) để giảm tải xử lý và tối ưu hóa định tuyến
- Hỗ trợ IPv4 và IPv6: OSPFv2 dành cho IPv4, OSPFv3 dành cho IPv6
- Khu vực (areas): sử dụng để phân cấp mạng, Area 0 (backbone area) là trung tâm, các khu vực khác (non-backbone areas) kết nối qua nó
- OSPF sẽ dựa vào cost để tìm ra đường đi ngắn nhất, cost được tính như sau:
- Cost = Reference bandwidth / Interface bandwidth
- Reference bandwidth: đây là giá trị cố định do OSPF sử dụng để chuẩn hóa tính toán cost, mặc định trên Cisco IOS, reference bandwidth là 100 Mbps
- Interface bandwidth: là tốc độ của interface (tính bằng bps) thường được lấy từ cấu hình giao diện hoặc tự động phát hiện
- Neighbor Discovery (tìm láng giềng): gửi các gói tin hello qua các interface được kích hoạt OSPF. Gói tin được gửi định kỳ (mặc định 10 giây trên mạng broadcast) -> thiết lập mối quan hệ láng giềng
- Điều kiện để thành láng giềng:
- Hello Interval và Dead Interval phải khớp
- Cùng một area (area ID)
- Loại mạng phải tương thích
- Xác thực (nếu có) phải khớp
- Thiết lập mối quan hệ láng giềng: sau khi phát hiện láng giềng qua gói tin hello, các router chuyển sang trạng thái trao đổi thống tin để trở thành adjacency (quan hệ đầy đủ)
- Quy trình:
- Down State: chưa có láng giềng

- Attempt: gửi các gói tin hello đến láng giềng

- Init State: nhận hello từ router khác, khởi tạo láng giềng

- two-way state: cả 2 router nhận hello từ nhau và thấy router ID của mình trong gói hello của đối phương

- ExStart: bắt đầu thương lượng vai trò Master/Slave để đồng bộ cơ sở dữ liệu

- Exchange: trao đổi database description (DBD) để liệt kê các LSA (Link-State Advertisements) mà mỗi router có

- Loading: Yêu cầu và nhận các LSA chi tiết còn thiếu từ láng giềng

- Full state: quan hệ láng giềng được thiết lập, cơ sở dữ liệu trạng thái liên kết (LSDB) được đồng bộ

Xem thêm về các trạng thái láng giềng của OSPF tại đây: OSPF neighbor states
- Xây dựng cơ sở dữ liệu trạng thái liên kết (Link-State Database - LSDB)
- LSA (Link-State Advertisement): mỗi router tạo ra các LSA để mô tả trạng thái liên kết của nó (giao diện, mạng kết nối, cost,...) và gửi chúng đến các router láng giềng.
- Flooding: các LSA được lan truyền (flood) trong khu vực để tất cả router có cùng LSDB. Quá trình này đảm bảo mọi router trong khu vực có cái nhìn thống nhất về mạng
- Tính toán đường đi ngắn nhất: dựa vào LSDB, mỗi router chạy thuật toán Dijkstra để xây dựng cây SPF (Shortest Path Tree) với chính nó là gốc dựa vào thông số cost
- Duy trì và hội tụ:
- Gói hello được gửi để duy trì mối quan hệ láng giềng, mỗi 15 phút (mặc định), LSA được làm mới ngay cả khi không có gì thay đổi
- Nếu mạng thay đổi, router phát hiện sẽ tạo LSA mới và flood đến các router khác trong khu vực
- Các router chạy lại SPF để cập nhật bảng định tuyến, OSPF hội tụ nhanh nhờ cơ chế phát hiện và lan truyền thay đổi tức thời
- Ưu điểm
- Hội tụ nhanh nhờ sử dụng cơ chế trạng thái liên kết và chạy lại SPF để nhanh chóng cập nhật bảng định tuyến -> giảm downtime so với các giao thức dựa trên vector khoảng cách như RIP
- Hỗ trợ mạng phân cấp: chia mạng thành các areas với area 0 làm trung tâm -> giảm tải xử lý, tối ưu hóa lưu lượng cập nhật LSA, phù hợp với mạng lớn, phức tạp
- Định tuyến dựa trên cost -> tối ưu hơn
- Hỗ trợ nhiều dòng thiết bị (Cisco, Juniper,...) nhờ tiêu chuẩn mở RFC 2328 (OSPFv2) và RFC 5340 (OSPFv3)
- Hỗ trợ cả IPv4 và IPv6
- Khả năng mở rộng nhờ thiết kế chia theo area
- Nhược điểm:
- Phức tạp trong việc cấu hình và quản lý
- Tốn tài nguyên do phải duy trì LSDB và chạy thuật toán SPF -> đòi hiểu nhiều RAM, CPU
- Yêu cầu đồng bộ Reference Bandwidth để tính toán cost tối ưu nhất
- Phụ thuộc vào area 0, nếu area 0 gặp sự cố, các khu vực khác sẽ không giao tiếp được
- Flooding LSA có thể gây quá tải băng thông
Sửa lần cuối:
Bài viết liên quan
Bài viết mới