CCNA [Part 8] Giao Thức Định Tuyến Động OSPF

AnhTuIS

Intern

Giao Thức Định Tuyến Động OSPF​

- Trong các hệ thống mạng lớn, việc quản lý và định tuyến dữ liệu giữa các mạng con một cách tự động và linh hoạt là vô cùng quan trọng. Giao thức định tuyến động giúp router có thể tự động học và cập nhật các tuyến đường tối ưu mà không cần cấu hình thủ công như định tuyến tĩnh.

- Trong số các giao thức định tuyến động, OSPF (Open Shortest Path First) là một giao thức định tuyến theo trạng thái liên kết (Link-State), cho phép các router trong cùng một hệ thống tự trị (AS) chia sẻ thông tin về trạng thái mạng và tìm ra đường đi ngắn nhất dựa trên thuật toán Dijkstra.

- Bài viết này sẽ giúp bạn hiểu rõ nguyên lý hoạt động của giao thức định tuyến động, đặc biệt là OSPF, và cách nó tối ưu hóa việc định tuyến trong các hệ thống mạng lớn.

Mục lục

I. Định tuyến động​

- Định tuyến động là một phương pháp trong đó các router tự động trao đổi thông tin về mạng và tình trạng kết nối giữa các mạng từ xa. Không giống như định tuyến tĩnh yêu cầu cấu hình thủ công, định tuyến động sử dụng các giao thức định tuyến để tự động khám phá, cập nhật bảng định tuyến và điều chỉnh đường đi của dữ liệu khi có sự thay đổi trong mạng.

- Các giao thức định tuyến động phổ biến:
  • RIP (Routing Information Protocol): Sử dụng số lượng bước nhảy để xác định đường đi tốt nhất; thích hợp cho các mạng nhỏ.
  • OSPF (Open Shortest Path First): Dựa trên thuật toán trạng thái liên kết, cho phép tính toán đường đi ngắn nhất dựa trên thông tin toàn mạng; phù hợp với mạng lớn và phức tạp.
  • EIGRP (Enhanced Interior Gateway Routing Protocol): Kết hợp các đặc điểm của cả giao thức định tuyến theo vector khoảng cách và trạng thái liên kết
  • BGP (Border Gateway Protocol): Giao thức định tuyến giữa các hệ thống tự trị (AS), đóng vai trò quan trọng trong việc định tuyến trên Internet.
- Phân Loại Giao Thức Định Tuyến Động

1742964916446.png


* Interior Gateway Protocols là các giao thức định tuyến được sử dụng để trao đổi thông tin định tuyến trong một miền định tuyến được quản lý bởi một tổ chức duy nhất bao gồm.

1. Distance Vector (Ví dụ: RIP)​
  • Router gửi toàn bộ bảng định tuyến cho các router lân cận theo định kỳ.
  • Định tuyến dựa trên khoảng cách (số bước nhảy - hop count) và hướng (vector) đến mạng đích.
2. Link-State(Ví dụ: OSPF)​
  • Router thu thập thông tin chi tiết về mạng và xây dựng bản đồ đầy đủ.
  • Định tuyến dựa trên thuật toán Dijkstra để tìm đường ngắn nhất.
3. Hybrid (ví dụ: EIGRP)​
  • Kết hợp giữa Distance Vector và Link-State
* Exterior Gateway Protocols được sử dụng để trao đổi thông tin định tuyến giữa các tổ chức khác nhau, được gọi là autonomous systems (AS). Ví dụ: BGP

- Các thành phần chính của giao thức định tuyến động bao gồm:
  • Cấu trúc dữ liệu: Giao thức định tuyến sử dụng các bảng hoặc cơ sở dữ liệu để lưu trữ thông tin mạng. Dữ liệu này thường được lưu trong bộ nhớ RAM.
  • Tin nhắn giao thức định tuyến: Các giao thức định tuyến sử dụng các loại tin nhắn khác nhau để khám phá các bộ định tuyến lân cận, trao đổi thông tin định tuyến, cập nhật và duy trì thông tin mạng chính xác.
  • Thuật toán: Thuật toán được dùng để xử lý thông tin định tuyến, xác định đường đi tốt nhất và cập nhật bảng định tuyến.
