1.16k likes | 1.39k Views
Redes Inalámbricas – Tema 3. Mobile Ad Hoc Networks. Specific properties Flooding as a basic mechanism Basic routing protocols DSR AODV y DYMO OLSR y OLSRv2 Advanced protocols and techniques. Acknowledgments :
E N D
Redes Inalámbricas – Tema 3. Mobile Ad Hoc Networks Specific properties Flooding as a basic mechanism Basic routing protocols DSR AODV y DYMO OLSR y OLSRv2 Advanced protocols and techniques • Acknowledgments : • Nitin H. Vaidya, “Tutorial on Mobile Ad Hoc Networks: Routing, MAC and Transport Issues” • Available at: http://www.crhc.uiuc.edu/wireless/tutorials.html
Redes Inalámbricas – Tema 3. Mobile Ad Hoc Networks Specific properties Flooding as a basic mechanism Basic routing protocols DSR AODV y DYMO OLSR y OLSRv2 Advanced protocols and techniques • Acknowledgments : • Nitin H. Vaidya, “Tutorial on Mobile Ad Hoc Networks: Routing, MAC and Transport Issues” • Available at: http://www.crhc.uiuc.edu/wireless/tutorials.html
Routing Overview • Goal: transfer message from one node to another • Which is the “best” path? Generally try to optimize one of the following: • Shortest path (fewest hops) • Shortest time (lowest latency) • Shortest weighted path (utilize available bandwidth, battery) • Who decides - source or intermediate nodes? • Source (“path”) routing [Like airline travel] • Source specifies entire route • Intermediate nodes just forward to specified next hop • Destination (“hop-by-hop”) routing [Like postal service] • Source specifies only destination in message header • Intermediate nodes look at destination in header, consult internal tables to determine appropriate next hop
MANET Routing Properties • Distributed operation • No external network setup “self-configuring” • Efficient when network topology is dynamic (frequent network changes – links break, nodes come and go) • And also: • Loop Freedom • Sleep period operation • Unidirectional link support • Security • Quantitative Properties • End-to-End data throughput • Delays • Route Acquisition time • Out of order delivery (percentage)
Types of protocols behaviour • Proactive protocols • They determine routes independently from the traffic patterns • Traditional protocols like link-state and distance-vector are proactive • Reactive protocols • They create a route only if required • There are also hybrid solutions • Aspects to take into consideration • Waiting time for getting a route • Proactive protocols are typically faster • Reactive protocols normally have a higher latency • Overhead for route discover and maintenance • Proactive protocols typically have an higher overhead because they are always updating routing tables • Reactive protocols normally have a lower overhead because they add control traffic only when necessary The solution to adopt depends on the type of the data traffic and the type of mobility!
manet Working Group • IETF WG: Mobile Ad-hoc Networks (manet) • http://www.ietf.org/html.charters/manet-charter.html • Additional MANET links:http://www.ianchak.com/manet/ • Additional information is available at: http://tools.ietf.org/wg/manet • Purpose of MANET working group • standardize IP routingprotocol functionality suitable for wireless routing application within both static and dynamic topologies with increased dynamics due to nodemotion or other factors. • Approaches are intended to be: • relatively lightweight in nature • suitablefor multiple hardware and wireless environments, and address scenarios • MANETs are deployed at the edges of an IP infrastructure • hybridmesh infrastructures (e.g., a mixture of fixed and mobile routers)should also be supported by MANET specifications and management features.
manet Working Group • The group is pursuing a reactive and a proactive protocol. On the charter page these are called RMP and PMP respectively. • Proactive MANET Protocol (PMP) • Reactive MANET Protocol (RMP) • In practice the reactive protocol is DYMO and the proactive is OLSRv2. • If significant commonality between RMP and PMP modules is observed, the WG may decide to go with a converged approach. • Both IPv4 and IPv6 will be supported. • Routing security requirements and issues will also be addressed. • The MANET WG will also develop a scoped forwarding protocol that can efficiently flood data packets to all participating MANET nodes.
Proposedprotocols • Here: http://en.wikipedia.org/wiki/Ad_hoc_protocol_list
Classification of Ad Hoc Routing Protocols Routing protocols for ad hoc wireless networks Based on routing information update mechanism Based on topology information Proactive(table-driven or link-state) Reactive(table-driven) Hybrid Flat routing Hierarchical routing • ZRP • HSR • DSDV • OLSR • HSR • DSR • AODV • DYMO • DSDV • DSR • AODV • DYMO Based on the use of temporal information for routing Based on utilization of specific resources Path selection using past history Path selection using prediction Energy-aware routing Geographical routing • PAR • GPSR • FORP • DSDV • DSR • AODV • DYMO
Mostrelevantroutingprotocols • D. Johnson, D. Maltz, and Y-C. Hu. The Dynamic Source Routing Protocol for Mobile Ad Hoc Networks (DSR),RFC 4728, February 2007. http://tools.ietf.org/html/rfc4728 • C. Perkins, E. Belding-Royer, and S. Das. Ad hoc On-Demand Distance Vector (AODV) Routing. RFC 3561, July 2003. http://tools.ietf.org/html/rfc3561 • I. Chakeres, C. Perkins. Dynamic MANET On-demand (DYMO) Routing.draft-ietf-manet-dymo-17, March 2009. http://tools.ietf.org/html/draft-ietf-manet-dymo-17 • T. Clausen et al. The Optimized Link-State Routing Protocol version 2. draft-ietf-manet-olsrv2-08, March 2009. • T. Clausen and P. Jacquet. Optimized Link State Routing Protocol (OLSR). RFC 3626, October 2003. http://www.ietf.org/rfc/rfc3626.txt
Redes Inalámbricas – Tema 3. Mobile Ad Hoc Networks Specific properties Flooding as a basic mechanism Basic routing protocols DSR AODV y DYMO OLSR y OLSRv2 Advanced protocols and techniques • Acknowledgments : • Nitin H. Vaidya, “Tutorial on Mobile Ad Hoc Networks: Routing, MAC and Transport Issues” • Available at: http://www.crhc.uiuc.edu/wireless/tutorials.html
Node that just forwarded a frame Node that just received a frame Frame broadcasted Flooding as a basic mechanism 1/6 Y Z S L E B M F C J D A G K H N I destination
Node that just forwarded a frame Node that just received a frame Frame broadcasted Flooding as a basic mechanism 2/6 Y Z S L E F B M C J A G D H K N I possible collision!!
Node that just forwarded a frame Node that just received a frame Frame broadcasted Flooding as a basic mechanism 3/6 Y Z S L E F B M J C A G D H K N I Receives the frame but does not forward it. Already done
Node that just forwarded a frame Node that just received a frame Frame broadcasted Flooding as a basic mechanism 4/6 Y Z S L E M F B J C A G D H K N I Receives the frame form J and from K (which are mutually hidden) possible collision
Node that just forwarded a frame Node that just received a frame Frame broadcasted Flooding as a basic mechanism 5/6 Y Z S L E M F B J C A G D H K N I D does not forward it because is the final destination
Node that just forwarded a frame Node that just received a frame Frame broadcasted Flooding as a basic mechanism 6/6 Y Z S L E M F B J C A G D H K N I Floodingisover!
Flooding as a basic mechanism: a few considerations • Many protocols use limited flooding of the control packets. • Control packets are used to discover the routes. • Advantage: Simplicity • Disadvantage: Overhead possibly very high • The established routes are then used to send packets of data.
Redes Inalámbricas – Tema 3. Mobile Ad Hoc Networks Specific properties Flooding as a basic mechanism Basic routing protocols DSR AODV y DYMO OLSR y OLSRv2 Advanced protocols and techniques • Acknowledgments : • Nitin H. Vaidya, “Tutorial on Mobile Ad Hoc Networks: Routing, MAC and Transport Issues” • Available at: http://www.crhc.uiuc.edu/wireless/tutorials.html
Dynamic Source Routing (DSR) • Fornetworks of mediumsize (200 nodes), admitshighspeeds • When node S wants to send a packet to node D, but does not have a route to D, begins a routediscoveryprocess. • Sourcenode S floodsRouteRequest (RREQ) packets • Eachnodeaddsitsown id whenit forwards a RREQ. • Use of the “send buffer”
Node that just forwarded an RREQ Node that just received a RREQ [X,Y] IDs list added to the RREQ Route Request in DSR, 1/5 Y S [S] E B M F C J D A G K H N I destination
Node that just forwarded an RREQ Node that just received a RREQ [X,Y] IDs list added to the RREQ Route Request in DSR, 2/5 Y Z E [S,E] S L F B M C [S,C] J A G D H K N I Possible collision!!
Node that just forwarded an RREQ Node that just received a RREQ [X,Y] IDs list added to the RREQ Route Request in DSR, 3/5 Y Z S L E F [S,E,F] B M J C A G [S,C,G] D H K N I RREQ is not forwarded
Node that just forwarded an RREQ Node that just received a RREQ [X,Y] IDs list added to the RREQ Route Request in DSR, 4/5 Y Z S L E M F B J [S,E,F,J] C A G D K[S,C,G,K] H N I Possible collision
Node that just forwarded an RREQ Node that just received a RREQ [X,Y] IDs list added to the RREQ Route Request in DSR, 5/5 Y Z L S E M [S,E,F,J,M] F B J C A G D H K N I
Z S RREP [S,E,F,J,D] L E M F B J C A G D H K N I RouteReply Y • Destination D, when receiving the first RREQ send a Route Reply (RREP) • RREP is sent using the route obtained by reversing the one that is in the received RREQ
Route Reply en DSR • Route Reply can be sent by reversing the route in Route Request (RREQ) only if links are guaranteed to be bi-directional • To ensure this, RREQ should be forwarded only if it received on a link that is known to be bi-directional • If unidirectional (asymmetric) links are allowed, then RREP may need a route discovery for S from node D • Unless node D already knows a route to node S • If a route discovery is initiated by D for a route to S, then the Route Reply is piggybacked on the Route Request from D. • If IEEE 802.11 MAC is used to send data, then links have to be bi-directional (since Ack is used)
Dynamic Source Routing (DSR) • Node S on receiving RREP, caches the route included in the RREP • When node S sends a data packet to D, the entire route is included in the packet header • hence the name source routing • Intermediate nodes use the source route included in a packet to determine to whom a packet should be forwarded
Data Delivery in DSR Packet header size grows with route length Y Z DATA [S,E,F,J,D] S L E M F B J C A G D H K N I
Y Z L E S M F B J C D A K H G N I DSR Optimization: Route Caching (1/2) • Each node caches a new route it learns by any means • When node S finds route [S,E,F,J,D] to node D, node S also learns route [S,E,F] to node F • When node K receives Route Request [S,C,G] destined for node, node K learns route [K,G,C,S] to node S • When node F forwards Route Reply RREP [S,E,F,J,D], node F learns route [F,J,D] to node D • When node E forwards Data [S,E,F,J,D] it learns route [E,F,J,D] to node D • A node may also learn a route when it overhears Data packets
Y Z L E S M F B J C D A K H G N I DSR Optimization: RouteCaching (2/2) • When node S learns that a route to node D is broken, it uses another route from its local cache, if such a route to D exists in its cache. Otherwise, node S initiates route discovery by sending a route request • Node X on receiving a Route Request for some node D can send a Route Reply if node X knows a route to node D • Use of route cache • can speed up route discovery • can reduce propagation of route requests
Y Z S L RERR [J-D] E M F B J C A G D H K N I Route Error (RERR) • J sends a route error to S along route J-F-E-S when its attempt to forward the data packet S (with route SEFJD) on J-D fails • Nodes hearing RERR update their route cache to remove link J-D • Each node is responsible for confirming that the link can be used to transmit data. • Ack del MAC (p.ej., 802.11) • Passive acks • DSR-specific ACK
DSR additionaltechniques • “Expading ring” technique playing with the TTL of the packets • “non propagating” Route Request • “Route salvaging” technique for route maintenance • Dynamic substitution of routes for intermediate ndoes • “Automatic route shortening” technique for routes optimization • Based on “gratuitous” Route Reply • The “flows”
DSR: advantages and disadvantages • Routes maintained only between nodes who need to communicate • reduces overhead of route maintenance • Route caching can further reduce route discovery overhead • A single route discovery may yield many routes to the destination, due to intermediate nodes replying from local caches • Packet header size grows with route length due to source routing • Flood of route requests may potentially reach all nodes in the network • Care must be taken to avoid collisions between route requests propagated by neighboring nodes • insertion of random delays before forwarding RREQ • Increased contention if too many route replies come back due to nodes replying using their local cache • Route Reply Storm problem • Reply storm may be eased by preventing a node from sending RREP if it hears another RREP with a shorter route
Redes Inalámbricas – Tema 3. Mobile Ad Hoc Networks Specific properties Flooding as a basic mechanism Basic routing protocols DSR AODV y DYMO OLSR y OLSRv2 Advanced protocols and techniques • Acknowledgments : • Nitin H. Vaidya, “Tutorial on Mobile Ad Hoc Networks: Routing, MAC and Transport Issues” • Available at: http://www.crhc.uiuc.edu/wireless/tutorials.html
First Back to basics : Distance Vector protocol • Basic Routing Protocol • known also as Distributed Bellman-Ford or RIP • Every node maintains a routing table • all available destinations • the next node to reach the destination • the number of hops to reach the destination • Periodically send table to all neighbors to maintain topology • Bi-directional links are required! Thanks to Raoul Reuter
First Back to basics : Distance Vector -> tables 1 2 A B C Thanks to Raoul Reuter
First Back to basics : Distance Vector -> update B broadcasts the new routing information to his neighbors Routing table is updated (A, 1) (B, 0) (C, 1) (A, 1) (B, 0) (C, 1) A change occurs so… 1 21 A B C Thanks to Raoul Reuter
First Back to basics : Distance Vector -> new node broadcasts to update tables of C, B, A with new entry for D (A, 1) (B, 0) (C, 1) (D, 2) (A, 2) (B, 1) (C, 0) (D, 1) (D, 0) 1 1 1 A B C D Thanks to Raoul Reuter
First Back to basics : Distance Vector • Broken Link and consequent Loops… 1 1 1 D A B C (D, 2) (D, 2) 1 1 1 D A B C Thanks to Raoul Reuter
First Back to basics : Distance Vector • … create the “Count to Infinity” problem (D,5) (D,4) (D,4) (D,3) (D,2) (D,2) 1 1 1 D A B C Thanks to Raoul Reuter
Ad Hoc On-DemandDistance Vector Routing (AODV) • DSR includes source routes in packet headers. • Resulting large headers can sometimes degrade performance • particularly when data contents of a packet are small • AODV attempts to improve on DSR by maintaining routing tables at the nodes, so that data packets do not have to contain routes • AODV retains the desirable feature of DSR that routes are maintained only between nodes which need to communicate
AODV • Route Requests (RREQ) are forwarded in a manner similar to DSR • When a node re-broadcasts a Route Request, it sets up a reverse path pointing towards the source • AODV assumes symmetric (bi-directional) links • When the intended destination receives a Route Request, it replies by sending a Route Reply • Route Reply travels along the reverse path set-up when Route Request is forwarded
Node that just forwarded a frame Node that just received a frame RREQ broadcast Route Request in AODV Y Z S L E B M F C J D A G K H N I destination
Node that just forwarded a frame Node that just received a frame RREQ broadcast Inverse link Route Request in AODV Y Z S L E F B M C J A G D H K N I
Node that just forwarded a frame Node that just received a frame RREQ broadcast Inverse link Route Request in AODV Y Z S L E F B M J C A G D H K N I
Node that just forwarded a frame Node that just received a frame RREQ broadcast Inverse link Route Request in AODV Y Z S L E M F B J C A G D H K N I