ĐỊNH TUYẾN 3.1. Tổng quan về định tuyến
Định tuyến là chức năng chính của lớp mạng. Trong hầu hết các mạng con các gói yêu cầu đa bước nhảy (multiple hops) để tạo nên chuyến đi (trừ các mạng quảng bá). Tuy nhiên trong mạng quảng bá, nếu nguồn và đích cùng ở trên một mạng thì
việc định tuyến cũng được đặt ra. Như vậy các kỹ thuật định tuyến và cấu trúc dữ liệu mà chúng sử dụng là phạm vi chủ yếu của thiết kế lớp mạng.
Kỹ thuật định tuyến là một phần của phần mềm lớp mạng có nhiệm vụ quyết định chọn một tuyến ra mà một gói tới sẽ được truyền trên đó.
+ Nếu mạng con sử dụng kênh ảo nội thì các quyết định định tuyến được tạo ra khi kênh ảo mới được thiết lập. Sau đó các gói dữ liệu chỉ thị theo một tuyến đã được thiết lập và định tuyến này gọi là định tuyến phiên (session routing).
+ Nếu mạng con sử dụng các gói tin nội thì quyết định định tuyến phải được tạo ra thêm một lần nữa khi các gói dữ liệu đến, bởi vì tuyến đường tốt nhất có thể đã thay đổi kể từ khi cập nhật lần cuối.
Kỹ thuật định tuyến phải thực hiện 2 chức năng:
1. Quyết định chọn tuyến, theo tiêu chuẩn tối ưu nào đó.
2. Cập nhật thông tin định tuyến, thông tin cần cho chức năng 1.
3.2. Các tính chất của thuật toán định tuyến
Thuật toán định tuyến phải thỏa mãn các tính chất sau:
1 – Tính chính xác 4 – Tính ổn định
2 – Tính đơn giản 5 – Tính bình đẳng (fairness)
3 – Tính thiết thực 6 – Tính tối ưu
Quan hệ giữa các tính chất: Tính đúng đắn và tính đơn giản là những yêu cầu cao hơn so với tính thiết thực. Với một hệ thống mạng lớn thì yêu cầu cao nhất là hệ thống đó phải chạy liên tục mà không có sự cố. Các máy chủ, các router, đường truyền có thể tăng lên hay giảm xuống lặp đi lặp lại hình trạng mạng thay đổi nhiểu lần. Thuật toán định tuyến phải đáp ứng với sự thay đổi hình trạng và lưu thông trong mạng mà không yêu cầu các hỏng khác phải ngừng công việc và trạng thái mạng phải boot lại mỗi khi có router hỏng.
Tính ổn định là mục đích quan trọng của thuật toán. Không thể tồn tại thuật toán mà không bao giờ hội tụ hoặc thời gian hộ tụ quá chậm. tính bình đẳng (fairness) và tính tối ưu là hiển nhiên, tuy nhiên mục đích của chúng có khi mâu thuẫn với nhau. Do đó người ta tìm cách dung hòa giữa tính
tối ưu và tính bình đẳng: cực tiểu trẻ trung bình các gói cũng chính là cực đại thông lượng trong mạng, hay giảm số lượng các hops mà các gói phải vượt qua là hướng
tới cải tiến độ trễ và giảm số giải thông được dựng.
3.3. Nguyên lý tối ưu
Trước khi xét từng thuật toán cụ thể, người ta đưa ra một nguyên lý, gọi là nguyên lý tối ưu, nó không phụ thuộc vào topology hoặc luồng lưu thông trong mạng.
Nguyên lý phát biểu như sau: Nếu router J ở trên đường đi tối ưu từ 1 đến K thì đường đi tối ưu từ J đến K cũng chính là đường đi tối ưu từ I đến K.
Hệ quả: Tất cả các tuyến đường tối ưu từ tất cả các nguồn tới một đích là cây có
gốc tại đích. Cây đó gọi là cây khung (Sink tree) (hình 2 – 1)
Định nghĩa cây khung: Cho G là một đơn đồ thị. Một cây được gọi là cây
khung của G nếu nó là một đồ thị con của G chứa tất cả các đỉnh của G (theo KÊNNTH H.ROSEN – Toán học rời rạc ứung dụng trong tin học).
Ở đây metric là số các hops. Như vậy cây khung là không duy nhất, bởi vì có thể có nhiều cây khác nhau cùng có một “độ dài” dẫn đường. Mục đích của các thuật toán định tuyến là tìm ra và sử dụng các cây khung đối với tất cả các nguồn.
3.4. Phân loại các kỹ thuật định tuyến
Để thực hiện việc định tuyến các gói tin trong mạng máy tính, người ta đã đưa ra nhiều kỹ thuật định tuyến. Các kỹ thuật này có nhiều đặc điểm, tính chất, mục đích sử dụng có thể giống nhau hoặc khác nhau và người ta tìm cách phân loại chúng. Trong quá trình phát triển của mạng máy tính, một số kỹ thuật định tuyến mới ra đồng thời những kỹ thuật cũ cũng được cải tiến, do đó tuỳ theo thời gian, tùy theo quan điểm đánh giá mà ngừơi ta đã phân loại chúng khác nhau.
Kỹ thuật định tuyến có thể phân thành hai lớp cơ bản sau:
+ Lớp phân biệt giữa kỹ thuật định tuyến xác định hay kỹ thuật định tuyến ngẫu nhiên.
+ Lớp phân biệt giữa kỹ thuật định tuyến tập trung hay kỹ thuật định tuyến phân tán.
Hoặc phân loại theo chiến lược định tuyến như: Định tuyến cố định, định tuyến ngẫu nhiên, định tuyến flooding, định tuyến thích nghi. Trong định tuyến thích nghi thì chia ra 3 trường hợp sau: thích nghi cô lập (Isolated adaptive), thích nghi phân
tán (Disstributed adaptive), thích nghi tập trung (Centralized adaptive).
Hoặc phân loại các kỹ thuật định tuyến dựa vào các yếu tố liên quan đến chức năng định tuyến, và tác giả đã phân loại các kỹ thuật định tuyến theo hai lớp cơ bản sau:
a) Định tuyến tập trung hay định tuyến phân tán.
b) Định tuyến tĩnh (Static hay Fixed routing) hay định tuyến thích nghi (adaptive routing). Ngoài phân loại theo a) và b) thì còn phân loại theo các tiêu chuẩn tối ưu định tuyến
Qua đó chúng ta thấy sự so sánh, phân loại và đánh giá kỹ thuật định tuyến là một công việc khó khăn và có tính chất tương đối. Chẳng hạn định tuyến Flooding là một kỹ thuật định tuyến tĩnh nhưng khi trong mạng có một vài router hỏng hoặc hồi phục trở lại thì việc định tuyến vẫn thực hiện được, các gói tin vẫn đi đến đích. Như vậy Flooding có khả năng thích nghi với sự thay đổi hình trạng mạng (giống như kỹ thuật định tuyến thích nghi).
Mặt khác nếu dựa vào tiêu chuẩn thực hiện thì có nhiều tiêu chuẩn khác nhau: Giá liên kết, độ trễ thời gian, khoảng cách địa lý, số các hops, ước lượng sự tắc nghẽn trên một liên kết…
Trong nghiên cứu này chúng tôi phân lọi các kỹ thuật định tuyến cũng dựa vào những yếu tố liên quan đến các chức năng của các kỹ thuật định tuyến. Những yếu tố đó là:
1) Thích nghi với trạng thái hiện hành của mạng hay không; có sự trao đổi và cập nhật thông tin về mạng trong quá trình định tuyến không.
2) Trong quá trình định tuyến có tạo ra bản sao gói tin tại mỗi routing và gửi các bản sao ra theo tất cả các tuyến (trừ tuyến mà nó tới) hay không.
3) Phân tán hay tập trung các chức năng định tuyến cho các nút của mạng. 4) Các tiêu chuẩn tối ưu để chọn tuyến.
+ Dựa vào yếu tố (1) ta có kỹ thuật định tuyến không thích nghi (kỹ thuật định tuyến tĩnh) và kỹ thuật định tuyến thích nghi (kỹ thuật định tuyến động).
+ Dựa vào yếu tố (2) ta có định tuyến Flooding hay không Flooding.
+ Dựa vào yếu tố (3) ta có kỹ thuật định tuyến tập trung (centralized routing) và kỹ thuật định tuyến phân tán (distributed routing).
+ Dựa vào yếu tố (4) ta có thể phân biệt được các tiêu chuẩn (tối ưu), các tiêu chuẩn để định tuyến được xác định bởi người quản lý mạng như:
- Khoảng cách (km) giữa các nút truyền tin.
- Số lượng các nút trung gian (các hops) giữa nguồn và đích. - Độ an toàn truyền tin.
- Cước phí truyền tin. - Mức độ lưu thông…
- Ước lượng các tắc nghẽn trên liên kết… - Tổ hợp các tiêu chuẩn.
Ngoài ra để định tuyến cho các mạng quảng bá, cho các máy chủ di động… ta có kỹ thuật định tuyến quảng bá (broadcast routing), định tuyến cho máy chủ di động (mobile host routing), định tuyến đa hướng (multicast routing) và một cải tiến định tuyến đối với những mạng có số lượng nút lớn đó là định tuyến phân cấp.
3.4.1. Kỹ thuật định tuyến không thích nghi và thích nghi