OSPF là gì? Tổng hợp kiến thức từ A-Z về giao thức định tuyến OSPF
Thịnh Văn Hạnh
30/03/2026
2727 Lượt xem
Chia sẻ bài viết
OSPF là gì mà lại xuất hiện rất nhiều trong tài liệu mạng máy tính, chứng chỉ CCNA/CCNP và hệ thống doanh nghiệp? Đây là một trong những giao thức định tuyến động phổ biến nhất, được dùng để giúp router tìm ra đường đi tối ưu giữa nhiều mạng khác nhau một cách nhanh chóng và ổn định.
So với định tuyến tĩnh, OSPF có khả năng tự cập nhật khi topology mạng thay đổi, nhờ đó giảm công sức quản trị và tăng độ tin cậy cho hệ thống. Trong bài viết này của BKNS sẽ giúp bạn tìm hiểu từ A-Z về OSPF, từ khái niệm, cơ chế hoạt động, thành phần quan trọng đến ưu điểm, nhược điểm và cách ứng dụng thực tế, giúp bạn nắm rõ nền tảng trước khi triển khai hoặc học sâu hơn về quản trị mạng.
Tóm Tắt Bài Viết
OSPF là gì?
OSPF (viết tắt của Open Shortest Path First) là một giao thức định tuyến động nội vùng (IGP – Interior Gateway Protocol). Nó được phát triển bởi IETF (Internet Engineering Task Force) dưới dạng một tiêu chuẩn mở (Open Standard), nghĩa là nó có thể hoạt động trơn tru trên thiết bị của bất kỳ hãng nào (Cisco, Juniper, MikroTik, v.v.) chứ không bị khóa chặt vào một hệ sinh thái duy nhất.
Về bản chất, nhiệm vụ của OSPF là giúp các Router (bộ định tuyến) trong cùng một hệ thống mạng (Autonomous System) “nói chuyện” với nhau, từ đó tự động tìm ra con đường ngắn nhất và nhanh nhất để chuyển tiếp các gói dữ liệu từ điểm A đến điểm B.

OSPF là gì?
Nguyên lý và cách thức hoạt động của OSPF
Không giống như các giao thức định tuyến theo khoảng cách (Distance Vector) thường chỉ biết thông tin từ người hàng xóm gần nhất, OSPF là một giao thức dạng trạng thái đường liên kết (Link-State). Điều này có nghĩa là mỗi router chạy OSPF đều có một cái nhìn toàn cảnh và chi tiết về toàn bộ hệ thống mạng trước khi đưa ra bất kỳ quyết định định tuyến nào.
Để làm được điều này, OSPF dựa vào ba nền tảng cốt lõi: Thuật toán định tuyến, Chỉ số đo lường đường đi và Các gói tin giao tiếp.

Thuật toán Dijkstra (Shortest Path First)
Trái tim của OSPF chính là thuật toán Dijkstra, hay còn gọi là thuật toán Shortest Path First (SPF). Bạn có thể hình dung thuật toán này giống như một ứng dụng bản đồ GPS siêu việt được cài đặt trên mỗi router.
Thay vì nhắm mắt đi theo chỉ dẫn của người khác, OSPF sử dụng dữ liệu thu thập được để tự vẽ ra một bản đồ toàn bộ mạng (Topology Map). Bản đồ này chứa thông tin về mọi router và mọi đường liên kết trong hệ thống. Sau khi đã có cái nhìn tổng thể, thuật toán Dijkstra sẽ bắt đầu chạy để tính toán ra con đường ngắn nhất và tốt nhất từ router hiện tại đến mọi đích đến mạng khác.
Một điểm cộng tuyệt vời của thuật toán Dijkstra là nó đảm bảo tuyệt đối tính chất không bị lặp vòng (loop-free). Điều này giúp mạng lưới của bạn luôn hoạt động ổn định, tránh tình trạng các gói dữ liệu chạy quẩn quanh vô tận gây tắc nghẽn toàn bộ hệ thống.
Chỉ số Metric (Cost) trong OSPF
Khi có nhiều con đường để đi đến cùng một đích, làm sao OSPF biết được đâu là “con đường ngắn nhất” mà thuật toán Dijkstra cần chọn? Câu trả lời nằm ở chỉ số Metric, hay trong OSPF còn được gọi là Cost (Chi phí).
Khác với RIP dùng số bước nhảy (hop count), OSPF thông minh hơn nhiều khi đánh giá chất lượng đường truyền dựa trên Băng thông (Bandwidth). Nguyên lý rất đơn giản: Đường truyền có băng thông càng lớn thì chi phí càng thấp, và OSPF sẽ luôn ưu tiên tuyến đường có tổng chi phí thấp nhất.
Công thức toán học mà OSPF sử dụng để tính toán Cost cho mỗi cổng giao tiếp (interface) như sau:
$$\text{Cost} = \frac{\text{Reference Bandwidth}}{\text{Interface Bandwidth}}$$
Trong đó:
- Reference Bandwidth (Băng thông tham chiếu): Mặc định trên các thiết bị Cisco là $10^8$ bps (tương đương 100 Mbps).
- Interface Bandwidth (Băng thông thực tế của cổng): Tốc độ hiện tại của đường truyền tính bằng bps.
Lưu ý quan trọng: Với công thức mặc định này, các đường truyền từ 100 Mbps trở lên (như 1 Gbps hay 10 Gbps) đều sẽ trả về mức Cost bằng 1. Trong các hệ thống mạng hiện đại tốc độ cao, các kỹ trị mạng thường phải tinh chỉnh lại mức Reference Bandwidth này để OSPF có thể phân biệt và ưu tiên chính xác giữa đường 1 Gigabit và 10 Gigabit.

