[2024] OSPF là gì? Ưu, Nhược điểm và cách cấu hình OSPF

Giao thức OSPF (Open Shortest Path First) là một giao thức định tuyến nội bộ, sử dụng thuật toán định tuyến trạng thái liên kết. OSPF là một giao thức quan trọng trong việc quản lý và vận hành mạng, được sử dụng rộng rãi trong các mạng máy tính lớn. Để biết chính xác OSPF là gì cũng như cách thức hoạt động của giao thức này, bạn có thể tham khảo bài viết dưới đây của VinaHost.

1. OSPF là gì? 

OSPF (Open Shortest Path First) là giao thức định tuyến nội bộ hoạt động dựa trên thuật toán link state routing.

Mỗi bộ định tuyến OSPF sẽ chứa thông tin về tất cả các liên kết trong mạng, bao gồm cả các liên kết trực tiếp và giá trị độ dài đường đi của chúng. Dựa trên thông tin này, giao thức OSPF sẽ tính toán và duy trì một bản đồ mạng toàn diện, từ đó có thể xác định đường đi ngắn nhất giữa bất kỳ hai điểm nào trong mạng.

ospf la gi
OSPF là gì?

Xem thêm: Network là gì? | [SO SÁNH] giữa Internet và Network

2. Cách thức hoạt động của OSPF

Để hoạt động, giao thức OSPF yêu cầu mỗi router phải có một định danh gọi là Router-ID. Router-ID có định dạng tương tự như địa chỉ IP.

2.1. Bước 1: Chọn Router – ID

Có hai cách để tạo Router-ID.

2.1.1. Router tự tạo

Router sẽ xem xét interface nào có địa chỉ IP cao nhất và lấy địa chỉ IP đó làm Router-ID.

Ví dụ: Router có các interface với IP như sau:

f0/0 = 10.0.0.1

f0/1 = 172.16.1.1

s0/0/0 = 192.168.1.1

Như vậy, Router sẽ lấy 192.168.1.1 làm Router-ID.

Nếu Router có Loopback và tham gia định tuyến thì sẽ ưu tiên sử dụng Loopback làm Router-ID

Ví dụ:

lookback 0 = 4.1.1.1

lookback1 = 4.2.2.2

f0/0 = 172.16.1.1

f0/1 = 192.168.1.1

Như vậy, Router-ID sẽ là 4.2.2.2.

2.1.2. Người dùng tự cấu hình

Quá trình tự động chọn Router-ID có thể không phù hợp với một số trường hợp, vì vậy người quản trị có thể tự cấu hình Router-ID.

Ví dụ: Router có các interface với IP như sau:

f0/0 = 10.0.0.1

f0/1 = 172.16.1.1

s0/0/0 = 192.168.1.1

Người quản trị có thể chọn 100.100.100.100 làm Router-ID, mặc dù IP này không thuộc về bất kỳ interface nào của router.

Câu lệnh cấu hình Router-ID như sau:

router ospf 1

router-id 100.100.100.100

2.2. Bước 2: Thiết lập quan hệ láng giềng (neighbor)

Giao thức OSPF sử dụng gói tin HELLO để tìm kiếm các router và thiết lập mối quan hệ láng giềng với chúng. Gói tin HELLO được gửi theo định kỳ, với tần suất mặc định là 10 giây một lần.

Gói tin HELLO chứa thông tin của router gửi gói tin, bao gồm:

  • Router ID 
  • Area ID 
  • Priority
  • Link State Advertisement (LSA)

Khi một router nhận được gói tin HELLO từ một router khác, nó sẽ kiểm tra các thông tin trong gói tin. Nếu các thông tin này khớp với thông tin của router nhận, thì hai router sẽ thiết lập mối quan hệ láng giềng.

Để hai router OSPF trở thành láng giềng, chúng cần đáp ứng các điều kiện sau:

  • Cùng Area ID: Các router OSPF trong cùng một vùng mạng sẽ trở thành láng giềng của nhau. Vùng mạng được xác định bằng Area ID.
  • Cùng subnet: Hai router OSPF cần có cùng subnet để có thể gửi và nhận gói tin Hello.
  • Cùng thông số: Các router OSPF cần có cùng các thông số OSPF, chẳng hạn như Hello interval, Dead interval, Priority,…
  • Cùng xác thực: Nếu xác thực được bật trên cả hai router, thì chúng cần sử dụng cùng một phương thức xác thực.
  • Cùng Stub Area Flag: Điều kiện này chỉ áp dụng cho OSPF đa vùng.

