Tải bản đầy đủ (.pdf) (73 trang)

Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (959.18 KB, 73 trang )

i

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả
nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình
nào khác.
Tôi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này đã được
cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc.

Học viên thực hiện Luận văn












ii

LỜI CÁM ƠN

Em xin cám ơn quý Thầy Cô phòng Quản lý khoa học và Đào tạo sau đại học,
Trường Đại học Công nghệ TP. HCM đã hướng dẫn và cung cấp đầy đủ các thông tin
giúp em hoàn thành Luận văn thạc sĩ này.
Em xin cám ơn Thầy Lê Mạnh Hải, Giảng viên Khoa Công nghệ thông tin,


Trường Đại học Công nghệ TP. HCM đã đồng ý và hết lòng hướng dẫn em thực hiện
Luận văn thạc sĩ này.
Em xin cám ơn quý Thầy đã nhiệt tình giảng dạy và đưa ra các kiến thức rất bổ
ích giúp em hình thành Luận văn.
Cám ơn các Anh Chị học viên lớp 12SCT21 đã cùng em gần 2 năm học tập và
nghiên cứu cùng nhau.

Nguyễn Ngọc Đại


iii

TÓM TẮT
Hiệu suất và độ tin cậy của Internet phụ thuộc vào hoạt động của các giao thức
định tuyến. Trong các giao thức định tuyến đang được sử dụng thì Open Shortest Path
First (OSPF) với thuật toán Dijkstra là được sử dụng phổ biến nhất. Thuật toán Dijkstra
được sử dụng để tìm kiếm đường đi ngắn nhất từ một node đến tất cả các node còn lại
trong đồ thị. Thuật toán dừng khi node đích là đạt được. Do đó, nếu có nhiều đường đi
cùng ngắn nhất để truyền các gói tin từ node nguồn đến node đích thì thuật toán
Dijkstra chỉ xuất ra được một đường đi. Điều này không phản ánh được nhu cầu là cần
thực hiện cân bằng tải trong định tuyến. Bên cạnh đó, mạng Internet ngày càng phát
triển với một số lượng lớn node. Khi có sự thay đổi trong cấu trúc liên kết mạng, thuật
toán Dijkstra sẽ mất nhiều tính toán lặp lại.
Luận văn chọn tiếp cận theo giải thuật di truyền để giải quyết vấn đề nêu trên.
Giải thuật di truyền có thể khám phá không gian tìm kiếm theo nhiều hướng. Giải thuật
di truyền thích hợp cho việc giải quyết vấn đề có không gian giải pháp là lớn. Để thực
hiện được mục tiêu tìm kiếm thì giải thuật di truyền phải dựa trên các khái niệm về
quần thể, cá thể và các hoạt động di truyền như chọn lọc, lai ghép, đột biến, thay thế.




iv

ABSTRACT
Performance and reliability of the Internet depends on the operation of the routing
protocol. In the routing protocol being used, the Open Shortest Path First (OSPF) with
Dijkstra's algorithm is used most commonly. Dijkstra's algorithm is used to find the
shortest path from one node to all other nodes in the graph. The algorithm stops when
the destination node is reached. Therefore, if there are multiple shortest paths to
transmit the packets from the source node to the destination node, then Dijkstra
algorithm is only one way out. This does not reflect the demand is to perform load
balancing in routing. Besides, the Internet is growing with a large number of nodes.
When there is a change in the network topology, Dijkstra's algorithm takes many
repeated calculations.
This thesis focuses describes a genetic algorithm to solve the routing problems.
Genetic algorithm can explore the search space in many directions. Genetic algorithms
are suitable for solving the problem that the solution space is huge. To accomplish the
goal of searching for the genetic algorithm is based on the concept of population,
individuals and genetic operations such as selection, crossover, mutation, replacement.

v

MỤC LỤC
LỜI CAM ĐOAN i
LỜI CÁM ƠN ii
TÓM TẮT iii
ABSTRACT iv
MỤC LỤC v
DANH MỤC CÁC TỪ VIẾT TẮT vii
DANH MỤC CÁC HÌNH ẢNH viii

DANH MỤC CÁC BẢNG ix
CHƯƠNG 1. MỞ ĐẦU 1
1.1 Đặt vấn đề 1
1.2 Lý do chọn đề tài 1
1.3 Phương pháp luận 5
1.4 Cấu trúc Luận văn 6
CHƯƠNG 2. TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU 7
2.1 Các nghiên cứu liên quan đến công việc của luận văn 7
2.2 Nhiệm vụ của Luận văn 9
2.3 Tổng quan về định tuyến 10
2.3.1 Định tuyến và hoạt động định tuyến 10
2.3.2 Tối ưu hóa định tuyến 13
2.3.3 Mô hình hóa bài toán ước lượng nhu cầu truyền thông 15
2.3.4 Phương pháp ước lượng nhu cầu truyền thông 16
vi

