OSPF [LT-03] Tìm hiểu về OSPF table và các gói tin trong OSPF

phile

Internship/Fresher
Jan 4, 2021
87
16
8
Mục Lục:
I. Khái quát về giao thức định tuyến động OSPF
II. Tìm hiểu về loại table trong OSPF
III. Tìm hiểu các loại gói tìn trong OSPF

[LT-03] Tìm hiểu về OSPF table và các gói tin trong OSPF

Lưu ý: tất cả các thiết bị được sử dụng trong chuổi series này đều được dựng trên PNETLab với cisco dùng firmware CSR1000v 9.17.03 và juniper dùng firmware vQFX 14.8R1.9

I. Khái quát về giao thức định tuyến động OSPF

OSPF (Open Shortest Path First) là một giao thức định tuyến nội bộ dựa trên thuật toán link-state routing được sử dụng rộng rãi trong các mạng máy tính, đặc biệt là mạng doanh nghiệp có quy mô lớn. Nó hoạt động bằng cách cho phép các thiết bị mạng trao đổi thông tin về trạng thái liên kết của chúng, từ đó xây dựng một cơ sở dữ liệu liên kết toàn mạng có nghĩa là các thiết mạng sẽ nắm bắt được toàn bộ thông tin của các thiết bị khác cấu hình OSPF. Dựa trên cơ sở dữ liệu này, OSPF sử dụng thuật toán Dijkstra để tính toán đường đi ngắn nhất (SPF) đến các mạng đích, giúp đảm bảo lưu lượng mạng được định tuyến hiệu quả và tối ưu.

1715669454085.png


OSPF có các đặc điểm chính sau đây:
  1. Link-State Routing Protocol (Giao thức định tuyến trạng thái liên kết):
    • OSPF duy trì một cơ sở dữ liệu trạng thái liên kết (Link-State Database - LSDB) của toàn bộ mạng, cho phép mỗi router có một cái nhìn toàn diện về cấu trúc mạng.
    • Mỗi router tạo ra các bản tin trạng thái liên kết (Link-State Advertisements - LSAs) và gửi chúng tới tất cả các router khác trong vùng OSPF.
  2. Hierarchical Design (Thiết kế phân cấp):
    • OSPF hỗ trợ một kiến trúc phân cấp với các vùng (areas) để giảm thiểu lượng thông tin và kích thước của bảng định tuyến.
    • Area 0 (backbone area) là vùng lõi và tất cả các vùng khác phải kết nối với vùng này để có thể giao tiếp với nhau.
  3. Fast Convergence (Hội tụ nhanh):
    • Khi có sự thay đổi trong mạng, OSPF nhanh chóng cập nhật trạng thái liên kết và tái tính toán các tuyến đường.
    • Sử dụng thuật toán Dijkstra để tính toán đường đi ngắn nhất (Shortest Path First).
  4. Authentication (Xác thực):
    • Hỗ trợ xác thực để đảm bảo rằng chỉ các router đáng tin cậy mới có thể tham gia vào quá trình định tuyến.
    • Có thể sử dụng xác thực đơn giản (plain text) hoặc MD5.
  5. VLSM (Variable Length Subnet Masking) và CIDR (Classless Inter-Domain Routing):
    • OSPF hỗ trợ VLSM và CIDR, cho phép sử dụng hiệu quả không gian địa chỉ IP.
  6. Load Balancing (Cân bằng tải):
    • Hỗ trợ cân bằng tải qua nhiều đường có metric/cost bằng nhau (Equal-Cost Multi-Path, ECMP).
II. Tìm hiểu về loại table trong OSPF