Để xem các router OSPF có quan hệ láng giềng, bạn có thể sử dụng câu lệnh sau:

show ip ospf neighbor

Câu lệnh này sẽ hiển thị thông tin về tất cả các router OSPF mà router hiện tại có quan hệ láng giềng.

Mối quan hệ láng giềng là cần thiết cho giao thức OSPF để hoạt động. Các router láng giềng có thể trao đổi thông tin về các liên kết trong mạng, từ đó giúp cho các router có thể xây dựng bản đồ mạng và xác định đường đi ngắn nhất giữa các mạng.

ospf la gi
Giao thức OSPF thiết lập quan hệ láng giềng (neighbor)

2.3. Bước 3: Trao đổi LSDB

LSDB (Link State Database) là cơ sở dữ liệu trạng thái liên kết, chứa thông tin về tất cả các liên kết trong mạng OSPF. LSDB đóng vai trò như bản đồ mạng, giúp các router OSPF xác định đường đi ngắn nhất giữa các mạng.

LSDB của các router OSPF cùng vùng sẽ giống nhau. Các router OSPF cùng vùng sẽ trao đổi thông tin liên kết với nhau thông qua các gói tin Link State Advertisement (LSA).

Các LSA chứa thông tin sau:

  • Router ID của router gửi LSA
  • Area ID của router gửi LSA
  • Link ID của liên kết
  • Metric của liên kết
  • Type của liên kết
  • TOS của liên kết

Khi một router OSPF nhận được gói tin LSA từ một router khác, nó sẽ cập nhật thông tin trong LSDB của mình.

Cách thức hoạt động của LSDB trong OSPF được mô tả như sau:

  • Các router OSPF trong cùng vùng sẽ gửi các gói tin LSA cho nhau.
  • Các router OSPF sẽ cập nhật thông tin trong LSDB của mình dựa trên các gói tin LSA nhận được.
  • Các router OSPF sẽ sử dụng thông tin trong LSDB để tính toán đường đi ngắn nhất giữa các mạng.

Cách thức hoạt động của LSDB giúp cho các router OSPF trong cùng vùng có thể có được thông tin về tất cả các liên kết trong mạng, từ đó có thể xác định đường đi ngắn nhất giữa các mạng một cách chính xác.

2.4. Bước 4 Tính toán xây dựng 

Giao thức OSPF sử dụng cost (Cost trên interface) thay cho Metric để đánh giá độ ưu tiên của một liên kết. Cost chỉ được tính khi một gói tin đi vào một cổng, và không được tính khi đi ra.

Cost của một liên kết được tính theo công thức sau:

Cost = 108 / Bandwidth (đơn vị bps)

Ví dụ:

  • Bandwidth của một liên kết Ethernet là 10Mbps thì cost của liên kết đó là 10.
  • Bandwidth của một liên kết Fast Ethernet là 100 Mbps thì cost của liên kết đó là 1.
  • Bandwidth của một liên kết Serial là 1.544 Mbps thì cost của liên kết đó là 64.

Lưu ý:

  • Khi tính cost, phần thập phân sau khi làm phép tính sẽ được bỏ đi.
  • Cost của một liên kết càng thấp thì liên kết đó càng được ưu tiên.

Xem thêm: Mạng máy tính là gì? Lợi ích và Phân loại Mạng máy tính

3. Ưu điểm và nhược điểm của OSPF

Dưới đây là những ưu và nhược điểm của giao thức OSPF.

3.1. Ưu điểm của OSPF

