• Tidak ada hasil yang ditemukan

03 Routing Protocols Giai thua tim duong

N/A
N/A
Protected

Academic year: 2017

Membagikan "03 Routing Protocols Giai thua tim duong"

Copied!
65
0
0

Teks penuh

(1)

Các giao thức định tuyến 

Các giải thuật định tuyến 

TS. Trương Diệu Linh 

Bộ môn Mạng thông Cn & Truyền thông 

Viện Công nghệ  thông Cn 

(2)

Các gi

i thu

t tìm

đườ

ng

Link-state: Dijkstra

Distance vector: Bellman Ford

Flooding

Gi

i thu

t tìm

đườ

ng phân c

p

Gi

i thu

t tìm hai

đườ

ng

đ

i phân bi

t Suurball

Gi

i thu

t Prim-Dijktra

(3)

Các gi

i thu

t

đị

nh tuy

ế

n

Thu

t toán

đị

nh tuy

ế

n/ tìm

đườ

ng là m

t b

ph

n

c

a t

ng m

ng có nhi

m v

quy

ế

t

đị

nh

đườ

ng ra/

vào c

m

t gói tin có th

đượ

c truy

n lên

đ

ó,

Thu

t toán tìm

đườ

ng

đ

òi h

i các tính ch

t sau:

Tính chính xác,

Tính

đơ

n gi

n,

Kh

n

ă

ng m

r

ng

Tính

n

đị

nh,

Tính công b

ng và t

i

ư

u

(4)

Cây

đườ

ng

đ

i ng

n nh

t - SPT

SPT – Shortest Path Tree

Các c

nh xu

t phát t

nút g

c và t

i các lá

Đườ

ng

đ

i duy nh

t t

nút g

c t

i nút v, là

đườ

ng

đ

i ng

n nh

t

gi

a nút g

c và nút v

M

i nút s

có m

t SPT c

a riêng nút

đ

ó

y

x

w

u

z

u

y

x

w

v

z

2

2

1 3

1

1

2 5 3

5

(5)

Các gi

i thu

t tìm

đườ

ng

Tìm

đườ

ng

đ

i t

1 ngu

n

đế

n

t

t c

các nút khác th

ườ

ng

d

a trên cây khung

Cây khung là 1 cây có g

c là

ngu

n

đ

i qua t

t c

các

đỉ

nh

c

a m

t

đồ

th

Nguyên t

c t

i

ư

u c

a các gi

i

thu

t tìm

đườ

ng:

Cây khung t

i thi

u: t

ng tr

ng

s

min.

M

t cây khung t

i thi

u có th

không ph

i là duy nh

t.

M

t cây khung t

i thi

u không

ch

a b

t k

m

t vòng l

p nào,

(6)

Bi

u di

n m

ng b

i

đồ

th

Đồ

th

v

i các nút (b

đị

nh tuy

ế

n) và các c

nh (liên

k

ế

t)

Chi phí cho vi

c s

d

ng m

i liên k

ế

t c(x,y)

B

ă

ng thông,

độ

tr

, chi phí, m

c

độ

t

c ngh

n

Gi

thu

t ch

n

đườ

ng: Xác

đị

nh

đườ

ng

đ

i ng

n nh

t

gi

a hai nút b

t k

u

w

v

z

2

2

1 3

1

5 3

(7)

Các gi

i thu

t tìm

đườ

ng ki

u

link-state: Dijkstra

Gi

i thu

t ch

n

đườ

ng

đ

i ng

n nh

t Dijkstra (1959):

Thu

t toán Dijkstra, mang tên c

a nhà khoa h

c máy tính ng

ườ

i

Hà Lan Edsger Dijkstra, là m

t thu

t toán gi

i quy

ế

t bài toán

đườ

ng

đ

i ng

n nh

t ngu

n

đơ

n trong m

t

đồ

th

có h

ướ

ng.

Thu

t toán th

c hi

n tìm

đườ

ng

đ

i t

m

t

đỉ

nh

đế

n t

t c

các

đỉ

nh còn l

i c

a

đồ

th

có tr

ng s

không âm.

Thu

t toán Dijkstra bình th

ườ

ng s

độ

ph

c t

p là

trong

đ

ó m là s

c

nh, n là s

đỉ

nh c

a

đồ

th

đ

ang xét.

Để

minh h

a các gi

i thu

t tìm

đườ

ng, thông th

ườ

ng ng

ườ

i ta

k

ý

hi

u N là s

nodes trong m

ng, i và j là nhãn c

a các node

trong m

ng.

(8)

Dijkstra

K

ý

hi

u:

G = (V,E)

:

Đồ

th

v

i t

p

đỉ

nh

V

và t

p c

nh

E

c(x,y):

chi phí c

a liên k

ế

t

x

t

i

y

; =

n

ế

u không

ph

i 2 nút k

ế

nhau

