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

Bài giảng các giao thức định tuyến tìm đườ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 (451.59 KB, 30 trang )

Giao thức định tuyến mạng
MANET


Mạng MANET
l Mobile Adhoc Network.
l Gồm các thiết bị di động, kết nối không dây
l Multi-hop routing


Thách thức trong định tuyến cho
mạng MANET
l Cần định tuyến động

¡ Topo thay đổi rất thường xuyên

l Cần giữ lượng thông tin điều khiển định tuyến
tối thiểu
¡ Wireless à băng thông thấp
¡ Mobile à năng lượng thấp
¡ Cần giảm thiểu số lượng các gói tin điều khiển định
tuyến
¡ Cần giảm thiểu lượng thông tin trạng thái lưu tại mỗi
nút.


Các giao thức định tuyến trong
mạng MANET
l Topology based routing

¡  Proactive approach, e.g., DSDV.


¡  Reactive approach, e.g., DSR, AODV, TORA.
¡  Hybrid approach, e.g., Cluster, ZRP.

l  Position based routing
¡  Location Services:
l DREAM, Quorum-based, GLS, Home zone etc.

¡  Forwarding Strategy:
l Greedy, GPSR, RDF, Hierarchical, etc.


Routing Protocols
l  Reactive (On-demand) protocols
¡ Khám phá đường đi khi cần
¡ Quá trình tìm kiếm được khởi tạo từ nguồn

l  Proactive protocols
¡ Tìm kiếm đường đi ngắn nhất theo các giao thức định tuyến
phân tán truyền thống
¡ Cần các quá trình cập nhật thông tin định tuyến thường
xuyên. Lượng thông tin điều khiển định tuyến lớn

l  Vấn đề cân đối giữa 2 phương pháp
¡ Thông lượng để cập nhật trạng thái vs. thông lượng để khám
phá đường đi
¡ Định tuyến dữ liệu theo các tuyến đường cũ vs. trễ khi khám
phá đường đi.


Reactive (on-demand) Routing

l Mục tiêu: Giảm routing overhead
l Không tạo trước một cấu trúc định tuyến
nào
l 2 phương pháp phát hiện đường đi
¡ Định tuyến nguồn
¡ Học ngược

l Nhược điểm: gây trễ do quá trình khám
phá đường.


Reactive (on-demand) routing:
l Định tuyến khi cần
Ưu điểm:

0

¡ Không cần các cập nhật định kỳ

query(0)
reply(0)

¡ Thích nghi với sự thay đổi
động của mạng

query(0)

1
query(0)


Nhược điểm:

3

reply(0)

2

query(0)

query(0)

4

query(0)
reply(0)

query(0)

5

l  Overhead do phát tán thông tin
khám phá lớn

¡ Độ trễ đến thời điểm tìm được
đường đi lớn.


Reactive Routing – Định tuyến
nguồn

l  Nguồn sẽ phát tán (kiểu ngập lụt) trong mạng bản
tin route request khi có yêu cầu về đường đi đến
một đích.
¡ Phát tán xuất phát từ nguồn
¡ Ngập lụt = mọi nút trong mạng đều nhận được yêu cầu
1 lần

l  Đích trả lời bằng cách gửi bản tin route reply
¡ Trả lời bằng cách sử dụng đường đi xác định bởi route
request
¡ Thiết lập đường chuyển dữ liệu

l  2 giao thức đặc trưng: DSR and AODV


Dynamic Source Routing (DSR)
l Cooperative nodes
l Relatively small network diameter (5-10 hops)
l Detectable packet error
l Unidirectional or bidirectional link
l Promiscuous mode (optional)


Route Discovery
B

RREQ FORMAT

A-B-D-G


A-B-D-G
A-B

A

Initiator ID

A-B-D-G

Target ID

A-B-D

D

A

Initiator seq#

G

Partial route

A-C-E
A

E

C


A-C

H
A-C-E
A-C-E
F

A-B-C
Route Request (RREQ)

A-B-C
Route Reply (RREP)

Route Discovery is issued with exponential back-off intervals.


Route Discovery: ở nguồn A
A need to send to G
Lookup Cache for route A to G
Start Route
Discovery
Protocol

wait
Route
Discovery
finished

no


Buffer
packet
Continue
normal
processing

Route
found
?

yes
yes

Packet
in
buffer
?

Write route in
packet header

no
don
e

Send
packet to
next-hop