Giao thức OSPF có một số ưu điểm nổi bật:

  • Thông tin đầy đủ về cấu trúc liên kết: giao thức OSPF cho phép các router có được thông tin chi tiết về tất cả các liên kết trong mạng, từ đó có thể tính toán đường đi ngắn nhất một cách chính xác. 
  • Khả năng hội tụ nhanh: giao thức OSPF sử dụng cả cập nhật kích hoạt và cập nhật gia tăng để cung cấp khả năng hội tụ nhanh. Cập nhật kích hoạt được sử dụng để thông báo cho các router láng giềng về các thay đổi lớn trong mạng, chẳng hạn như sự cố liên kết. Cập nhật gia tăng được sử dụng để thông báo cho các router láng giềng về các thay đổi nhỏ trong mạng, chẳng hạn như thay đổi cost của một liên kết.
  • Hỗ trợ VLSM và tóm tắt tuyến đường: giao thức OSPF hỗ trợ VLSM (Variable-Length Subnet Mask) và tóm tắt tuyến đường cho thiết kế phân cấp. VLSM cho phép các router phân bổ các subnet mask khác nhau cho các mạng con khác nhau, từ đó có thể tối ưu hóa việc sử dụng địa chỉ IP. Tóm tắt tuyến đường cho phép các router tóm tắt các tuyến đường dài thành các tuyến đường ngắn hơn, từ đó giảm thiểu lưu lượng cập nhật.
  • Hỗ trợ cả hai phiên bản của giao thức IP: giao thức OSPF hỗ trợ cả hai phiên bản của giao thức IP, bao gồm IPv4 và IPv6.
  • Hỗ trợ cân bằng tải: giao thức OSPF hỗ trợ cân bằng tải với các tuyến có cost bằng nhau cho cùng một đích. Điều này giúp giảm thiểu tắc nghẽn mạng.
  • Hỗ trợ các mạng thuộc mọi quy mô: giao thức OSPF có thể hỗ trợ các mạng thuộc mọi quy mô nhưng chủ yếu thường được ứng dụng trong các mạng lớn.

3.2. Nhược điểm của OSPF

Giao thức OSPF có một số nhược điểm như:

  • Không có khả năng mở rộng tốt: khi số lượng router trong miền định tuyến tăng lên, kích thước và tần suất cập nhật cấu trúc liên kết cũng tăng lên, dẫn đến thời gian tính toán đường đi từ đầu đến cuối tăng lên. Điều này khiến giao thức định tuyến trạng thái liên kết không phù hợp để định tuyến trên Internet nói chung.
  • Tốn nhiều tài nguyên: giao thức OSPF tốn nhiều bộ nhớ và yêu cầu năng lực xử lý cao hơn so với các giao thức định tuyến khác, do đó chi phí đầu tư ban đầu có thể không phù hợp với các tổ chức nhỏ.
  • Phức tạp: giao thức OSPF sử dụng một số thuật toán và cơ chế phức tạp, đòi hỏi người quản trị phải nắm rõ giao thức để cấu hình và quản lý hiệu quả.

Xem thêm: Internet là gì? | [BẬT MÍ] Sự khác biệt giữa Internet và Wifi

4. Cách Router hình thành mạng liên quan

Để các router OSPF hình thành mối quan hệ láng giềng, mỗi router cần chọn một Router ID (RID).

  • Hai router OSPF được coi là kề nhau nếu chúng kết nối trực tiếp với nhau qua một liên kết point-to-point và gửi các gói tin HELLO cho nhau. Khi nhận được gói tin HELLO, hai router này sẽ chuyển sang trạng thái 2-way.
  • Hai router OSPF sẽ trở thành láng giềng của nhau nếu chúng cùng thuộc một mạng con, cùng có các thông số OSPF giống nhau. Ngoài ra, một trong hai router phải là Designated Router (DR) hoặc được kết nối bằng liên kết point-to-point.
ospf la gi
Cách Router hình thành mạng liên quan

5. Những loại liên kết trong OSPF

Những loại liên kết được dùng trong giao thức OSPF bao gồm.

5.1. Point-to-point link

Liên kết điểm-điểm (Point-to-Point) là loại liên kết mạng kết nối trực tiếp hai bộ định tuyến với nhau mà không có bất kỳ thiết bị mạng nào khác ở giữa.

Liên kết Point-to-Point có một số đặc điểm sau:

  • Chỉ có hai bộ định tuyến được kết nối với nhau.
  • Không có bộ định tuyến được chỉ định.
  • Các bộ định tuyến tự truyền phát bằng cách gửi các gói tin HELLO định kỳ.
  • Giao diện có thể không được đánh số IP.

Liên kết Point-to-Point thường được sử dụng trong các mạng WAN để kết nối các bộ định tuyến ở các địa điểm cách xa nhau.

5.2. Transient link

