Routing design goals, challenges,

Slides:



Advertisements
Similar presentations
1 A Review of Current Routing Protocols for Ad-Hoc Mobile Wireless Networks By Lei Chen.
Advertisements

Routing Protocols Lecture # 6 Obaid Khan.
MANETs Routing Dr. Raad S. Al-Qassas Department of Computer Science PSUT
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #4 Mobile Ad-Hoc Networks AODV Routing.
Revisiting On Demand Routing On Demand Routing schemes are reactive – a route is found when needed. This precludes the periodic exchange of routing tables.
1 Routing in Mobile Ad Hoc Networks most slides taken with permission from presentation of Nitin H. Vaidya University of Illinois at Urbana-Champaign.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
ITIS 6010/8010 Wireless Network Security Dr. Weichao Wang.
ITIS 6010/8010 Wireless Network Security Dr. Weichao Wang.
Routing Security in Ad Hoc Networks
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
CS541 Advanced Networking 1 Mobile Ad Hoc Networks (MANETs) Neil Tang 02/02/2009.
Ad-hoc On-Demand Distance Vector Routing (AODV) Sirisha R. Medidi.
8/7/2015 Mobile Ad hoc Networks COE 549 Routing Protocols II Tarek Sheltami KFUPM CCSE COE 1.
Ad Hoc Wireless Routing COS 461: Computer Networks
Routing Two papers: Location-Aided Routing (LAR) in mobile ad hoc networks (2000) Ad-hoc On-Demand Distance Vector Routing (1999)
Itrat Rasool Quadri ST ID COE-543 Wireless and Mobile Networks
1 Spring Semester 2009, Dept. of Computer Science, Technion Internet Networking recitation #3 Mobile Ad-Hoc Networks AODV Routing.
Mobile Adhoc Network: Routing Protocol:AODV
Ad hoc On-demand Distance Vector (AODV) Routing Protocol ECE 695 Spring 2006.
Ad-hoc On-Demand Distance Vector Routing (AODV) and simulation in network simulator.
Ad Hoc Routing: The AODV and DSR Protocols Jonathan Sevy Geometric and Intelligent Computing Lab Drexel University
RFC 3561 AODV Routing Protocol Mobile Ad Hoc Networking Working Group Charles E. Perkins INTERNET DRAFT Nokia Research Center 19 June 2002 Elizabeth M.
Routing Protocols of On- Demand Dynamic Source Routing (DSR) Ad-Hoc On-Demand Distance Vector (AODV)
Ad Hoc Routing: The AODV and DSR Protocols Speaker : Wilson Lai “Performance Comparison of Two On-Demand Routing Protocols for Ad Hoc Networks”, C. Perkins.
Routing Protocols for Mobile Ad-Hoc Networks By : Neha Durwas For: Professor U.T. Nguyen COSC 6590.
The Destination Sequenced Distance Vector (DSDV) protocol
1 Ad Hoc On-Demand Distance Vector Routing (AODV) Dr. R. B. Patel.
AODV: Introduction Reference: C. E. Perkins, E. M. Royer, and S. R. Das, “Ad hoc On-Demand Distance Vector (AODV) Routing,” Internet Draft, draft-ietf-manet-aodv-08.txt,
Traditional Routing A routing protocol sets up a routing table in routers A node makes a local choice depending on global topology.
Ad-hoc On Demand Distance Vector Protocol Hassan Gobjuka.
Intro DSR AODV OLSR TRBPF Comp Concl 4/12/03 Jon KolstadAndreas Lundin CS Ad-Hoc Routing in Wireless Mobile Networks DSR AODV OLSR TBRPF.
6LoWPAN Ad Hoc On-Demand Distance Vector Routing Introduction Speaker: Wang Song-Ferng Advisor: Dr. Ho-Ting Wu Date: 2014/03/31.
Ad Hoc On-Demand Distance Vector Routing (AODV) ietf
Improving Fault Tolerance in AODV Matthew J. Miller Jungmin So.
DETECTION AND IGNORING BLACK HOLE ATTACK IN VANET NETWORKS BASED LATENCY TIME CH. BENSAID S.BOUKLI HACENE M.K.FAROUAN 1.
Fundamentals of Computer Networks ECE 478/578
Doc.: IEEE /0174r1 Submission Hang Liu, et al. March 2005 Slide 1 A Routing Protocol for WLAN Mesh Hang Liu, Jun Li, Saurabh Mathur {hang.liu,
Jim Parker CMSC691t Spring 2000 “Ad-hoc On-Demand Distance Vector Routing” A dynamic routing algorithm for mobile ad-hoc networks.
Mobile Ad Hoc Networking By Shaena Price. What is it? Autonomous system of routers and hosts connected by wireless links Can work flawlessly in a standalone.
Mobile Ad Hoc Networks. What is a MANET (Mobile Ad Hoc Networks)? Formed by wireless hosts which may be mobile No pre-existing infrastructure Routes between.
Author:Zarei.M.;Faez.K. ;Nya.J.M.
The Ad Hoc On-Demand Distance-Vector Protocol (AODV)
DSDV Highly Dynamic Destination-Sequenced Distance-Vector Routing
Kyle Fitzpatrick Konstantin Zak
Mobicom ‘99 Per Johansson, Tony Larsson, Nicklas Hedman
By Ioannis Chatzigiannakis, Elena Kaltsa, Sotiris Nikoletseas
Internet Networking recitation #4
A comparison of Ad-Hoc Routing Protocols
Ubiquitous Networks Mobile Ad Hoc Networks
Routing Protocols in MANETs
Sensor Network Routing
任課教授:陳朝鈞 教授 學生:王志嘉、馬敏修
Mobile and Wireless Networking
Ad hoc Routing Protocols
Mobile Computing CSE 40814/60814 Spring 2018.
Routing in Packet Networks Shortest Path Routing
by Saltanat Mashirova & Afshin Mahini
Subject Name: Computer Networks - II Subject Code: 10CS64
Intradomain Routing Outline Introduction to Routing
Proactive vs. Reactive Routing
Routing.
Routing in Mobile Ad-hoc Networks
Vinay Singh Graduate school of Software Dongseo University
A Routing Protocol for WLAN Mesh
DSDV Destination-Sequenced Distance-Vector Routing Protocol
Routing protocols in Mobile Ad Hoc Network
Routing in Mobile Wireless Networks Neil Tang 11/14/2008
A Talk on Mobile Ad hoc Networks (Manets)
Presentation transcript:

Routing design goals, challenges, link state vs. distance-vector routing, proactive vs. reactive routing

Why do we need routing protocols? Nodes are not fully connected => Need for multi-hop communication Say N7 wants to send a message to N3. Several options: N7 -> N1 -> N2 -> N3 N7 -> N1 -> N5 -> N2 -> N3 N7 -> N1 -> N5 -> N4 -> N3 etc. N7 N4 N5 N6

Why do we need routing protocols? Routing problem: -> For each node find the best (shortest/fastest/most robust) path to each destination node. Distributed version of the routing problem: -> For each node find the next hop in the best path to each destination node. N7 N4 N5 N6

Why do we need routing protocols? They help nodes identify the preferred neighbor (next hop) in the optimal path to a destination. They help nodes forward packets hop-by-hop from the source to the destination: The data packet contains the destination node in its header. When a node receives a data packet, it forwards it to the preferred neighbor in the optimal path to the destination.

Challenges I N2 N3 N1 N7 N4 N5 N6 N6 Mobile hosts can move Mobile hosts can be dynamically added or removed from the network Wireless links often have intermittent connectivity => The network connectivity changes dynamically N7 N4 N5 new link moves to another location N6 N6

Challenges II Mobile nodes often have stringent energy and memory constraints Wireless links have limited bandwidth, and time-varying link error probability Some applications require real-time data delivery Some applications require robust data delivery

Design goals Fully distributed - no centralized control Adaptivity to topology changes Loop-free paths Fast route discovery (for real-time applications) Low control overhead (for bandwidth-/energy- constrained applications) Fault-tolerance (for security/emergency applications) …

Classification of routing protocols Link-state Distance-vector Proactive Reactive Hybrid

Link-state vs. distance-vector In link-state protocols, each node: has a complete view of the network topology propagates the costs of its outgoing links to all other nodes uses Dijkstra’s algorithm to find the optimal path to other nodes In distance-vector protocols, each node i : maintains for each destination x a set of distances (costs) di-j-…-x of paths from i to x through neighbor node j: selects to forward a data packet through neighbor k such that di-k-…x = minj {di-j-…x} propagates to neighbors current estimates of optimal distances di-k-…-x to each destination x uses the distributed Bellman Ford algorithm to update local estimates of optimal distances, based on those of its neighbors

Link-state Distance-vector 1 ∞ Dest. Cost via N2 Cost via N3 Min cost Next-hop N2 1 3 N3 N4 2 N2 / N3 N5 N6 4 Example of route information stored at node N1

Link-state Distance-vector The route info that “the neighbors of N1 are N2 and N3” is sent to all nodes The route info that “the costs of paths from N1 to N2,N3,N4,N5,N6 are 1,1,2,2,2 respectively” is sent only to neighbor nodes N2 and N3 Example of route information sent from node N1

Dijkstra’s algorithm by example http://www.dgp.toronto.edu/people/JamesStewart/270/9798s/Laffra/DijkstraApplet.html

Distributed Bellman-Ford by example Initially, nodes know distances to their neighbors only. They assume distances to other nodes are ∞. Distance to node … N4 3 1 N1 N2 N3 N4 N5 N6 2-N2 7-N3 ∞ 2-N1 3-N4 7-N1 1-N4 3-N5 2-N6 3-N2 1 1-N5 3-N3 2-N3 N2 1 N5 2 3 7 Info stored at node … N3 N1 2 N6 Let each node broadcast its route info periodically to its neighbors.

Distributed Bellman-Ford by example For example, let N2 broadcast its route info first (highlighted in bold). The neighbors of N2 (N1 and N4) receive this route info. Distance to node … N4 3 1 N1 N2 N3 N4 N5 N6 2-N2 7-N3 5-N2 ∞ 2-N1 3-N4 7-N1 1-N4 3-N5 2-N6 3-N2 1 1-N5 3-N3 2-N3 N2 1 N5 2 3 7 Info stored at node … N3 N1 2 N6 Nodes N1 and N4 update their local route info based on the received route info. N1 discovers a shorter path to N4 of length 5 via next-hop N2 N4 discovers a shorter path to N1 of length 5 via next-hop N2

Distributed Bellman-Ford by example In the next step, let N4 broadcast its route info (highlighted in bold). The neighbors of N4 (N2, N3 and N5) hear this route info. Distance to node … N4 3 1 N1 N2 N3 N4 N5 N6 2-N2 7-N3 5-N2 ∞ 2-N1 4-N4 3-N4 7-N1 1-N4 2-N4 2-N6 3-N2 1 1-N5 2-N3 N2 1 N5 2 3 7 Info stored at node … N3 N1 2 N6 N2, N3 and N5 update their local info as underlined above.

Distributed Bellman-Ford by example Nodes continue to broadcast their route info to their neighbors, and after several iterations, nodes identify optimal paths to all other nodes. Distance to node … N4 3 1 N1 N2 N3 N4 N5 N6 N2 1 N5 2 2 3 7 Info stored at node … N3 N1 2 N6 Try: http://www.mathiaz.com/index.php?n=Routage.Routage

Distr. Bellman Ford - Routing Loops 10 1 3 N1 N2 N3 1 1 1 1 N6 N5 N4 Assume that link N1<--> N2 breaks. N3 is not aware of the link failure. N3 broadcasts that it knows a route to N1 of length 5 (which is false). Hearing N3, node N2 thinks that there exists a path from N2 to N1, via next-hop N3, of length 3+5=8. When node N2 decides to send data to N1, the data travels on loop N2->N3->N4->N5->N6->N2->N3->N4->N5->N6-> … etc.

Distance-vector protocols Proactive protocols identify optimal paths to destination nodes in advance, so that they are already there whenever needed. e.g. DSDV Reactive protocols identify optimal paths to destination nodes on-demand (when needed). e.g. AODV Hybrid protocols use the proactive approach to find paths to nodes within a nearby zone, and the reactive approach to find paths to nodes beyond this zone. e.g.: ZRP DSDV and AODV use an enhanced version of the Distributed Bellman Ford algorithm, in which route information is annotated with an indication of its freshness to prevent / quickly resolve loops.

DSDV: Destination-Sequenced Distance-Vector protocol Each node maintains locally a routing table Each entry of the routing table includes routing information for a destination node: the next hop in the optimal path to the destination the cost of the optimal path to the destination the freshness (sequence no) of the path to the destination The node advertises the local routing table to its neighbors Periodically When topology changes are detected On receiving routing information from a neighbor, a node uses it to update its own local routing table

DSDV: Destination-Sequenced Distance-Vector protocol Sequence number is generated at the destination A few entries in N1’s routing table Destination Next Hop Metric Sequence Number Install Stable Data N2 1 S212_N2 … N3 2 S302_N3 N4 N5 S100_N4 N1 N2 N3 N7 N4 N5 N6

DSDV: Destination-Sequenced Distance-Vector protocol N1 Routing Table N1 N2 N3 Destin Next Hop Metric Sequence Number N6 N2 4 S200_N6 … N7 N4 N5 N6 N1 Routing Table (updated) What if N1 receives new routing information (Dest=N6, Metric=2, SeqNo=S200_N6) from N5 ? Destin Next Hop Metric Sequence Number N6 N5 3 S200_N6 …

DSDV: Destination-Sequenced Distance-Vector protocol N1 Routing Table N1 N2 N3 Destin Next Hop Metric Sequence Number N6 N5 3 S200_N6 … N7 N4 N5 N6 Any routing information that N1 receives regarding Dest=N6 that has sequence number smaller than 200 (S200_N6) is considered stale, and it is ignored by N1.

DSDV: Destination-Sequenced Distance-Vector protocol N1 Routing Table N1 N2 N3 Destin Next Hop Metric Sequence Number N6 N5 3 S200_N6 … N7 N4 N5 N6 N1 Routing Table (updated) What if N1 receives new routing information (Dest=N6, Metric=2, SeqNo=S202_N6) from N5 ? Destin Next Hop Metric Sequence Number N6 N5 3 S202_N6 …

DSDV: Destination-Sequenced Distance-Vector protocol N1 Routing Table N1 N2 N3 Destin Next Hop Metric Sequence Number N6 N5 3 S202_N6 … N7 N4 N5 N6 N1 Routing Table (updated) New routing entry is broadcast Destin Next Hop Metric Sequence Number N6 N5 S203_N6 … What if the link between N1 and N5 breaks?

DSDV: Destination-Sequenced Distance-Vector protocol Compare new routing information with the information available in the local routing table Prefer routes with more recent sequence numbers Discard routes with older sequence numbers Prefer routes with sequence number equal to an existing entry if it has a better metric value Newly recorded routes are scheduled for immediate broadcasting Updated routes only with a new sequence number are scheduled for advertisement at a later time

AODV: Ad Hoc On-Demand Distance-Vector protocol does not maintain routes from every node to every other node in the network. discovers routes on-demand (reactively, not proactively) provides unicast, multicast and broadcast communication ability We will consider only unicast route discovery.

AODV: Ad Hoc On-Demand Distance-Vector protocol Unicast routing A node wishes to send a packet to a destination node D. It first checks whether it has a valid route to D. If yes, it sends the packet to the next hop towards the destination. If not, it initiates a route discovery process.

AODV: Ad Hoc On-Demand Distance-Vector protocol Unicast routing: Route Discovery Process The node creates a RREQ (RouteRequest) packet The node broadcasts the RREQ The node sets a timer to wait for a reply b a RREQ c d RREQ SrcID a BcastID DestID c DestSeqNo HopCount

AODV: Ad Hoc On-Demand Distance-Vector protocol Unicast routing: Route Discovery Process When a node receives a RREQ, it ignores it if it has seen another routing packet with the same <SrcID, BcastID> pair. Otherwise, the node sets up a reverse routing entry in its routing table: SrcID BcastID HopsToSource PrevHopToSource Route entries that exceed their lifetime are deleted.

AODV: Ad Hoc On-Demand Distance-Vector protocol SrcID: a BcastID: 0 HopsToSrc:1 PrevHopToSrc:a b a c d SrcID: a BcastID: 0 HopsToSrc:1 PrevHopToSrc:a

AODV: Ad Hoc On-Demand Distance-Vector protocol Unicast routing: Route Discovery Process A node responds to an RREQ if it has an unexpired entry for the destination in its route table with sequence no >= RREQ’s DestSeqNo By unicasting a RREP back to the source. If a node cannot respond to an RREQ, it increments the RREQ’s HopCount and then broadcasts the packet to its neighbors.

AODV: Ad Hoc On-Demand Distance-Vector protocol b a RREQ c d b a c RREQ d RREQ SrcID a BcastID DestID c DestSeqNo HopCount 1

AODV: Ad Hoc On-Demand Distance-Vector protocol Unicast routing: Route Replies (RREPs) If the destination node receives a RREQ, it creates a RREP packet with the current destination sequence number. The RREP’s hop count to destination value is set to 0. The RREP’s lifetime value is initialized. Routes to destination are invalidated at the end of the lifetime. The RREP is sent to the neighbor that first sent the RREQ. b a RREP c DestID c DestSeqNo 1 HopCount Lifetime lifeValue d

AODV: Ad Hoc On-Demand Distance-Vector protocol Unicast routing: Route Replies (RREPs) If an intermediate node receives a RREP, it sets up a forward path entry to the destination in its routing table. It then sends the RREP back towards the source. DestID: c DestSeqNo: 1 NextHopToDest:c HopCountToDest: 1 Lifetime: lifeValue b a RREP c DestID c DestSeqNo 1 HopCount Lifetime lifeValue d

AODV: Ad Hoc On-Demand Distance-Vector protocol Once the source receives the first RREP packet, it updates its routing table and can now forward data to the destination. DestID: c DestSeqNo: 1 NextHopToDest:c HopCountToDest: 1 Lifetime: lifeValue DestID: c DestSeqNo: 1 NextHopToDest: b HopCountToDest: 2 Lifetime: lifeValue b a Data Data c d

AODV: Ad Hoc On-Demand Distance-Vector protocol Unicast routing: Route maintenance A discovered route between a source and destination is maintained as long as needed by the source node - we call these active paths. If the source node moves during an active session, it can reinitiate route discovery to establish a new path to the destination. When the destination or an intermediate node of an active path moves, a Route Error (RERR) message is initiated by the node closer to the path break and is forwarded back to the source node, which then reinitiates route discovery.

DSDV vs. AODV In DSDV, nodes continuously maintain routes to all destination, even if they don’t use them frequently. In AODV, nodes identify and maintain routes on-demand - when they need to send packets to a destination DSDV has a heavy control overhead during high mobility, due to continuous route updates caused by broken links. AODV deals with broken links more efficiently since it informs only those nodes that have been using them. In the frequent case that a link is idle before it breaks, no control messages are sent. DSDV routes data packets to a destination faster than AODV, since it does not need to discover routes on demand - routes are already established.

Summary The aim of routing protocols is to identify min-cost multi-hop paths to forward data from a source node to a destination node. Routing is a challenging problem in ad hoc networks due to node mobility, node/link failures, and resource constraints (bandwidth, energy, computation and storage are often limited resources). Routing protocols are divided into link-state and distance-vector protocols. Link-state protocols require each node to know the costs of links in the entire network. Distance-vector protocols require each node to know the distance (and next hop) of paths to destination nodes. Distance-vector protocols are divided into proactive (e.g. DSDV) and reactive (e.g. AODV). Proactive protocols discover and maintain optimal paths from sources to destinations in advance, independent of whether these paths are used, whereas reactive protocols discover paths from sources to destinations on demand - when needed.

Related Reading Standard textbook: Sections 7.1-7.4.1 Section 7.5.2 C.E. Perkins and P. Bhagwat. Highly Dynamic Destination-Sequenced Distance-Vector Routing (DSDV) for Mobile Computers. In ACM SIG-COMM Computer Communications Review 24(4), pp 234-244, 1994 http://www.cs.virginia.edu/~cl7v/cs851-papers/dsdv-sigcomm94.pdf C.E. Perkins and E.M. Royer. Ad Hoc On-Demand Distance-Vector Routing. In Proceedings of the Second Annual IEEE Workshop on Mobile Computing Systems and Applications, pp 90-100, 1999. http://www.cs.jhu.edu/~dholmer/600.647/papers/aodv.pdf