Loading...

Bài 47: Định Tuyến Động Là Gì — Distance Vector vs Link State

💡 Liên hệ thực tế

Ở Bài 44-46, bạn đã thành thạo Static Route — tự tay khai báo từng đường đi. Nhưng hãy tưởng tượng VNExperts có 50 Router trải khắp các chi nhánh — nếu chỉ dùng Static Route, mỗi khi thêm 1 chi nhánh mới hoặc 1 đường dây bị đứt, quản trị viên phải cập nhật thủ công trên tất cả 50 Router. Đây chính là giới hạn lớn nhất của Static Route ở quy mô lớn.

🔄 Định tuyến động (Dynamic Routing) giải quyết đúng vấn đề này — các Router tự động trao đổi thông tin với nhau, tự xây dựng và cập nhật Routing Table mà không cần con người can thiệp mỗi lần có thay đổi.


📘 Kiến thức cốt lõi

⚖️ So sánh Static Route và Dynamic Routing:

Tiêu chíStatic RouteDynamic Routing
Cách xây dựng Routing Table Quản trị viên tự tay khai báo Router tự động trao đổi thông tin
Khả năng tự thích ứng khi mạng thay đổi Không — cần cập nhật thủ công Có — tự động phát hiện và cập nhật
Độ phù hợp về quy mô Mạng nhỏ, ít thay đổi Mạng lớn, thường xuyên thay đổi
Tài nguyên tiêu tốn Không tốn thêm CPU/băng thông Tốn thêm CPU và băng thông để trao đổi thông tin định tuyến
Administrative Distance Thấp (1) — rất được tin tưởng Tùy giao thức (cao hơn Static, ví dụ OSPF = 110)

⚖️ Administrative Distance (AD) là gì?

Khi Routing Table nhận được thông tin về cùng 1 mạng đích từ nhiều nguồn khác nhau (ví dụ vừa có Static Route, vừa có OSPF, vừa có EIGRP cùng chỉ đến 1 mạng), Router cần 1 tiêu chí để quyết định tin nguồn nào hơn. Đó chính là vai trò của Administrative Distance — một con số từ 0 đến 255, thể hiện mức độ "đáng tin cậy" của từng nguồn thông tin định tuyến. AD càng thấp, càng được ưu tiên đưa vào Routing Table.

Nguồn định tuyếnAdministrative Distance (AD)
Connected (mạng đấu trực tiếp vào Router) 0
Static Route 1
EIGRP (nội bộ) 90
OSPF 110
IS-IS 115
RIP 120
Unknown / không xác định 255 (không bao giờ được dùng)

🎯 Ví dụ: nếu cùng 1 mạng đích 192.168.10.0/24 vừa được khai báo bằng Static Route (AD=1), vừa được học qua OSPF (AD=110), Router sẽ ưu tiên Static Route vì AD thấp hơn — bất kể đường đi qua OSPF có ngắn hơn hay không. Đây chính là lý do Static Route mặc định luôn "thắng" các giao thức định tuyến động nếu không có cấu hình gì đặc biệt (như Floating Static Route đã học ở Bài 45, dùng để cố tình đẩy AD cao hơn nhằm nhường quyền ưu tiên cho Dynamic Routing).

📎 Phân biệt AD với Metric: AD dùng để so sánh giữa các nguồn/giao thức khác nhau (Static vs OSPF vs EIGRP...), còn Metric (ví dụ hop count của RIP, Cost của OSPF - học ở bài 48) dùng để so sánh giữa nhiều đường đi trong cùng 1 giao thức. Router luôn xét AD trước — chỉ khi AD bằng nhau mới xét tiếp đến Metric.

🗺️ 2 trường phái chính của giao thức định tuyến động:

📏 Distance Vector — "hỏi hàng xóm, không tự vẽ bản đồ toàn cảnh":

Mỗi Router chỉ biết thông tin cơ bản: "Muốn đến mạng X, đi hướng nào, và cách bao xa (bao nhiêu chặng — hop count)" — dựa hoàn toàn vào những gì hàng xóm trực tiếp báo lại, không có "cái nhìn toàn cảnh" về cấu trúc mạng. Ví dụ tiêu biểu: RIP (Routing Information Protocol) — giao thức cũ, ít dùng trong thực tế hiện đại nhưng vẫn xuất hiện trong đề thi CCNA ở mức khái niệm.

🗺️ Link State — "mỗi Router tự vẽ ra toàn bộ bản đồ mạng":