Liên kết tạm thời (Transient Link) là loại liên kết mạng kết nối một số bộ định tuyến với nhau. Liên kết này có hai cách triển khai khác nhau, đó là:

  • Cấu trúc liên kết không thực tế (Non-Realistic Link Structure): Trong cấu trúc này, tất cả các bộ định tuyến được kết nối với nhau. Điều này có nghĩa là mỗi bộ định tuyến có thể liên lạc trực tiếp với tất cả các bộ định tuyến khác trong mạng. 
  • Cấu trúc liên kết thực tế (Realistic Link Structure): Trong cấu trúc này, chỉ một vài bộ định tuyến được chỉ định (Designated Router – DR) sẽ chịu trách nhiệm quản lý thông tin liên kết cho các bộ định tuyến khác trong mạng. 

Transient Link thường được sử dụng trong các mạng nhỏ, nơi các bộ định tuyến thường được kết nối trực tiếp với nhau.

5.3. Stub link

Stub link là một liên kết mạng kết nối trực tiếp với một bộ định tuyến duy nhất. Dữ liệu đi vào và rời khỏi mạng thông qua bộ định tuyến duy nhất này.

5.4. Virtual link

Liên kết ảo (Virtual Link) là một đường dẫn ảo được tạo ra giữa hai bộ định tuyến OSPF. Liên kết này được sử dụng để kết nối hai bộ định tuyến khi liên kết vật lý giữa chúng bị hỏng. Liên kết ảo có thể là một đường dài, đi qua nhiều bộ định tuyến khác.

Xem thêm: VPN Là Gì? | Hướng Dẫn Cài Đặt và Sử Dụng VPN [A-Z]

6. Định dạng tin nhắn của OSPF 

Các trường trong định dạng thông báo OSPF bao gồm:

  • Version: 8 bit, chỉ định phiên bản giao thức OSPF.
  • Type: 8 bit, chỉ định loại gói giao thức OSPF.
  • Message: 16 bit, xác định tổng độ dài của thông báo, bao gồm cả header.
  • Source IP address: 32 bit, xác định địa chỉ IP của bộ định tuyến gửi.
  • Area identification: 32 bit, xác định khu vực mà quá trình định tuyến diễn ra.
  • Checksum: 16 bit, được sử dụng để sửa lỗi và phát hiện lỗi.
  • Authentication type: 8 bit, xác định loại xác thực được sử dụng. Có hai loại xác thực: 0 là không có xác thực và 1 là xác thực dựa trên mật khẩu.
  • Authentication: 32 bit, chứa giá trị thực của dữ liệu xác thực.

7. Các gói tin của OSPF

Giao thức OSPF sử dụng 5 loại gói tin:

  • Hello: Gói tin Hello được sử dụng để thiết lập và duy trì mối quan hệ láng giềng giữa các bộ định tuyến OSPF.
  • Database Description: Sau khi thiết lập mối quan hệ láng giềng, bộ định tuyến láng giềng sẽ gửi thông tin cơ sở dữ liệu về cấu trúc liên kết mạng đến hệ thống. Hệ thống sẽ sử dụng thông tin này để cập nhật hoặc sửa đổi cơ sở dữ liệu của mình.
  • Link state request: Gói tin Link state request được sử dụng bởi bộ định tuyến để yêu cầu thông tin về một hoặc nhiều liên kết mạng. Ví dụ, bộ định tuyến 1 muốn biết thông tin về bộ định tuyến 2, vì vậy bộ định tuyến 1 gửi gói tin Link state request đến bộ định tuyến 2. Sau khi nhận được gói tin Link state request, bộ định tuyến 2 sẽ gửi gói tin Link state update chứa thông tin về các liên kết mạng của nó đến bộ định tuyến 1.
  • Link-state update: Gói tin Link state update được sử dụng bởi bộ định tuyến để truyền phát thông tin về các liên kết mạng của nó. Bất kỳ bộ định tuyến nào muốn thông báo cho các bộ định tuyến khác về các liên kết của mình đều có thể sử dụng gói tin Link state update.
  • Link state Acknowledgment: Xác nhận trạng thái liên kết là một cơ chế để đảm bảo rằng tất cả các bộ định tuyến trong mạng đều có cùng thông tin về trạng thái liên kết của nhau. Cơ chế này hoạt động bằng cách yêu cầu mỗi bộ định tuyến gửi xác nhận cho mỗi bản cập nhật trạng thái liên kết mà nó nhận được.

Ví dụ: Bộ định tuyến A gửi bản cập nhật trạng thái liên kết tới bộ định tuyến B và C. Bộ định tuyến B và C sau đó sẽ gửi xác nhận trạng thái liên kết cho bộ định tuyến A. Bằng cách này, bộ định tuyến A biết rằng cả bộ định tuyến B và C đều đã nhận được bản cập nhật trạng thái liên kết.