- Quá Trình Hoạt Động Của Định Tuyến Động
  1. Trao đổi thông tin định tuyến: Router sử dụng giao thức định tuyến (như OSPF với LSA) để chia sẻ thông tin về các tuyến đường.
  2. Cập nhật bảng định tuyến: Router tính toán đường đi tối ưu và lưu vào Routing Table.
  3. Phát hiện và thích ứng với thay đổi: Khi mạng thay đổi (mất kết nối, tuyến mới), router tự động cập nhật và thông báo cho các router khác.
- Cân bằng tải
  • Khi một router phát hiện có nhiều đường dẫn đến cùng một điểm đích với chi phí hoặc metric bằng nhau, nó sẽ sử dụng Equal-Cost Load Balancing. Trong trường hợp này, gói dữ liệu được chia đều qua các đường dẫn có chi phí bằng nhau.
  • Nếu giao thức định tuyến hỗ trợ, ví dụ như EIGRP, nó còn có thể thực hiện Unequal-Cost Load Balancing, tức là cân bằng tải qua các đường dẫn có chi phí khác nhau, dựa vào giá trị metric cụ thể.
- So sánh dynamic và static routing
Tính năng​
Định tuyến động​
Định tuyến tĩnh​
Độ phức tạp cấu hình​
Phụ thuộc vào kích thước mạng​
Tăng theo kích thước mạng​
Thay đổi cấu trúc mạng​
Tự động thích ứng với thay đổi trong mạng​
Cần quản trị viên can thiệp​
Khả năng mở rộng​
Phù hợp với mạng từ đơn giản đến phức tạp​
Chỉ phù hợp với mạng đơn giản​
Bảo mật​
Cần cấu hình bảo mật​
Bảo mật có sẵn​
Sử dụng tài nguyên​
Tiêu tốn CPU, bộ nhớ và băng thông mạng​
Không tiêu tốn tài nguyên bổ sung​
Khả năng dự đoán đường đi​
Đường đi phụ thuộc vào giao thức và cấu trúc mạng​
Đường đi được quản trị viên xác định rõ ràng​

II. OSPF​

1. Khái niệm​

- OSPF (Open Shortest Path First) là một giao thức định tuyến động thuộc nhóm link-state routing protocol. Nó được thiết kế để thay thế giao thức Distance Vector như RIP (Routing Information Protocol), với khả năng mở rộng và tốc độ hội tụ nhanh hơn.

- OSPF sử dụng cấu trúc phân vùng (Areas) để quản lý mạng hiệu quả hơn.
Link-state:
  • "Link" trong OSPF là một kết nối giữa hai router, một đoạn mạng hoặc một mạng stub (ví dụ Ethernet LAN chỉ kết nối với một router).
  • Link-State là thông tin về trạng thái của một link, bao gồm địa chỉ mạng (prefix), độ dài prefix và cost.

2. Các thành phần chính của OSPF​

  • Gói tin OSPF (OSPF Messages)
    • Hello Packet: Phát hiện và xây dựng mối quan hệ láng giềng (adjacency) giữa các bộ định tuyến.
    • Database Description (DBD): Đồng bộ hóa cơ sở dữ liệu link-state giữa các bộ định tuyến.
    • Link-State Request (LSR): Yêu cầu thông tin trạng thái liên kết từ router khác.
    • Link-State Update (LSU): Gửi bản cập nhật trạng thái liên kết.
    • Link-State Acknowledgment (LSAck): Xác nhận việc nhận gói tin OSPF
  • Cơ sở dữ liệu OSPF (Databases)
    • Adjacency Database: Lưu thông tin về các bộ định tuyến láng giềng đã thiết lập giao tiếp hai chiều.
    • Link-State Database (LSDB): Chứa thông tin về topology mạng. LSDB là cơ sở để các router chạy thuật toán SPF.
    • Forwarding Database: Tạo bảng định tuyến (routing table) từ kết quả của thuật toán SPF.
  • Thuật toán SPF (Shortest Path First)
    • OSPF sử dụng thuật toán Dijkstra để tính toán đường đi ngắn nhất giữa các nút mạng. Thuật toán này xây dựng cây SPF từ router gốc, sau đó chọn các tuyến đường tốt nhất để đưa vào bảng định tuyến.
  • Khu vực OSPF (OSPF Areas)
    • Area 0 (Backbone Area): Là khu vực xương sống kết nối các khu vực khác.
    • Các khu vực khác giúp giảm tải bảng định tuyến và cải thiện hiệu suất.