2.4 Tổng quan về giải thuật di truyền 21
2.4.1 Các khái niệm quan trọng trong giải thuật di truyền 22
2.4.2 Cấu trúc của giải thuật di truyền 23
CHƯƠNG 3. ỨNG DỤNG GIẢI THUẬT DI TRUYỀN ĐỂ TÌM CÁC ĐƯỜNG
ĐI TỐT NHẤT TRONG MẠNG IP 25
3.1 Phương pháp thực hiện 25
3.2 Sơ đồ giải thuật của phương pháp thực hiện 26
3.3 Các bước hoạt động cụ thể của phương pháp thực hiện 27
3.4 Kết quả của phương pháp thực hiện 38
CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA LUẬN VĂN 45
TÀI LIỆU THAM KHẢO 46
PHỤ LỤC 48

vii


DANH MỤC CÁC TỪ VIẾT TẮT
AS
Autonomous System
IP
Internet Protocol
ISP
Internet Service Provider
NAT
Network Address Translation
OSPF
Open Shortest Path First
QoS
Quality of Service
RIP
Routing Information Protocol
SNMP
Simple Network Management Protocol
TCP
Transmission Control Protocol
UDP
User Datagram Protocol

viii

DANH MỤC CÁC HÌNH ẢNH
Hình 1.1 Ví dụ một đồ thị G 3
Hình 1.2 Mạng trục Internet 4
Hình 1.3 Cấu trúc cơ bản của một mạng trục cấp 2 5
Hình 2.1 Độ hội tụ trong mô hình mạng 11

Hình 2.2 Các thành phần chính trong quá trình tối ưu 14
Hình 2.3 Ví dụ mô hình cho bài toán ước lượng nhu cầu truyền thông [10] 15
Hình 2.4 Đường trục chính và đường liên kết biên trong cùng một AS 18
Hình 3.1 Python 2.7.8 Shell 25
Hình 3.2 Sơ đồ giải thuật của phương pháp thực hiện 26
Hình 3.3 Đồ thị G = G(10,16,Cv) 27
Hình 3.4 Chọn lọc giải đấu 31
Hình 3.5 Kết quả của phương pháp thực hiện 38
Hình 3.6 Kết quả của thuật toán Dijkstra 38
Hình 3.7 Mô hình 50 node 39
Hình 3.8 Kết quả của thuật toán Dijkstra cho mô hình 50 node 40
Hình 3.9 Kết quả của phương pháp thực hiện cho mô hình 50 node 40
ix

DANH MỤC CÁC BẢNG
Bảng 2.1 Ví dụ về một ma trận lưu lượng 16
Bảng 3.1 Các cá thể trong quần thể ban đầu 28
Bảng 3.2 Giá trị fitness của các cá thể trong quần thể ban đầu 29
Bảng 3.3 Kết quả tìm đường đi sau 50 lần cập nhật trong mô hình 50 node 41

1

CHƯƠNG 1. MỞ ĐẦU
1.1 Đặt vấn đề
Do nhu cầu sử dụng Internet rất lớn từ doanh nghiệp và cá nhân, các nhà cung cấp
dịch vụ Internet – ISP) luôn cố gắng đáp ứng nhu cầu lưu lượng truyền và nhận trên
mạng ngày càng tăng. Các gói tin được gửi đi qua mạng theo nhiều đường đi khác nhau
từ node mạng nguồn đến node mạng đích bằng các giao thức định tuyến. Các node
mạng trong định tuyến được hiểu là các thiết bị định tuyến (router). Mục đích của giao
thức định tuyến là tìm ra đường đi tốt nhất cho các gói tin [1]. Đường đi tốt nhất là

đường đi có tổng chi phí nhỏ nhất. Yếu tố chi phí có thể được suy ra từ băng thông,
khoảng cách giữa các node, độ trễ khi truyền các gói tin, độ tải, độ tin cậy hoặc giá trị
lớn nhất của một gói tin (byte) mà một node có thể xử lý được.
Hiệu suất và độ tin cậy của Internet phụ thuộc lớn vào các hoạt động của giao
thức định tuyến [2]. Vấn đề tìm kiếm đường đi tối ưu nhất giữa hai node là một vấn đề
lớn trong phân tích mạng. Khi mạng càng phát triển, luôn đòi hỏi các nghiên cứu để tối
ưu hoạt động định tuyến hiện có. Trong những năm gần đây đã có nhiều nghiên cứu thể
hiện xu hướng cho bài toán này. Trong các nghiên cứu [2], [3], [4], [5], các tác giả đã
đưa ra một hướng tiếp cận dựa trên giải thuật di truyền. Giải thuật di truyền được xem
là hướng tiếp cận hiệu quả khi cần tìm kiếm các giải pháp tối ưu trong một không gian
lớn. Do đó, Luận văn tập trung vào ứng dụng của giải thuật di truyền trong định tuyến
mạng IP.
1.2 Lý do chọn đề tài
Luận văn chọn thực hiện đề tài “Ứng dụng giải thuật di truyền để tối ưu định
tuyến trong mạng IP” do nguyên nhân sau:
2