d(v):

chi phí hi

n th

i c

a

đườ

ng

đ

i t

nút ngu

n t

i

nút

đ

ích.

v

p(v):

nút ngay tr

ướ

c nút

v

trên

đườ

ng

đ

i t

ngu

n t

i

đ

ích

T:

T

p các nút mà

đườ

ng

đ

i ng

n nh

t

đ

ã

đượ

c xác

(9)

Dijkstra

Init():

V

i m

i nút v,

d[v]

=

,

p[v]

= NIL

d[s]

= 0

Update(

u,v

),

trong dó (

u,v

) u, v là m

t

c

nh nào

đ

ó c

a

G

if

d[v] > d[u] + c(u,v)

then

d[v] = d[u] + c(u,v)

p[v] = u

(10)

Dijkstra

1.

Init()

;

2.

T

=

Φ

;

3. Repeat

4.

u:

u

T

|

d(u)

là bé nh

t ;

5.

T = T

{u};

6. for all

v

neighbor(u) và

v

T

7.

update(u,v)

;

(11)

11

Step

0

1

2

3

4

5

T

u

ux

uxy

uxyv

uxyvw

uxyvwz

d(v),p(v)

2,u

2,u

2,u

d(w),p(w)

5,u

4,x

3,y

3,y

d(x),p(x)

1,u

d(y),p(y)

2,x

d(z),p(z)

∞ ∞

4,y

4,y

4,y

y x w

u z

u y x w v z 2 2 1 3 1 1 2 5 3 5 v v x y w z (u,v) (u,x) (u,x) (u,x) (u,x) destination link

B

ng ch

n

đườ

ng c

a u:

SPT c

a u:

(12)

Dijsktra

Gi

i thu

t ch

n

đườ

ng

đ

i ng

n nh

t

Dijkstra (1959):

(13)

Dijsktra

Gi

i thu

t ch

n

đườ

ng

đ

i ng

n nh

t

Dijkstra (1959):

1/23/14 13

(14)

Gi

i thu

t tìm

đườ

ng link-state

Gi

i thu

t tìm

đườ

ng tr

ng thái liên k

ế

t

(link-state routing protocols):

1.

Khám phá các láng gi

ng và h

c các

đị

a ch

m

ng c

a chúng

2.

Đ

o

độ

tr

(delay), hay giá (cost) t

i các láng

gi

ng

3.

Xây d

ng m

t gói tin báo cho các tr

ng thái/

thông tin v

a h

c

(15)

Gi

i thu

t tìm

đườ

ng link-state

Gi

i thu

t tìm

đườ

ng tr

ng thái liên k

ế

t (link-state routing

protocols):

1.

Khám phá các láng gi

ng và h

c các

đị

a ch

m

ng c

a chúng

Khám phá các routers láng ging bng cách gi 1 gói tin HELLO trên mỗi đường dẫn,

Khi 2 hay nhiu routers kết ni bi mt LAN, tình hung s phc tp hơn.

1/23/14 15

(16)

Gi

i thu

t tìm

đườ

ng link-state

Gi

i thu

t tìm

đườ

ng tr

ng thái liên k

ế

t (link-state

routing protocols):

(17)

Gi

i thu

t tìm

đườ

ng link-state

Gi

i thu

t tìm

đườ

ng tr

ng thái liên k

ế

t (link-state routing

protocols):

3.

Xây d

ng m

t gói tin báo cho các tr

ng thái/ thông tin v

a h

c:

Gói tin bắt đầu với định danh của máy gửi, theo sau là thứ tự trạng thái, tuổi (age) và một danh sách các láng giềng. Thông thường các gói tin trạng thái được xây dựng một cách định kỳ.

1/23/14 17

(18)

Gi

i thu

t tìm

đườ

ng link-state

Gi

i thu

t tìm

đườ

ng tr

ng thái liên k

ế

t (link-state routing

protocols):

4.

G

i gói tin c

p nh

t

đế

n t

t c

các routers khác:

S dng thut toán ngp lt (flooding) để gi các gói tin trng thái, Các gói tin cha thông tin v tui (age) để tránh trùng lp và cp nht

thông tin. Khi bộ đếm tuổi quay về zero, thông tin về routers đấy sẽ bị hủy.

Trường tui cũng gim theo tng routers trong quá trình ngp lt để

đảm bảo không có gói tin nào có thể tồn tại vô hạn,

Các gói tin trng thái thường được lưu vào b nhớ đệm để x lý tun tự, nếu có trùng lặp sẽ bị loại bỏ.

(19)

Gi

i thu

t tìm

đườ

ng link-state

Gi

i thu

t tìm

đườ

ng tr

ng thái liên k

ế

t

(link-state routing protocols):

5.

Tính

đườ

ng d

n ng

n nh

t cho t

ng routers:

Sau khi các routers có

đầ

y

đủ

