MANETs Routing Dr. Raad S. Al-Qassas Department of Computer Science PSUT raad@psut.edu.jo Outline Routing challenges Mobility patterns AODV routing protocol Performance metrics MANET routing challenges No fixed infrastructure. Nodes can have unlimited mobility. Multiple hops to destination. Unreliable communication medium. All nodes need to participate in routing/forwarding. Mobility patterns MANET nodes may follow one or more of the following patterns : – – – – Stationary nodes (e.g., sensor nodes). Highly mobile nodes (e.g., vehicles). Discrete versus continuous mobility. Structured versus unstructured mobility. Mobility patterns Node mobility is characterised by: Speed. Direction. Pause time. Unicast Route Establishment Unicast route is a route from a source node to a destination node. 6 Ad hoc On-demand Distance Vector Routing (AODV) AODV has two phases: – Route establishment – Route maintenance 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. 8 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. 9 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. 10 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. 11 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 12 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 13 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 14 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 15 Reverse Path Setup in AODV Y Z S E F B C M J A L G H K I D N 16 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 17 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 18 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 19 the source. 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. 20 Route Maintenance 3´ RERR RERR 1 S 3 2 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. 21 Updating Route Tables 3´ RERR RERR 1 3 2 D S 4 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. 22 Updating Route Tables 3´ RERR RERR 1 3 2 D S 4 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. 23 Local Connectivity Neighbourhood information is obtained through hello messages. Each node broadcasts a hello message to its neighbours at a regular hellointerval. 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. 24 Performance measures Throughput end-to-end delay routing overhead 25 Performance measures (throughput) The throughput is the amount of data received (measured in bits per second) at the final destination over the simulated time averaged over the number of flows. provides an indication of the efficiency of the routing protocol as it shows the amount of data that the protocol is able to deliver to destinations. 26 Performance measures (end-to-end delay ) The end-to-end delay is the average time interval between the generation of a packet in a source node and the successful delivery of the packet at the destination node. This delay accounts for all possible delays that can occur in the source and all intermediate nodes. 27 Performance measures (routing overhead) The routing overhead is the number of routing (control) packets generated during the simulated time in order to establish and maintain paths and to exchange traffic information among network nodes as dictated by the operation of a given traffic aware metrics. routing packets sent over multiple hops, each hop counts as one transmission. 28 Performance measures The routing overhead measures the scalability of the routing protocol and its efficiency in terms of consuming a node’s battery power. The high routing overhead could affect the performance in terms of data throughput and end-to-end delay. The high overhead is a result of factors like the unsuccessful delivery of route requests and the unsuccessful delivery of route replies. 29