Ad Hoc OnDemand Distance Vector Routing AODV http

  • Slides: 51
Download presentation
Ad Hoc On-Demand Distance Vector Routing (AODV) http: //www. ietf. org/rfc 3561. txt 1

Ad Hoc On-Demand Distance Vector Routing (AODV) http: //www. ietf. org/rfc 3561. txt 1

Ad-hoc Solutions § Use existing computers to act as routers • Use protocol to

Ad-hoc Solutions § Use existing computers to act as routers • Use protocol to discover the path (routing) • Traditional routing algorithms no longer work well

Protocol Classes Proactive § Ready to go § Whole topology § Updates changes Overhead

Protocol Classes Proactive § Ready to go § Whole topology § Updates changes Overhead costs • Bandwidth • Battery power • Inflexible Reactive • On-demand • Little maintenance • Cell operations

AODV Overview § AODV is a packet routing protocol designed for use in mobile

AODV Overview § AODV is a packet routing protocol designed for use in mobile ad hoc networks (MANET) § Intended for networks that may contain thousands of nodes § One of a class of demand-driven protocols – The route discovery mechanism is invoked only if a route to a destination is not known

Ad-hoc On-demand Distance Vector (AODV) Charles E. Perkins, 1999 § Reactive protocol § Fast

Ad-hoc On-demand Distance Vector (AODV) Charles E. Perkins, 1999 § Reactive protocol § Fast discovery § Loop free § On-demand

Unicast Route Establishment § Unicast route is a route from a source node to

Unicast Route Establishment § Unicast route is a route from a source node to a destination node. § this protocols uses two types of messages, route request (RREQ) and route reply (RREP). § we use sequence numbers to keep track of recent routes. Every time a node sends a new message, it uses a new sequence number which increases monotonically. 6

AODV Routing § There are two phases – Route Discovery. – Route Maintenance. §

AODV Routing § There are two phases – Route Discovery. – Route Maintenance. § Each node maintains a routing table with knowledge about the network. § AODV deals with route table management. § Route information maintained even for short lived routes – reverse pointers.

AODV Route Discovery Destination Starting Point

AODV Route Discovery Destination Starting Point

AODV Route Discovery

AODV Route Discovery

AODV Route Discovery

AODV Route Discovery

AODV Route Discovery

AODV Route Discovery

AODV Route Discovery

AODV Route Discovery

AODV Route Discovery

AODV Route Discovery

AODV Route Discovery

AODV Route Discovery

AODV Route Discovery

AODV Route Discovery

AODV Route Maintenance Broken Link in Route

AODV Route Maintenance Broken Link in Route

AODV Route Maintenance

AODV Route Maintenance

Overview (continued) § The basic message set consists of: – – RREQ – Route

Overview (continued) § The basic message set consists of: – – RREQ – Route request RREP – Route reply RERR – Route error HELLO – For link status monitoring

AODV Operation – Message Types § RREQ Messages – While communication routes between nodes

AODV Operation – Message Types § RREQ Messages – While communication routes between nodes are valid, AODV does not play any role. – A RREQ message is broadcasted when a node needs to discover a route to a destination. – As a RREQ propagates through the network, intermediate nodes use it to update their routing tables (in the direction of the source node). – The RREQ also contains the most recent sequence number for the destination. – A valid destination route must have a sequence number at least as great as that contained in the RREQ.

Route Request (RREQ) Message Format 20

Route Request (RREQ) Message Format 20

RREQ Message A B? B? B? B? B

RREQ Message A B? B? B? B? B

AODV Operation – Message Types § RREP Messages – When a RREQ reaches a

AODV Operation – Message Types § RREP Messages – When a RREQ reaches a destination node, the destination route is made available by unicasting a RREP back to the source route. – A node generates a RREP if: • It is itself the destination. • It has an active route to the destination. Ex: an intermediate node may also respond with an RREP if it has a “fresh enough” route to the destination. – As the RREP propagates back to the source node, intermediate nodes update their routing tables (in the direction of the destination node).