Trong các giao thức định tuyến trong cùng một AS thì OSPF là giao thức quan
trọng và phổ biến nhất [3]. Định tuyến OSPF được thực hiện bằng kỹ thuật đồ thị với
thuật toán Dijkstra. Thuật toán Dijkstra được đưa ra bởi nhà khoa học máy tính người
Hà Lan – Edsger Dijkstra vào năm 1959. Mô hình toán học của mạng truyền dữ liệu
được xem như là một đồ thị G = (N, V, C
v
). N là số node mạng, V là các liên kết giữa
các node và C
v
là giá trị trọng số (cost) của liên kết trực tiếp giữa 2 node. Ở mỗi node,
giải thuật Dijkstra xác định 3 thông tin là K
n
, D

n
, P
n
.


 K
n
: Mang giá trị Boolean, xác định trạng thái được chọn của node n. Ban đầu,
thuật toán khởi tạo tất cả các node chưa được chọn. Nghĩa là, K
n
= false, ∀n  N.
 D
n
: Giá trị cost của đường đi cho đến thời điểm đang xét. Ban đầu, thuật toán khởi
tạo D
n
= ∞, ∀n  N \{node nguồn}, D
node nguồn
= 0 hay D
a
= 0.
 P
n
: Node trước của node n trên đường đi ngắn nhất từ a đến b. Đường đi ngắn
nhất từ a đến b sẽ có dạng (a,…,P
n
,n,…,b).
Các bước cụ thể của thuật toán Dijkstra như sau:
Bước 1. Khởi tạo K

n
= false ∀n  N, D
n
= ∞ ∀n  N \ {a}, D
a
= 0.
Bước 2. Chọn D
n
= min {D
t
/ t  N, K
t
= false}. Nếu D
n
= ∞ thì thuật toán kết
thúc, không tồn tại đường từ a đến b.
Bước 3. Ngược lại thì đánh dấu node n, K
n
= true.
Bước 4. Nếu n = b thì kết thúc thuật toán và D
b
là độ dài đường đi từ a đến b.
Ngược lại nếu n ≠ b thì chuyển sang Bước 5.
Bước 5. Với mỗi node u kề với node n mà K
u
= false, nếu D
u
> D
n
+ C(n,u) thì

gán D
u
= D
n
+ C(n,u) và quay lại Bước 2.
3

Gọi f(n) là số lần mà giải thuật Dijkstra khảo sát một node trong đồ thị G trong
trường hợp xấu nhất. Khi đó thì f(n) < (|N|
2
). Ở Bước 5 là vòng lặp chứa các Bước
từ 2 đến 5. Vòng lặp được thực hiện cho đến khi n = b. Vì ở mỗi vòng lặp sẽ rút ra một
node của N, khởi đầu N có n phần tử nên vòng lặp được xử lý nhiều nhất là n lần. Ở
Bước 2 thì số node tối đa được khảo sát là (n-1), ở Bước 5 thì số node kề tối đa được
khảo sát là (n -1). Do đó, f(n) ≤ 2(n-1)n < (|N|
2
). Độ phức tạp của thuật toán
Dijkstra là (|N|
2
). Hình 1.1 là một đồ thị G(8, 10, C
v
). Nếu node 1 là node nguồn,
node 3 là node đích thì một đường đi có thể từ A sang B là A node1 node 2 node
3 B. Đường đi này sẽ có tổng cost là c1 + c2.

Hình 1.1 Ví dụ một đồ thị G
Đồ thị trong Hình 1.1 được tạo ra bằng một ma trận với 3 véctơ hàng như bên
dưới. Véctơ hàng 1 đại diện cho node nguồn, véctơ hàng 2 đại diện cho node đích,
véctơ hàng 3 đại diện cho giá trị cost cho liên kết giữa 2 node tương ứng.


4

OSPF được cấu hình theo nhiều vùng, mỗi vùng chỉ nên có từ 40 đến 50 node.
Một AS đại diện cho một ISP thường cấu hình rất nhiều vùng kết nối với nhau. Ở Việt
Nam, các ISP lớn như FPT, Viettel, VNPT… được xem là những mạng trục cấp 2 (ISP
Tier-2). Một mạng trục cấp 2 có cấu trúc gồm lớp lõi, lớp phân phối và các điểm đấu
nối. Phía trên mạng trục cấp 2 là những mạng trục cấp 1 (ISP Tier-1). Hình 1.3 bên
dưới là cấu trúc của một mạng trục cấp 2. Mạng trục cấp 1 là xương sống của mạng
Internet, được thiết kế cho việc truyền dữ liệu qua những tuyến đường dài. Các mạng
trục cấp 1 như AT&T, Sprint, GÉANT Dưới mạng trục cấp 2 là các mạng chi nhánh.
Mạng chi nhánh thuộc về các công ty, bệnh viện, trường đại học hay những khách hàng
cá nhân. Hình 1.2 là một mạng trục Internet.