ospf la gi
Các gói tin của giao thức OSPF

8. Các trạng thái của OSPF

Giao thức OSPF trải qua một số trạng thái nhất định trước khi có thể định tuyến thông tin. Các trạng thái này được mô tả như sau:

  • Down: Cho thấy giao thức OSPF chưa được bật hoặc liên kết đã bị tắt.
  • Init: Trạng thái này cho thấy giao thức OSPF đã được bật và bộ định tuyến đã nhận được gói HELLO từ một bộ định tuyến khác.
  • 2WAY: Thể hiện cả hai bộ định tuyến đều đã nhận được gói HELLO từ nhau và có liên kết vật lý giữa chúng.
  • Exstart: Trạng thái này cho thấy quá trình trao đổi thông tin giữa hai bộ định tuyến đã bắt đầu.
  • Exchange: Cho thấy hai bộ định tuyến đã trao đổi danh sách các LSA.
  • Loading: Thể hiện hai bộ định tuyến đang trao đổi các LSR, LSU và LSA.
  • Full: Trạng thái này cho thấy hai bộ định tuyến đã hoàn tất việc trao đổi thông tin và có thể định tuyến thông tin.

9. Hướng dẫn chi tiết cách cấu hình bộ định tuyến của OSPF

Để chạy giao thức OSPF trên router, bạn cần thực hiện các bước sau:

Cấu hình tiến trình OSPF bằng câu lệnh router ospf process-id. Trong đó, process-id là số hiệu của tiến trình OSPF, chỉ có ý nghĩa cục bộ trên router.

Cấu hình các giao diện tham gia giao thức OSPF bằng câu lệnh network địa_chỉ_IP wildcard_mask khu_vực area_id. Trong đó:

  • địa_chỉ_IP là địa chỉ mạng của giao diện.
  • wildcard_mask dùng để xác định các subnet tham gia OSPF.
  • khu_vực area_id là ID của khu vực mà giao diện tham gia.

Tính wildcard mask

Để tính wildcard mask, bạn có thể thực hiện theo công thức sau:

wildcard_mask = 255.255.255.255 – subnet_mask

Công thức này chỉ đúng cho trường hợp subnet liên tục. Đối với các subnet không liên tục, bạn cần sử dụng các công cụ khác để tính wildcard mask.

Ví dụ:

Giả sử bạn có địa chỉ mạng là 192.168.1.0/24. Để cấu hình giao diện eth0 tham gia OSPF trong khu vực 0, bạn sẽ sử dụng câu lệnh sau:

router ospf 1

network 192.168.1.0 0.0.0.255 area 0

Câu lệnh này sẽ cấu hình giao diện eth0 tham gia OSPF trong khu vực 0 và truyền tải các tuyến đường trong subnet 192.168.1.0/24.

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

10. Tổng kết

OSPF là một giao thức định tuyến link-state mạnh mẽ, có khả năng hội tụ nhanh và có thể chạy trên các mạng có quy mô lớn. Với những ưu điểm trên, giao thức OSPF là một lựa chọn phổ biến cho các doanh nghiệp và tổ chức. VinaHost hy vọng những nội dung chia sẻ trên sẽ giúp bạn hiểu rõ OSPF là gì và cách áp dụng giao thức này vào công việc.

Bạn có thể xem thêm các bài viết thú vị khác tại đây và đừng ngại ngần liên hệ với VinaHost nếu cần hỗ trợ nhé:

Xem thêm:

[Tìm Hiểu] Mạng LAN Là Gì? So Sánh Mạng LAN, WAN và MAN

Mạng WAN là gì | Tổng hợp kiến thức [A-Z] về mạng WAN

Mạng MAN là gì | Tổng hợp kiến thức [A-Z] về mạng MAN

1.1.1.1 là gì | Hướng dẫn cách Cài Đặt & Thay Đổi DNS 1.1.1.1

Đánh giá
5/5 - (5 bình chọn)
Đăng ký nhận tin

Để không bỏ sót bất kỳ tin tức hoặc chương trình khuyến mãi từ Vinahost

    Bài viết liên quan
    Bình luận
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Phản hồi nội tuyến
    Xem tất cả bình luận
    Tổng lượt truy cập: lượt xem