Mỗi Router thu thập thông tin về toàn bộ cấu trúc mạng (không chỉ từ hàng xóm trực tiếp), tự xây dựng 1 "bản đồ" đầy đủ, sau đó tự tính toán ra đường đi ngắn nhất từ bản đồ đó. Ví dụ tiêu biểu và cũng là giao thức trọng tâm của CCNA: OSPF (Open Shortest Path First) — sẽ học chi tiết từ Bài 48 trở đi.

🎯 Ẩn dụ dễ nhớ để phân biệt 2 trường phái:

Distance Vector giống như hỏi đường từng người dân dọc đường đi: "Từ đây đến chợ đi hướng nào, xa không?" — bạn tin tưởng câu trả lời của người ngay trước mặt mà không tự kiểm chứng toàn bộ tuyến đường.

Link State giống như bạn tự mua 1 tấm bản đồ đầy đủ toàn thành phố, tự nhìn vào bản đồ và tính ra đường ngắn nhất — không cần hỏi ai, vì bạn đã có "cái nhìn toàn cảnh".

Distance VectorLink State
Nguồn thông tin Chỉ từ hàng xóm trực tiếp Toàn bộ cấu trúc mạng
Tốc độ hội tụ khi có thay đổi Chậm hơn Nhanh hơn
Yêu cầu tài nguyên (CPU, RAM) Thấp hơn Cao hơn (cần lưu và xử lý toàn bộ bản đồ)
Ví dụ giao thức RIP OSPF, IS-IS

So sánh cách Distance Vector và Link State xây dựng Routing Table Sơ đồ hai cột: bên trái Distance Vector chỉ Router A trao đổi thông tin với hàng xóm trực tiếp Router B mà không thấy được toàn bộ mạng phía sau; bên phải Link State cho thấy Router A tự xây dựng bản đồ đầy đủ của toàn bộ cấu trúc mạng gồm nhiều Router Distance Vector vs Link State — So sánh cách xây dựng Routing Table Định tuyến theo lời đồn (Distance Vector) vs Tự vẽ bản đồ toàn mạng (Link State) Distance Vector (RIP) Router A Router B ? Chỉ nghe thông tin từ hàng xóm trực tiếp "Routing by rumor" — Không biết rõ cấu trúc toàn mạng Link State (OSPF, IS-IS) Router A Router B Router C Thu thập LSA để tự vẽ bản đồ toàn mạng (SPF) Chương trình CCNA 200-301 tập trung chủ yếu vào giao thức OSPF (Link State)

📎 EIGRP nằm ở đâu trong 2 trường phái này? EIGRP (Enhanced Interior Gateway Routing Protocol) do Cisco phát triển, thường bị xếp nhầm chung với RIP vào nhóm Distance Vector thuần túy — nhưng thực chất EIGRP là Advanced Distance Vector (hybrid): vẫn dựa trên thông tin từ hàng xóm trực tiếp như Distance Vector, nhưng dùng thuật toán DUAL (Diffusing Update Algorithm) để hội tụ nhanh hơn nhiều so với Distance Vector cổ điển như RIP, gần tiệm cận tốc độ của Link State. Ở cấp CCNA 200-301 hiện tại, EIGRP không còn là nội dung cấu hình bắt buộc trong đề thi (trọng tâm chính là OSPF) — nhưng vẫn cần nhớ Administrative Distance mặc định của EIGRP là 90, thấp hơn (đáng tin cậy hơn) OSPF (110), vì đây là kiến thức nền tảng hay được hỏi dưới dạng so sánh AD giữa các giao thức.

💡 CCNA 200-301 tập trung chủ yếu vào OSPF (Link State) vì đây là giao thức phổ biến nhất trong mạng doanh nghiệp thực tế hiện nay — RIP chỉ còn xuất hiện ở mức khái niệm để so sánh, hiếm khi triển khai mới trong hệ thống hiện đại.

🔍 TTL & Traceroute — "nhìn thấy" từng chặng Router mà gói tin đi qua

Quay lại ví dụ 50 Router của VNExperts ở đầu bài: khi 1 gói tin đi từ chi nhánh này sang chi nhánh khác, nó có thể phải đi qua nhiều Router trung gian — mỗi Router đó gọi là 1 hop (chặng). Làm sao để biết chính xác gói tin đã đi qua bao nhiêu chặng, và chặng nào đang gây chậm trễ hoặc đứt kết nối? Đây là lúc 2 công cụ gắn liền với ICMP (đã học ở Bài 20) phát huy tác dụng.