thông tin tr

ng thái các

đườ

ng d

n s

s

d

ng thu

t toán Dijkstra

để

tính toán/

xây d

ng

đườ

ng d

n ng

n nh

t cho m

i n

ơ

i

đế

n có

th

,

Ch

n

đườ

ng tr

ng thái liên ki

ế

t (link-state)

đượ

c dùng nhi

u trong các m

ng hi

n nay,

Các giao th

c ch

n

đườ

ng tr

ng thái liên k

ế

t ph

bi

ế

n

là OSPF (Open Shortest Path First) và IS-IS

(Intermediate System-Intermediate System).

(20)

Gi

i thu

t tìm

đườ

ng link-state

Gi

i thu

t tìm

đườ

ng tr

ng thái liên k

ế

t

(link-state routing protocols)

B

đị

nh tuy

ế

n dùng nhi

u b

nh

và th

c thi

nhi

u h

ơ

n so v

i các giao th

c

đị

nh tuy

ế

n

theo vect

ơ

kho

ng cách.

L

ý

do c

n thi

ế

t ph

i l

ư

u tr

thông tin c

a t

t

c

các láng gi

ng, c

ơ

s

d

li

u m

ng

đế

n t

các n

ơ

i khác và vi

c th

c thi các thu

t toán

đị

nh tuy

ế

n tr

ng thái.

Các nhu c

u v

b

ă

ng thông c

n ph

i tiêu t

n

(21)

Bellman-Ford

Ph

ươ

ng trình Bellman-Ford (quy hoach

độ

ng)

Đị

nh ngh

ĩ

a

d

x

(y) := chi phí c

a

đườ

ng

đ

i ng

n nh

t

t

x t

i y

Ta có

d

x

(y) = min {c(x,v) + d

v

(y) }

cho t

t c

các v là hàng xóm c

a x

21

(22)

Bellman-Ford

u

y

x

w

v

z

2

2

1 3

1

1

2 5 3

5

D

th

y, d

v

(z) = 5, d

x

(z) = 3, d

w

(z) = 3

d

u

(z) = min { c(u,v) + d

v

(z),

c(u,x) + d

x

(z),

c(u,w) + d

w

(z) }

= min {2 + 5,

1 + 3,

5 + 3} = 4

Nút nào làm giá tr

trên nh

nh

t

L

a ch

n là

nút k

ế

ti

ế

p trong b

ng ch

n

đườ

ng

(23)

Gi

i thu

t tìm

đườ

ng vector kho

ng cách

Gi

i thu

t tìm

đườ

ng vector kho

ng cách

(distance-vector):

M

i router duy trì m

t b

ng

đị

nh tuy

ế

n vector kho

ng cách

cho c

ly t

t nh

t t

i t

ng

đ

ích và

đườ

ng truy

n dùng

để

t

i ngu

n

đ

ích

đ

ó,

Các b

ng

đị

nh tuy

ế

n

đượ

c c

p nh

t thông tin nh

trao

đổ

i

đị

nh k

v

i các láng gi

ng c

a nó,

S

d

ng thu

t toán Bellman-Ford Fulkerson,

Là thu

t toán ch

n

đườ

ng g

c cho m

ng ARPANET và

đượ

c dùng r

ng rãi trong

đị

nh tuy

ế

n IP trong giao th

c

đị

nh tuy

ế

n RIP (Routing Information Protocol), IDX c

a

Novell.

Đượ

c s

d

ng

đế

n n

ă

m 1979 sau

đ

ó

đượ

c thay th

ế

b

i

các gi

i thu

t ch

n

đườ

ng tr

ng thái liên k

ế

t do

độ

tr

l

n,

th

i gian h

i t

lâu do

đ

òi h

i c

n ph

i trao

đổ

i các thông

đ

i

p

đị

nh tuy

ế

n l

n.

(24)

Gi

i thu

t tìm

đườ

ng d

ng distance-vector

ý tưởng cơ bản:

DV: Vector kho

ng cách, t

m

coi là

đườ

ng

đ

i ng

n nh

t c

a

t

m

t nút t

i nh

ng nút khác

M

i nút

đị

nh k

g

i DV c

a nó

t

i các nút bên c

nh

Khi nút x nh

n

đượ

c 1 DV, nó

s

c

p nh

t DV c

a nó qua pt

Bellman-ford

V

i m

t s

đ

i

u ki

n,

ướ

c

l

ượ

ng

D

x

(y) s

h

i t

d

n

đế

n

giá tr

nh

nh

t

d

x

(y)

Ch

(Thay

đổ

i trong DV c

a

nút bên c

nh)

Tính l

i

ướ

c l

ượ

ng DV

N

ế

u DV thay

đổ

i,

Báo

cho

nút bên c

nh

(25)

25

x y z

x y z

0 2 7

∞ ∞ ∞

∞ ∞ ∞

t

