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

Giải thuật di truyền định tuyến thích ứng

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 (1.34 MB, 19 trang )


MÔN: CÁC KỸ THUẬT TỐI ƯU
Đề tài: “Giải thuật di truyền định tuyến thích
ứng”
Giảng viên : TS. Lê Nhật Thăng
Sinh viên thực hiên: Nguyễn Thị Hà Giang
Nguyễn Minh Tuấn
Lớp: M11CQCK01-B

Nội dung báo cáo
Nội dung báo cáo

Tổng quan
Tổng quan

Thuật toán định tuyến trên Internet
Thuật toán định tuyến trên Internet

Tổng quan về Gara
Tổng quan về Gara

Hoạt động di truyền tạo đường
Hoạt động di truyền tạo đường

Duy trì bảng định tuyến
Duy trì bảng định tuyến

Tính toán độ thích nghi
Tính toán độ thích nghi

Thực thi lưu lượng


Thực thi lưu lượng

Thực nghiệm kết quả
Thực nghiệm kết quả

Kết luận
Kết luận

TổNG QUAN
TổNG QUAN

Thuật toán định tuyến được xây dựng dựa trên bảng định tuyến.
Thuật toán định tuyến được xây dựng dựa trên bảng định tuyến.

Internet phát triển mạnh các thuật toán cần phải có khả năng
Internet phát triển mạnh các thuật toán cần phải có khả năng
mở rộng và thích nghi cao.
mở rộng và thích nghi cao.

Trong chương này chúng tôi trình bầy về thuật toán GENETIC
Trong chương này chúng tôi trình bầy về thuật toán GENETIC
ADAPTIVE ROUTING ALGORITHM (GARA)
ADAPTIVE ROUTING ALGORITHM (GARA)

Duy trì thay thế các tuyến sử dụng thường xuyên
Duy trì thay thế các tuyến sử dụng thường xuyên

Cân bằng tải
Cân bằng tải


THUậT TOÁN ĐịNH TUYếN TRÊN
THUậT TOÁN ĐịNH TUYếN TRÊN
INTERNET
INTERNET