1742969313983.png

  • DR và BDR trên mạng Multiaccess
    • Designated Router (DR): Thu thập và phân phối thông tin LSAs.
    • Backup Designated Router (BDR): Hỗ trợ DR khi DR gặp sự cố.
    • DR và BDR giảm thiểu lượng gói tin OSPF trên mạng multiaccess.
    • Router ID có id cao nhất sẽ được chọn là DR và Router ID có id cao thứ 2 sẽ được chọn là BDR
  • Router ID
    • Mỗi router trong mạng OSPF có một Router ID duy nhất để định danh. Router ID được chọn dựa trên thứ tự ưu tiên:
      1. Được cấu hình thủ công.
      2. Địa chỉ IP cao nhất trên interface loopback.
      3. Địa chỉ IP cao nhất trên các interface vật lý đang hoạt động

3. Trạng thái hoạt động của OSPF​

  • Down State
    • Chưa nhận được bất kỳ gói tin Hello nào từ các router láng giềng.
    • Bộ định tuyến bắt đầu gửi gói Hello để phát hiện láng giềng.
  • Init State
    • Gói Hello được nhận từ các bộ định tuyến khác.
    • Gói Hello này chứa thông tin về Router ID của các láng giềng.
  • Two-Way State
    • Giao tiếp hai chiều được thiết lập giữa các router.
    • Trên mạng multiaccess (như Ethernet), giai đoạn này sẽ thực hiện bầu chọn DR (Designated Router) và BDR (Backup Designated Router).
  • ExStart State
    • Hai router quyết định ai sẽ bắt đầu quá trình trao đổi cơ sở dữ liệu.
    • Sequence number (số thứ tự gói tin) được thỏa thuận.
  • Exchange State
    • Các router trao đổi gói Database Description (DBD) để so sánh cơ sở dữ liệu trạng thái liên kết (LSDB).
    • Gói DBD mô tả thông tin về các liên kết mạng (links).
  • Loading State
    • Nếu một router phát hiện rằng cơ sở dữ liệu của nó chưa đồng bộ với láng giềng, nó sẽ gửi gói Link-State Request (LSR) để yêu cầu thông tin bổ sung.
    • Láng giềng phản hồi bằng gói Link-State Update (LSU).
  • Full State
    • Quá trình đồng bộ hóa dữ liệu hoàn tất.
    • Các router đã hoàn toàn đồng bộ cơ sở dữ liệu trạng thái liên kết (LSDB) và sẵn sàng hoạt động.
Down → Init → Two-Way là giai đoạn thiết lập mối quan hệ láng giềng cơ bản.
ExStart → Exchange → Loading → Full là giai đoạn đồng bộ hóa cơ sở dữ liệu.

4. Cấu hình OSPF trên router với mô hình Point-to-Point OSPF Networks​


- Để cấu hình OSPF ta dùng lệnh:

Mã:
R1(config)# router ospf process-id

1742966432231.png


  • Process-ID là một số cục bộ (local) trên router để xác định một tiến trình OSPF.
  • Router ID (RID) là một định danh duy nhất (dạng địa chỉ IPv4) dùng để nhận diện router trong OSPF. Router có Router ID cao nhất sẽ được bầu làm DR, và Router ID cao thứ hai là BDR
  • Loopback Interface là giao diện ảo trên router, dùng làm Router ID trong OSPF để tránh thay đổi khi có sự cố với các giao diện vật lý.
- Ví dụ 1 topology cơ bản
1742966499662.png


* Cú pháp cấu hình dùng network command như sau
Mã:
Router(config-router)# network network-address wildcard-mask area area-id
1742966672092.png

Bất cứ interface nào khớp với network-address và wildcard-mask sẽ tham gia gửi và nhận gói tin OSPF và mạng phải cùng 1 area-id