chi phí tới

t

t

x y z

x y z 0 t ừ

chi phí tới

x y z

x y z

∞ ∞

∞ ∞ ∞

chi phí tới

x y z

x y z

∞ ∞ ∞

7 1 0 chi phí tới

2 0 1

∞ ∞ ∞

2 0 1 7 1 0

thờigian

x

z

1 2 7

y

nút x nút y nút z

Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2

Dx(z) = min{c(x,y) +

Dy(z), c(x,z) + Dz(z)} = min{2+1 , 7+0} = 3 3

(26)

x y z

x y z

0 2 7

∞ ∞ ∞

∞ ∞ ∞

t

chi phí tới

t

t

x y z

x y z

0 2 3

t

chi phí tới x y z

x y z

0 2 3

t

chi phí tới

x y z

x y z

∞ ∞

∞ ∞ ∞

chi phí tới

x y z

x y z

0 2 7

t

chi phí tới

x y z

x y z

0 2 3

t

chi phí tới

x y z

x y z

0 2 3

t

chi phí tới x y z

x y z

0 2 7

t

chi phí tới

x y z

x y z

∞ ∞ ∞

chi phí tới

2 0 1

∞ ∞ ∞

2 0 1 7 1 0

2 0 1 7 1 0

2 0 1 3 1 0

2 0 1 3 1 0

2 0 1

3 1 0 2 0 1 3 1 0

x

z

1 2 7

y

nút x nút y nút z

Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2