Từ thời kỳ sơ khai của Internet, thuật toán khoảng cách vector
Từ thời kỳ sơ khai của Internet, thuật toán khoảng cách vector
định tuyến dựa trên thuật toán Bellman-Ford (Bellman, 1957,
định tuyến dựa trên thuật toán Bellman-Ford (Bellman, 1957,
Ford và Fulkerson, năm 1962.
Ford và Fulkerson, năm 1962.

Giao thức định tuyến (RIP) (Hedrick, 1988) dựa trên thuật toán
Giao thức định tuyến (RIP) (Hedrick, 1988) dựa trên thuật toán
khoảng cách vector với số liệu đếm bước nhảy được thường
khoảng cách vector với số liệu đếm bước nhảy được thường
được sử dụng ngay cả trong các mạng nhỏ tại địa phương.
được sử dụng ngay cả trong các mạng nhỏ tại địa phương.

Những điểm hạn chế
Những điểm hạn chế

Chi phí quảng bá lớn
Chi phí quảng bá lớn

Kích thước bảng định tuyến lớn
Kích thước bảng định tuyến lớn

Số lượng gói tin gửi đi nhiều
Số lượng gói tin gửi đi nhiều


Tổng quan về GARA
Tổng quan về GARA

Thuật toán định tuyến di truyền
Thuật toán định tuyến di truyền
thích ứng (GARA) là một thuật
thích ứng (GARA) là một thuật
toán định tuyến sử dụng hoạt
toán định tuyến sử dụng hoạt
động di truyền để tạo ra các
động di truyền để tạo ra các
tuyến luân phiên trong bảng định
tuyến luân phiên trong bảng định
tuyến.
tuyến.

Nó được dựa trên các thuật toán
Nó được dựa trên các thuật toán
định tuyến nguồn.
định tuyến nguồn.

Mỗi node có một bảng định
Mỗi node có một bảng định
tuyến chứa một bộ các tuyến
tuyến chứa một bộ các tuyến
đường luân phiên.
đường luân phiên.

Thuật toán quan sát độ trễ của

Thuật toán quan sát độ trễ của
các tuyến đường thường xuyên
các tuyến đường thường xuyên
sử dụng
sử dụng

Hoạt động di truyền tạo đường (PGO)
Hoạt động di truyền tạo đường (PGO)

Với thuật toán GARA, các hoạt động di truyền tạo đường như
Với thuật toán GARA, các hoạt động di truyền tạo đường như
đột biến đường và lai ghép đường được thiết kế để tạo các
đột biến đường và lai ghép đường được thiết kế để tạo các
tuyến có thể luân phiên nhau dựa trên thông tin về topo mạng.
tuyến có thể luân phiên nhau dựa trên thông tin về topo mạng.
Hoạt động đột biến đường sẽ gây nên sự xáo trộn về tuyến
Hoạt động đột biến đường sẽ gây nên sự xáo trộn về tuyến
đường để tạo ra một tuyến luân phiên khác. Hoạt động lai
đường để tạo ra một tuyến luân phiên khác. Hoạt động lai
ghép tuyến sẽ trao đổi các nhánh nhỏ trong tuyến giữa một
ghép tuyến sẽ trao đổi các nhánh nhỏ trong tuyến giữa một
cặp tuyến
cặp tuyến

Có hai loại
Có hai loại

Đột biến tuyến
Đột biến tuyến


Lai ghép tuyến
Lai ghép tuyến

Đột biến tuyến
Đột biến tuyến

Đột biến tuyến sẽ tạo ra một tuyến luân phiên
Đột biến tuyến sẽ tạo ra một tuyến luân phiên

Quá trình đột biến tuyến dựa trên các bước
Quá trình đột biến tuyến dựa trên các bước
sau đây, với r là tuyến gốc và r’ là tuyến đã
sau đây, với r là tuyến gốc và r’ là tuyến đã
được đột biến
được đột biến

Chọn ngẫu nhiên một node đột biến
Chọn ngẫu nhiên một node đột biến
n
n
m
m


trong tất cả các node trên tuyến
trong tất cả các node trên tuyến
r
r
, trừ node
, trừ node

nguồn và node đích
nguồn và node đích

Chọn ngẫu nhiên một node khác n’m từ tất
Chọn ngẫu nhiên một node khác n’m từ tất
cả các node lân cận của node đột biến nm’
cả các node lân cận của node đột biến nm’




ε
ε
(nm).
(nm).

Khởi tạo một đường ngắn nhất r1 từ node
Khởi tạo một đường ngắn nhất r1 từ node
nguồn đến node n’m và một đường ngắn
nguồn đến node n’m và một đường ngắn
nhất r2 từ node n’m đến node đích.
nhất r2 từ node n’m đến node đích.

Nếu không có sự trùng lặp của các node
Nếu không có sự trùng lặp của các node
trong r1 và r2 thì chúng được nối với nhau
trong r1 và r2 thì chúng được nối với nhau
và tạo thành tuyến đột biến r’ = r1 + r2. Nếu
và tạo thành tuyến đột biến r’ = r1 + r2. Nếu
có sự trùng lặp thì tuyến bị hủy việc đột biến

có sự trùng lặp thì tuyến bị hủy việc đột biến
xem như không được thực hiện
xem như không được thực hiện

Lai ghép tuyến
Lai ghép tuyến

Quá trình lai ghép tuyến sẽ trao đổi các
Quá trình lai ghép tuyến sẽ trao đổi các
tuyến con giữa hai tuyến
tuyến con giữa hai tuyến

Để thực hiện được lai ghép, cặp tuyến phải
Để thực hiện được lai ghép, cặp tuyến phải
có cùng node nguồn và đích
có cùng node nguồn và đích

Quá trình lai ghép được sử dụng với các
Quá trình lai ghép được sử dụng với các
cặp tuyến r1 và r2 theo các bước sau
cặp tuyến r1 và r2 theo các bước sau

Chọn một bộ node Nc có xuất hiện
Chọn một bộ node Nc có xuất hiện
tronng cả r1 và r2 (trừ các node nguồn và
tronng cả r1 và r2 (trừ các node nguồn và
đích) làm các điểm có thể cắt để lai ghép
đích) làm các điểm có thể cắt để lai ghép

Chọn ngẫu nhiên node n

Chọn ngẫu nhiên node n
c
c
từ N
từ N
c
c
để làm
để làm
điểm cắt
điểm cắt
.
.

Hoạt động lai ghép được thực hiện bằng
Hoạt động lai ghép được thực hiện bằng
cách trao đổi tất cả các node sau node
cách trao đổi tất cả các node sau node
nc giữa r1 và r2
nc giữa r1 và r2

Duy trì bảng định tuyến
Duy trì bảng định tuyến

Bảng định tuyến chứa 5 trường là:
Bảng định tuyến chứa 5 trường là:
đích, tuyến, tần số, trễ và trọng số
đích, tuyến, tần số, trễ và trọng số

Với mỗi đích, ta có một bộ các

Với mỗi đích, ta có một bộ các
tuyến luân phiên
tuyến luân phiên

Tần số của một tuyến xác định
Tần số của một tuyến xác định
số gói tin gửi đến đích có sử
số gói tin gửi đến đích có sử
dụng tuyến đó
dụng tuyến đó

Trường trễ lưu trễ truyền thông
Trường trễ lưu trễ truyền thông
của gói tin được gửi trên tuyến
của gói tin được gửi trên tuyến

Trọng số của một tuyến được
Trọng số của một tuyến được
tính toàn bằng trễ truyền thông
tính toàn bằng trễ truyền thông
của nó
của nó
Đích Tuyến Tần số Trễ Trọng số
2 (1 3 2)* 7232 50 0.7
(1 3 4 2) 2254 60 0.2
(1 3 4 5
2)
1039 70 0.1
6 (1 8 6)* 20983 100 0.4
(1 10 11

6)
34981 105 0.6
8 (1 8)* 30452 40 0.9
(1 7 8) 3083 40 0.1

Duy trì bảng định tuyến
Duy trì bảng định tuyến

Trong bảng này, các tuyến được đánh dấu
Trong bảng này, các tuyến được đánh dấu
(*) là các tuyến mặc định, là các tuyến ngắn
(*) là các tuyến mặc định, là các tuyến ngắn
nhất dựa trên tham số hop-count. Ban đầu,
nhất dựa trên tham số hop-count. Ban đầu,
bảng định tuyến trống rỗng.
bảng định tuyến trống rỗng.

Khi cần gửi một gói tin và nếu không có
Khi cần gửi một gói tin và nếu không có
tuyến đến đích thì một tuyến mặc định
tuyến đến đích thì một tuyến mặc định
được tạo ra bởi thuật toán Dijkstra được
được tạo ra bởi thuật toán Dijkstra được
đưa vào bảng định tuyến.
đưa vào bảng định tuyến.

Sau khi gửi một số các gói tin trên một
Sau khi gửi một số các gói tin trên một
tuyến, ta gửi một gói tin để quan sát trễ
tuyến, ta gửi một gói tin để quan sát trễ

truyền thông của tuyến.
truyền thông của tuyến.

Giá trị thích nghi được tính sau khi nhận
Giá trị thích nghi được tính sau khi nhận
được trả lời.
được trả lời.

Sau khi quan sát, PGO được sử dụng với
Sau khi quan sát, PGO được sử dụng với
các tuyến với xác suất xác định để tạo các
các tuyến với xác suất xác định để tạo các
tuyến luân phiên
tuyến luân phiên
Đích Tuyến Tần số Trễ Trọng số
2 (1 3 2)* 7232 50 0.7
(1 3 4 2) 2254 60 0.2
(1 3 4 5
2)
1039 70 0.1
6 (1 8 6)* 20983 100 0.4
(1 10 11
6)
34981 105 0.6
8 (1 8)* 30452 40 0.9
(1 7 8) 3083 40 0.1

Tính toán độ thích nghi và lựa chọn
Tính toán độ thích nghi và lựa chọn


Mỗi nút định kỳ gửi các gói tin truy vấn chậm trễ
Mỗi nút định kỳ gửi các gói tin truy vấn chậm trễ
để quan sát độ trễ truyền thông dọc theo tuyến
để quan sát độ trễ truyền thông dọc theo tuyến
đường
đường
.
.



Sau khi có được trễ của tuyến, giá trị trọng số của
Sau khi có được trễ của tuyến, giá trị trọng số của
tuyến được tính toán theo công thức
tuyến được tính toán theo công thức


=
Sj
i
i
i
w
η
η
/1
/1


=

Sj
i
i
i
d
d
/1
/1
η
d
i
: độ trễ tuyến i

Bởi vì ta cần có một trọng số wi lớn hơn cho trễ di
truyền nhỏ hơn. Do đó, một tuyến với trễ nhỏ hơn
sẽ thường được sử dụng để gửi gói tin.

Thực thi lưu lượng
Thực thi lưu lượng
1. Ở trạng thái khởi tạo, bảng định tuyến trống rỗng .
1. Ở trạng thái khởi tạo, bảng định tuyến trống rỗng .
2. Nếu bảng định tuyến không chưa tuyến được có đích
2. Nếu bảng định tuyến không chưa tuyến được có đích
đến cho gói tin đã được tạo thì một tuyến mặc định sẽ
đến cho gói tin đã được tạo thì một tuyến mặc định sẽ
được tạo ra bằng cách sử dụng thuật toán Dijkstra và
được tạo ra bằng cách sử dụng thuật toán Dijkstra và
tuyến đó được đưa vào bảng .
tuyến đó được đưa vào bảng .
3. Sau mỗi lần đánh giá trọng số, hoạt động di truyền

3. Sau mỗi lần đánh giá trọng số, hoạt động di truyền
được gọi lại với xác suất xác định để tạo các tuyến
được gọi lại với xác suất xác định để tạo các tuyến
luân phiên trên bảng định tuyến.
luân phiên trên bảng định tuyến.
4. Nếu kích thước của bảng định tuyến vượt quá giới
4. Nếu kích thước của bảng định tuyến vượt quá giới
hạn, chúng ta thực hiện phép chọn lọc để giảm kích
hạn, chúng ta thực hiện phép chọn lọc để giảm kích
thước của nó. .
thước của nó. .

Thực nghiệm kết quả
Thực nghiệm kết quả

Ví dụ minh họa là thí nghiệm của Corne, Oates và
Ví dụ minh họa là thí nghiệm của Corne, Oates và
Smith
Smith

Trong ví dụ minh họa dưới đây, mạng được sử
Trong ví dụ minh họa dưới đây, mạng được sử
dụng có 20 node
dụng có 20 node

Thuật toán GARA viết bằng mã Pascal
Thuật toán GARA viết bằng mã Pascal

Mô phỏng được chạy trong 3000 giây để
nhận được các kết quả. tại mỗi node trong

mạng, gói tin dữ liệu được khởi tạo ngẫu
nhiên tại một thời điểm xác định được phân
bố theo hàm mũ. Đích đến của gói tin được
lựa chọn ngẫu nhiên từ các node được biểu
diễn là các hình tròn được tô xám. Xác suất
đột biến là 0.1 và xác suất lai ghép là 0.05

Thuật toán GARA viết bằng mã
Thuật toán GARA viết bằng mã
Pascal
Pascal

Thời gian đến của gói tin
Thời gian đến của gói tin



Gara
Gara
đạt được nhiều thời
đạt được nhiều thời
gian đến trung bình nhỏ
gian đến trung bình nhỏ
hơn của các gói tin giao
hơn của các gói tin giao
tiếp hơn so với RIP, SPF
tiếp hơn so với RIP, SPF
và SPF thích nghi
và SPF thích nghi
.

.

SPF thích nghi trực tiếp
SPF thích nghi trực tiếp
quan sát độ trễ truyền
quan sát độ trễ truyền
thông của liên kết là
thông của liên kết là
không hiệu quả trong
không hiệu quả trong
mạng tải nhẹ
mạng tải nhẹ
.
.

Chi phí định tuyến
Chi phí định tuyến
GARA đạt được thời gian đi
đến nhỏ hơn với chi phi truyền
thông ít hơn nhiều
=> thuật toán GARA đạt được
khoảng 20% thời gian đến
trung bình so với khoảng thời
gian của RIP và SPF. Điều này
nghĩa là các gói tin được gửi
bằng thuật toán GARA sẽ đến
đích nhanh hơn 5 lần so với các
gói tin được gửi bằng các thuật
toán khác


Tình trạng tải của liên kết
Tình trạng tải của liên kết
Gara
Gara
SPF
SPF
RIP
RIP

Độ dày của một liên kết là viết tắt của chiều dài hàng đợi trung
Độ dày của một liên kết là viết tắt của chiều dài hàng đợi trung
bình của nó.
bình của nó.



G
G
ara
ara
đạt được ít hơn nhiều trên không liên kết, đặc biệt là trên
đạt được ít hơn nhiều trên không liên kết, đặc biệt là trên
các liên kết 11 <=> 13 <=> 19.
các liên kết 11 <=> 13 <=> 19.

Kết luận
Kết luận
Gara nhận ra một định tuyến thích ứng hiệu quả với chi
phí truyền thông ít hơn bởi các cơ chế sau đây:
• Nó quan sát độ trễ truyền thông của các tuyến đường

thường xuyên sử dụng.
• Nó tạo ra một thiết lập phù hợp của các tuyến đường
thay thế sử dụng các nhà khai thác di truyền.
• Nó phân phối các gói dữ liệu giữa các tuyến đường thay
thế, nhận ra một cơ chế cân bằng tải giữa chúng.

Xin chân thành cảm ơn!
Xin chân thành cảm ơn!

×