Route Reply (RREP) Message Format 23

Route Reply (RREP) Message Format 23

RREP Message A A B

RREP Message A A B

Route Error (RERR)– Message Types § RERR Messages – This message is broadcast for

Route Error (RERR)– Message Types § RERR Messages – This message is broadcast for broken links – Generated directly by a node or passed on when received from another node

Route Error (RERR) Message Format

Route Error (RERR) Message Format

AODV Operation – Message Types § Hello Messages – Hello Message = RREP with

AODV Operation – Message Types § Hello Messages – Hello Message = RREP with TTL = 1 – This message is used for broadcasting connectivity information. • Ex: If a neighbor node does not receive any packets (Hello messages or otherwise) for more than ALLOWED_HELLO_LOSS * HELLO_INTERVAL mseconds, the node will assume that the link to this neighbor is currently lost. – A node should use Hello messages only if it is part of an active route.

Unicasting § Point-to-point transmission from one device to another. Most transmissions (where one user

Unicasting § Point-to-point transmission from one device to another. Most transmissions (where one user connects with one source or other user at a time) is unicast. § A source node wants to send a message to a destination node. 28

Multicasting § However, in many situations a node wants to send a message to

Multicasting § However, in many situations a node wants to send a message to a group of nodes in the network. § This is called multicasting and the group is called a multicast group. 29

Broadcasting § Broadcasting is a special case of multicasting when all the nodes in

Broadcasting § Broadcasting is a special case of multicasting when all the nodes in the network is in the multicast group. 30

Route Request (RREQ) Message § When node S wants to send a message to

Route Request (RREQ) Message § When node S wants to send a message to node D, S searches its route table for a route to D. § If there is no route, S initiates a RREQ message with the following components : – The IP addresses of S and D – The current sequence number of S and the last known sequence number of D – A broadcast ID from S. This broadcast ID is incremented each time S sends a RREQ message. 31

Processing a RREQ Message (I) § The <broadcast ID, IP address> pair of the

Processing a RREQ Message (I) § The <broadcast ID, IP address> pair of the source S forms a unique identifier for the RREQ. § Suppose a node P receives the RREQ from S. P first checks whether it has received this RREQ before. § Each node stores the <broadcast ID, IPaddress> pairs for all the recent RREQs it has received. 32

Processing a RREQ Message (II) S Q P D § If P has seen

Processing a RREQ Message (II) S Q P D § If P has seen this RREQ from S already, P discards the RREQ. Otherwise, P processes the RREQ : § P sets up a reverse route entry in its route table for the source S. § This entry contains the IP address and current sequence number of S, number of hops to S and the address of the neighbour from whom P got the RREQ. 33

Lifetime of a Route-Table Entry § A lifetime is associated with the entry in

Lifetime of a Route-Table Entry § A lifetime is associated with the entry in the route table. § This is an important feature of AODV. If a route entry is not used within the specified lifetime, it is deleted. § A route is maintained only when it is used. A route that is unused for a long time is assumed to be stale. 34

Route Requests in AODV Y Z S E F B C M J A

Route Requests in AODV Y Z S E F B C M J A L G H K I D N Represents a node that has received RREQ for D from S 35

Route Requests in AODV Y Broadcast transmission Z S E F B C M

Route Requests in AODV Y Broadcast transmission Z S E F B C M J A L G H K I D N Represents transmission of RREQ 36

Route Requests in AODV Y Z S E F B C M J A

Route Requests in AODV Y Z S E F B C M J A L G H K D I N Represents links on Reverse Path 37

Reverse Path Setup in AODV Y Z S E F B C M J

Reverse Path Setup in AODV Y Z S E F B C M J A L G H K I D N • Node C receives RREQ from G and H, but does not forward it again, because node C has already forwarded RREQ once 38

Reverse Path Setup in AODV Y Z S E F B C M J

Reverse Path Setup in AODV Y Z S E F B C M J A L G H K I D N 39

Reverse Path Setup in AODV Y Z S E F B C M J

Reverse Path Setup in AODV Y Z S E F B C M J A L G H K D I • Node D does not forward RREQ, because node D is the intended target of the RREQ N 40

Forward Path Setup in AODV Y Z S E F B C M J

Forward Path Setup in AODV Y Z S E F B C M J A L G H K D I N Forward links are setup when RREP travels along the reverse path Represents a link on the forward path 41

Handling More than one RREP § An intermediate node P may receive more than

Handling More than one RREP § An intermediate node P may receive more than one RREP for the same RREQ. § P forwards the first RREP it receives and forwards a second RREP later only if : – The later RREP contains a greater sequence number for the destination, or – The hop-count to the destination is smaller in the later RREP – Otherwise, it does not forward the later RREPs. This reduces the number of RREPs propagating towards the source. 42

Route Maintenance § Once a unicast route has been established between two nodes S

Route Maintenance § Once a unicast route has been established between two nodes S and D, it is maintained as long as S (source node) needs the route. § If S moves during an active session, it can reinitiate route discovery to establish a new route to D. § When D or an intermediate node moves, a route error (RERR) message is sent to S. 43

Route Maintenance RERR S RERR 1 2 3´ 3 D § The link from

Route Maintenance RERR S RERR 1 2 3´ 3 D § The link from node 3 to D is broken as 3 has moved away to a position 3´. § Node 2 sends a RERR message to 1 and 1 sends the message in turn to S. § S initiates a route discovery if it still needs the route to D. 44

Updating Route Tables RERR S 3´ RERR 1 2 4 3 D 5 §

Updating Route Tables RERR S 3´ RERR 1 2 4 3 D 5 § Suppose neighbours 4 and 5 route through 2 to reach D. Node 2 broadcasts RERR to all such neighbours. § Each neighbour marks its route table entry to D as invalid by setting the distance to infinity. 45

Updating Route Tables RERR S 3´ RERR 1 2 4 3 D 5 §

Updating Route Tables RERR S 3´ RERR 1 2 4 3 D 5 § Each neighbour in turn propagates the RERR message. § Route entries with an infinity metric are not rejected immediately as they contain useful routing information for the neighbourhood. 46

Local Connectivity § Neighbourhood information is obtained through hello messages. Each node broadcasts a

Local Connectivity § Neighbourhood information is obtained through hello messages. Each node broadcasts a hello message to its neighbours at a regular hello-interval. § When a node M receives a hello message from a neighbour N, node M updates the lifetime associated with N in its route table. § Hello messages propagate only for one hop, in the neighbourhood of a node. 47

Performance of AODV § AODV does not retransmit data packets that are lost and

Performance of AODV § AODV does not retransmit data packets that are lost and hence does not guarantee packet delivery. § However, the packet delivery percentage is close to 100 with relatively small number of nodes. § The packet delivery percentage drops with increased moility. 48

Control Overheads § The overhead packets in AODV are due to RREQ, RREP and

Control Overheads § The overhead packets in AODV are due to RREQ, RREP and RERR messages. § AODV needs much less number of overhead packets compared to DSDV. § The number of overhead packets increases with increased mobility, since this gives rise to frequent link breaks and route discovery. 49

Latency in Route Discovery § The route discovery latency in AODV is low compared

Latency in Route Discovery § The route discovery latency in AODV is low compared to DSR and DSDV. § The latency is almost constant even with increased mobility if the concentration of the nodes remain similar. § The average path length for discovered routes is also quite low. 50

AODV: Summary § Routes need not be included in packet headers § Nodes maintain

AODV: Summary § Routes need not be included in packet headers § Nodes maintain routing tables containing entries only for routes that are in active use § At most one next-hop per destination maintained at each node – DSR may maintain several routes for a single destination § Sequence numbers are used to avoid old/broken routes § Sequence numbers prevent formation of routing loops § Unused routes expire even if topology does not change 51