Trong giao thức OSPF sẽ duy trì 3 table, trong quá trình hoạt động của nó bao gồm:
  • Neighbor Table: Bảng này lưu trữ thông tin về các neighbor router OSPF mà router đã thiết lập mối quan hệ adjacencies. Neighbor Table giúp router quản lý và theo dõi trạng thái của các liên kết với các router lân cận.
  • Topology Table: Bảng này lưu trữ tất cả các Link-State Advertisements (LSAs) mà router nhận được từ các router khác trong cùng một khu vực OSPF. LSDB (Link-State Database) là cơ sở dữ liệu tập trung lưu trữ toàn bộ cấu trúc mạng của một khu vực OSPF.
  • Routing Table: Bảng định tuyến chứa thông tin về các tuyến đường tốt nhất mà router sẽ sử dụng để chuyển tiếp gói tin đến các mạng đích. Đây là bảng mà router thực sự sử dụng để quyết định gửi gói tin ra khỏi interface nào.
Tất cả các bảng trên hoạt động có sự liên kết với nhau và giúp OSPF xác định được các lớp mạng học và quảng bá với các thiết bị router trong mạng OSPF.

Mỗi OSPF router sẽ duy trì một bảng neighbor, trong đó có chứa thông tin của các router OSPF với link kết nối trực tiếp với nó. Mỗi mục trong bảng Neighbor bao gồm thông tin về neighbor router như: Router ID, trạng thái mối quan hệ (ví dụ: 2-Way, Full), địa chỉ IP của neighbor, và interface mà neighbor được kết nối. Trong bảng neighbor thông tin quan trọng nhất là trạng thái mối quan hệ (State of Adjacency) nó giúp xác định được trạng thái kết nối với router OSPF neighbor.

Như hình bên dưới thấy được sau khi đã cấu hình OSPF lúc này kiểm tra bảng neighbor sẽ thấy được các thông tin của các router ospf hàng xóm, thông tin trong bảng neighbor sẽ để tâm đến các thông số:
  • Neighbor ID: địa chỉ đại diện phân biệt giữa các Router trong OSPF theo mặc định nó sẽ lấy địa chỉ IP cao nhất trong các interface đang active, ưu tiên cổng loopback hoặc có thể cấu hình theo ý muốn.
  • State: trạng thái hoạt động giữa thiết bị router OSPF và các router OSPF hàng xóm kết nối trực tiếp với nó.
  • Dead Time: thời gian timeout mà nếu về 0 thì sẽ ngầm hiểu là router OSPF hàng xóm bị lỗi và sẽ xóa hàng xóm đó ra bảng neighbor.
  • Address Interface: địa chỉ IP của router OSPF neighbor và cổng trên thiết bị đang kết nối tới router OSPF neighbor
Lưu ý: thông tin đang được hiển thị là trên thiết bị cisco
1715688926499.png

Giao thức OSPF sau khi thiết lập xong chứa tất cả các thông tin mà nó biết từ các Router OSPF khác và bảng Topology, ngoài ra nó còn có tên khác là Link State Database (LSDB). LSDB là một bảng chứa đựng tất cả thông tin mà Router OSPF biết được về Topology hệ thống (do OSPF là giao thức link state nên trên mỗi Router sẽ biết được thông tin trên các Router khác trong cùng một mạng OSPF) mỗi thông tin biết được sẽ được trình bày theo 1 dòng gọi là Link State Advertisement (LSA) nên có thể nói LSDB là tập hợp toàn bộ LSA mà nó biết.

Như hình bên dưới thấy được bảng Topology trên OSPF sẽ Router này có ID là 1.1.1.1 và nó biết được thông tin của router OSPF khác 2.2.2.2, 3.3.3.3. Cũng như thấy được các subnet trong hệ thống.

Lưu ý: thông tin đang được hiển thị là trên thiết bị cisco, chi tiết các thông số sẽ được giới thiệu ở các phần sau của chuỗi series OSPF.
1715690111492.png

Bảng Routing là nơi chứa đựng các route tốt nhất của tất cả các giao thức không ngoại lệ cho OSPF. Sau khi tính toán các thông tin metric/cost từ bảng Topology các route nào có đường đi tốt nhất sẽ được chuyển vào bảng routing như hình bên dưới.

