TableI Consmts usedintheDSDV-SQsimulation.
Periodicrouteupdateinteti 15s
Periodicupdatesmissedbeforefinkdeclaredbroken
3
Initialtiggered updateweightedsetig time
6s
Weightedsetig timeweightingfactor 718
Routeadvertisementaggregationdme
1s
Maximumpacketsbufferedpernodeperdestination 5
information further. This renders node A unreachable from dl nodes
in the network until A broadcasts a newer sequence number in a
periodic update. A will send this update as soon as it learns of the
irdiuite metric &lrrg propagatd for iL but large numbers of packets
can be dropped in the meantime.
Our implementation uses both Ml and increment updates as
required by the protocol’s description. However, the published de-
scription of DSDV [18] is ambiguous about specitilng when trig-
gered updates shotid be sent. One interpretation is that the receipt
of a new sequence number for a destination shotid cause a triggered
update. We crdl this approach DSDV-SQ (sequence number). The
advantage of this approach is that broken links wti be detected and
routed ~ound as new sequence numbers propagate around the broken
~i and create dtemate routes. The second interpretation, which we
crdl simply DSDV, is that ordy the receipt of a new metric shotid
cause a triggered update, and that the receipt of a new sequence rmm-
ber is not sufficiently impomt to incur the overhead of propagating
a triggered update.
Weimplemented both DSDV-SQ and DSDV and found that while
DSDV-SQis much more expensive in terms of overhead it provides
amuch better packet defiveryratio inmost cases. The second scheme
(DSDw is much more conservative in terms of routing overhea~ but
because finkbreakages are not detected as quic~y, more data packets
are dropped All of the resdts in this paper use DSDV-SQ, with the
exception of Section 6.2, which comp=es this with DSDV.
Table I Hststhe constants used in our DSDV-SQ simdation.
3.2 TemporWyOrdered Routing Algorithm (TORA)
TORA [14, 15] is a distributed routing protocol breed on a “link
reversal’ dgorithrn. It is designed to discover routes on demand,
provide mrdtiple routes to a destination, estabfish routes quicuy,
md minimize communication overhead by Iocdizing rdgorithrnic
reaction to topological changes when possible. Route optimrdity
(shortest-path routing) is considered of seconm importrmce, and
longer routes are often used to avoid tie overhead of discovering
newer routes.
The actions taken by TORA can be described in terms of water
flowing downhill towards a destination node through a nehvork of
tubes that models the routing state of the red nehvork. The tubes
represent W behveen nodes in the network, the junctions of tubes
represent the nodes, and the water in the tubes represents the packets
flowing towards the destination. Each node has a height with respect
to the destination that is computed by the routing protocol. If a tube
between nodes A and B becomes blocked such that water can no
longer flow through it, the height of A is set to a height greater than
that of any of its remaining neighbors, such that water will now flow
back out of A (and towards the other nodes that had been routing
packets to the destination via A).
3.2.1
Basic hlectinisms
At each node in the nehvork, a Iogicrdly separate copy of TORA is
run for each destination. When a node needs a route to a particuhrr
destination, it broadcmts a Q~RY packet containing the address of
the destination for which it requires a route. This packet propagates
through the network until it reaches either the destination, or an
intermediate node having a route to the destination. The recipient
of the QHY then broadcasts an UPDAmpacket listing its height
87
with respect to the destination. As this packet propagates through
the network, each node that receives the UPDA~ sets its height to a
value greater than the height of the neighbor from which the UPDA~
was received. This has the effect of creating a series of direetd
links from the ongind sender of the Q~Y to the node that inititiy
generated the UPDA~.
When anode discovers that a route to a destination is no longer
vdl~ it adjusts its height so that it is a Iocd maximum with respect
to its neighbors and transmits an UPDA~ packet. If the node has no
neighbors of finite height with respect to this destination, then the
node instead attempts to discover a new route as described above.
When anode detects a network partition, it generates a ~Rpacket
that resets routing snte and removes invalid routes from the network.
TORA is layered on top of MP, the htemet MA~T
Encapsdation Protocol [5], which is required to provide reliable,
in-order detivery of dl routing control messages from a node to each
of its neighbors, plus notification to the routing protocol whenever a
fink to one of its neighbors is created or broken. To reduce overhead
fMEP attempts to aggregate marry TORA and MP control mes-
sages (which ~P refers to as objec~s)together into a single packet
(as an object block) before transmission. Each block carries a se-
quence number and a response list of other nodes from which an ACK
has not yet been received, and ordy those nodes ACKthe block when
receiving i~ WP retransmits each block with some period, and con-
tinues to retransmit it if needed for some mtimurn toti period after
which time, the link to each unacknowledged node is declared down
and TORA is notified. MP cart rdsoprovide network layer address
resolution, but we did not use tis service, as we used ARP [19] with
fll four routing protocols. For link status sensing and maintaining
a list of a node’s neighbors, each ~P node periodically transmits
a BmCON (or “BWCON-eqrdvdent”) packet, which is ~wered by
each node hearing it with a ~Lo (or “~Lo-equivdent”) packet.
3.2.2
Implementation Decisions
~P must queue objects for some period of time to allow possi-
ble aggregation with other objects, but the ~P specification [5]
does not define this time period and we discovered that the ovedl
performance of the protocol was very sensitive to the choice of this
value. After significant experimentation, we chose as the best ba-
lancebetween packet overhead and routing protocol convergence, to
aggregate ~LLO and ACKpackets for a time unifotiy chosen be-
tween 150ma and 250 rns, and to not delay TORA routing messages
for aggregation. The reason for not delaying these messages is that
the TORA link reversal process creates short-lived routing loops that
exist from the time that the hnk-reversd starts until the time that dl
nodes that need to be aware of the reversal receive the corresponding
UPDA~ (Section 5.2). Delaying the transmission of TORA routing
messages for aggregation, coupled with any queuing delay at the
network interface, allows these routing loops to last long enough that
significrmtnumbers of data packets me dropped.
The TORA and I~P specifications [15,5] do not define the pre-
cise semantics of rehable object delivery required by TORA, but
experimentation showed that very strong semantics must be pro-
vided in order to prevent the creation of long-lived routing loops.
k partictia, rdl TORA objects must be delivered reliably and in
order, without any duplication. Additiondly, rdl neighhring nodes
in the ad hoc network must have a consistent picture of the network
with regard to each destination. This impfies that anytime a node A
decides its link to a neighbor B hm gone down, B
mwt dso decide
that the link to A has gone down.
Wehave implemented ~P toprovide this functionrdity,although
the retransmission timeout and total number of attempts are not
specified by IMEP [5]. We chose a retransmission period of 500 rns
andatoti timeout of 1500rns, dthoughbaseduprr ourobsewations,
au adaptive retransmission timer should be added to the protocol. h-
order delivery is enforced by, at each receiver node B, ordypassing
————