⏳ TTL (Time To Live) là 1 trường trong IP header, mang giá trị số nguyên (thường mặc định 64, 128 tùy hệ điều hành). Mỗi khi gói tin đi qua 1 Router, Router đó sẽ trừ TTL đi 1 trước khi chuyển tiếp. Nếu TTL giảm về 0 mà gói tin vẫn chưa đến đích, Router hiện tại sẽ hủy gói tin và gửi ngược lại nguồn 1 thông điệp ICMP Time Exceeded, báo rằng gói tin đã "hết hạn sử dụng" trước khi đến nơi.

🎯 TTL không phải đơn vị thời gian thực (giây/phút) như tên gọi dễ gây hiểu lầm — nó là bộ đếm số chặng tối đa, tồn tại chủ yếu để tránh gói tin bị kẹt lặp vô hạn trong mạng nếu routing table có cấu hình sai gây loop.

🗺️ Traceroute — lợi dụng chính cơ chế TTL để "vẽ" ra đường đi:

Lệnh traceroute (Linux/macOS) hoặc tracert (Windows) khai thác đúng cơ chế TTL ở trên theo cách rất khéo léo:

  1. Gửi gói tin đầu tiên với TTL = 1 → Router đầu tiên nhận, trừ TTL về 0, hủy gói và trả về ICMP Time Exceeded — từ đó nguồn biết được Router #1 trên đường đi.
  2. Gửi tiếp gói tin với TTL = 2 → gói tin qua được Router #1 (TTL còn 1), đến Router #2 thì TTL về 0, Router #2 trả về Time Exceeded — biết được Router #2.
  3. Lặp lại, tăng dần TTL = 3, 4, 5... cho đến khi gói tin cuối cùng đến được đích thật sự (nhận ICMP Echo Reply thay vì Time Exceeded) — từ đó dựng được toàn bộ danh sách Router trung gian theo đúng thứ tự gói tin đã đi qua.

TTL & Traceroute — dò từng chặng bằng cách tăng dần TTL Sơ đồ traceroute hiển thị rõ TTL giảm qua từng hop chuẩn Cisco Press. TTL & Traceroute — Cơ chế dò từng chặng Router Giá trị TTL giảm đi 1 sau khi đi qua mỗi Router Gói #1 — Bắt đầu với TTL = 1 Host A Router 1 Router 2 Đích TTL=1 (TTL giảm còn 0 ➔ Huỷ gói tin) ICMP Time Exceeded (Type 11) → Xác định Hop 1: Router 1 Gói #2 — Bắt đầu với TTL = 2 Host A Router 1 Router 2 Đích TTL=2 TTL=1 (TTL giảm còn 0 ➔ Huỷ gói tin) ICMP Time Exceeded (Type 11) → Xác định Hop 2: Router 2 Gói #3 — Bắt đầu với TTL = 3 Host A Router 1 Router 2 Đích TTL=3 TTL=2 TTL=1 (TTL giảm còn 1) Phản hồi từ đích  (ICMP Echo Reply hoặc ICMP Port Unreachable tùy hệ điều hành) Danh sách Chặng thu được: Hop 1 (Router 1) ➔ Hop 2 (Router 2) ➔ Hop 3 (Đích)

C:\> tracert 8.8.8.8

1    2 ms    1 ms    1 ms   192.168.1.1
2    8 ms    7 ms    9 ms   10.10.0.1
3   15 ms   14 ms   16 ms   203.0.113.1
4   18 ms   17 ms   18 ms   8.8.8.8

📎 Nhìn vào kết quả trên: mỗi dòng là 1 hop, cột đầu là số thứ tự Router, 3 cột thời gian là 3 lần đo RTT đến đúng Router đó (đo bằng cùng cơ chế ICMP Echo Request/Reply đã học ở Bài 20). Đây chính là công cụ troubleshooting quan trọng bậc nhất khi cần xác định chặng nào trong hành trình đang gây chậm trễ hoặc mất kết nối — thay vì chỉ biết "không ping được tới đích" mà không rõ đứt ở đâu.


💬 Hỏi & Đáp nhanh

❓ Dynamic Routing có hoàn toàn thay thế được Static Route trong thực tế không? 

❌ Không hoàn toàn — nhiều hệ thống thực tế kết hợp cả hai: dùng Dynamic Routing (OSPF) cho phần lớn mạng nội bộ phức tạp, nhưng vẫn giữ Static Route (hoặc Default Route) cho các trường hợp đơn giản, cố định như đường ra Internet — đúng tinh thần đã học ở Bài 45 về Floating Static Route.

