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ô
Trang 1Giao thức định tuyến mạng
MANET
Trang 2Mạ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
Trang 3Thá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
Trang 4Cá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
Trang 5Routing 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
Trang 6Reactive (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
Trang 7Reactive (on-demand) routing:
Trang 8Reactive 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
Trang 9Dynamic 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)
Trang 10A-B-D
A-B-D-G
A-B-D-G A-B-D-G
Route Discovery
A-B-C
A-B-C
Route Request (RREQ)
Route Reply (RREP)
Route Discovery is issued with exponential back-off intervals
Initiator ID Initiator seq# Target ID Partial route
RREQ FORMAT
Trang 11Route Discovery: ở nguồn A
A need to send to G Lookup Cache for route A to G
Route found
Route Discovery finished
Packet
in buffer
packet to next-hop
don
e
Buffer packet
no
Write route in packet header
yes yes
no
Trang 12Route Discovery: Ở nút trung gian
Accept route
request
packet
<src,id> in recently seen requests list?
Discard route request
yes
no
Host’s address already in patrial route
Discard route request
done
myAdd r=targ
Trang 13DSR - 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
Trang 14Duy 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
Trang 15Route Cache (A)
Trang 16Tó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
Trang 17AODV Routing Protocol
l AODV = Ad Hoc On-demand Distance Vector
l Nguồn gửi ngập lụt route request đi toàn mạng
Trang 18AODV Route Discovery
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)
Trang 19AODV Route Discovery
Trang 20AODV Route Discovery
l Route reply forwarded via the reverse path
Trang 21AODV Route Discovery
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.
Trang 22Vấn đề hết hạn của tuyến đường
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
Trang 23AODV
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
Trang 24AODV: Lặp do lỗi
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
E
Trang 25AODV: 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”
Trang 26AODV: Sử dụng Sequence Numbers
l Tránh lặp: Nút trung gian gửi RREP (thay vì
forward RREQ) chỉ khi nó có một tuyến đường
có seq# lớn hơn seq# trong bản tin RREQ
RREQ carries 10 Y does not reply, but
forwards the RREQ
Trang 27All DSN’s are for D
DSN = Destination Sequence Number
Trang 28Duy trì đường đi
l Các nút không nằm trên các tuyến đường “active” di chuyển thì cũng sinh ra sự kiện gì
l Nếu nguồn di chuyển è khởi tạo lại quá trình khám phá đường đi
l Khi đích hoặc các nút trung gian di chuyển
Trang 29Tóm tắt về AODV
l AODV duy trì tối đa 1 tuyến đường cho 1 đích
¡ Khi 1 liên kết đứt, tất cả các tuyền đường sử dụng liên kết đó bị xóa
l Sử dụng Seq để tránh lặp
Trang 30Acknowledgements
l DSR Slides:
¡ Yinzhe Yu (umn.edu)