* Có 1 cách khác nữa đó là chỉ định địa chỉ IPv4 cụ thể của giao diện mà bạn muốn kích hoạt OSPF, sử dụng quad zero wildcard mask
Mã:
Router(config-router)# network 10.1.1.5 0.0.0.0 area 0
Router sẽ kích hoạt OSPF trên giao diện chứa địa chỉ IP được chỉ định (ở đây là giao diện Gigabit Ethernet 0/0/0 của R1).
1742966771707.png



** Wildcard Mask là đảo ngược của subnet mask, xác định phạm vi địa chỉ IP mà OSPF áp dụng, được tính bằng cách lấy 255.255.255.255 trừ đi subnet mask. Ví dụ (255.255.255.0 -> 0.0.0.255)

* Cú pháp cấu hình dùng ip ospf command như sau
Mã:
Router(config-if)# ip ospf process-id area area-id
1742966618421.png


* Cấu hình OSPF trên router với mô hình Multiaccess OSPF Networks
1742966842773.png

- OSPF đã tự động chọn DR và BDR. R3 đã được bầu làm DR vì ID bộ định tuyến của nó là 3.3.3.3, cao nhất trong mạng này. R2 là BDR vì nó có ID bộ định tuyến cao thứ hai trong mạng.

- Phần này mình không rõ lắm nên mình sẽ không đề cập trong bài viết này

5. Cost OSPF​

- Vì OSPF định tuyến dựa trên thuật toán Dijkstra để tìm đường ngắn nhất nên phải tính cost của đường đi. Cách tính như sau

Cost = reference bandwidth / interface bandwidth

* Reference bandwidth mặc định là 10^8 nên công thức tính cost là

Cost = 100,000,000 bps / interface bandwidth in bps



- Chi tiết tính toán ở bảng
1742966916399.png


- Để điều chỉnh reference bandwidth ta dùng lệnh auto-cost reference-bandwidth (number)

* Giá trị number được biểu thị dưới dạng Mbps

- Ví dụ: lệnh auto-cost reference-bandwidth 1000 để đổi chi phí thành Gbps

- Để về mặc định dùng lệnh auto-cost reference-bandwidth 100
1742967057685.png
cau-hinh-giao-thuc-inh-tuyen-ong-ospf.12245/


- Để tính toán cost thì ta sẽ tính tổng tất cả đường đi

- Ví dụ: tổng chi phí để R1 tới được mạng 10.10.2.0/24 là 11. Điều này là do link đến R2 chi phí = 10 và chi phí mặc định của loopback = 1. => 10 + 1 = 11

6. Default Route trong OSPF​


- OSPF không tự động quảng bá Default Route, nên cần chỉ định thủ công bằng lệnh:
Mã:
Router(config)# ip route 0.0.0.0 0.0.0.0 < next-hop-address | exit-intf >
Router(config-router)# default-information originate

Sau khi cấu hình, kiểm tra bảng định tuyến OSPF với lệnh Router# show ip route ospf nó sẽ hiển thị:
1742967114722.png


Phần cấu hình của bài viết ở ĐÂYĐÂY
 
Sửa lần cuối:
Cho mình hỏi, các area khác nhau trong hệ thống OSPF có giao tiếp được với nhau không? Và 1 thiết bị có thể tham gia tối đa bao nhiêu area cùng 1 lúc?
 
Cảm ơn câu hỏi của chị. Em sẽ trả lời thắc mắc đó như sau
+ Các area khác nhau trong hệ thống OSPF có giao tiếp được với nhau không?
  • Câu trả lời là có nhưng phải phụ thuộc vào Area 0 và ABR - Area Border Router
  • Ví dụ area 1 muốn giao tiếp với area 2 thì cả 2 phải kết nối qua area 0 và và dữ liệu giữa các area phải đi qua ABR (Area Border Router)
* Giải thích về ABR: Router có cổng Gi0/0 thuộc Area 0 và cổng Gi0/1 thuộc Area 1 thì Router này là ABR

+ Một thiết bị có thể tham gia tối đa bao nhiêu area?
  • Không giới hạn số lượng area, nhưng nên giới hạn để tối ưu hiệu suất.
 
Back
Top