Hình 1.2 Mạng trục Internet
Một gói tin được gửi bởi một máy tính thường đi qua nhiều AS trước khi đến
đích, làm cho hiệu suất truyền thông phụ thuộc vào lưu lượng trong và giữa các AS.
Bên cạnh đó, theo thống kê năm 2002 trên thế giới có tổng cộng khoảng 12.500 AS với
hơn 100.000 nhóm các địa chỉ IP đang được sử dụng [6]. Trong đó, hệ thống tự trị lớn
nhất là khoảng 100.000 nhóm địa chỉ IP. Do đó, G = (N, V, C
v
) thường có số lượng
node lớn.
5


Hình 1.3 Cấu trúc cơ bản của một mạng trục cấp 2
Trong [2], tác giả khẳng định khi một mạng với số node lớn thì thuật toán
Dijkstra trở nên kém hiệu quả khi có nhiều tính toán cần phải được thực hiện. Nếu
đường đi ngắn nhất trở nên quá tải hoặc tắc nghẽn xảy ra trên một liên kết thì các gói
tin sẽ bị trì hoãn hoặc không thể đến node đích do các node phải xử lý chúng trong

hàng đợi theo QoS.
Do vậy, mục tiêu chính của đề tài là tìm ra tập đường đi tối ưu được cân bằng tải
trong một không gian tìm kiếm lớn. Luận văn chọn phương pháp tiếp cận theo giải
thuật di truyền để giải quyết vấn đề đã nêu. Giải thuật di truyền đã được chứng minh là
có thể khám phá không gian giải pháp trong nhiều hướng [7], [8], [9].
1.3 Phương pháp luận
Luận văn “Ứng dụng giải thuật di truyền để tối ưu định tuyến trong mạng IP”
xuất phát từ khái niệm Convergence hay sự hội tụ trong định tuyến. Khái niệm hội tụ
mạng được hiểu là từ một node bất kỳ trên mạng có thể liên lạc được với tất cả các
node còn lại theo các đường đi tốt nhất. Khi mạng đạt được hội tụ thì quá trình truyền
6

dữ liệu giữa các node mạng mới được thực hiện thành công. Có thể thấy sự hội tụ
mạng nhanh hay chậm sẽ ảnh hưởng lớn đến hiệu suất hoạt động mạng.
1.4 Cấu trúc Luận văn
Luận văn được chia thành 4 Chương như sau:
CHƯƠNG 1. MỞ ĐẦU. Nội dung của Chương gồm 2 phần chính là đặt vấn đề
và đưa ra lý do chọn đề tài.
CHƯƠNG 2. TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU. Nội dung của
Chương là trình bày các công trình nghiên cứu liên quan đến công việc hiện tại của
Luận văn. Từ những công trình nghiên cứu này, Luận văn đưa ra các vấn đề cần tập
trung nghiên cứu và giải quyết. Một phần cơ sở lý thuyết cũng được trình bày để làm rõ
hơn cho vấn đề của Luận văn.
CHƯƠNG 3. ỨNG DỤNG GIẢI THUẬT DI TRUYỀN ĐỂ TÌM CÁC
ĐƯỜNG ĐI TỐT NHẤT TRONG MẠNG IP. Nội dung của Chương là trình bày
một phương pháp thực hiện nhằm khẳng định khả năng của giải thuật di truyền trong
tối ưu định tuyến.
CHƯƠNG 4. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA LUẬN VĂN.
Nội dung của Chương là đưa các vấn đề mà Luận văn đã làm được và chưa làm được
cùng hướng phát triển của Luận văn.



7

CHƯƠNG 2. TỔNG QUAN VỀ LĨNH VỰC NGHIÊN CỨU
2.1 Các nghiên cứu liên quan đến công việc của luận văn
Các nghiên cứu được tìm kiếm với các từ khóa như routing, OSPF, routing
optimization, genetic algorithm…
Trong nghiên cứu [2], tác giả đã đã thực hiện một thuật toán di truyền để tìm ra
đường đi tối ưu để gửi lưu lượng truy cập từ nguồn tới đích. Metric tối ưu hóa là tổng
cost của đường đi giữa các node. Tác giả khẳng định giải thuật di truyền hoạt động tốt
kể cả khi fitness phức tạp và thay đổi liên tục theo thời gian. Điểm nổi bật trong nghiên
cứu của tác giả là khi điều kiện dừng đã đạt được, tiến hành lưu trữ các đường đi trong
thời gian là t giây. Trong thời gian này, chuyển gói dữ liệu theo các con đường tìm
kiếm được. Sau đó, tác giả cho làm mới các con đường sau thời gian t giây để phản ánh
tình trạng hiện tại của mạng. Tuy nhiên, tác giả sử dụng công thức tính giá trị fitness là:
[(Tổng số hop trên đường đi × Kích thước dân số) – Tổng cost của đường đi]
Với công thức này thì không phải ánh đúng tính chất định tuyến cho các gói tin
trong mạng. Cách chọn đường đi tối ưu cho gói tin không phải phụ thuộc vào số hop
mà gói tin phải đi qua. Nếu số hop nhỏ nhưng băng thông trên đường đi cũng nhỏ thì
quá trình truyền gói tin trên đường đi này dễ xảy ra hiện tượng nghẽn. Nếu giá trị
fitness của cá thể được tính theo công thức trên thì các cá thể có fitness tốt hơn lại có
khả năng bị loại bỏ cao hơn. Một ví dụ cụ thể để so sánh và phân tích nhược điểm của
công thức này với công thức được sử dụng trong Luận văn được trình bày trong
Chương 3.
Bên cạnh đó, khi thực hiện mô phỏng thì tác giả sử dụng 6 node mạng và phương
pháp đề xuất của tác giả cũng không đưa ra được bất cứ so sánh nào với thuật toán
Dijkstra như trong phần đặt vấn đề của mình.
8


