Routing Table – Bảng định tuyến

Bảng định tuyến là một phần rất quan trọng trong mạng IP nói chung, và nó liên quan đến một vấn đề then chốt trong mọi công nghệ truyền thông – chuyển mạch (switching) và định tuyến (routing).

1. Overview

Trong mạng IP sử dụng chuyển mạch gói, khi số lượng người dùng và số node mạng trung chuyển là rất lớn, yêu cầu đặt ra là các node mạng phải thông minh hơn, tự động tìm được tuyến đường tốt nhất để đi đến đích (best route). Vì vậy, người ta đã sinh ra các giao thức định tuyến (Routing Protocol) để tìm được best route. Và các best route này sẽ được lưu lại trong một database để khi có gói tin đến, router sẽ tra database và tìm ra được đường đi cho gói tin => database này chính là bảng định tuyến (Routing Table).

2. Cấu tạo bảng định tuyến

Một bảng định tuyến gồm nhiều entry, 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 bao gồm:

  • Địa chỉ IP đích (destination IP): Địa chỉ này có thể là địa chỉ của một host cụ thể, hoặc là một địa chỉ của một mạng. Nếu là địa chỉ host, entry này sẽ có host-ID khác 0 để nhận diện một host. Nếu là địa chỉ mạng, phần host-ID = 0.
  • Địa chỉ IP của next-hop router (next-hop IP), hoặc địa chỉ của một mạng kết nối trực tiếp (directly connected IP address): Là địa chỉ của đích đến tiếp theo (router) có thể chuyển tiếp gói tin đến đích.
  • Network interface: Là cổng của router được sử dụng để gửi gói tin đến next-hop.
  • Cờ (flags): Cho biết nguồn cập nhật của tuyến (route). Ví dụ: S – Static Route, C – Connected Route, O – OSPF Route…
  • Metric: Là thông tin về metric của một tuyến đường, thể hiện “khoảng cách” từ router hiện tại đến destination IP. 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 mà người quản trị đặt cho các tuyến trong bảng định tuyến, được gán cho các giao thức. Nếu tuyến được cập nhật từ giao thức, nó sẽ mang giá trị AD của giao thức đó. Giá trị này nằm trong khoảng từ 0 đến 255, càng bé càng ưu tiên. 255 có nghĩa là tuyến không bao giờ được sử dụng.

routing_table

3. Phân loại route trong bảng định tuyến

Khi tham khảo bảng định tuyến của Cisco, có thể thấy trong bảng định tuyến hiển thị 2 loại route:

– Level 1 Route: Là route có subnet mask bằng hoặc bé hơn classful mask của địa chỉ mạng.

  • Level 1 ultimate route: Là một route gồm địa chỉ IP của next-hop và/hoặc một interface đầu ra.
  • Level 1 parent route: Là một network route không chứa địa chỉ IP của next-hop hoặc interface đầu ra. Một level 1 parent route thực ra là một đề mục để chỉ thị sự xuất hiện của level 2 route (child route). Một level 1 parent route được tạo ra một cách tự động mỗi khi một subnet được thêm vào bảng định tuyến.

– Level 2 Route: Là một route đến subnet của một classful subnet. Trừu tượng vãi, cơ mà khó giải thích phết. Mình thì hiểu nôm na, ta có 1 mạng to với classful subnet. Mạng to này (Level 1 parent) chia ra làm nhiều mạng nhỏ (child), và Level 2 Route chính là các route đến mạng nhỏ này. Như trong hình trên, mạng 172.16.0.0/24 chính là Level 1 parent route. Mạng to này được chia nhỏ ra thành các subnet nhỏ hơn (172.16.4.0, 172.16.1.0, 172.16.3.0.), và các Layer 2 route chính là route đến các mạng này.

4. Nguyên tắc tra bảng định tuyến

RFC1812 đã quy định Pruning Rules, mô tả các nguyên tắc phục vụ việc tra bảng định tuyến khi biết địa chỉ destination IP của gói tin đến. Các trường hợp có thể xảy ra sau khi sử dụng Pruning Rules:

  • 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 đường route nào phù hợp: Gói tin sẽ bị loại bỏ vì không tìm được đường đến đích, router sẽ gửi một bản tin ICMP đến nguồn của gói tin, báo là Destination Unsearchable.
  • Tìm được nhiều hơn một tuyến đường phù hợp: Khi 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 nào ít được sử dụng nhất. Việc chọn phương án xử lý như thế nào là giải pháp của từng vendor.

Vậy cùng nhau điểm qua một số nét chính của luật Prunning Rules:

  • Luật 1 – Basic Match: Luật này sẽ loại bỏ tất cả các route có đích đến khác với đích đến của gói tin. Ví dụ: Ta có routing table với các route {128.12.0.0/16, 10.0.0.0/8, 10.144.0.0/16, 10.144.2.0/24}. Nếu gói tin có đích là 10.144.2.5 thì luật này sẽ bỏ các route đến đích 128.12.0.0/16, chỉ giữ lại các tuyến {10.0.0.0/8, 10.144.0.0/16, 10.144.2.0/24}.
  • Luật 2 – Longest Match: Từ tập hợp các route thu được ở trên, ta sẽ lựa chọn ra route nào có subnet mask dài nhất. Hiểu nôm na có nghĩa là router sẽ chọn route nào có prefix length dài nhất mà khớp với prefix length của địa chỉ cần tìm.
  • Luật 3 – Weak TOS: Cái này mình xin phép không trình bày do nó là Optional trong chuẩn.
  • Luật 4 – Best Metric: Từ tập hợp các route thu được ở luật 3, router sẽ kiểm tra giá trị metric của các route thuộc cùng một giao thức định tuyến, từ đó tìm ra route có metric nhỏ nhất cho mỗi giao thức định tuyến.
  • Luật 5 – Vendor Policy: Sau luật 4, router sẽ quyết định 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.

OK. Vậy là ta đã biết sơ qua về Routing Table. Thời gian tới nếu rảnh mình sẽ note thêm một số ý về thuật toán cập nhật bảng định tuyến, xóa tuyến khỏi bảng định tuyến.

Just enjoy it!!!! 🙂

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s