When/Why do we need AODV?<br />Basically when there is one node that wants to communicate with another node that is not in range, it finds a route through other nodes. In the example below node 1 is not in range with node 3, so it simply talks to node 3 through node 2.<br />Node 1<br />Node 3<br />Node 2<br />
How does it work?<br />AODV Routing works by using Route Request Messages (RREQ) and Route Reply Messages (RREP). If a node is not in range with a node that it wants to talk to, it sends a RREQ to its neighbors. The RREQ contains source IP address and sequence number, and destination IP address and sequence number, as well as the life span of the RREQ. If a neighbor of the source doesn’t know a route to the destination, it rebroadcasts the RREQ. If a neighbor does know a route to the destination, it sends a RREP back to the source. Below, Node 1 is trying to talk to node 5.<br />RREP<br />RREQ<br />RREQ<br />RREQ<br />Node 4<br />Node 5<br />Node 3<br />Node 2<br />Node 1<br />
How does it work? continued<br />As seen in the last slide, node 4 had a route to node 5, so it sent node 1 a RREP. Once node 1 receives the RREP, it notes the route to node 5 and sends the packet on that route. <br />SUCCESS!!<br />Route 5 received<br />the packet.<br />RREP<br />RREQ<br />Node 1<br />Node 4<br />Node 5<br />Packet<br />Packet<br />
RREQ<br />Now we can see it all in action!<br />Node 1<br />Node 2<br />Node 3<br />RREP<br />AODV Protocol<br />Node 4<br />Node 5<br />
Lets get more specific!<br />Sequence Number: Each message contains a sequence number, which is essentially the age of the message. This allows nodes to know how recent a message was sent, and it may allow nodes to find new, quicker routes.<br />Life Span: Each message only last the time that is specified by its life span. If the message dies before it reaches the destination, the source will resend the message with a longer life span.<br />
And more specific…<br />Hello Messages: These are simple messages that nodes send at certain time intervals to all its neighbors to let them know that it is still there. If a node stops receiving hello messages from one of its neighbors, it knows that any routes through that node no longer exist. <br />
It gets complicated!<br />Things get much more complicated with many nodes. This is because nodes have many neighbors so RREQ get rebroadcasted a lot! That’s why sequence numbers and life spans<br /> are so key.<br />
Error Messages RERR<br />RERR are used mainly when nodes get moved around and connections are lost. If a node receives a RERR, it deletes all routes associated with the new error. Error messages are sent either when a message (not RREQ or RREP) is sent to a node that has no route to the destination, or when a route becomes invalid, or if it cannot communicate with one of its neighbors.<br />
A particular slide catching your eye?
Clipping is a handy way to collect important slides you want to go back to later.