Khác với nghiên cứu [2], tác giả của nghiên cứu [3] cho rằng mục đích của định
tuyến không phải tìm thấy những đường đi tốt nhất mà để tìm đường đi với một giá trị
cost hợp lý trong thời gian cho phép. Trong một mạng lớn định tuyến trở nên phức tạp
vì có nhiều node trung gian mà một gói tin cần phải đi qua trước khi đến đích. Tác giả
cũng khẳng định trong một mạng lớn thì Dijkstra sẽ kém hiệu quả do nhiều tính toán
phải thực hiện lặp lại. Tác giả đã nghiên cứu vấn đề tối ưu hóa trọng số trong OSPF
bằng giải thuật di truyền.
Tuy nhiên, theo phương pháp trong nghiên cứu [3], tác giả đã không làm rõ vai
trò quan trọng của lai ghép và đột biến trong giải thuật di truyền. Quá trình thay thế cho
thấy một áp lực chọn lọc thấp dẫn đến mất thời gian trong quá trình hình thành một
quần thể hội tụ. Giải thuật di truyền có thể đưa ra được các giải pháp hội tụ về tối ưu.
Trong khi tác giả lại khẳng định việc sử dụng giải thuật di truyền để tìm ra được tập
đường đi có giá trị cost hợp lý. Nghĩa là giải thuật di truyền hội tụ về các giải pháp tối
ưu cục bộ. Tác giả cũng không đưa ra so sánh nào với thuật toán Dijkstra để chứng
minh cho phần đặt vấn đề của mình.
[5] là một nghiên cứu gần đây thể hiện được rõ ý tưởng của giải thuật di truyền để
ứng dụng giải thuật này trong định tuyến. Tác giả của [5] cũng khẳng định định tuyến
trong mạng là một thách thức trong phân tích, bởi vì cấu trúc liên kết của mạng không
phải là cố định. Trong phương pháp được trình bày trong [5], tác giả đã sử dụng
phương pháp chọn lọc theo bánh xe số. Phương pháp truyền thống này thuộc nhóm
chọc lọc theo tỉ lệ fitness của các cá nhân trong dân số. Bên cạnh đó, tác giả sử dụng
phương pháp lai ghép mới là Partially Matched Crossover (PMX). Điểm nổi bật trong
nghiên cứu [5] là tác giả sử dụng thuật toán ants để đưa ra tập các đường đi trong
mạng. Các đường đi được tạo ra bởi ants như là đầu vào cho thuật toán di truyền. Tầm
quan trọng của việc sử dụng thuật toán ants là để giảm kích thước của bảng định tuyến.
Việc giảm kích thước của bảng định tuyến giúp cho các node mạng hoạt động hiệu quả
9

hơn nhờ giảm bởi được các tính toán và xử lý. Tuy nhiên, tương tự với nghiên cứu [2]
thì tác giả của nghiên cứu [5] cũng sử dụng cùng một công thức tính giá trị fitness cho

các cá thể.
Tác giả của nghiên cứu [10] cũng đã ứng dụng giải thuật di truyền cho việc tối ưu
hóa quá trình định tuyến trên mạng IP. Trong nội dung của [10], tác giả trình bày bài
toán ước lượng nhu cầu truyền thông dựa trên phương pháp quy hoạch tuyến tính và
phương pháp suy diễn dựa vào mô hình trọng lực. Từ đó, tác giả đưa ra được nhu cầu
tối ưu hóa định tuyến. Tác giả đưa ra một mô hình tối ưu hóa dựa trên thông tin về
băng thông thu thập được nhờ giao thức SNMP. Nhưng tác giả không làm rõ lý thuyết
về giải thuật di truyền cũng như các hoạt động quan trọng của nó. Tương tự như nghiên
cứu [10] thì tác giả của nghiên cứu [11] cũng dùng giải thuật di truyền để tìm ra đường
đi tối ưu nhưng với các giá trị cost được giả định là ngẫu nhiên. Tác giả cũng không
làm rõ lý thuyết về giải thuật di truyền trong phương pháp đề xuất của mình.
2.2 Nhiệm vụ của Luận văn
Nhiệm vụ chính của Luận văn là ứng dụng giải thuật di truyền để tối ưu định
tuyến trong mạng IP. Luận văn tập trung giải quyết các vấn đề trong các nghiên cứu [2]
và [5] đã được trình bày trong phần 2.1. Công việc chính của Luận văn bao gồm:
 Sử dụng một công thức để tính giá trị fitness để phản ánh đúng tính chất chọn