❓ Vì sao Link State hội tụ nhanh hơn Distance Vector khi mạng có thay đổi? 

✅ Vì mỗi Router chạy Link State đã có sẵn bản đồ đầy đủ của toàn mạng — khi có thay đổi (ví dụ 1 đường bị đứt), Router chỉ cần cập nhật đúng phần bản đồ bị ảnh hưởng và tính lại đường đi ngay lập tức. Ngược lại, Distance Vector phải chờ thông tin "truyền tai nhau" tuần tự qua từng Router láng giềng, mất nhiều thời gian hơn để toàn mạng đồng bộ lại thông tin mới.

❓ Nếu Link State tốt hơn về mọi mặt, vì sao RIP (Distance Vector) vẫn còn được nhắc đến trong CCNA? 

✅ RIP được giữ lại trong chương trình học chủ yếu vì giá trị lịch sử và khái niệm nền tảng — hiểu rõ hạn chế của Distance Vector giúp bạn hiểu sâu hơn vì sao Link State (OSPF) ra đời và được ưu tiên. Trong thực tế triển khai mới hiện nay, RIP hầu như không còn được chọn cho hệ thống doanh nghiệp.

❓ Vậy EIGRP có còn cần học kỹ để đi thi không? 

✅ Không cần học cấu hình chi tiết — blueprint CCNA 200-301 hiện tại chỉ tập trung cấu hình sâu vào OSPF. Với EIGRP, chỉ cần nhớ đây là giao thức hybrid (Advanced Distance Vector) của Cisco và Administrative Distance mặc định là 90 là đủ cho mức yêu cầu hiện tại của kỳ thi.

❓ ping và traceroute khác nhau ở điểm nào, khi nào nên dùng cái nào? 

✅ ping chỉ cho biết đích  hay không trả lời (kèm RTT), không nói được gói tin bị nghẽn/đứt ở chặng nào. traceroute cho biết toàn bộ hành trình qua từng Router — nên khi ping thất bại hoặc chậm bất thường, bước tiếp theo hợp lý là chạy traceroute để xác định chính xác chặng nào đang có vấn đề, thay vì đoán mò.


📝 Bài tập đánh giá

Câu 1: Điểm khác biệt cốt lõi giữa Distance Vector và Link State là gì?

  • A. Distance Vector chỉ biết thông tin từ hàng xóm trực tiếp, Link State tự xây dựng bản đồ toàn bộ mạng
  • B. Distance Vector chỉ dùng được cho IPv6
  • C. Link State không cần Router để hoạt động
  • D. Không có khác biệt, đây là 2 tên gọi của cùng 1 giao thức

Câu 2: Giao thức định tuyến động nào được CCNA 200-301 tập trung giảng dạy nhiều nhất?

  • A. RIP
  • B. OSPF
  • C. BGP
  • D. EIGRP

Câu 3: Khi TTL của 1 gói tin giảm về 0 trước khi đến đích, Router hiện tại sẽ làm gì?

  • A. Tự động tăng TTL lên và tiếp tục chuyển tiếp gói tin
  • B. Hủy gói tin và gửi lại nguồn 1 thông điệp ICMP Time Exceeded
  • C. Chuyển gói tin sang giao thức UDP để tiếp tục gửi đi
  • D. Lưu gói tin lại và chờ đến khi có đường đi mới

👉 Đáp án:

Câu 1: A — Distance Vector dựa vào thông tin từ hàng xóm trực tiếp (như hỏi đường từng người), còn Link State tự xây dựng bản đồ đầy đủ toàn mạng để tính toán đường đi.

Câu 2: B — OSPF (Open Shortest Path First) là giao thức Link State phổ biến nhất trong thực tế và là trọng tâm chính của CCNA 200-301, sẽ được học chi tiết từ Bài 48 trở đi.

Câu 3: B — Khi TTL về 0, Router hủy gói tin và gửi lại nguồn thông điệp ICMP Time Exceeded — đây chính là cơ chế mà traceroute khai thác để dò ra từng chặng Router trên đường đi.


📚 Bài viết thuộc khóa học CCNA của VNExperts

🧭 Điều hướng

⬅️ Bài trước🏠 Mục lục khóa họcBài kế tiếp ➡️
Bài 46: Static Route cho IPv6 Mục lục khóa học CCNA Bài 48: OSPFv2 — khái niệm cơ bản, Area, Router ID, Cost