d oc On-emand istance Vector (OV) R includes source routes in packet headers Resulting large headers can sometimes degrade performance particularly when data contents of a packet are small OV attempts to improve on R by maintaining routing tables at the nodes, so that data packets do not have to contain routes OV retains the desirable feature of R that routes are maintained only between nodes which need to communicate 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 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 ar-27-03 4/598: omputer etworks 1 ar-27-03 4/598: omputer etworks 2 Route Requests in OV Route Requests in OV roadcast transmission Represents a node that has received RRQ for from Represents transmission of RRQ ar-27-03 4/598: omputer etworks 3 ar-27-03 4/598: omputer etworks 4 Route Requests in OV Reverse Path etup in OV Represents links on Reverse Path ode receives RRQ from and, but does not forward it again, because node has already forwarded RRQ once ar-27-03 4/598: omputer etworks 5 ar-27-03 4/598: omputer etworks 6 1
Reverse Path etup in OV Reverse Path etup in OV ode does not forward RRQ, because node is the intended target of the RRQ 7 Route Reply in OV 4/598: omputer etworks ar-27-03 ar-27-03 4/598: omputer etworks 8 Route Reply in OV n intermediate node (not the destination) may also send a Route Reply (RRP) provided that it knows a more recent path than the one previously known to sender To determine whether the path known to an intermediate node is more recent, destination sequence numbers are used The likelihood that an intermediate node will send a Route Reply when using OV not as high as R new Route Request by node for a destination is assigned a higher destination sequence number. n intermediate node which knows a route, but with a smaller sequence number, cannot send Route Reply Represents links on path taken by RRP ar-27-03 4/598: omputer etworks 9 ar-27-03 4/598: omputer etworks orward Path etup in OV ata elivery in OV orward links are setup when RRP travels along the reverse path Routing table entries used to forward data packet. Represents a link on the forward path 4/598: omputer etworks 11 ar-27-03 ar-27-03 Route is not included in packet header. T 10 4/598: omputer etworks 12 2
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 is data 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) ink 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 When the next hop link in a routing table entry breaks, all active neighbors are informed ink failures are propagated by means of Route rror messages, which also update destination sequence numbers ar-27-03 4/598: omputer etworks 13 ar-27-03 4/598: omputer etworks 14 Route rror When node X is unable to forward packet P (from node to node ) on link (X,), it generates a RRR message ode X increments the destination sequence number for cached at node X The incremented sequence number is included in the RRR When node receives the RRR, it initiates a new route discovery for using destination sequence number at least as large as estination equence umber ontinuing from the previous slide When node receives the route request with destination sequence number, node will set its sequence number to, unless it is already larger than ar-27-03 4/598: omputer etworks 15 ar-27-03 4/598: omputer etworks 16 ink ailure etection ello messages: eighboring nodes periodically exchange hello message bsence of hello message is used as an indication of link failure lternatively, failure to receive several -level acknowledgement may be used as an indication of link failure Why equence umbers in OV To avoid using old/broken routes To determine which route is newer To prevent formation of loops ssume that does not know about failure of link - because RRR sent by is lost ow performs a route discovery for. ode receives the RRQ (say, via path --) ode will reply since knows a route to via node Results in a loop (for instance, ---- ) ar-27-03 4/598: omputer etworks 17 ar-27-03 4/598: omputer etworks 18 3
Why equence umbers in OV Optimization: xpanding Ring earch oop ---- Route Requests are initially sent with small Time-to- ive (TT) field, to limit their propagation R also includes a similar optimization f no Route Reply is received, then larger TT tried ar-27-03 4/598: omputer etworks 19 ar-27-03 4/598: omputer etworks 20 ummary: OV Routes need not be included in packet headers odes maintain routing tables containing entries only for routes that are in active use t most one next-hop per destination maintained at each node R may maintain several routes for a single destination Unused routes expire even if topology does not change estination-equenced istance-vector (V) ach node maintains a routing table which stores next hop towards each destination a cost metric for the path to each destination a destination sequence number that is created by the destination itself equence numbers used to avoid formation of loops ach node periodically forwards the routing table to its neighbors ach node increments and appends its sequence number when sending its local routing table This sequence number will be attached to route entries created for this node ar-27-03 4/598: omputer etworks 21 ar-27-03 4/598: omputer etworks 22 estination-equenced istance-vector (V) ssume that node X receives routing information from about a route to node estination-equenced istance-vector (V) ode X takes the following steps: X et (X) and () denote the destination sequence number for node as stored at node X, and as sent by node with its routing table to node X, respectively X f (X) > (), then X ignores the routing information received from f (X) = (), and cost of going through is smaller than the route known to X, then X sets as the next hop to f (X) < (), then X sets as the next hop to, and (X) is updated to equal () ar-27-03 4/598: omputer etworks 23 ar-27-03 4/598: omputer etworks 24 4
Temporally-Ordered Routing lgorithm (TOR) TOR modifies the partial link reversal method to be able to detect partitions When a partition is detected, all nodes in the partition are informed, and link reversals in that partition cease Partition etection in TOR for destination ar-27-03 4/598: omputer etworks 25 ar-27-03 4/598: omputer etworks 26 Partition etection in TOR Partition etection in TOR TOR uses a modified partial reversal method TOR uses a modified partial reversal method ode has no outgoing links ode has no outgoing links ar-27-03 4/598: omputer etworks 27 ar-27-03 4/598: omputer etworks 28 Partition etection in TOR Partition etection in TOR ode has no outgoing links ode has no outgoing links -- all its neighbor have reversed links previously. ar-27-03 4/598: omputer etworks 29 ar-27-03 4/598: omputer etworks 30 5
Partition etection in TOR Partition etection in TOR ode propagates the reflection to node odes and receive the reflection from node ode now has no outgoing link ar-27-03 4/598: omputer etworks 31 ode has received the reflection from all its neighbors. ode determines that it is partitioned from destination. ar-27-03 4/598: omputer etworks 32 Partition etection in TOR TOR mproves on the partial link reversal method by detecting partitions and stopping non-productive link reversals On detecting a partition, node sends a clear (R) message that purges all directed links in that partition Paths may not be shortest The provides many hosts the ability to send packets to a given destination eneficial when many hosts want to communicate with a single destination ar-27-03 4/598: omputer etworks 33 ar-27-03 4/598: omputer etworks 34 TOR esign ecision TOR performs link reversals as dictated by [afni81] owever, when a link breaks, it looses its direction When a link is repaired, it may not be assigned a direction, unless some node has performed a route discovery after the link broke if no one wants to send packets to anymore, eventually, the for destination may disappear TOR makes effort to maintain the for only if someone needs route to Reactive behavior TOR esign ecision One proposal for modifying TOR optionally allowed a more proactive behavior, such that a would be maintained even if no node is attempting to transmit to the destination oral of the story: The link reversal algorithm in [afni81] does not dictate a proactive or reactive response to link failure/repair ecision on reactive/proactive behavior should be made based on environment under consideration ar-27-03 4/598: omputer etworks 35 ar-27-03 4/598: omputer etworks 36 6