đường đi cho gói tin trong định tuyến. Công thức này được suy ra từ tổng trọng số
(tổng cost) của đường đi. Giá trị cost được suy ra từ băng thông. Băng thông của
liên kết càng lớn thì gói tin càng ưu tiên được truyền đi theo liên kết đó. Công
thức này được trình bày trong Chương 3.
 Luận văn đưa ra được một kết quả so sánh với thuật toán Dijkstra về khả năng tìm
ra được tập đường đi tối ưu để gửi các gói tin. Các gói tin được truyền trên tập
đường đi này sẽ được cân bằng tải. Trong khi thuật toán Dijkstra chỉ tìm ra được
10

một đường đi để truyền các gói tin. Vì thuật toán Dijkstra sẽ dừng khi node đích
là đạt được.
 Mô hình được các tác giả đưa ra trong các nghiên cứu [5] có các trọng số được
gán tĩnh. Điều này sẽ không phản ánh được tính chất của một mô hình mạng là sự
mất liên kết giữa các node luôn có thể xảy ra. Trong trường hợp này, Luận văn sẽ

áp dụng giải thuật di truyền cho một mô hình có các trọng số được gán động để
phản ánh được tình trạng hiện tại của mạng. Khi các giá trị trọng số thay đổi thì
giải thuật di truyền luôn có thể tìm ra được đường đi tối ưu để truyền các gói tin.
2.3 Tổng quan về định tuyến
2.3.1 Định tuyến và hoạt động định tuyến
Hoạt động định tuyến được thực hiện bởi các node tại tầng Network trong mô
hình OSI. Khái niệm định tuyến đầy đủ được thể hiện qua 5 vấn đề [1]:
 Định tuyến là việc một node xác định đường đi tối ưu nhất từ một điểm này đến
một điểm khác trên mạng.
 Node cần phải xác định được node kế tiếp mà gói tin cần phải đi qua.
 Node cũng cần biết tất cả đường có thể đến được điểm đích.
 Node tiến hành phân tích IP Header của gói tin và đọc trường Destination IP
Address để xác định đường đi cho gói tin.
 Node gửi gói tin theo đường đi đã chọn.
Nguyên tắc chung của hoạt động định tuyến là phân tích IP Header của các gói
tin. Các gói tin IP khi đi đến node mạng, node mạng sẽ phân tích IP Header để tìm ra
thông số IP đích. Thông số này sẽ được tra bảng định tuyến, nếu đích đến của gói tin
thuộc về một entry có trong bảng định tuyến thì gói tin sẽ được chuyển đi tiếp, nếu
không thì gói tin sẽ bị loại bỏ. Bảng định tuyến trên node mạng thể hiện ra rằng node
11

mạng biết được hiện nay có những địa chỉ mạng nào đang tồn tại trên mạng mà nó
tham gia và muốn đến được những địa chỉ mạng đó thì phải đi theo những đường nào.
Trong định tuyến cần phải đảm bảo các tính chất chính xác, mạnh mẽ, ổn định,
công bằng và tối ưu. Ổn định, cân bằng và tối ưu mới được xem là vấn đề quan trọng.
Trong suốt quá trình hoạt động định tuyến, các thiết bị phần cứng và phần mềm có thể
gặp trục trặc do nhiều nguyên nhân khác nhau. Những trục trặc này có thể dẫn đến sự
thay đổi trong cấu trúc mô hình mạng. Do đó, phương pháp định tuyến cần phải đảm
bảo hoạt động mạng được ổn định khi gặp sự cố.
Sự ổn định được phải ánh qua một khái niệm gọi là sự hội tụ mạng. Giá trị đặc

trưng của sự hội độ chính là độ hội tụ. Độ hội tụ được định nghĩa là khoảng thời gian
từ khi mạng xảy ra sự cố đến khi mạng hoạt động lại bình thường. Nghĩa là, độ hội tụ
càng nhỏ thì quá trình ổn định hoạt động định tuyến được thực hiện nhanh hơn. Độ hội
tụ của các giao thức định tuyến khác nhau là khác nhau.

Hình 2.1 Độ hội tụ trong mô hình mạng
12