Lưu ý: thông tin đang được hiển thị là trên thiết bị cisco, tùy vào hãng mà giá trị AD của OSPF có thể khác nhau xem các giá trị OSPF theo từng hãng bằng link sau.
1715690442012.png

III. Tìm hiểu các loại gói tìn trong OSPF

OSPF sử dụng nhiều loại gói tin khác nhau để trao đổi thông tin và duy trì hoạt động của giao thức. Dưới đây là một số loại gói tin quan trọng nhất:
  • Hello Packet: Dùng để khám phá và duy trì mối quan hệ với các router láng giềng (neighbors). Hello Packet giúp xác định các neighbor routers và thiết lập quan hệ adjacency với các router đó. Hello packet được gửi định kỳ (mặt định là 10s) vào địa chỉ multicast 224.0.0.5 (địa chỉ dành riêng cho OSPF) trong gói tin cũng bao gồm thông tin của router gửi.
Như hình thấy được gói tin hello là gói tin 2 chiều được gửi và nhận trên tất cả các thiết bị router OSPF Neighbor để thiết lập Adjacency và duy trì trạng thái neighbor.
1715692090473.png

  • Database Description (DBD) Packet: Dùng để mô tả tóm tắt nội dung của LSDB (Link-State Database), gói tin này giúp các router trao đổi và so sánh LSDB để đảm bảo chúng đồng bộ với nhau. Gói tin này giúp router không cần thiết phải gửi full LSDB cho router OSPF neighbor.
Gói tín DBD cũng là gói 2 chiều để tóm tắt các LSAs mà router có để gửi cho neighbor và neighbor cũng thực hiện tương tự.
1715692414971.png

  • Link-State Request (LSR) Packet: Dùng để yêu cầu thông tin chi tiết về một hoặc nhiều LSA cụ thể từ một neighbor router. Khi một router nhận thấy rằng nó thiếu một LSA hoặc cần cập nhật một LSA, nó sẽ gửi LSR Packet.
Khi Router OSPF cần thông tin một hay nhiều LSAs cụ thể nó sẽ gửi gói LSR cho neighbor để xin thông tin gói này là gói 1 chiều.
1715692508197.png

  • Link-State Update (LSU) Packet: Dùng để gửi thông tin chi tiết về một hoặc nhiều LSA. Gói tin này chứa các LSA mới hoặc cập nhật mà router muốn chia sẻ với neighbor.
Khi router neighbor nhận được gói LSR nó sẽ gửi lại gói LSU để cập nhật thông tin LSAs được yêu cầu từ neighbor nó cũng là gói 1 chiều.
1715692566253.png

  • Link-State Acknowledgment (LSAck) Packet: Dùng để xác nhận việc nhận các LSA. Khi một router nhận được một LSA qua LSU Packet, nó sẽ gửi lại một LSAck Packet để xác nhận rằng LSA đã được nhận.
Sau khi đã nhận thành công gói LSU router OSPF sẽ gửi gói LSAck cho neighbor để xác nhận là nó đã nhận thành công gói LSU.
1715692613280.png
 

Attachments

  • 1715690013860.png
    1715690013860.png
    201.6 KB · Views: 0
Last edited:

About us

  • Securityzone.vn là một trang web chuyên về an ninh mạng và công nghệ thông tin. Trang web này cung cấp các bài viết, tin tức, video, diễn đàn và các dịch vụ liên quan đến lĩnh vực này. Securityzone.vn là một trong những cộng đồng IT lớn và uy tín tại Việt Nam, thu hút nhiều người quan tâm và tham gia. Securityzone.vn cũng là nơi để các chuyên gia, nhà nghiên cứu, sinh viên và người yêu thích an ninh mạng có thể trao đổi, học hỏi và chia sẻ kiến thức, kinh nghiệm và giải pháp về các vấn đề bảo mật trong thời đại số.

Quick Navigation

User Menu