Route Discovery: Ở nút trung gian
<src,id> in
recently
seen
requests
list?

Accept route
request
packet

yes

Discard
route
request

no
Host’s
address
already in
patrial
route
Append
myAddr to
partial route

Store <src,id>
in list
Broadcast packet


no

no
myAdd
r=targ
et

yes

Send route
reply packet

done

yes

Discard
route
request


DSR - Route Discovery
l  Route Reply chứa thông tin đường đi tìm được được
gửi bởi đích hoặc nút trung gian có đường đi bộ phận
đến đích
l  Mỗi nút chứa một Route Cache chứa các bản ghi
đường đi mà nuts này học được (nhận được) trong quá
trình hoạt động



Duy trì đường đi
l  Đường đi được duy trì chỉ khi nó vẫn đang được sử
dụng
l  Phát hiện lỗi:
¡ Kiếm soát tính hợp lệ của các đường đi đang có bằng cách
nghe thụ động các quá trình truyền dữ liệu của các nút
hàng xóm
¡ Nhờ cơ chế ACK của tầng thấp hơn.

l  Khi phát hiện có vấn đề, gửi bản tin Route Error về
nguồn để thực hiện một quá trình khám phá đường đi
mới.


Duy trì đường đi
B
RERR

RERR

G
D

G

A
Route Cache (A)
G: A, B, D, G
G: A, C, E, H, G

F: B, C, F

H

E

C
F


Tóm tắt về DSR
" Hoàn toàn on-demand, nói chung không gây overhead
" Loop-free
" source routing
" Hỗ trợ cả liên kết unidirectional và bidirectional.
" Có độ trễ truyền/jitters gây ra do on-demand routing
" Đòi hỏi không gian lưu trữ đường đi trong caches


AODV Routing Protocol
S

E
F

A

C
G
B


D

l  AODV = Ad Hoc On-demand Distance Vector
l  Nguồn gửi ngập lụt route request đi toàn mạng.
l  Đích D
l  Tuyến đường ngược về nguồn được xác định khi
một nút nhận được route request.
l  Mỗi nút chỉ forward gói tin request 1 lần (pure
flooding).


AODV Route Discovery
S

E
F

A

C
G
B

D

l  Nguồn gửi ngập lụt gói tin route request
l  Mỗi nút chỉ forward gói tin route request 1 lần (pure
flooding).



AODV Route Discovery
S

E
F

A

C
G
B

D

l  Reverse paths được tạo khi một nút nhận được một
gói route request.


AODV Route Discovery
S

E
F

A

C
G
B


D

l Route reply forwarded via the reverse path.


AODV Route Discovery
S

E
F

A

C
G
B

D

l Route reply được chuyển ngược về nguồn sử
dụng reverse path … do đó tạo lập forward
path
l Forward path được dùng để vận chuyển dữ
liệu từ nguồn đến đích sau này.


Vấn đề hết hạn của tuyến đường
S


E
F

A

C
G
B

D

l Đường đi không sử dụng sẽ hết hạn
theo timers.
¡ Đường đi được lưu trong bảng định tuyến
khi chưa hết hạn


AODV
l Một nút trung gian biết đường đi tới Đích sẽ
trả lời lại nguồn bằng cách gửi gói tin route
reply
¡ Giúp quá trình tìm đường đi diễn ra nhanh hơn.

l Tuy nhiên hình thức trả lời này có thể gây ra
lặp khi có các kết nối bị lỗi.
¡ Kết nối bị lỗi từ nút trung gian đến đích trong khi nút
này không biết.


AODV: Lặp do lỗi

A

B

C

D

E

l  Giả sử, C-D bị lỗi nút A không biết (do gói tin Route
error từ C bị mất).
l  C thực hiện route discovery tìm đường đến D.
l  Nút A nhận được RREQ (qua đường C-E-A)
l  Nút A trả lời vì A biết đường đi tới D qua B
l  Kết quả tạo ra đường đi có lặp từ C-D: C-E-A-B-C


AODV: Sử dụng Sequence Numbers
l Mỗi nút X có một số sequence number
¡ Hoạt động như một nhãn thời gian
¡ Seq# tăng mỗi khi X gửi một gói tin (có thể là RREQ
hoặc RREP)

l Mỗi tuyến đường đến X (tại nút Y) cũng có
Seq# là số Seq# mới nhất của X mà Y biết.
l Seq# thể hiện tính “tươi” của một tuyến
đường
¡ Càng lớn thì càng “tươi”



×