Quan sát Hình 2.1, node 1 có thể đến mọi vị trí còn lại trong mạng thông qua các
node neighbor là node 2, node 4 và node 6. Xét tuyến đường từ A đến B, giả sử đường
đi A node 1 node 2 node 3 B là đường đi tốt nhất. Các gói tin đi từ A đến B sẽ
được gửi dọc theo đường đi này. Xét trường hợp, liên kết giữa node 2 và node 3 xảy ra
sự cố. Nếu node 1 không biết sự cố kết nối xảy ra giữa node 2 và node 3 thì node 1 vẫn
tiếp tục gửi các gói tin dọc theo đường đi trên. Do đó, dẫn đến các gói tin sẽ bị mất và
không đảm bảo được hiệu suất mạng. Liên kết giữa node 2 và node 3 bị lỗi sẽ dẫn đến
sự thay đổi trong mô hình mạng. Điều này làm thay đổi cơ sở sự liệu trong bảng định
tuyến của node 1.
Sự hội tụ được phản ánh qua quá trình mà node 1 tìm ra được đường đi thay thế
cho tuyến đường trước đó. Nói cách khác, node 1 phải mất một khoảng thời gian để tìm
ra được đường đi thay thế. Giả sử, đường đi thay thế trong trường hợp này là A node
1 node 4 node 5 node 3 B. Thông tin trong bảng định tuyến cần có một sự thay
đổi, để đến được B thì node kế tiếp mà node 1 cần phải đi qua là node 4 thay vì phải đi
qua node 2 như đường đi trước đó. Sự ổn định của bảng định tuyến là một điều kiện
quan trọng giúp cho hoạt động mạng được hiệu quả.
Giao thức định tuyến được chia thành hai nhóm chính là định tuyến tĩnh và định
tuyến động. Hai nhóm giao thức định tuyến này có sự khác biệt lớn về cách thiết lập,
cấu hình, nguyên tắc hoạt động. Giao thức định tuyến động có thể thay đổi quyết định
định tuyến để phản ánh những thay đổi trong cấu trúc liên kết của mô hình mạng hoặc
trọng số được cấu hình trên các liên kết tương ứng. Ngược lại, giao thức định tuyến
tĩnh không phản ánh được sự thay đổi của liên kết mạng hoặc không dựa các phép đo

hay ước lượng về lưu lượng trên các liên kết.
Bảng định tuyến được hình thành trên node bởi giao thức định tuyến tĩnh là do
người quản trị phải tự cấu hình. Người quản trị sẽ chỉ cho node là để đến được đích thì
13

cần phải đi qua node kế tiếp nào. Khi có sự cố xảy ra trong mạng thì bảng định tuyến
vẫn không thay đổi các đường đi. Các gói tin vẫn được chuyển tiếp nhưng không có
gói tin nào có thể đến đích được. Do đó, một mạng định tuyến tĩnh sẽ không có độ hội
tụ.
Trong trường hợp bảng định tuyến được hình thành bởi giao thức định tuyến
động thì người quản trị chỉ cần kích hoạt node chạy giao thức định tuyến tương ứng.
Sau khi các node thiết lập mối quan hệ neighbor (trừ giao thức định tuyến RIP) thì các
node sẽ trao đổi bảng định tuyến cho nhau. Lúc này, các node sẽ có một cơ sở dữ liệu
về thông tin của toàn mạng. Dựa trên những thông tin này mà các node tự hình thành
nên bảng định tuyến. Khi các liên kết mạng có sự cố thì các node sẽ trao đổi với nhau
các gói tin update nhằm thông báo tình trạng của mô hình mạng hiện tại. Dựa vào
thông tin nhận được mà các node sẽ thay đổi cơ sở dữ liệu bảng định tuyến sao cho
phản ánh được liên kết mạng mới.
2.3.2 Tối ưu hóa định tuyến
Các giao thức định tuyến thường tính toán đường đi dựa trên cấu trúc mạng và
các thông số cấu hình mà không quan tâm đến lưu lượng tải hiện tại trên các thiết bị
mạng và các liên kết giữa các thiết bị đó hoặc độ trễ mà các gói tin chờ khi xếp hàng để
được chuyển tiếp tại hàng đợi của thiết bị. Vì vậy, đối tượng của tối ưu hóa chính là
thực hiện định tuyến dựa trên các thông tin trên. Các ứng dụng khác nhau thì có các
yêu cầu băng thông và độ trễ khác nhau. Các ứng dụng TCP thì có thể chịu được ảnh
hưởng của độ trễ cao, do các gói tin bị mất sẽ có một cơ chế truyền lại. Nhưng các ứng
dụng UDP như voice và video thì lại yêu cầu độ trễ thấp. Điều này dẫn đến sự phức tạp
của mục tiêu hiệu suất mạng và vấn đề tối ưu hóa là không dễ xử lý và phân tích. Do
đó, xem xét vai trò của tối ưu hóa trong kiểm soát các tuyến lưu lượng qua Internet là
cần thiết. Vấn đề này đã thúc đẩy việc sử dụng các kỹ thuật tìm kiếm hiệu quả để khám

