Documente Academic
Documente Profesional
Documente Cultură
snnrp
D ← snA D 3/3/3/3
nrp
rdD ← rdA D A
2/2/2/2
ldnrp
D ← ldA D C
rpld{S, ph, rreqid} ← true B
1/1/1/1
where ph is the previous hop in the RREQ cache which
has neither been replied to nor has the black mark bit set. Figure 1. SMLDR Operation
Procedure 7: Route Errors. A node A marks its route to
destination D through next hop B as invalid if any of the fol-
lowing events occur: Consider the network shown in Figure 1, initially with-
out node S. The numbers stored represent the feasible dis-
• A receives a notification of link failure while sending
tance, reported distance, limiting distance and the distances
data packets to B for destination D.
stored in route list entries of the nodes for the destination T.
• A receives a route error from B for destination D. From the figure it can be seen that the shortest route from
• A does not route any data packets for destination D via S to T is via W. We now illustrate using the concept of lim-
B for a period of active route timeout seconds and has iting distance how S can determine the shortest multipath
m m
to T. Let S initiate a route request for T. Nodes W and A snn1j (tcni ) ∧ f dnni1 (tcni ) > f dn1j (tcni ) must be the order-
report distances 3 and 3 respectively. If S receives A’s re- ing according to Procedure 6. Now ni would change to mj
ply first it updates its feasible, reported and limiting dis- when mj forwards a reply rpmj in [tsni , tcni ]. If ni accepts
tances to 4 with A as the next hop towards destination T in rpmj , it means the reply is feasible at ni and in accordance
m
its route list. When S receives W’s reply the reply is feasi- with NDC. V Thus snnni1 (tcni ) < snn1j (tcni ) or snnni1 (tcni ) =
mj c mj c m
ble at S and W is added to its route list. Though there is no ni c
snn1 (tni ) f dn1 (tni ) > rdn1 (tni ) ≥ f dn1j (tcni ). This
change in the feasible and reported distances S updates it’s shows that Procedure 6 does not violate the ordering crite-
limiting distance to 3. As W offers a lower limiting distance ria.
S chooses W as its successor to forward data packets in pref- Lemma 3: If a node A changes successor to one of the
erence to A. Only when S’ route to T via W fails S employs nodes in its successor list; NDC and Procedures 5, 6, and 7
the route via A to reach T. The utility of limiting distance maintain the ordering of the invariants.
lies in the ability to discern optimal routes among those ob- Proof: Let time tsni be when node ni switches successor
tained during the multipath route discovery phase. to node ni−1 and let time tcni be when node ni switches suc-
cessor from the earlier established path P = {nk , ..., n1 }
4. Analysis that obeys the ordering criteria. Let mj be the node in the
ordered path {mj , ..., m1 , n1 } to which ni switches and
We first prove loop freedom in SMLDR under the as- let toni be the time when ni received a reply from mj .
m
sumption that no node forgets the last sequence number it This meansVthat snnni1 (toni ) < snn1j (toni ) or snnni1 (toni ) =
mj o mj o m
learns for a given destination. The proof requires that the snn1 (tni ) f dn1 (tni ) > rdn1 (tni ) ≥ f dn1j (toni ) must
ni o
relaying of replies and reply processing maintains the or- be the ordering if mj relayed a reply and was added to n0i s
dering of invariants. The ordering we want to establish is successor list according to Procedures 6 and 5 respectively.
that the sequence numbers are nondecreasing and for the In time t ε [toni , tcni ] consider these two possibilities:
m
same sequence numbers the feasible distances are nonin- i) snnni1 (t) > snn1j (t) > snnni1 (toni ) in which case
creasing as we move away from the destination i.e. along mj would no longer be a part of the successor set at
any successor path P = {nk , ...., n1 } for all i ε [2, k] towards tcni according to Procedure 5.
m
destination D, the ordering (snni D < snD
ni−1
) ∨ (snni
D =
ii) snnni1 (t) = snn1j (t) = snnni1 (toni ) but m0j s reported
ni−1 ni ni−1 distance has increased. At node mj according to Procedure
snD ∧ f dD > f dD ) is to be maintained. We then
prove that each source initiating a request is guaranteed a 7 for the same sequence number the feasible distance re-
feasible reply in finite time if the network is stable for a suf- mains the same or is decreased. V This implies the new order-
m m
ficient period of time. Further we show that SMLDR is live. ing is snnni1 (tcni ) = snn1j (tcni ) f dnni1 (tcni ) > f dn1j (tcni )
Lemma 1: If a node updates its routing table by Proce- which does not violate the ordering requirement.
dure 5 and initiates replies by Procedures 3 or 4 or relays For all other possibilities it is easily seen that the order-
replies by Procedure 6 then NDC ensures that the ordering ing is not violated. Thus Procedure 5 and 7 do not violate
criteria is maintained when successor path is established the ordering criteria.
assuming no node changes successor on the path. Theorem 1: SMLDR is loop free at every instant as long
Proof: We note that only the destination can increase its as the nodes update their routing tables according to NDC
own sequence numbers and by Procedure 5 the feasible dis- and Procedures 5, and 7 and relay messages according to
tance always decreases or remains same in a node for a par- Procedures 2, 3, 4 and 6.
ticular sequence number. Let P = {nk , ..., n1 } be a succes- Proof: Let I be a downstream node for A towards the des-
sor path from the node nk to n1 . The proof is by induction tination D. If A relays a reply and I accepts it then a loop
on the number of hops starting with the destination as the would be formed. We prove this can never happen by con-
node generating the route reply and is similar to the proof tradiction. Initially at time t0 let us assume the path from A
in LDR [7, Lemma 1, pp.58]. to I to D is loop free. By the ordering V criteria snAD (t0 ) <
I A I
Lemma 2: Given an established path that obeys the or- snD (t0 ) or snD (t0 ) = snD (t0 ) f dD (t0 ) > f dID (t0 ).
A
dering criteria any change of successor (not in the succes- At time t1 let I receive a reply relayed by A as per Proce-
sor list) according to NDC and Procedure 6 maintains the dures 4 or 6. At I snID (t1 ) ≥ snID (t0 ) as the sequence num-
ordering along that path. ber is a nondecreasing function. If snID (t0 ) > snA D (t0 ) it
Proof: Let time tsni be when node ni switches successor means snrp D < sn I
D (t 1 ) and I will not accept the A’s reply.
to node ni−1 and let time tcni be when node ni switches suc- Similarly if snA D (t 0 ) = sn I
D (t 0 ) < sn I
D (t 1 ) I cannot ac-
cessor from the earlier established path P = {nk , ..., n1 } cept A’s reply. If snID (t0 ) = snA D (t 0 ) = sn I
D (t 1 ) we would
that obeys the ordering criteria. Let mj be the node in have rdrp A A I
D ≥ rdD (t0 ) ≥ f dD (t0 ) > f dD (t0 ) ≥ f dD (t1 )
I
{mj , ..., m1 , n1 } which is in order to which ni switches. and I will not accept A’s reply as it will violate NDC.
m
This means that snnni1 (tcni ) < snn1j (tcni ) or snnni1 (tcni ) = Theorem 2: SMLDR ensures that a node A initiating a
route discovery for destination D identified by the compu- invariants of all nodes from np to A in the reverse path and
tation (A, IDA ) in an error free stable connected network hence is a feasible reply at A.
receives a feasible route reply for destination D. Theorem 3: Every active phase has a finite duration and
Proof: Let node A initiate a request for destination D and SMLDR is live.
let the request traverse the path P = {n1 , ..., nk−1 } arriv- Proof: An active phase may never end either due to a
ing at node nk (possibly equal to D) before satisfying SDC. deadlock or a livelock. The only way a deadlock can oc-
Node nk initiates a reply for D towards A. The proof must cur is when a node A is active for a computation (A, IDA )
show that the reply relaying mechanism ensures that the re- without ever receiving a feasible reply. From Theorem 2 we
ply is usable by all relaying nodes. Let us first consider the know that each request is guaranteed a feasible reply if part
case that no node along the solicited path P is affected by of the network between the source and destination remains
another route discovery event for D during the route request connected. Once a feasible reply is received the node re-
and establishment phase. Each node n ε P must be in one verts to passive state. Additionally whenever a node initiates
of the three sub cases otherwise that node would have re- a request it starts a timer. If the destination is unreachable
sponded to the request instead of relaying it on towards nk . the timer as described in Procedure 1 would expire caus-
i) n has no information about D, ii) n’s invariants are in- ing the node to revert back to passive state. The node can
valid, iii) n has a valid route but its invariants cannot sat- then retry its request for the destination by entering the ac-
isfy SDC. In case i) node n can use any reply sent by nk . In tive phase again. The back-to-back active phase is prevented
case ii) the reply sent by nk will satisfy the invariants at n by setting a finite limit on the number of route request re-
as it satisfies A. tries. When the limit is reached, the destination is declared
For case iii) the proof is by induction that the reply issued unreachable to the higher layer and the node reverts to pas-
by nk in response to A’s request satisfies all nodes along P sive state thus preventing livelocks.
if they followed Procedure 6. Consider for base case the
node n1 , node A’s immediate neighbor. Node n1 would re-
5. Simulations
lay the requestV with snnD1 and f dnD1 if either snnD1 > snrq
D or
rq
n1
snD = snD f dnD1 < f drq
D by Procedure 2. As the in-
The simulation results for SMLDR against AODV,
variants in the request are only strengthened along the path
AOMDV and LDR are presented. GloMoSim [1] was used
any reply will satisfy both n1 and A. By the inductive hy-
for simulating the protocols. The IP layer uses a net queue
pothesis all nodes A, .., ni−1 will be able to use the reply.
size of 100 packets. All other simulation set up parame-
The proof that the reply will be satisfied at node ni is iden-
ters are as described in [4] and [2]. AOMDV implementa-
tical to the base case (as the proof does not depend on the
tion is according to [13]. The multipath routing protocols
identity of the nodes).
use a threshold of 2 routes per destination stored in the rout-
Now suppose that some node ni ε P is affected by some ing table.
independent route discovery or maintenance event for desti-
nation D during this phase. If one or more nodes ni ε P have
a valid route to D their invariants were weaker than A’s in- 5.1. Simulation Environment
variants else they would not have relayed A’s request. Con-
sider the event that one or more nodes ni ε P learn of a new We consider simulation over a 2200m x 600m network
route to D during this period. The new route will either have containing 100 nodes. For the traffic load we use two sce-
strengthened ni ’s invariants or they remain the same. When narios of 30 flows with each flow sending packets of fixed
a node receives a reply if the reply’s invariants are weaker size 512 bytes. To consider the effect of variation in load, in
than the nodes invariants the node must discard the old re- the first scenario the sources generate packets at the rate of
ply and initiate a new reply with its stronger invariants ac- 2 packets per second (pps) while in the second scenario they
cording to Procedure 6. Thus even if the new discovery does generate at the rate of 4 packets per second. This constitutes
strengthen the invariants of one node say nt , the presence of a net load of 60 packets per second (moderate load) and
the latest reply (with weaker invariants) will still cause the 120 packets per second (high load) respectively. The traf-
node nt to issue a reply with its stronger invariants. It is pos- fic flows start at a random time in the first 100 seconds and
sible for a node say np to receive two replies with the sec- stays active till the end of the simulations. Both link layer
ond reply having stronger invariants than the first though it feedback and Hellos are used for detecting link failures. A
has only one route request entry in its cache for an unique Hello loss of 2 is chosen to indicate link failure. The MAC
(A, IDA ) computation. This can cause np to not relay the layer used is 802.11 with a 250m transmission range and
second reply as the replied flag would have already been set a throughput of 2 Mbps. To represent mobility we choose
for the route request entry. However from the above discus- the random way point mobility model with each node mov-
sion we know that if np relays the first reply it satisfies the ing at a random speed between 1-20 meters/sec. The simu-
lations were run for 900 simulated seconds with pause times
0s, 50s, 100s, 200s, 300s, 500s, 700s and 900s. 2.5
SMLDR
We choose packet delivery ratio, average end-to-end de- LDR
AODV
lay of data packets, normalized routing load, data hop count
2.5
Table 2 summarizes the results of the different metrics 2
by averaging over all pause times for the two different traf-
1.5
fic loads. The columns show the mean value and the 95%
confidence interval. 1
1 14
SMLDR
LDR
0.95
12 AODV
AOMDV
0.9
0.85 AODV
AOMDV
0.8 8
0.75
6
0.7
4
0.65
0.6 2
0 200 400 600 800 1000 0 200 400 600 800 1000
Pause Time (secs) Pause Time (secs)
(a) Moderate Load, 30 Flows, 60pps (a) Moderate Load, 30 Flows, 60pps
0.8 11
SMLDR
0.75 10 LDR
AODV
0.7 9 AOMDV
Normalized Routing Load
0.65 8
Delivery Ratio
7
0.6
6
0.55
5
0.5
SMLDR
4
LDR
0.45 AODV
AOMDV 3
0.4
0 200 400 600 800 1000 2
Pause Time (secs) 0 200 400 600 800 1000
Pause Time (secs)