Bảng định tuyến đóng vai trò then chốt trong mạng IP, giải quyết bài toán quan trọng của mọi công nghệ truyền thông: chuyển mạch (switching) và định tuyến (routing). Bài viết này sẽ cung cấp một cái nhìn tổng quan và chi tiết về bảng định tuyến, từ cấu trúc, phân loại đến nguyên tắc hoạt động, giúp bạn hiểu rõ hơn về cách thức hoạt động của mạng IP.
Mục Lục
1. Tổng Quan về Bảng Định Tuyến
Trong mạng IP sử dụng chuyển mạch gói, khi số lượng người dùng và các node mạng trung chuyển tăng lên đáng kể, các node mạng cần phải “thông minh” hơn để tự động tìm đường đi tối ưu (best route) đến đích. Để giải quyết vấn đề này, các giao thức định tuyến (Routing Protocol) được phát triển để tìm ra best route. Thông tin về best route này được lưu trữ trong một cơ sở dữ liệu, và khi có gói tin đến, router sẽ tham khảo cơ sở dữ liệu này để xác định đường đi cho gói tin. Cơ sở dữ liệu này chính là bảng định tuyến (Routing Table).
2. Cấu Trúc của Bảng Định Tuyến
Mỗi bảng định tuyến bao gồm nhiều entry (mục), trong đó mỗi entry chứa thông tin về các tuyến đường đến các đích khác nhau. Cấu trúc của một entry thường bao gồm các thành phần sau:
- Địa chỉ IP đích (Destination IP): Địa chỉ này có thể là địa chỉ của một host cụ thể hoặc địa chỉ của một mạng. Nếu là địa chỉ host, entry này sẽ có host-ID khác 0 để xác định host đó. Nếu là địa chỉ mạng, phần host-ID sẽ bằng 0.
- Địa chỉ IP của Router Next-Hop (Next-hop IP): Địa chỉ IP của router kế tiếp mà gói tin sẽ được chuyển tiếp đến trên đường đến đích. Trong trường hợp mạng kết nối trực tiếp, trường này có thể chứa địa chỉ của mạng đó.
- Network Interface: Cổng (interface) của router được sử dụng để gửi gói tin đến next-hop.
- Cờ (Flags): Cho biết nguồn gốc của tuyến (route). Ví dụ:
S: Static Route (Tuyến tĩnh, được cấu hình thủ công)C: Connected Route (Tuyến trực tiếp kết nối)O: OSPF Route (Tuyến được học từ giao thức OSPF)
- Metric: Giá trị thể hiện “khoảng cách” từ router hiện tại đến địa chỉ IP đích. Giá trị này chỉ có ý nghĩa so sánh khi các route sử dụng cùng một giao thức định tuyến.
- Administrative Distance (AD): Tham số ưu tiên do người quản trị mạng gán cho các tuyến trong bảng định tuyến, thường được gán cho các giao thức định tuyến. Giá trị AD nằm trong khoảng từ 0 đến 255, giá trị càng nhỏ thì tuyến đường càng được ưu tiên. Giá trị 255 có nghĩa là tuyến đường đó không bao giờ được sử dụng.
3. Phân Loại Route trong Bảng Định Tuyến Cisco
Trong bảng định tuyến của Cisco, chúng ta có thể thấy hai loại route chính:
-
Level 1 Route: Là route có subnet mask bằng hoặc nhỏ hơn classful mask của địa chỉ mạng. Level 1 Route lại được chia thành hai loại nhỏ hơn:
- Level 1 Ultimate Route: Chứa đầy đủ thông tin về địa chỉ IP của next-hop và/hoặc một interface đầu ra. Đây là loại route hoàn chỉnh, cho biết chính xác cách thức chuyển tiếp gói tin.
- Level 1 Parent Route: Là một network route không chứa thông tin về địa chỉ IP của next-hop hoặc interface đầu ra. Nó đóng vai trò như một “đề mục” để chỉ thị sự xuất hiện của Level 2 Route (child route). Level 1 Parent Route được tạo tự động khi một subnet được thêm vào bảng định tuyến.
-
Level 2 Route: Là route đến một subnet của một classful subnet. Để dễ hiểu hơn, hãy hình dung một mạng lớn với classful subnet (Level 1 Parent). Mạng lớn này được chia thành nhiều mạng nhỏ (child subnet), và Level 2 Route chính là các route đến các mạng nhỏ này.
Ví dụ: Mạng 172.16.0.0/24 là một Level 1 Parent Route. Mạng này có thể được chia nhỏ thành các subnet như 172.16.4.0/24, 172.16.1.0/24, 172.16.3.0/24, và các Layer 2 Route sẽ là các route đến các mạng này.
4. Nguyên Tắc Tra Bảng Định Tuyến (Pruning Rules)
RFC1812 quy định các nguyên tắc (Pruning Rules) được sử dụng để tra bảng định tuyến khi biết địa chỉ đích (destination IP) của gói tin. Sau khi áp dụng Pruning Rules, các trường hợp có thể xảy ra là:
- Tìm được một route duy nhất: Router sẽ chuyển tiếp gói tin theo route này.
- Không tìm được route nào phù hợp: Gói tin sẽ bị loại bỏ vì không tìm thấy đường đến đích. Router sẽ gửi một bản tin ICMP đến nguồn của gói tin, thông báo lỗi “Destination Unreachable”.
- Tìm được nhiều hơn một tuyến đường phù hợp: Trong trường hợp này, router có thể chọn ngẫu nhiên một tuyến đường, hoặc thực hiện chính sách load-splitting bằng cách chọn tuyến ít được sử dụng nhất. Cách thức xử lý cụ thể sẽ phụ thuộc vào giải pháp của từng nhà sản xuất.
Dưới đây là tóm tắt các luật chính của Pruning Rules:
- Luật 1 – Basic Match: Loại bỏ tất cả các route có địa chỉ đích không khớp với địa chỉ đích của gói tin. Ví dụ, nếu bảng định tuyến có các route:
{128.12.0.0/16, 10.0.0.0/8, 10.144.0.0/16, 10.144.2.0/24}và gói tin có địa chỉ đích là10.144.2.5, luật này sẽ loại bỏ route128.12.0.0/16, chỉ giữ lại các route{10.0.0.0/8, 10.144.0.0/16, 10.144.2.0/24}. - Luật 2 – Longest Match: Chọn route có subnet mask dài nhất (prefix length dài nhất) mà khớp với prefix length của địa chỉ đích cần tìm.
- Luật 3 – Weak TOS: (Không bắt buộc trong chuẩn RFC1812, ít được sử dụng)
- Luật 4 – Best Metric: Kiểm tra giá trị metric của các route thuộc cùng một giao thức định tuyến, và chọn route có metric nhỏ nhất cho mỗi giao thức định tuyến.
- Luật 5 – Vendor Policy: Loại bỏ tuyến có Administrative Distance (AD) lớn hơn. Route có AD nhỏ nhất sẽ được lựa chọn.
Kết luận
Bảng định tuyến là một thành phần quan trọng trong mạng IP, cho phép router đưa ra quyết định chính xác về đường đi của gói tin. Việc hiểu rõ cấu trúc, phân loại và nguyên tắc hoạt động của bảng định tuyến là rất quan trọng đối với các chuyên gia mạng để thiết kế, triển khai và quản lý mạng hiệu quả.
