d hoc On-demand istance Vector Routing (OV) [Perkins99] 6811 : Lecture 7
d Hoc On-emand istance Vector Routing (OV) R includes source routes in packet headers G ata. Header Large headers can sometimes degrade performance particularly when data content of a packet is small 2
Idea: Think about postal mails
d Hoc On-emand istance Vector Routing (OV) andwidth vs. storage: OV attempts to improve on R by maintaining routing tables at the nodes, so that data packets do not have to contain routes Routing tables G I H K L J 4
d Hoc On-emand istance Vector Routing (OV) Reactive Protocol OV retains the desirable feature of R that routes are maintained only between nodes which need to communicate 5
Route iscovery in OV Route Requests (RRQ) are forwarded in a manner similar to R When a node re-broadcasts a Route Request, it sets up a reverse path pointing towards the source OV assumes symmetric (bi-directional) links (Unlike R) 6
asic idea illustrated 7
asic idea illustrated 8
Reverse Path setup estination Next Hop RRQ 9
Reverse Path setup estination Next Hop estination Next Hop 10
Reverse Path setup RRQ 11
Reverse Path setup estination Next Hop 12
Reverse Path setup RRQ 13
Reverse Path setup 14
Reverse Path setup RRQ 15
Reverse Path setup 16
Reverse Path setup RRQ 17
Reverse Path setup 18
orward Path setup RRP 19
orward Path setup 20
orward Path setup RRP 21
orward Path setup 22
orward Path setup RRP 23
orward Path setup 24
orward Path setup RRP 25
orward Path setup This will expire soon 26
More than one RRQ? Rebroadcast only the first one 27
Need for sequence number G was transmitting to, having forward path set towards 28
Need for sequence number G s transmission has finished has moved to a new place started transmitting to 29
Need for sequence number RRQ RRQ G Performs a route discovery 30
Need for sequence number or G Time information is issing! Performs a route discovery Two reply packets from and which one is fresher? 31
Need for sequence number o we really need real clock? Time is something which increments.. Why not we have logical time (i.e. increasing number)? 32
omplete picture of a RRQ <ource_addr, ource_seq_no, estination_addr, est_seq_no, brdcast_id, hop_count> 33
Handling of RRQ (omplete picture) <ource_addr, ource_seq_no, estination_addr, est_seq_no, brdcast_id, hop_count> Y Have I seen o I have an Y N this packet? entry to dest m I the target? with larger Y seq_no N N rop o Reverse Path setup and send route reply o reverse path setup, hopount++ and rebroadcast 34
complete picture with sequence numbers and hop counts 8 4 dest next seq hc 8 3 2 1 seq destination sequence number hc hop count 8 2 2 2 8 2 8 1 2 3 2 4 8 1 These entries will expire 35
Odd vs ven sequence number 8 4 dest next seq hc 8 3 2 1 seq destination sequence number hc hop count 8 2 2 2 8 1 2 3 2 4 36
Odd vs ven sequence number 8 4 dest next seq hc 8 3 2 1 seq destination sequence number hc hop count 8 2 2 2 8 1 2 3 RRR seq?? 2 4 eq no must be larger, how much large? 37
Odd vs ven sequence number 8 4 dest next seq hc 8 3 2 1 seq destination sequence number hc hop count 8 2 3 _ RRR 3 8 1 3 _ 3 _ 38
Odd vs ven sequence number If comes back again what sequence number will it use to send a RRP? Note: Last time it has used seq no. 2 8 2 3 _ 8 1 3 _ 3 _ 39
olution estination always use even sequence numbers Intermediate nodes use odd sequence numbers to report link error 40
Timeouts routing table entry maintaining a reverse path is purged after a timeout interval timeout should be long enough to allow RRP to come back routing table entry maintaining a forward path is purged if not used for a active_route_timeout interval if no data is being sent using a particular routing table entry, that entry will be deleted from the routing table (even if the route may actually still be valid) 41
Link ailure etection Hello messages: Neighboring nodes periodically exchange hello message bsence of hello message is used as an indication of link failure lternatively, failure to receive several Mlevel acknowledgement may be used as an indication of link failure 42
Link ailure Reporting neighbor of node X is considered active for a routing table entry if the neighbor sent a packet within active_route_timeout interval which was forwarded using that entry 43
Link ailure Reporting When the next hop link in a routing table entry breaks, all active neighbors are informed Link failures are propagated by means of Route rror messages, which also update destination sequence numbers 44
Link ailure Reporting s1 n1 n2 k n3 s1 s2. n3 s2 n2 45
Optimization: xpanding Ring earch Route Requests are initially sent with small Time-to-Live (TTL) field, to limit their propagation R also includes a similar optimization If no Route Reply is received, then larger TTL tried 46
Optimization: xpanding Ring earch xpanding Ring: H sends RRQ with TTL 1 if RRP received done otherwise send RRQ with TTL 2... Gradually increase up to a max 47
ummary: OV Routes need not be included in packet headers Nodes maintain routing tables containing entries only for routes that are in active use t most one next-hop per destination maintained at each node Multi-path extensions can be designed R may maintain several routes for a single destination Unused routes expire even if topology does not change 48
49