2008
dce
©2008, Dr. Dinh Duc Anh Vu
21
Data Communication and Computer Networks
Isolated Adaptive Routing
•
Ví
dụ
•
Đường ra được chọn là đường ra có
Q+B
i
nhỏ
nhất
2008
dce
©2008, Dr. Dinh Duc Anh Vu
22
Data Communication and Computer Networks
Adaptive Routing
•
Distributed Adaptive Routing
–
Trong
phương
pháp
này, thông
tin về
tình
trạng
hoạt
động
hiện
hành
củamạng
sẽđược
định
kỳ
trao
đổi, cậpnhậtgiữa
các
node trong
toàn
mạng. Sau
đó
thông
tin này
sẽđược
phân
bố
về
lại
các
node trong
mạng
hay mộtsố
node trong
mạng
làm
nhiệmvụ
tìm
đường
để
các
node này
cậpnhậtlạibảng
routing
–
Phương
pháp
này
đáp
ứng
đượcvớinhững
thay
đổitrạng
thái
của
mạng, nhưng
đồng
thờicũng
làm
tăng
lưulượng
thông
tin trong
mạng
•
Centralized Adaptive Routing
–
Trong
phương
pháp
này, thông
tin về
tình
trạng
hoạt
động
hiện
hành
củamạng
sẽđược
định
kỳ
trao
đổi, cậpnhậtgiữa
các
node trong
toàn
mạng. Sau
đó
thông
tin này
sẽđượctậptrungvề
mộtmáychủ
trong
mạng
làm
nhiệmvụ
routing
–
Tuy
đáp
ứng
đượcvớinhững
thay
đổitứcthờitrongmạng
nhưng
phương
pháp
này
có
nhược
điểm
là
thông
tin routing trong
toàn
mạng
tập
trung
về
một
máy
nên
khi
máy
này
không
hoạt
động
thì
toàn
mạng
sẽ
không
hoạt
động
được
2008
dce
©2008, Dr. Dinh Duc Anh Vu
23
Data Communication and Computer Networks
Giải
thuậttìmđường
ngắnnhất
•
Bài
toán
–
Cho
mạng
các
node đượcnốibởi
các
liên
kết
2 chiều, mỗichiềucógiátrị
chi
phí
riêng
–
Chi phí
của
đường
đigiữa
2 node trong
mạng
là
tổng
các
giá
trị
chi phí
của
các
liên
kết
đi
qua
–
Xác
định
đường
đingắnnhất
(chi phí
thấpnhất) giữa
2 node
•
Tiêu
chuẩn
đường
ngắnnhất
–
Số
chặng
đường
đi
•
Giá
trị
mỗi
liên
kếtlà1
–
Giá
trị
liên
kết
•
Tỉ
lệ
nghịch
tốc
độ
liên
kết
•
Tỉ
lệ
thuậntải
trên
liên
kết
•
Tổ
hợpcácđạilượng
trên
•
Giảithuật
–
Forward-search (Dijkstra)
–
Backward-search (Bellman-Ford)
2008
dce
©2008, Dr. Dinh Duc Anh Vu
24
Data Communication and Computer Networks
Giải
thuật
Dijkstra
•
Input
–
Đồ
thị
G(V, E) trong
đóV làtập
đỉnh, E là
tậpcạnh
có
trọng
số
không
âm
–
Đỉnh
nguồnS: S
V
•
Output
–
Đường
đingắnnhấttừđỉnh
nguồnS đếntấtcả
các
đỉnh
còn
lại
•
Ký
hiệu
–
D
i
: đường
đingắnnhấttừ
node nguồnS đến
node i tạibướcchạy
hiện
hành
củagiảithuật
–
M: tậpcácđỉnh
đãxéttạibướcchạyhiện
hành
củagiảithuật
–
d
ij
: trọng
số
trên
cạnh
nốitừ
node i đến
node j
d
ij
= 0 nếu
i trùng
j
d
ij
= E
ij
nếu
i khác
j
2008
dce
©2008, Dr. Dinh Duc Anh Vu
25
Data Communication and Computer Networks
Giải
thuật
Dijkstra
•
Giảithuật
–
Bước1: khởi
động
•
M = {S}
•
D
i
= d
si
(các cạnh nối trực tiếp với S)
–
Bước2: cậpnhật
đường
đingắnnhất
•
Chọn
đỉnh
N
V sao
cho: D
N
= min {D
i
} i
V\M
•
M = M U {N}
•
D
j
= min {D
j
, D
N
+ d
Nj
}
j
V\M
–
Bước3: lặplạibước2 chođếnkhiM=V
–
Kếtquả
D
i
sẽ
là
đường
đingắnnhấttừ
node nguồnS đến
node i
2008
dce
©2008, Dr. Dinh Duc Anh Vu
26
Data Communication and Computer Networks
Giải
thuật
Dijkstra
Node 2 Node 3 Node 4 Node 5 Node 6Laàn
chaïy
M
D
2
Path D
3
Path D
4
Path D
5
Path D
6
Path
1 1 2 1 – 2 5 1 – 3 1 1 – 4
2 1 , 4 2 1 – 2 4 1 – 4 – 3 1 1 – 4 2 1 – 4 – 5
3 1 , 4 , 2 2 1 – 2 4 1 – 4 – 3 1 1 – 4 2 1 – 4 – 5
4 1 , 4 , 2 , 5 2 1 – 2 3 1 – 4 – 5 – 3 1 1 – 4 2 1 – 4 – 5 4 1 – 4 – 5 – 6
5 1 , 4 , 2 , 5 , 3 2 1 – 2 3 1 – 4 – 5 – 3 1 1 – 4 2 1 – 4 – 5 4 1 – 4 – 5 – 6
6 1 , 4 , 2 , 5 , 3 ,6 2 1 – 2 3 1 – 4 – 5 – 3 1 1 – 4 2 1 – 4 – 5 4 1 – 4 – 5 – 6
2008
dce
©2008, Dr. Dinh Duc Anh Vu
27
Data Communication and Computer Networks
Giải
thuật
Dijkstra
2008
dce
©2008, Dr. Dinh Duc Anh Vu
28
Data Communication and Computer Networks
Giải
thuật
Bellman-Ford
•
Input
–
Đồ
thị
G(V, E) trong
đóV làtập
đỉnh, E là
tậpcạnh
có
trọng
số
–
Đỉnh
nguồnS: S
V
•
Output
–
Đồ
thị
có
chu
trình
âm
không
tồntại
đường
đingắnnhất
–
Đường
đingắnnhấttừđỉnh
nguồnS đếntấtcả
các
đỉnh
còn
lại
•
Ký
hiệu
–
D(h)
i
: đường
đingắnnhấttừ
node nguồnS đến
node i có
tối
đah đoạn
(link).
–
d
ij
: trọng
số
trên
cạnh
nốitừ
node i đến
node j
d
ij
= 0 nếu
i trùng
j
d
ij
= Eij
nếu
i khác
j
2008
dce
©2008, Dr. Dinh Duc Anh Vu
29
Data Communication and Computer Networks
Giải
thuật
Bellman-Ford
•
Giảithuật
–
Bước1: khởi
động
•
D(1)
N
= d
SN
, N
V\{S}
(đường
đingắnnhấttừ
S đến
N có
tối
đa1 đoạn)
–
Bước2: cậpnhật
đường
đingắnnhất
•
D(h+1)
N
= min {D(h)
j
+ d
jN
} j
V\{S}
–
Bước3: lặplạibước2 chođếnkhi
không
có
đường
đimới
nào
ngắn
hơn
đượctìmthấythìdừng
–
Kếtquả
D(h)
N
sẽ
là
đường
đingắn
nhấttừ
node nguồnS đến
node N
2008
dce
©2008, Dr. Dinh Duc Anh Vu
30
Data Communication and Computer Networks
Giải
thuật
Bellman-Ford
Node 2 Node 3 Node 4 Node 5 Node 6Laàn
chaïy D(h)
2
Path D(h)
3
Path D(h)
4
Path D(h)
5
Path D(h)
6
Path
1 2 1–2 5 1–3 1 1–4
2 2 1–2 4 1–4–3 1 1–4 2 1–4–5 10 1–3–6
3 2 1–2 3 1–4–5–3 1 1–4 2 1–4–5 4 1–4–5–6
4 2 1–2 3 1–4–5–3 1 1–4 2 1–4–5 4 1–4–5–6