Tính toán xây dựng bảng định tuyến
Các loại gói tin OSPF (OSPF Packet Types)
Để thu thập dữ liệu xây dựng bản đồ mạng và tính toán chi phí, các router OSPF không thể tự “đoán” mà chúng phải giao tiếp liên tục với nhau. Quá trình trao đổi thông tin này được thực hiện thông qua 5 loại gói tin OSPF (Packet Types) chuyên biệt.
Mỗi gói tin đảm nhận một nhiệm vụ riêng biệt trong vòng đời hình thành và duy trì mạng lưới:
- Hello Packet (Gói tin xin chào): Đây là bước làm quen cơ bản nhất. Gói tin Hello được gửi ra định kỳ để phát hiện các router láng giềng (neighbor) và thiết lập, cũng như duy trì mối quan hệ láng giềng này. Nếu không nhận được Hello từ hàng xóm trong một khoảng thời gian nhất định, OSPF sẽ tự động coi đường liên kết đó đã chết.
- DBD – Database Description (Mô tả cơ sở dữ liệu): Sau khi làm quen, các router không vội vã gửi toàn bộ dữ liệu cho nhau. Thay vào đó, chúng gửi gói DBD chứa bản tóm tắt của Cơ sở dữ liệu trạng thái đường link (LSDB). Router nhận sẽ đối chiếu bản tóm tắt này với dữ liệu mình đang có để xem có gì mới hay không.

- LSR – Link-State Request (Yêu cầu trạng thái đường liên kết): Khi router đối chiếu xong và phát hiện ra trong gói DBD của hàng xóm có những thông tin mạng mà mình chưa biết (hoặc dữ liệu của mình đã cũ), nó sẽ gửi gói LSR để yêu cầu cung cấp thông tin chi tiết về đoạn mạng cụ thể đó.
- LSU – Link-State Update (Cập nhật trạng thái đường liên kết): Đây là gói tin mang “thịt” thực sự. Nhằm đáp lại yêu cầu LSR, gói tin LSU sẽ được gửi đi, bên trong chứa các LSA (Link-State Advertisement) mang thông tin chi tiết về mạng lưới, băng thông và trạng thái kết nối để các router cập nhật bản đồ mạng của mình.
LSAck – Link-State Acknowledgment (Xác nhận trạng thái đường liên kết): Để đảm bảo tính tin cậy tuyệt đối (đặc trưng của các mạng doanh nghiệp), mỗi khi một router nhận được gói tin LSU, nó bắt buộc phải gửi lại một gói LSAck để xác nhận rằng “Tôi đã nhận được thông tin cập nhật an toàn”.
Định dạng tin nhắn OSPF
Sau đây là các trường ở định dạng thông báo OSPF:
+ Version: Đây là trường 8 bit chỉ định phiên bản giao thức OSPF.
+ Type: Đây là trường 8 bit. Nó chỉ định loại gói OSPF.
+ Message: Nó là một trường 16 bit xác định tổng độ dài của thông báo, bao gồm cả header. Do đó, tổng độ dài bằng tổng độ dài của thông điệp và Header.
+ Source IP address: Nó xác định địa chỉ mà các gói được gửi đi. Nó là một địa chỉ IP định tuyến gửi.
+ Area identification: Nó xác định khu vực mà quá trình định tuyến diễn ra.
+ Checksum: Nó được sử dụng để sửa lỗi và phát hiện lỗi.
+ Authentication type: Có hai loại xác thực, tức là 0 và 1. Ở đây, 0 có nghĩa là không có nghĩa là không có xác thực nào khả dụng và 1 có nghĩa là chỉ định xác thực dựa trên mật khẩu.
+ Authentication: Nó là một trường 32 bit chứa giá trị thực của dữ liệu xác thực.
Những trạng thái của OSPF
Thiết bị chạy giao thức OSPF trải qua các trạng thái sau:

Những trạng thái của OSPF
+ Down: Nếu thiết bị ở trạng thái ngừng hoạt động, nó chưa nhận được gói HELLO. Down không có nghĩa là thiết bị bị ngừng hoạt động, nó có nghĩa là quá trình OSPF vẫn chưa được bắt đầu.
+ Init: Nếu thiết bị ở trạng thái init, điều đó có nghĩa là thiết bị đã nhận được gói HELLO từ bộ định tuyến khác.
+ 2WAY: Nếu thiết bị ở trạng thái 2WAY, có nghĩa là cả hai bộ định tuyến đã nhận được gói HELLO từ bộ định tuyến khác và kết nối được thiết lập giữa các bộ định tuyến.
+ Exstart: Khi quá trình trao đổi giữa các bộ định tuyến bắt đầu, cả hai bộ định tuyến sẽ chuyển sang trạng thái Khởi động. Ở trạng thái này, chủ và khách được chọn dựa trên ID của bộ định tuyến. Master kiểm soát chuỗi số và bắt đầu quá trình trao đổi.
+ Exchange: Trong trạng thái trao đổi, cả hai bộ định tuyến gửi danh sách các LSA cho nhau có chứa mô tả cơ sở dữ liệu.
+ Loading: Ở trạng thái tải, LSR, LSU và LSA được trao đổi.
+ Full: Sau khi hoàn tất việc trao đổi LSA, các bộ định tuyến sẽ chuyển sang trạng thái đầy đủ.
Cấu hình định tuyến OSPF
Để thực hiện chạy OSPF trên các router, bạn cần dùng câu lệnh sau:
Router (config) # router ospf process-id
Router (config-router) # network dia_chi_IP wildcard_mask area area_id
Trong đó, Process – id chính là số hiệu của tiến trình OSPF chạy trên router, chỉ có ý nghĩa local trên router.
Một cổng tham gia OSPF bằng cách “nối mạng” địa chỉ mạng của cổng. OSPF yêu cầu sử dụng một mặt nạ ký tự đại diện bổ sung để có được mạng con chính xác tham gia vào quá trình định tuyến.

Cấu hình định tuyến OSPF
Để tính được giá trị wildcard mask, bạn cần lấy giá trị 255.255.255.255 trừ đi giá trị subnet – mask 255.255.255.0 từng octet một sẽ được kết quả cần tìm. Tuy nhiên, phép tính này chỉ đúng với các dải IP liền kề nhau và không đúng trong mọi trường hợp.
Cấu hình OSPF của router như sau:
Cấu hình router R1: sử dụng OSPF
R1(config)#router ospf 1
R1(config-router)#network 192.168.1.0 0.0.0.255 area 0
R1(config-router)#network 192.168.3.0 0.0.0.255 area 0
Cấu hình router R12: sử dụng OSPF
R2(config)#router ospf 1
R2(config-router)#network 192.168.2.0 0.0.0.255 area 0
R2(config-router)#network 192.168.3.0 0.0.0.255 area 0
OSPF là một trong những giao thức định tuyến động quan trọng và được sử dụng rộng rãi trong các hệ thống mạng doanh nghiệp nhờ khả năng hội tụ nhanh, chọn đường đi tối ưu và hỗ trợ quản lý mạng theo cấu trúc phân cấp. Khi hiểu rõ OSPF là gì, cách hoạt động, ưu điểm và các khái niệm như area, cost hay router ID, bạn sẽ dễ dàng hơn trong việc thiết kế, vận hành và tối ưu hệ thống mạng ổn định, hiệu quả. Hy vọng bài viết này của BKNS sẽ giúp bạn có cái nhìn đầy đủ và dễ hiểu hơn về giao thức này. Nếu bạn đang tìm hiểu sâu hơn về quản trị mạng, OSPF chắc chắn là kiến thức nền tảng không nên bỏ qua.
Cảm ơn bạn đã đón đọc bài viết. Có thể bạn cũng quan tâm đến:
>> IPv4 và IPv6 – Khái Niệm Và So Sánh Hai Giao Thức Mạng
>>Socket là gì? Khái niệm cần biết về giao thức TCP/IP và UDP
>> SSH và TELNET – Sự khác biệt giữa 2 giao thức mạng
Theo dõi BKNS thường xuyên hơn tại các nền tảng mạng xã hội:
>> Fanpage: https://www.facebook.com/bkns.vn
>> Youtube: https://www.youtube.com/c/BknsVn1
>> Pinterest: https://www.pinterest.com/bknsvn/
>> LinkedIn: https://www.linkedin.com/company/bkns-vn/
[mautic type=”form” id=”6″]



