Dx(z) = min{c(x,y) +

(27)

So sánh link-state và distance

vector

Thông

đ

i

p trao

đổ

i

LS:

n nút, E c

nh, O(nE)

thông

đ

i

p

DV:

Ch

trao

đổ

i gi

a các

hàng xóm

Th

i gian h

i t

thay

đổ

i

T

c

độ

h

i t

LS:

Thu

t toán: O(n

2

) c

n

O(nE) thông

đ

i

p

DV

: Thay

đổ

i

S

ch

c ch

n:

Gi

i s

m

t

router ho

t

độ

ng sai

LS:

nút g

i các chi phí sai

M

i nút tính riêng b

ng

ch

n

đườ

ng -> có v

ch

c

ch

n h

ơ

n

DV:

DV có th

b

g

i sai

M

i nút tính toán d

a trên

các nút khác

Lỗi bị lan truyền trong mạng

(28)

Các gi

i thu

t tìm

đườ

ng

T

ng k

ế

t v

các giao th

c

đị

nh tuy

ế

n ph

d

ng trên m

ng IP:

Đặc trưng  RIPv1  RIPv2  IRGP  EIGRP  OSPF 

Distance‐vector  X  X  X  X 

Link‐state  X 

Tự động tóm tắt định tuyến  X  X  X  X 

Hỗ trợ VLSM  X  X  X 

3rd party compaCble 

Thích hợp  Nhỏ  Nhỏ  Vừa  Lớn  Lớn 

Thời gian hội tụ  Chậm   Chậm  Chậm  Nhanh  Nhanh 

Giá trị định tuyến  Hop count  Hop count  BW+D  BW+D  10E8/BW 

Giới hạn hop  15  15  100  100 

Cân bằng tải cùng giá trị đt  X  X  X  X  X 

Cân bằng tải ko cùng giá trị đt  X  X 

(29)

Gi

i thu

t ng

p l

t

Gi

i thu

t ng

p l

t (flooding):

M

i nút v

a là nút nh

n v

a là

nút g

i.

M

i nút g

i gói tin nó nh

n

đượ

c ra t

t c

các nút k

tr

nút mà t

đ

ó nó

đ

ã nh

n gói tin.

Gi

i thu

t có th

có thêm các

c

ơ

ch

ế

ch

ng l

p, ch

ng v

n

chuy

n vòng tròn, c

ơ

ch

ế

h

ế

t

h

n

Gi

i thu

t này th

ườ

ng

đượ

c s

d

ng trên các m

ng ad hoc,

sensor networks.

selective flooding algorithm:

ch

g

i gói tin trên các

đườ

ng

đ

i

theo h

ướ

ng c

a thi

ế

t b

đ

ích

(30)

Giải thuật ngập lụt 

Ngập lụt có điều khiển  

SNCF(Sequence‐number‐controlled flooding)    

Nút gửi đưa địa chỉ của nó và số hiệu gói vào gói Cn 

broadcast. 

Mỗi nút lưu địa chỉ và số hiệu của gói Cn nó đã gửi đi. 

Nếu nút gặp lại gói Cn nó đã gửi, nó sẽ bỏ gói Cn mà 

(31)

Gia

thu

t tìm

đườ

ng phân c

p

Tìm

đườ

ng trong m

ng

đ

a mi

n

Phân c

p: m

c inter-domain, intra-domain

o hóa các domain:

o hóa ki

u nút:

Mỗi miền được ảo hóa thành 1 nút

o hóa hình sao

Một số nút của miền gọi là nút biên, có các kết nối inter-domain

đến các miền khác

Mỗi miền ảo hóa thành 1 hình sao, có 1 nút ảo trung tâm nối hình sao đến các nút biên.

o hóa hình l

ướ

i

Một số nút của miền gọi là nút biên, có các kết nối inter-domain

đến các miền khác

Mỗi miền được ảo hóa thành một đồ thị gồm các nút biên được nối nhau được bởi các liên kết ảo.

(32)

Gi

i thu

t tìm

đườ

ng phân c

p

M

ng m

c liên mi

n tr

thành m

ng c

a các

mi

n

đ

ã

đượ

c

o hóa và các liên k

ế

t liên mi

n

(33)

Gi

i thu

t tìm

đườ

ng phân c

p

!" ! !# !$ !% !& !' !! !" # $ ( !) !* % " $ # !" & ) * %&'()&*+,-#.

& * #

! ( !! !' ) " + $ !& !) !* % !" !$ &) !( && &! &' ( &% &* !# !% !* !) !& !! !' $ " # * % ) & 34%%,-+. ! & ) * ( " $ % # #$ + + !( !$ !# !) !% !* 56 5 6 5 6 56 + !" + !! !& + + + %&78%8/,-6. !' ! & % $ # !! ( !' !% " !) * !$ !& !( !# 7&<)='()=>' <>?* &

(34)
(35)

Gi

i thu

t tìm

đườ

ng phân c

p

!"

! #

$

!%

!$ &

&(

$

!&

!#

& #

!&

!

!'

( %

(36)

Gi

i thu

t tìm

đườ

ng phân c

p

Path vector

S

d

ng

để

đị

nh tuy

ế

n trong các m

ng

đ

a mi

n

M

i mi

n

đượ

c

o hóa thành m

t nút m

ng g

i là

speaker

Nút m

ng

o này trao

đổ

i thông tin

đị

nh tuy

ế

n v

i

các nút m

ng khác:

thông tin v

đườ

ng

đ

i

Không trao

đổ

i thông tin v

đơ

n v

đị

nh tuy

ế

n (tr

ng s

)

T

ươ

ng t

gi

i thu

t lo

i distance vector

(37)

Gi

i thu

t tìm 2

đườ

ng

đ

i phân bi

t

Gii thut tìm 2 đường đi cnh phân bit

Với một cặp nguồn, đích tìm 2 đường đi không có cạnh chung  Thuật toán dùng cho định tuyến có dự phòng

Gii thut ti ưu Suurballe trong đồ th có hướng vi trng s không âm

Đồ thị G, trọng số các cạnh w(u,v). Nguồn s. Đích t  Tìm cây đường đi ngắn nhất T từ đỉnh s bằng Dijkstra.  P1 là đường đi ngắn nhất từ s đến t.

Điều chỉnh trọng số các cạnh của G • w'(u,v) = w(u,v) − d(s,v) + d(s,u).

•   Mi cnh cu cây T đều có trng s 0,

 Các cạnh không thuộc cây T có trọng số không âm

Tạo đồ thị Gt từ G bằng cách bỏ đi các cạnh hướng vào s và đảo ngược chiều các cạnh có

trọng số 0 trên đường đi P1.

Tìm đường đi ngn nht P2 trên Gt bng Dijkstra’s.

B các cnh ngược vi chiu ca P2 trên c 2 đường đi.

Các cnh còn li cuP1P2 to thành 2 đường đi không chung cnh

(38)

Gi

i thu

t tìm 2

đườ

ng

đ

i phân bi

t

A: Đồ thị G.

B: Tính đường đi ngắn nhất C: Cây T

D: Điều chỉnh trọng số E: Tính P2 trên Gt. F: thu được P1,P2.

(39)

Các gi

i thu

t tìm

đườ

ng

Gi

i thu

t ch

n

đườ

ng qu

ng bá (broadcast routing):

Trong m

t s

ng d

ng, host c

n g

i m

t s

thông

đ

i

p

đế

n m

t

nhóm hay t

t c

các host khác trong m

t subnet hay m

t liên

m

ng,

G

i gói tin

đế

n t

t c

các host m

t cách

đồ

ng th

i

đượ

c g

i là

broadcast routing, có m

t s

cách th

c

để

th

c hi

n broadcast

routing:

Flooding: giải thuật ngập lụt có thể được sử dụng nhưng giải thuật này thường sinh nhiều gói tin thừa và gây lãng phí băng thông,

Multi-destination routing: địa chỉ gói tin gửi định nghĩa một tập các địa chỉ gốc mà ánh xạ tới một nhóm hay một nhóm các mạng đích.

Spanning tree: sử dụng cây khung nhỏ nhất, phương pháp này khá hiệu quả do không chứa vòng lòng lặp, tạo số gói tin vừa đủ để gửi tuy nhiên nhược điểm là mỗi router còn chứa thông tin về cây khung nhỏ nhất này.

Reserve path forwarding: các router trung chuyển xác định đã nhận gói tin từ cổng nào của router. Nếu đó là cổng router dùng để gửi thông tin theo chiều ngược lại về phía nguồn thì gói tin sẽ được lặp lại trên tất cả các cổng khác. Nếu không gói tin sẽ bị hủy đi. Điều này đảm bảo gói tin

đi theo đường tốt nhất.

(40)

Các gi

i thu

t tìm

đườ

ng

Gi

i thu

t ch

n

đườ

ng qu

ng bá (broadcast routing):

(41)

Cây khung (Spanning tree) 

Cây khung của một đồ thị là cây đi qua tất cả 

các đỉnh của đồ thị  

1/23/14 41

1

2

4 3

5

1

2

4 3

5

(42)

Giải thuật xây dựng cây khung  

Cho đồ thị G=(N, A) 

1) Chọn một nút bất kỳ n trong tập N, N’={n}, A’={} 

2) Nếu N’=N, thật toán dừng, cây T=(N’,A’) là cây 

khung 

3) Chọn một cung (i,j) 

 A, i 

 N', j 

̸ N'  

N' := N'

{j}; A' := A'

{(i,j)}; 

Lặp lại bước 2. 

(43)

Cây khung nhỏ nhất 

Cây có tổng trọng số trên các cạnh là nhỏ nhất 

Các giải thuật 

Prim‐Dijsktra: 

Bắt đầu từ một nút bất kỳ, nút trở thành 1 phần cây. 

Thêm vào cây cạnh có trọng số nhỏ nhất nối một nút 

của cây với 1 nút chưa có trong cây 

(44)

Prim‐Dijkstra  

7 8

9 5 4

1 2

3

2 2

1

8

7 2

1

3

1 1

2

1

3 3

8 Step

Step 3

Step

Step 4 Step 5

(45)

Cây khung nhỏ nhất 

Giải thuật Kruskal 

Tạo một rừng F, mỗi đỉnh của đồ thị coi như 1 cây  

Tập 

A

 chứa tất cả các cạnh của đồ thị. 

Chừng nào A còn chưa rỗng lặp lại: 

Lấy 1 cạnh có trọng số nhỏ nhất từ A 

Nếu cạnh đó nối 2 cây của F thì cho cho cạnh vào rừng 

F và nối 2 cây thành 1 cây. Nếu không, bỏ cạnh đó  

Kết quả thu được cây khung nhỏ nhất F. 

(46)

Gi

i thu

t tìm

đườ

ng multicast

Vic gi gói tin đến mt nhóm các dch v/ nhóm địa chỉ định trước

được gọi là multicasting và giải thuật gửi gói tin multicast được gọi là chọn đường đa hướng/ multicast routing,

Multicasting khác vi gói tin qung bá (broadcasting) bi s lượng đích

đến cần chuyển tiếp, và broadcasting thì gửi gói tin đến một subnet, hay một liên mạng cụ thể.

Để multicasting thì cn phi qun lý nhóm, mt s cách thc cơ bn là

tham gia nhóm, tạo nhóm, hủy nhóm và rời nhóm. Những tác vụ này thì ko liên quan đến các cách thức định tuyến.

Để thc hin chn đường multicasting, các router phi tính toán được

một spanning tree bao trùm tất cả các router khác trong subnet, ví dụ hình 30.a và 30.b

Sau khi xây dng spanning tree, router xây dng các cây ct ta cho

(47)

Gi

i thu

t tìm

đườ

ng multicast

1/23/14 47

(48)

Gi

i thu

t tìm

đườ

ng multicast

(49)

Gi

i thu

t ch

n

đườ

ng cho các host di

độ

ng

1/23/14 49

Hình 31: Một WAN cho các LAN, MAN và các cell vô tuyến

(50)

Gi

i thu

t ch

n

đườ

ng cho các

host di

độ

ng

Mi thiết b di động đều có mt home location

Toàn b không gian được chia thành các vùng (area)

Mi vùng có foreign agent, qun lý các thiết bị đang đến thăm vùng

Mi vùng có mt home agent qun lý các thiết b ca vùng đang di chuyn

thăm vùng khác

Khi mt thiết b di động đi vào mt vùng mi thiết b di động đó phi đăng ký

với một foreign agent (hoặc base station), thủ tục đăng ký thông thường như sau:

1. Foreign agent quảng bá định kỳ 1 gói tin báo hiệu sự tồn tại của nó. Các thiết bị đầu

cuối di động có thể tóm các gói tin này, hoặc ngược lại có thể gửi một gói tin báo

hiệu, “Có 1 foreign agent ở vị trí này không”,

2. Host di động đăng ký với foreign agent để cung cấp địa chỉ và các thủ tục xác thực,

3. Foreign agent liên lạc với home agent để xác thực các thông tin nàt

4. Home agent kiểm tra thông tin bảo mật, sau đó báo hiệu ngược với foreign agent

5. Foreign nhận được thông báo từ Home agent, nó thông báo cho host di động các

xác thực và thủ tục đã hoàn tất và cho phép việc kết nối được thực thi với host di

(51)

Gi

i thu

t ch

n

đườ

ng cho các

host di

độ

ng

Khi m

t gói tin

đượ

c g

i

đế

n thi

ế

t b

độ

ng, gói

tin s

đượ

c

đị

nh tuy

ế

n

đế

n vùng home c

a

thi

ế

t b

Home agent xác

đị

nh

đị

a ch

c

a foreign

agent

đ

ang qu

n l

ý

thi

ế

t b

di

độ

ng

Home agent

đ

óng gói l

i gói tin, g

i cho

foreign agent

Foreign agent chuy

n gói tin cho thi

ế

t b

nh

n

Home agent c

ũ

ng g

i cho ng

ườ

i g

i

đị

a ch

c

a foreign agent.

(52)

Gi

i thu

t ch

n

đườ

ng cho các

host di

độ

ng

(53)

Gi

i thu

t tìm

đườ

ng m

ng adhoc

M

ng tùy bi

ế

n không dây (mobile wireless ad-hoc network:

MANET) là m

t t

p h

p g

m nhi

u h

ơ

n m

t thi

ế

t b

/ nút m

ng

v

i kh

n

ă

ng n

i m

ng qua các giao ti

ế

p không dây v

i nhau

mà không theo m

t h

t

ng

đị

nh s

n

M

i nút trong m

t m

ng ad hoc ho

t

độ

ng v

a nh

ư

m

t máy

ch

(host) v

a nh

ư

m

t thi

ế

t b

đị

nh tuy

ế

n chuy

n ti

ế

p d

li

u

Vi

c quy

ế

t

đị

nh xem nút nào s

th

c hi

n vi

c chuy

n ti

ế

p d

li

u

đượ

c d

a trên tình tr

ng k

ế

t n

i c

a m

ng,

Topo c

a m

ng ad-hoc nói chung là

độ

ng, do s

chuy

n

độ

ng

c

a nút, s

xu

t hi

n c

a nút m

i và vi

c nút c

ũ

r

i kh

i

m

ng.

Các nút m

ng ph

i th

ườ

ng xuyên khám phá topo: nghe thông

báo v

s

xu

t hi

n c

a nút khác, thông báo v

s

xu

t hi

n

c

a b

n thân.

Các giao th

c

đị

nh tuy

ế

n k

ế

th

a các gi

i thu

t

đị

nh tuy

ế

n

truy

n th

ng nh

ư

ng t

i

ư

u/ thay

đổ

i

để

phù h

p v

i

đặ

c

đ

i

m

m

ng ad-hoc

(54)

Hình 33: Mô hình ứng dụng của mạng ad hoc

Gi

i thu

t tìm

đườ

ng m

ng adhoc

(55)

Gi

i thu

t ch

n

đườ

ng cho m

ng ad hoc

Các giao th

c

đượ

c thi

ế

t k

ế

cho m

ng ad hoc c

n

đượ

c

đả

m

b

o các tiêu chí sau:

Thích

ng nhanh khi topo m

ng thay

đổ

i.

Trong trường hp các nút mng di chuyn nhanh, yêu cu kết ni tăng lên thì các giao thức hoạt động theo cơ chế tiếp cận tập trung sẽ giảm hiệu quả rõ rệt do phải tốn nhiều thời gian để thu thập thông tin về trạng thái hiện tại và phát tán lại nó trong khi đó cấu hình mạng có thể đã thay đổi khác đi rồi,

Đả

m b

o hi

u qu

trong môi tr

ườ

ng truy

n khi các nút

đứ

ng yên,

Các gói tin không b

l

p gây nên hi

n t

ượ

ng t

c ngh

n, hao h

t

b

ă

ng thông trong m

ng trong khi tài nguyên c

a các nút m

ng ad

hoc th

ườ

ng h

n ch

ế

,

B

o m

t gói tin: truy

n d

n trong môi tr

ườ

ng không dây s

d

nguy

c

ơ

b

t

n công b

ng các ph

ươ

ng pháp nh

ư

xâm nh

p

đườ

ng

truy

n, phát l

i, thay

đổ

i các gói tin tiêu

đề

,

đ

i

u h

ướ

ng các thông

đ

i

p

đị

nh tuy

ế

n.

(56)
(57)

Gi

i thu

t ch

n

đườ

ng cho m

ng ad hoc

 

Table driven (proacCve) rouCng 

Bảng định tuyến duy trì một danh sách các đích và 

đường đi. Bảng định tuyến thường xuyên được 

trao đổi. Nhược điểm 

Lượng dữ liệu phải duy trì 

Phản ứng chậm với sự thay đổi cấu trúc mạng và lỗi 

OLSR, DSDV 

(58)

On demand (reacCve) rouCng 

Tìm đường khi có yêu cầu bằng cách gửi gói Cn 

Route Request đi toàn mạng 

Nhược điểm: 

Độ trễ để ™m kiếm đường đi lớn 

Quá nhiều gói Cn trên mạng khi yêu cầu đường đi 

(59)

Hybrid (proacCve, reacCve) rouCng: 

Một số đường đi triển vọng được chuẩn bị sẵn 

theo kiểu proacCve 

Với những yêu cầu từ những nút mạng mới, 

đường đi được ™m kiếm theo kiểu reacCve 

Các giao thức phân cấp   

Lựa chọn hình thức định tuyến proacCve hay 

reacCve tùy theo độ sâu của các nút mạng 

VD: Cluster based rouCng 

(60)

Gi

i thu

t ch

n

đườ

ng m

ng ad hoc

AODV: Ad hoc On‐Demand Distance Vector RouCng (RFC 3561)

là giao thức định tuyến phổ biến trên mạng ad hoc, sử dụng các gói tin route request, route reply để xây dựng các thông tin định tuyến

(61)

Gi

i thu

t ch

n

đườ

ng m

ng ad hoc

 

Mạng im lặng cho đến khi có một yêu cầu kết nối  

Nút cần truyền Cn phát gói Cn Route request 

broadcast toàn bộ mạng 

Các nút chuyển Cếp gói Cn đồng thời lưu lại thông Cn 

nút gửi 

Nếu nút chuyển Cếp đã có đường đi đến đích, nút 

này gửi lại nguồn đường đi tạm thời. 

Nút nguồn chọn đường đi ngắn nhất

 

(62)

AODV

Hình 35.a: Định dạng các gói tin RouteRequest trong AODV

(63)

AODV 

DesCnaCon sequence number 

Tăng mỗi khi 1 nút gửi yêu cầu ™m đường đến nút 

đích 

Tăng mỗi khi nút đích gửi trả lời cho một yêu cầu 

™m đường 

DesCnaCon sequence number là chỉ số xác 

định  nh cập nhật của một đường đi đến một 

đích.   

(64)

AODV

(65)

K

ế

t lu

n

Các giao th

c

đị

nh tuy

ế

n v

i tr

ng tâm v

n k

ế

các gi

i

thu

t tìm

đườ

ng, xây d

ng

đườ

ng

đ

i ng

n nh

t, cây

khung nh

nh

t nh

ư

Ford-Bellman Fulkerson, Dijkstra.

Các giao th

c

đị

nh tuy

ế

n khác nhau ch

y

ế

u do:

Môi tr

ườ

ng,

đườ

ng d

n m

ng khác nhau

Topo m

ng khác nhau

Các thi

ế

t b

đầ

u cu

i có

đặ

c t

khác nhau

Các giao th

c

đị

nh tuy

ế

n nâng cao s

h

ướ

ng

đế

n:

Ch

t l

ượ

ng d

ch v

(cost, bandwidth, delay, etc)

B

o m

t

Tiêu hao n

ă

ng l

ượ

ng/ tài nguyên s

d

ng

Referensi

Dokumen terkait

Dari atribut yang telah ditentukan (harga, menu, pelayanan, fasilitas, lokasi, rasa) dapat diimpulkan bahwa rasa menjadi atribut yang paling penting untuk pelanggan

Kinerja yang diukur adalah rasio kepatuhan penyampaian SPT Tahunan dengan membandingkan antara jumlah penyampaian SPT Tahunan PPh Badan Dan OP Non Karyawan

strengthened health systems based on primary health care Selected major approaches: support the formulation of legal and regulatory frameworks to move towards universal health

Dengan berpedoman pada keempat landasan tersebut, maka pengembangan kurikulum yaitu pengembangan tujuan, pengembangan isi/materi, pengembangan

Bagaimana pengaruh dari variasi panjang setiap link mekanisme terhadap karakteristik gerak output mekanisme empat batang, yang akan dinyatakan dalam sudut output ,

pada plat dengan lubang yang telah diekspansi, konsentrasi tegangan tarik tidak terjadi pada daerah sekitar lubang, bahkan tegangan pada sekitar lubang masih dalam

Pelapisan hot dipped galvanizing adalah suatu proses pelapisan dimana logam pelapisnya yaitu zinc dileburkan terlebih dahulu didalam bak galvanis ataupun dapur peleburan

Pembelajaran adalah proses interaksi antarpeserta didik,antara peserta didik dan pendidik, dan antara peserta dan sumber belajar lainnya pada suatu lingkungan belajar