14

phá một không gian lớn. Hình 2.2 dưới đây chính là một mô hình kiểm soát nhằm tối
ưu hóa định tuyến.

Hình 2.2 Các thành phần chính trong quá trình tối ưu
Theo Hình 2.2, các phép đo về tình trạng mạng hiện tại và nhu cầu của lưu lượng
mạng như là đầu vào để đưa ra các yêu cầu về tối ưu hóa trong định tuyến. Việc giải
quyết các vấn đề tối ưu hóa phụ thuộc vào việc sử dụng giao thức định tuyến và cách
tiếp cận hiệu quả để khám phá không gian tham số. Điều này cho phép việc sử dụng
các kỹ thuật để xác định các tham số cài đặt nhằm đáp ứng các mục tiêu hiệu suất của
mạng. Khi một tập hợp các giá trị tham số tốt được định nghĩa, các nhà điều hành hay
hệ thống quản lý tự động có thể điều chỉnh các thông số trên node. Sau đó, các node
hoạt động chung trên các giá trị tham số mới để tính toán những con đường mới cho
việc chuyển tiếp các gói dữ liệu qua mạng.
Lượng tải giữa các cặp node, cấu trúc mạng, tham số cấu hình chính là những yếu
tố cơ bản để tối ưu quá trình truyền các gói tin qua mạng. Tất cả những vấn đề này tạo
thành một ma trận nhu cầu truyền thông hay ma trận lưu lượng.
15

2.3.3 Mô hình hóa bài toán ước lượng nhu cầu truyền thông
Vấn đề ước lượng nhu cầu truyền thông có thể được thể hiện bởi một ma trận nhu
cầu truyền thông hay ma trận lưu lượng. Ma trận lưu lượng có thể thu được thông qua
bài toán ước lượng nhu cầu truyền thông. Ma trận lưu lượng là một tập hợp các véctơ
đại diện cho tỷ lệ lưu lượng truy cập từ node i đến node j.
Gọi m là số lượng các cặp node nguồn và node đích. Xét G có n node mạng thì m
sẽ được tính bằng công thức m = n × (n-1). Để thuận lợi cho tính toán, thay vì biểu
diễn nhu cầu truyền thông dưới dạng một ma trận M
i,j
thì có thể biểu diễn dưới dạng

các véctơ X gồm các cặp node nguồn và node đích. X = (x
1
,x
2
,x
3
,…,x
m
)
T
với x
m
là nhu
cầu truyền thông của cặp node nguồn và node đích thứ m. Gọi V là số lượng liên kết
giữa các node trong mạng và P = (P
1
,P
2
,P
3
,…,P
v
)
T
là véctơ tải trọng trên các liên kết, P
v
là lượng dữ liệu đo được trên liên kết thứ V.
X và P liên quan với nhau thông qua ma trận định tuyến A gồm V dòng và m cột
chứa các phần tử thuộc tập [0,1]. Phần tử a
ij

= 1 nếu liên kết thứ i thuộc về đường đi
dùng để truyền dữ liệu giữa cặp node nguồn và node đích thứ j và ngược lại. Mối liên
quan này được thể hiện qua phương trình:
P = A×X (2.1)

Hình 2.3 Ví dụ mô hình cho bài toán ước lượng nhu cầu truyền thông [10]
16

Theo Hình 2.3, véctơ tải trọng P và véctơ nhu cầu truyền thông X lần lượt là
(P
1
,P
2
,P
3
)
T
và (x
1
,x
2
,x
3
,x
4
,x
5
)
T
. Trong ví dụ này chỉ xét nhu cầu truyền thông theo chiều

mũi tên. Lúc này, ma trận định tuyến A[3,5] sẽ có giá trị như được trình bày trong
Bảng 2.1.
Bảng 2.1 Ví dụ về một ma trận lưu lượng
A
(1  3) x
1

(2  3) x
2

(1  4) x
3

(2  4) x
4

(3  4) x
5

(1  3) P
1

1
0
1
0
0
(2  3) P
2


0
1
0
1
0
(3  4) P
3

0
0
1
1
1
Phương trình (2.1) sẽ trở thành:

Với một mô hình mạng cho trước và giao thức định tuyến sử dụng thì ma trận
định tuyến A là có thể xác định được. Các thông tin của véctơ tải trọng P có thể thu
thập được nhờ giao thức SNMP. Do đó, vấn đề còn lại của bài toán ước lượng nhu cần
truyền thông là tính véctơ X.
2.3.4 Phương pháp ước lượng nhu cầu truyền thông
Trong nghiên cứu [10], tác giả đã trình bày phương pháp có thể giúp xác định
được X bao gồm phương pháp quy hoạch tuyến tính và phương pháp suy diễn dựa vào

×