Khắc phục sự cố nguồn thông tin định tuyến (Troubleshooting Routing Information Sources)
Khi thiết kế một mạng định tuyến, kỹ sư mạng có rất nhiều lựa chọn để quyết định nguồn cung cấp thông tin định tuyến cho router. Tuyến đường có thể đến từ interface kết nối trực tiếp (connected route), tuyến tĩnh (static route), hoặc từ các giao thức định tuyến động như EIGRP, OSPF, RIP hay BGP.
Chính vì tồn tại nhiều nguồn thông tin như vậy, một câu hỏi rất quan trọng xuất hiện:
Nếu cùng một mạng đích được học từ nhiều nguồn khác nhau, router sẽ tin nguồn nào?
Đây là một khái niệm cực kỳ quan trọng, không chỉ trong thiết kế mạng mà đặc biệt trong troubleshooting. Bởi vì với mỗi destination network, router chỉ chọn một nguồn tốt nhất để cài vào bảng định tuyến (routing table).
Phần này sẽ giải thích cách router đánh giá mức độ tin cậy của từng nguồn thông tin định tuyến, cách bảng định tuyến tương tác với các cấu trúc dữ liệu của giao thức định tuyến, và cách xử lý khi xuất hiện các tuyến không mong muốn.
Routing Table và Data Structure của Routing Protocol hoạt động ra sao?
Để troubleshooting tốt, trước tiên cần hiểu cách router xử lý thông tin định tuyến bên trong.
Khi một router nhận được route từ router láng giềng, thông tin này chưa đi thẳng vào routing table ngay lập tức.
Thay vào đó, route sẽ được lưu vào data structure riêng của giao thức định tuyến.
Ví dụ:
Tại đây, giao thức định tuyến sẽ thực hiện phân tích và chọn ra best path dựa trên metric riêng của nó.
Ví dụ:
Ngoài route học từ neighbor, data structure của routing protocol còn có thể nhận thông tin từ chính local router.
Ví dụ:
Route Redistribution
Router có thể lấy route từ routing table rồi redistribute vào một giao thức định tuyến khác.
Ví dụ:
Ngoài ra, nếu interface được kích hoạt tham gia routing protocol, network của interface đó cũng sẽ được đưa vào data structure của giao thức.
Những nguồn nào có thể cung cấp route cho Routing Table?
Một router hoàn toàn có thể đồng thời nhận route từ nhiều nguồn:
Nếu mỗi nguồn cung cấp route đến các mạng khác nhau thì không có vấn đề gì.
Ví dụ:
Tất cả đều cùng tồn tại bình thường.
Nhưng nếu nhiều nguồn cùng quảng bá chính cùng một destination network thì sao?
Ví dụ:
RIP nói:
10.1.1.0/24 reachable
OSPF cũng nói:
10.1.1.0/24 reachable
Router không thể cài cả hai cùng lúc như primary route.
Nó phải chọn một.
Câu hỏi là:
Nguồn nào đáng tin hơn?
Administrative Distance (AD) – Mức độ tin cậy của nguồn route
Cisco dùng khái niệm Administrative Distance (AD) để đo mức độ tin cậy của nguồn thông tin định tuyến.
Có thể hiểu đơn giản:
AD = độ tin cậy của route source
Nguyên tắc:
AD càng thấp → càng đáng tin → càng được ưu tiên
Ví dụ:
Nếu cả hai cùng học route:
10.1.1.0/24
Router sẽ chọn:
OSPF
vì:
110 < 120
Nói cách khác:
OSPF đáng tin hơn RIP.
Điểm rất quan trọng cần nhớ:
Best path bên trong routing protocol chưa chắc được cài vào routing table.
Ví dụ:
EIGRP có thể chọn best path nội bộ.
Nhưng nếu routing table đang có static route cùng destination với AD thấp hơn, EIGRP route sẽ bị loại.
Default Administrative Distance của các nguồn route
Cisco mặc định các giá trị AD như sau: Connected Route
0
Tin tuyệt đối.
Nếu interface trực tiếp kết nối mạng đó, router tin ngay.
Static Route
1
Rất đáng tin.
Chỉ đứng sau connected route.
EIGRP Summary Route
5
Route summary do EIGRP tạo ra có độ tin cậy rất cao.
eBGP
20
External BGP route đáng tin hơn nhiều IGP.
EIGRP Internal
90
Route nội bộ của EIGRP.
OSPF
110
Mức phổ biến trong enterprise.
IS-IS
115
RIP
120
Khá thấp.
EGP
140
Legacy.
ODR
160
On-Demand Routing.
EIGRP External
170
Route redistribute vào EIGRP.
iBGP
200
Rất thấp về độ tin cậy.
Unknown
255
Không tin.
Route sẽ không được cài.
Kiểm tra Administrative Distance
Dùng lệnh:
show ip route <network>
Ví dụ:
R1# show ip route 10.1.1.0
Output:
Routing entry for 10.1.1.0/26
Known via "connected", distance 0, metric 0
Phân tích:
Known via "connected"
Nguồn route:
Connected
distance 0
AD = 0
Ví dụ thứ hai:
R1# show ip route 10.1.23.0
Output:
Routing entry for 10.1.23.0/24
Known via "eigrp 100", distance 90, metric 3072
Phân tích:
Nguồn route:
EIGRP
Administrative Distance:
90
Metric:
3072
Khi nào route "biến mất" dù giao thức vẫn học được?
Đây là lỗi troubleshooting cực phổ biến.
Ví dụ:
OSPF đã học:
10.10.10.0/24
Nhưng:
show ip route
không thấy route đó.
Nhiều người nghĩ OSPF lỗi.
Không hẳn.
Có thể routing table đang ưu tiên nguồn khác:
vì AD thấp hơn.
Điều này gây:
Administrative Distance = 255
Nếu đặt:
AD = 255
Cisco hiểu:
Do not believe this route
Route sẽ không bao giờ được cài.
Dùng khi muốn chặn route từ một nguồn nào đó.
Floating Static Route – Backup Route kinh điển
Ví dụ:
Bạn có:
Primary path:
EIGRP
AD = 90
Backup path:
Static Route
AD = 1
Nếu giữ nguyên:
Router luôn chọn static route.
Nhưng static route lại đi qua đường WAN chậm hơn.
Kết quả:
suboptimal routing
Giải pháp:
Biến static route thành floating static route.
Ví dụ:
ip route 10.10.10.0 255.255.255.0 192.168.1.1 95
AD = 95
So với:
EIGRP:
90
Kết quả:
Đây là kỹ thuật backup path cực phổ biến trong production.
Góc nhìn troubleshooting thực chiến
Khi route không đúng như kỳ vọng, luôn hỏi:
Router đang tin ai?
Checklist:
show ip route
Xem:
Nếu route bị missing:
Kiểm tra:
Kết luận
Routing protocol không quyết định tất cả.
OSPF có thể nghĩ nó tìm được best path.
EIGRP cũng nghĩ như vậy.
BGP cũng vậy.
Nhưng quyết định cuối cùng thuộc về:
Routing Table + Administrative Distance
Trong troubleshooting thực tế, hiểu AD giúp bạn giải thích rất nhanh các hiện tượng như:
Đây là một trong những kiến thức nền tảng mà mọi network engineer phải cực kỳ vững.
Khi thiết kế một mạng định tuyến, kỹ sư mạng có rất nhiều lựa chọn để quyết định nguồn cung cấp thông tin định tuyến cho router. Tuyến đường có thể đến từ interface kết nối trực tiếp (connected route), tuyến tĩnh (static route), hoặc từ các giao thức định tuyến động như EIGRP, OSPF, RIP hay BGP.
Chính vì tồn tại nhiều nguồn thông tin như vậy, một câu hỏi rất quan trọng xuất hiện:
Nếu cùng một mạng đích được học từ nhiều nguồn khác nhau, router sẽ tin nguồn nào?
Đây là một khái niệm cực kỳ quan trọng, không chỉ trong thiết kế mạng mà đặc biệt trong troubleshooting. Bởi vì với mỗi destination network, router chỉ chọn một nguồn tốt nhất để cài vào bảng định tuyến (routing table).
Phần này sẽ giải thích cách router đánh giá mức độ tin cậy của từng nguồn thông tin định tuyến, cách bảng định tuyến tương tác với các cấu trúc dữ liệu của giao thức định tuyến, và cách xử lý khi xuất hiện các tuyến không mong muốn.
Routing Table và Data Structure của Routing Protocol hoạt động ra sao?
Để troubleshooting tốt, trước tiên cần hiểu cách router xử lý thông tin định tuyến bên trong.
Khi một router nhận được route từ router láng giềng, thông tin này chưa đi thẳng vào routing table ngay lập tức.
Thay vào đó, route sẽ được lưu vào data structure riêng của giao thức định tuyến.
Ví dụ:
- OSPF lưu trong LSDB
- EIGRP lưu trong topology table
- BGP lưu trong BGP table
Tại đây, giao thức định tuyến sẽ thực hiện phân tích và chọn ra best path dựa trên metric riêng của nó.
Ví dụ:
- OSPF dùng cost
- EIGRP dùng composite metric
- RIP dùng hop count
- BGP dùng path attributes
Ngoài route học từ neighbor, data structure của routing protocol còn có thể nhận thông tin từ chính local router.
Ví dụ:
Route Redistribution
Router có thể lấy route từ routing table rồi redistribute vào một giao thức định tuyến khác.
Ví dụ:
- Static route redistribute vào OSPF
- OSPF redistribute vào EIGRP
- Connected route redistribute vào BGP
Ngoài ra, nếu interface được kích hoạt tham gia routing protocol, network của interface đó cũng sẽ được đưa vào data structure của giao thức.
Những nguồn nào có thể cung cấp route cho Routing Table?
Một router hoàn toàn có thể đồng thời nhận route từ nhiều nguồn:
- Connected interface
- Static route
- RIP
- EIGRP
- OSPF
- BGP
Nếu mỗi nguồn cung cấp route đến các mạng khác nhau thì không có vấn đề gì.
Ví dụ:
- Connected route đến 192.168.1.0/24
- Static route đến 172.16.1.0/24
- OSPF route đến 10.10.10.0/24
Tất cả đều cùng tồn tại bình thường.
Nhưng nếu nhiều nguồn cùng quảng bá chính cùng một destination network thì sao?
Ví dụ:
RIP nói:
10.1.1.0/24 reachable
OSPF cũng nói:
10.1.1.0/24 reachable
Router không thể cài cả hai cùng lúc như primary route.
Nó phải chọn một.
Câu hỏi là:
Nguồn nào đáng tin hơn?
Administrative Distance (AD) – Mức độ tin cậy của nguồn route
Cisco dùng khái niệm Administrative Distance (AD) để đo mức độ tin cậy của nguồn thông tin định tuyến.
Có thể hiểu đơn giản:
AD = độ tin cậy của route source
Nguyên tắc:
AD càng thấp → càng đáng tin → càng được ưu tiên
Ví dụ:
- RIP có AD = 120
- OSPF có AD = 110
Nếu cả hai cùng học route:
10.1.1.0/24
Router sẽ chọn:
OSPF
vì:
110 < 120
Nói cách khác:
OSPF đáng tin hơn RIP.
Điểm rất quan trọng cần nhớ:
Best path bên trong routing protocol chưa chắc được cài vào routing table.
Ví dụ:
EIGRP có thể chọn best path nội bộ.
Nhưng nếu routing table đang có static route cùng destination với AD thấp hơn, EIGRP route sẽ bị loại.
Default Administrative Distance của các nguồn route
Cisco mặc định các giá trị AD như sau: Connected Route
0
Tin tuyệt đối.
Nếu interface trực tiếp kết nối mạng đó, router tin ngay.
Static Route
1
Rất đáng tin.
Chỉ đứng sau connected route.
EIGRP Summary Route
5
Route summary do EIGRP tạo ra có độ tin cậy rất cao.
eBGP
20
External BGP route đáng tin hơn nhiều IGP.
EIGRP Internal
90
Route nội bộ của EIGRP.
OSPF
110
Mức phổ biến trong enterprise.
IS-IS
115
RIP
120
Khá thấp.
EGP
140
Legacy.
ODR
160
On-Demand Routing.
EIGRP External
170
Route redistribute vào EIGRP.
iBGP
200
Rất thấp về độ tin cậy.
Unknown
255
Không tin.
Route sẽ không được cài.
Kiểm tra Administrative Distance
Dùng lệnh:
show ip route <network>
Ví dụ:
R1# show ip route 10.1.1.0
Output:
Routing entry for 10.1.1.0/26
Known via "connected", distance 0, metric 0
Phân tích:
Known via "connected"
Nguồn route:
Connected
distance 0
AD = 0
Ví dụ thứ hai:
R1# show ip route 10.1.23.0
Output:
Routing entry for 10.1.23.0/24
Known via "eigrp 100", distance 90, metric 3072
Phân tích:
Nguồn route:
EIGRP
Administrative Distance:
90
Metric:
3072
Khi nào route "biến mất" dù giao thức vẫn học được?
Đây là lỗi troubleshooting cực phổ biến.
Ví dụ:
OSPF đã học:
10.10.10.0/24
Nhưng:
show ip route
không thấy route đó.
Nhiều người nghĩ OSPF lỗi.
Không hẳn.
Có thể routing table đang ưu tiên nguồn khác:
- Static route
- Connected route
- EIGRP
- eBGP
vì AD thấp hơn.
Điều này gây:
- missing routes
- unexpected path selection
- suboptimal routing
Administrative Distance = 255
Nếu đặt:
AD = 255
Cisco hiểu:
Do not believe this route
Route sẽ không bao giờ được cài.
Dùng khi muốn chặn route từ một nguồn nào đó.
Floating Static Route – Backup Route kinh điển
Ví dụ:
Bạn có:
Primary path:
EIGRP
AD = 90
Backup path:
Static Route
AD = 1
Nếu giữ nguyên:
Router luôn chọn static route.
Nhưng static route lại đi qua đường WAN chậm hơn.
Kết quả:
suboptimal routing
Giải pháp:
Biến static route thành floating static route.
Ví dụ:
ip route 10.10.10.0 255.255.255.0 192.168.1.1 95
AD = 95
So với:
EIGRP:
90
Kết quả:
- Bình thường → EIGRP được chọn
- Khi EIGRP fail → static route nổi lên
Đây là kỹ thuật backup path cực phổ biến trong production.
Góc nhìn troubleshooting thực chiến
Khi route không đúng như kỳ vọng, luôn hỏi:
Router đang tin ai?
Checklist:
show ip route
Xem:
- Known via
- distance
- metric
Nếu route bị missing:
Kiểm tra:
- Có static route đè không?
- Có connected route không?
- Có redistribution không?
- Có eBGP route xuất hiện không?
- AD có bị chỉnh tay không?
Kết luận
Routing protocol không quyết định tất cả.
OSPF có thể nghĩ nó tìm được best path.
EIGRP cũng nghĩ như vậy.
BGP cũng vậy.
Nhưng quyết định cuối cùng thuộc về:
Routing Table + Administrative Distance
Trong troubleshooting thực tế, hiểu AD giúp bạn giải thích rất nhanh các hiện tượng như:
- route mất bí ẩn
- traffic đi sai đường
- backup link không hoạt động
- redistribution gây route bất ngờ
- static route vô tình phá failover
Đây là một trong những kiến thức nền tảng mà mọi network engineer phải cực kỳ vững.