Sei sulla pagina 1di 66

SMORT- SECURE MULTIPATH ON-DEMAND

ROUTING FOR MOBILE AD HOC NETWORKS


A PROJECT REPORT
Submitted by
PRABHU (20077737)
MANIKANDAN (20087729)
CHOKKANATHAN (2007773)
in partial fulfillment for the award of the degree
of
BACHELOR OF TECHNOLOG!
in
INFORMATION TECHNOLOG!
DEPARTMENT OF INFORMATION TECHNOLOG!
MADRAS INSTITUTE OF TECHNOLOG! CAMPUS
ANNA UNI"ERSIT!# CHENNAI$
APR 20
ANNA UNI"ERSIT!%% CHENNAI &00 02'
BONAFIDE CERTIFICATE
It is certified that the work contained in this project, titled S()*+ - S,-.*,
M./+012+3 O4-D,(245 R).+046 F)* M)70/, A5 H)- N,+8)*9:; by PRABHU
[2!!!"!#, $A%I&A%'A% [2(!!2)#, *H+&&A%A,HA% [2!!!-"# has
been carried o.t .nder /y s.per0ision , in partial f.lfill/ent for the award of the
de1ree of Bachelor of ,echnolo1y in Infor/ation ,echnolo1y2 *ertified f.rther to
the best of /y knowled1e the work reported herein does not for/ part or f.ll of
any other thesis or dissertation on the basis of which a de1ree or award was
conferred on an earlier occasion on this or any other candidate2
D*$"$"AIDEHI D*$DHANANJA! KUMAR
HEAD OF THE DEPARTMENT SUPER"ISOR
Professor and Head, Assistant Professor,
'epart/ent of Infor/ation ,echnolo1y, 'epart/ent of Infor/ation ,echnolo1y,
$adras Instit.te of ,echnolo1y, $adras Instit.te of ,echnolo1y,
Anna Uni0ersity, *hennai 33 Anna Uni0ersity, *hennai 332
ACKNOWLEDGEMENTS
4e are hi1hly indebted to o.r respectable dean, D*$A$J):,13 S+24/,< for
pro0idin1 with s.fficient facilities that contrib.ted to the s.ccess in this endea0or2
4e are 0ery thankf.l to o.r Head of the 'epart/ent, D*$"$"205,30 for her
contin.o.s enco.ra1e/ent d.rin1 the project work2
4e are deeply obli1ated to o.r 1.ide D*$ D32424=2< K.(2* for his in0al.able
enco.ra1e/ent and e5e/plary 1.idance thro.1ho.t this project2 4e thank hi/ for
his 0al.able s.11estions and 1i0in1 .s the co/plete freedo/ and fle5ibility to
work on this topic2 He has been 0ery enco.ra1in1 and /oti0atin1 and the intensity
of enco.ra1e/ent has always increased with ti/e2 4e are 1reatly indebted to hi/2
4e e5tend o.r sincere thanks to o.r project coordinators D*$P$"2*2/29:3(0 and
D*$M$R$S.(2/2+32 for coordinatin1 o.r project work thro.1ho.t the co.rse2
4e wo.ld be failin1 in o.r d.ty if we for1et to thank all the teachin1 and non6
teachin1 staff of o.r depart/ent for their constant s.pport thro.1ho.t the co.rse of
o.r project2
4e e5press o.r affection and thanks to o.r parents and friends who stood as a
s.pportin1 pillar in o.r ri1oro.s co.rse2
Prabh. 72!!!"!8
$anikandan 72(!!2)8
*hokkanathan 72!!!-"8
ABSTRACT
Increasing popularity and availability of portable wireless devices, which
constitute mobile ad hoc networks, calls for scalable and secure ad hoc routing
protocols. On-demand routing protocols adapt well with dynamic topologies of ad
hoc networks, because of their lower control overhead and quick response to route
breaks. But, as the size of the network increases, these protocols cease to perform
due to large routing overhead generated while repairing route breaks. e propose
a multipath on-demand routing protocol !"#O$%&, which reduces the routing
overhead incurred in recovering from route breaks, by using secondary paths and
provides security mechanism for such a routing scheme. "#O$% computes fail-
safe multiple paths, which provide all the intermediate nodes on the primary path
with multiple routes !if e'ists& to destination. ('haustive simulations using
)lo#o"im with large networks !*+++ nodes& confirm that "#O$% is scalable, and
performs better even at higher mobility and traffic loads, when compared to the
dis,oint multipath routing protocol !-#$.& and ad hoc on-demand distance
vector !/O-0& routing protocol.
LIST OF FIGURES
LIST OF TABLES
T27/, N) N2(, P26, N)

S,-.*0+< *,>.0*,(,4+: ?)* SAOD"MAP


2
N)+2+0)4: .:,5 ?)* SAOD"-MAP
ABBRE"IATIONS AND ACRON!MS
F06.*, N)$ N2(, P26, N)$
$ T<1, )? (./+012+3: 3
$2 P2+3 2--.(./2+0)4 5.*046 *).+, 50:-)@,*< A
$3 D0:-)@,*046 (./+01/, 12+3: 5.*046 *).+, 50:-)@,*< &
$A C)(704,5 S.7B<+, 245 I4@S.7B<+, :32*046 2 -)(()4
(./+01/0-2+0@, 04@,*:0)4 ()5./,$
0
$' A@,*26, 7<+, *).+046 /)25
F06.*, N)$ N2(, P26, N)$
A*& Acknowled1e/ent
A+'9 Ad hoc +n de/and 'istance 9ector ro.tin1
:A+'9 :ec.re Ad hoc +n de/and 'istance 9ector ro.tin1
':R 'yna/ic :o.rce Ro.tin1
':'9 'estination :e;.enced 'istance 9ector protocol
<RP <one Ro.tin1 Protocol
A+'96$AP Ad hoc +n de/and 'istance 9ector 6$.ltiple Alternati0e
Paths
RR=> Ro.te Re;.est
RR=P Ro.te Reply
TABLE OF CONTENTS
Pa1e no
ABSTRACT
LIST OF FIGURES
LIST OF TABLES
ABBRE"IATIONS AND ACRON!MS
C321+,* % INTRODUCTION
-2? +0er0iew
-2-? +bjecti0e
-22? $anet
-2"? 4ireless Ro.tin1 Protocol Basics
-23? ,ypes of $.ltipath
-2@? :ec.rity Analysis
-2A? ,hesis +r1aniBation
C321+,* 2% LITERATURE SUR"E!
22-? Pro0ably :ec.re +n6'e/and :o.rce Ro.tin1 in
$obile Ad Hoc %etworks
222? A 'istrib.ted Al1orith/ for *on1estion6$ini/iBed
$.lti6path ro.tin1 o0er Ad hoc %etworks
22"? Appro5i/ate $ini/./6=ner1y $.lticastin1 in
4ireless Ad Hoc %etworks
223? Adapti0e :ec.re Ro.tin1 in Ad Hoc $obile %etwork
22@? A :ec.re Ro.tin1 Protocol for Ad Hoc %etworks
C321+,* 3% PROPOSED WORK
"2-? +bjecti0e
"2-2- Attacks and 9.lnerabilities in $A%=,
"2-22 $.ltipath Ro.tin1 Protocols
"22? &ey *onsiderations
"222- Ro.te 'isco0ery Process
"2222 :ec.re %ei1hbor Ro.te 'isco0ery Process
"2"? Al1orith/ I/ple/entation
"232-2 ,he Ad0anced =ncryption :tandard
"23222 ,he :.bByte and In0:.bByte ,ransfor/ation
"23? :yste/ Architect.re 'ia1ra/
"2@? 'ata Clow 'ia1ra/
"2A? :creen :hots
"2!? :a/ple *ode
C321+,* A% GLOMOSIM
32-? Introd.ction to Dlo$o:i/
322? Parsec
32"? Abo.t Dlo$o:i/
32"2- Dlo$o:i/ Architect.re
32"22 Dlo$o:i/ Eibrary
32"2" Dlo$o:i/ APIs
C321+,* '% RESULT AND DISCUSSION
@2-? :i/.lation Res.lts
C321+,* &% CONCLUSION AND FUTURE WORK
REFERENCES
APPENDIB A
CHAPTER % INTRODUCTION
INTRODUCTION%
$0 O"ER"IEW
A /obile ad hoc network 7$A%=,8 is a syste/ of /obile nodes that
dyna/ically self6or1aniBe in arbitrary and te/porary network topolo1ies allowin1
nodes to co//.nicate each other witho.t any pre6e5istin1 co//.nication
infrastr.ct.re2 ,here are a n./ber of challen1es tri11ered by the .ni;.e
characteristics of ad hoc wireless networks2 %ode /obility affects network
topolo1y and /ay inc.r packet lost, path disconnection, network partition and
diffic.lty in reso.rce allocation2 '.e to the li/ited trans/ission ran1e of $A%=,
nodes, /.ltiple hops are .s.ally needed for a node to e5chan1e infor/ation with
any other node in the network2
,h.s a ro.tin1 is a cr.cial iss.e in desi1nin1 $A%=,2Accordin1 to the
n./ber of paths that are disco0ered d.rin1 ro.te disco0ery process, the ro.tin1
protocols are di0ided into sin1le6path and /.ltipath2 $.ltipath ro.tin1 protocols
for wireless ad6hoc networks are dee/ed s.perior o0er con0entional sin1le6path
ad6hoc ro.tin1 protocols as the for/er red.ce end6to6end delay, increase
reliability, pro0ide rob.stness and load6balancin1, and i/pro0e sec.rity2:ince
$A%=, lacks fi5ed infrastr.ct.re, ad6hoc ro.tin1 sec.rity is challen1in1 and th.s
it is an ob0io.s tar1et for ad0ersaries2
$ OBJECTI"E
,he $ain +bjecti0e is to Increase reliability, pro0ide rob.stness and load6
balancin1, and i/pro0e sec.rity2:ince $A%=, lacks fi5ed infrastr.ct.re, ad6hoc
ro.tin1 sec.rity is challen1in1 and th.s it is an ob0io.s tar1et for ad0ersaries2 ,he
s.ccess of $A%=,s in /any applications de/ands ade;.ate sec.rity /eas.res for
the ro.tin1 protocols2 ,h.s different ad6hoc ro.tin1 protocols /.st be desi1ned for
specific en0iron/ents2 And a ro.tin1 protocol /ay be considered sec.re if it /eets
the sec.rity re;.ire/ents for its en0iron/ent of .se2 =ach en0iron/ent differs
1reatly in its sec.rity needs and the opport.nity for predeploy/ent coordination2
%or/ally ad hoc networks can be classified into three en0iron/ents? open,
/ana1ed6open and /ana1ed6hostile2 ,here are only few e5istin1 sec.rity
approaches to pro0ide sec.rity for /.ltipath $A%=,2 In this paper, we pro0ide a
sec.re /.ltipath $A%=, sche/e, which tar1ets an en0iron/ent si/ilar to the
/ana1ed6open en0iron/ent2
$2 WIRELESS ROUTING PROTOCOL BASICS
,here are se0eral .nicast ro.tin1 al1orith/s that ha0e been de0eloped for
$A%=,s that ha0e their own .ni;.e characteristic stren1ths and weaknesses2 A
detailed description of all these protocols is beyond the scope of this thesis2 4e do
describe in detail, howe0er, all protocols that we felt were rele0ant to this work2
'ifferent al1orith/s /ay ha0e benefits in different topolo1ies and /otion
scenarios and for different application scales2 Cor e5a/ple, one protocol /ay work
0ery well for - nodes in a s/all area b.t /ay work poorly 7ca.se e5cessi0e delay
or fail to deli0er or drop /ost packets8 for - nodes in a lar1e area or in certain
/obility conditions2
,he si/plest wireless ro.tin1 protocol is called floodin1 and as the na/e i/plies, a
/essa1e is sent by a node to all its nei1hbors who send it o.t to all their nei1hbors
and so on .ntil it reaches the desired destination2 ,his is one /ethod known to
1.arantee deli0ery of packets pro0ided at least one path e5ists between any two
nodes2 It has a 1reat drawback, howe0er, in that it wastes a lot of the li/ited
bandwidth a0ailable, and if all nodes were to flood all other nodes, there wo.ld be
too /.ch interference, ca.sin1 what is known as the Broadcast :tor/ proble/
CS+)*(D2 Ideally, floodin1 sho.ld be a0oided as /.ch as possible or only done
when absol.tely necessary, s.ch as in instances of 0ery hi1h /obility or to set .p
initial ro.tes2
$A CLASSIFICATION OF ROUTING PROTOCOLS
$ost protocols can be classified in se0eral ways2 :o/e are classified as reacti0e or
on6 de/and while others are proacti0e2 In 1eneral, a proacti0e protocol finds ro.tes
in ad0ance while a reacti0e protocol finds ro.tes to the destination only when it
absol.tely /.st2 Cor e5a/ple, Ad hoc +n de/and 'istance 9ector ro.tin1
7A+'98 CAOD"D is an on6de/and protocol since no protocol infor/ation is
trans/itted before an application decides to send data and no data is sent .ntil a
ro.te is for/ed, whereas 'estination :e;.enced 'istance 9ector protocol 7':'98
CDSD"D is a /ore proacti0e protocol in which ro.tes are disco0ered and stored
e0en before they are needed2
Proacti0e protocols 1enerally 1enerate /.ch /ore traffic than on6de/and
protocols2 A third 1eneral cate1ory is a hybrid al1orith/ that effecti0ely co/bines
/.ltiple characteristics in a .ni;.e and /eanin1f.l way2 Cor e5a/ple, the <one
Ro.tin1 Protocol 7<RP8 CERPD is a hybrid protocol that co/bines local proacti0e
ro.tin1 with a 1lobally reacti0e ro.tin1 strate1y2
$A T!PES OF MULTIPATH
%ode6disjoint and failsafe paths allows the co/p.tation of /ore alternati0e paths
than in node6disjoint or link6disjoint /.ltipath ro.tin1s2 ,h.s the proposed sche/e
is na/ed as A+'9 with $.ltiple Alternati0e Paths 7A+'96$AP8
F06.*, $ T<1,: )? M./+012+3
$' SECURIT! ANAL!SIS
4e analyBe the sec.rity of :A+'96$AP by e0al.atin1 its rob.stness in the
presence of so/e of the attacks described abo0e2
U42.+3)*0F,5 4,+8)*9 2--,::% :A+'96$AP sche/e allows network access
only for nodes that ha0e been a.thenticated .sin1 the certificate iss.ed by the
tr.sted a.thority, and only so lon1 as they .se the sa/e IP and $A* addresses
bo.nd by that certificate2 Packets are discarded for nodes that are not
a.thenticated2 ,he tr.sted a.thority is also a sin1le point of fail.re and attack,
howe0er, /.ltiple red.ndant a.thorities /ay be .sed 7e212, as by <ho. and Haas 82
I(1,*:)42+0)4 2++2-9:% +ne of /ain ideas of :A+'9$APis to pre0ent IP or
$A* spoofin12 '.rin1 the nei1hbor disco0ery phase, a node enterin1 a
nei1hborhood /.st a.thenticate with its one6hop nei1hbors and store their p.blic
keys2 In :A+'96$AP sche/e, e0ery node creates nei1hbor node table d.rin1
nei1hbor disco0ery phase and /aintains by fre;.ent .pdates, so it can /onitor
nei1hbors2 ,his proced.re ens.res that IP andFor $A* spoofin1 by any node do
not affect the ro.tin1 protocol2 '.rin1 ro.te disco0ery, since H$A* shared key is
.sed, only the co//.nicatin1 nodes can 0erify the a.thenticity and nodes cannot
spoof other nodes in ro.te instantiation2 ,his pre0ents i/personation attacks where
either the so.rce or destination node is spoofed2
F)*(2+0)4 )? *).+046 /))1:% Ro.tin1 loops are for/ed beca.se of the followin1
/isbeha0ior? IPF$A* spoofin1 and stale ro.tin1 infor/ation within the
inter/ediate nodes2 :A+'96$AP can detect any IPF$A* spoofin1, th.s a
/alicio.s node cannot spoof identity, witho.t detection, and create ro.tin1 loops2
Also, the so.rce and the destination /aintain a destination se;.ence n./ber that is
.sed only by these end nodes2 $oreo0er, /odification of this se;.ence n./ber can
be easily detected2
M)50?0-2+0)4 )? *).+046 04?)*(2+0)4% $odification of ro.tin1 infor/ation like
the hop6co.nt and the destination se;.ence n./ber co.ld be .sed in a denial of
ser0ice attack2 It defeats /odification attacks by e/ployin1 the two sec.rity
/echanis/s2 +ne is the .se of H$A* .sed by the so.rce and destination nodes
that can detect s.ch a /odification2 And second, the inter/ediate nodes ens.re the
inte1rity of the /essa1e trans/itted by the ne5t hop node by the .se of local
/onitorin1 /echanis/s2 ,he local /onitor /echanis/ can detect so/e of
/isbeha0in1 nodes d.rin1 RR=> forwardin1 process2
$& THESIS ORGANIEATION
,his chapter pro0ides an introd.ction to the reader abo.t the 1eneral do/ain this
thesis pertains to, na/ely, wireless /obile ad hoc networkin12 *hapter 2 e5plains
o.r research objecti0es and /oti0ations for .sin1 *rypto1raphic scenarios and
/.ltipath ro.tin12 *hapter " e5plains i/ple/entation details of the $A%=,
co/ponent of o.r A+'9and :A'+9 protocol and o.r si/.lation syste/ 1i0es an
o0er0iew of related work by other a.thors in ad hoc ro.tin1, specifically in
/.ltipath ro.tin12 *hapter 3 presents o.r res.lts, insi1hts and concl.sions2 *hapter
@ s.11ests directions for f.t.re work and *hapter ( presents o.r concl.sions fro/
this st.dy2
CHAPTER 2% LITERATURE SUR"E!
2$ P*)@27/< S,-.*, O4-D,(245 S).*-, R).+046 04 M)70/, A5 H)- N,+8)*9:
,he $ain +bjecti0e is that attacks a1ainst adhoc ro.tin1 protocols can be
s.btle and diffic.lt to disco0er by infor/al reasonin1 abo.t the properties of the
protocols2we de/onstrated this by presentin1 no0el attacks on Ariadne2 Another
/essa1e is that it is possible to adopt ri1oro.s techni;.es de0eloped for the
sec.rity analysis of crypto1raphic al1orith/s and protocols, and apply the/ in the
conte5t of ad hoc ro.tin1 protocols in order to 1ain /ore ass.rances abo.t their
sec.rity2 4e de/onstrated this by proposin1 a si/.lation based fra/ework for on6
de/and so.rce ro.tin1 protocols that allows .s to 1i0e a precise definition of
ro.tin1 sec.rity, to /odel the operation of a 1i0en ro.tin1 protocol in the presence
of an ad0ersary, and to pro0e 7or fail to pro0e8 that the protocol is sec.re2 4e
also proposed a new on6de/and so.rce ro.tin1 protocol, endair, and we
de/onstrated the .sa1e of the proposed fra/ework by pro0in1 that it is sec.re in
o.r /odel2
2$2 A D0:+*07.+,5 A/6)*0+3( ?)* C)46,:+0)4-M040(0F,5
M./+0-12+3 *).+046 )@,* A5 3)- N,+8)*9:
4e propose a distrib.ted al1orith/ for con1estion /ini/iBed /.lti6path ro.tin12
By deco/posin1 the con1estion opti/iBation process into a se;.ence of /ini/./
cost ro.tin1 proble/s, and applyin1 the Bell/an6Cord distrib.ted al1orith/ to end
each /ini/./6cost ro.te, we show that the distrib.ted sol.tion yields a close
appro5i/ation to its centraliBed co.nterpart2 :i/.lation res.lts for 0ideo strea/in1
o0er an ad hoc network confir/ that the difference in the recei0ed 0ideo ;.ality
between the centraliBed and distrib.ted sche/es is less than 2@ dB with
properly chosen rate incre/ents2
2$3 A11*)G0(2+, M040(.(-E4,*6< M./+0-2:+046 04
W0*,/,:: A5 H)- N,+8)*9:
As /obile nodes are battery6operated, an i/portant iss.e in s.ch a network is to
/ini/iBe the total power cons./ption for each operation2 $.lticast is one of
f.nda/ental operations in any /odern teleco//.nication network incl.din1
wireless ad hoc networks2 Di0en a /.lticast re;.est consistin1 of a so.rce node
and a set of destination nodes, the proble/ is to b.ild a /ini/./6ener1y /.lticast
tree for the re;.est s.ch that the total trans/ission power cons./ption in the tree
is /ini/iBed2 :ince the proble/ in a sy//etric wireless ad hoc network is %P6
co/plete, we instead de0ise an appro5i/ation al1orith/ with pro0able
appro5i/ation 1.arantee2
2$A A521+0@, S,-.*, R).+046 04 A5 H)- M)70/, N,+8)*9
:ec.re ro.tin1 in ad hoc network is a da.ntin1 task beca.se of so/e contradictions
between the nat.re of the network and the associated applications2 It has 0ario.s
types of e5istin1 ro.tin1 protocols ha0e been e5tensi0ely st.died with a 0iew to
findin1 sec.rity 0.lnerabilities2 It is followed by hi1hli1htin1 /ajor sec.rity
attacks on ad hoc on6de/and distance60ector 7A+'98 ro.tin1 protocol which is on
the 0er1e of bein1 the defa.lt ro.tin1 standard for ad hoc network2 Both the
sec.rity re;.ire/ent of applications and li/itations of the /obile nodes ha0e been
caref.lly considered in order to desi1n a feasible sol.tion to co.nter possible
attacks2 ,he .ni;.eness of the proposed sol.tion lies with the fact that it ens.res
sec.rity as needed by the application which sa0es both ener1y and power2 ,he
proposition is act.ally a /odification of A+'9 protocol2 ,he sol.tion .ses se0eral
sec.rity /od.les which ha0e been well desi1ned prior to the f.nctionin1 of the
protocol2
2$' A S,-.*, R).+046 P*)+)-)/ ?)* A5 H)- N,+8)*9:
A 1ood sec.re ro.tin1 al1orith/ pre0ents each of the e5ploits is presented it /.st
ens.re that no node can pre0ent s.ccessf.l ro.te disco0ery and /aintenance
between any other nodes other than by non6participation2 In s./, all sec.re ad hoc
ro.tin1 protocols /.st satisfy the followin1 re;.ire/ents to ens.re that path
disco0ery fro/ so.rce to destination f.nctions correctly in the presence of
/alicio.s ad0ersaries ?7 -8 Ro.te si1nalin1 cannot be spoofedG 728 Cabricated
ro.tin1 /essa1es cannot be injected into the networkG 7"8 Ro.tin1 /essa1es cannot
be altered in transit, e5cept accordin1 to the nor/al f.nctionality of the ro.tin1
protocolG 738 Ro.tin1 loops cannot be for/ed thro.1h /alicio.s actionG 7@8 Ro.tes
cannot be redirected fro/ the shortest path by /alicio.s action2 7A8 Una.thoriBed
nodes sho.ld be e5cl.ded fro/ ro.te co/p.tation and disco0ery2 7!8 ,he network
topolo1y /.st not be e5posed neither to ad0ersaries nor to a.thoriBed nodes by the
ro.tin1 /essa1es2
CHAPTER 3% PROPOSED WORK
3$ OBJECTI"E
In this Project, 4e propose a /.ltipath ro.tin1 sche/e for /obile adhoc
network in order to di/inish the effect of fre;.ent co//.nication fail.res2 ,he
/ain intention is not only to lower fre;.encies of costly ro.te disco0eries so it can
keep end6to6end connection for lon1er ti/e b.t also to .se labeled /.ltiple
alternati0e paths for efficient traffic distrib.tion a/on1 these paths2
,he proposed /.ltipath ro.tin1 protocol for $A%=, is a /odification of
sin1le6path A+'9 protocol2 ,his sche/e is basically intended for hi1hly dyna/ic
ad6hoc networks in which co//.nication fail.res occ.r fre;.ently and desi1ned
to co/p.te not only node6disjoint paths b.t also fail6safe paths2 %ode6disjoint path
does not ha0e any nodes in co//on, e5cept the so.rce and destination,
4hereas fail6safe is a path between so.rce and destination if it bypasses at least
one inter/ediate node on the pri/ary path2 ,h.s fail6safe path is different fro/
node6disjoint and link6disjoint paths, in the sense that fail6safe path can ha0e both
nodes and links in co//on2 %ode6disjoint and failsafe paths are shown in Ci1.re
-2 :o the co/bination of node6disjoint and fail6safe paths allows the co/p.tation
of /ore alternati0e paths than in node6disjoint or link6disjoint /.ltipath ro.tin1s2
,h.s the proposed sche/e is na/ed as A+'9 with $.ltiple Alternati0e Paths
7A+'96$AP82
,he /ain feat.res of A+'96$AP sche/e are path acc./.lation, selecti0e
RR=> forwardin1 sche/e, /.ltiple alternati0e path disco0ery, and path label
settin12
3$$ A++2-9: 245 "./4,*270/0+0,: 04 MANET
2 %./ero.s attacks are possible on ad6hoc ro.tin1 protocols2 ,he attacks
presented below are briefly disc.ssed in ad6hoc ro.tin1 protocols2
Attacks .sin1 /odification? redirection by chan1in1 the ro.te se;.ence
n./ber, redirection with /odified hop co.nt, deto.r attack, black/ail
attack2
Attacks .sin1 i/personation? $an6in6the6$iddle attack, in0isible node
attack, sybil attackG
Attacks .sin1 fabrication? Calsifyin1 ro.te error /essa1es, ro.te cache
poisonin1G reso.rce cons./ption attack, r.shin1 attack, black hole attacks,
and 1ray hole attacksG
Replay Attacks? 4or/ attack and t.nnelin1G
'enial of :er0ice 7'o:8? cons./ption of scarce reso.rces, destr.ction or
alteration of confi1.ration infor/ation2

:i/ilarly 0.lnerabilities /ay affect the ro.te disco0ery process of $.ltipath
ro.tin1 protocols, allowin1 /alicio.s nodes to control the ro.tin1 paths2 ,hese
0.lnerabilities incl.de the racin1 pheno/enon, i/personation and $an6in the6
$iddle attacks ca.sed by in0isible nodes2 $.ltipath ro.tin1 protocols are resilient
to 'o: attacks and /ay protect network a0ailability fro/ /alicio.s nodes2
3$$2 M./+012+3 R).+046 P*)+)-)/:
4e briefly present related works to /.ltipath ro.tin12 :o/e /.ltipath ro.tin1
protocols ha0e been proposed for wireless ad hoc networks2 4ell6known /.ltipath
ro.tin1 protocols based on A+'9 ro.tin1 protocol are %'$R A+'9$, A+'96
BR, and A+$'92 :$+R, .ses the idea of fail6safe alternate path to deter/ine
/.ltiple paths2 :e0eral sol.tions for sec.re ad6hoc ro.tin1 s.ch as ARA%,
:A+'9, and ARIA'%= ha0e been proposed2 $ost of these protocols are
desi1ned for sin1le6path ro.tin1 protocols2 :o/e of sec.rity sche/es for wireless
ad6hoc ro.tin1 protocols are :RP, :ec$R and B.r/esterHs approach which are
desi1ned for /.ltipath ro.tin1 sec.rity2 :ec.re Ro.tin1 Protocol 7:RP8 for /obile
ad6hoc networks is a sec.rity sche/e for /.ltipath ro.tin12 :RP .ses end6to6end
sy//etric crypto1raphy in order to protect the inte1rity of the ro.te disco0ery2
,h.s, it is 0ery efficient and protects fro/ se0eral attacks of /alicio.s nodes2 +ne
of proble/s in :RP is that it has no defense a1ainst an in0isible node attack2
B.r/esterHs approach [-)# for sec.re /.ltipath ro.tin1 is based on the Cord6
C.lkerson $a5Clow al1orith/2 ,his protocol satisfies the sec.rity re;.ire/ents of
/.ltipath ro.tin1 as well as co/pleteness, i2e2, it disco0ers all e5istin1 paths
bo.nded by a ,,E field2 Howe0er, the propa1ation of the ro.te re;.est ;.ery is
not efficient, in co/p.tation and space costs2 C.rther/ore, the .se of di1ital
si1nat.res by the inter/ediate nodes of each ro.te re;.est /essa1e costs both in
delay and processin1 power2
,he :ec.re $.ltipath Ro.tin1 7:ec$R8 protocol, which pro0ides protection
a1ainst 'o: attacks fro/ a bo.nded n./ber of collaboratin1 /alicio.s nodes2
:ec$R disco0ers the co/plete set of the e5istin1 non6cyclic, node6disjoint paths
between a so.rce and a tar1et node, for a 1i0en /a5i/./ hop distance2 +.r
Approach for $.ltipath $A%=, 4e propose a /.ltipath ro.tin1 sche/e for
/obile adhoc network in order to di/inish the effect of fre;.ent co//.nication
fail.res2 ,he /ain intention is not only to lower fre;.encies of costly ro.te
disco0eries so it can keep end6to6end connection for lon1er ti/e b.t also to .se
labeled /.ltiple alternati0e paths for efficient traffic distrib.tion a/on1 these
paths2 ,he proposed /.ltipath ro.tin1 protocol for $A%=, is a /odification of
sin1le6path A+'9 protocol2 ,his sche/e is basically intended for hi1hly dyna/ic
ad6hoc networks in which co//.nication fail.res occ.r fre;.ently and desi1ned
to co/p.te not only node6disjoint paths b.t also fail6safe paths 2 %ode6disjoint path
does not ha0e any nodes in co//on, e5cept the so.rce and destination, whereas
fail6safe is a path between so.rce and destination if it bypasses at least one
inter/ediate node on the pri/ary path2 ,h.s fail6safe path is different fro/ node6
disjoint and link6disjoint paths, in the sense that fail6safe path can ha0e both nodes
and links in co//on2 %ode6disjoint and failsafe paths are shown in Ci1.re -2 :o
the co/bination of node6disjoint and fail6safe paths allows the co/p.tation of
/ore alternati0e paths than in node6disjoint or link6disjoint /.ltipath ro.tin1s2
,h.s the proposed sche/e is na/ed as A+'9 with $.ltiple Alternati0e Paths
7A+'96$AP82
In A+'96$AP sche/e, each $A%=, node keeps and /aintains tables I
ro.tin1 table, and nei1hbor node table2 As in A+'9, there are three control
/essa1es are ro.te re;.est 7RR=>8, ro.te reply 7RR=P8 and ro.te error 7R=RR82
RR=> and RR=P packet str.ct.res of the A+'9$AP sche/e are sa/e as those
of A+'9, e5cept presence of path acc./.lation list of the ro.te path in the for/er
and path acc./.lation list and path type in the latter2
T27/, $ S,-.*0+< *,>.0*,(,4+: ?)* SAOD"MAP
3$2 K,< C)4:05,*2+0)4:
3$2$ R).+, D0:-)@,*< P*)-,::
A+'96$AP sche/e has two basic phases I ro.te disco0ery and ro.te
/aintenance2 A so.rce node : initiates ro.te disco0ery process, when it wants to
co//.nicate to a destination ', for which it does not ha0e a 0alid ro.te2 ,he
so.rce node : inserts last known destination se;.ence n./ber, address of the
destination, RR=> I', its own address and se;.ence n./ber into a RR=> packet
and broadcasts it2RR=> I' is incre/ented e0ery ti/e when the so.rce node
initiates a RR=>2 In this way, the broadcast I' and address of the so.rce node
for/ .ni;.e identifier for the RR=>2 4hen a node recei0es a RR=>, it checks to
deter/ine whether it has recei0ed a RR=> with the sa/e so.rce and RR=> I'2 If
a node recei0es a RR=> for the first ti/e, it searches for a re0erse ro.te to the
so.rce2 If no re0erse ro.te, then create one2 Inter/ediate nodes are not allowed
to send RR=Ps back to the so.rce e0en when they ha0e ro.te infor/ation to the
destination2 ,his is essential to find desired /.ltiple paths at the destination2
C.rther, when RR=> is forward by inter/ediate nodes in the network, each node
appends its address to it2 Path acc./.lation d.rin1 ro.te disco0ery is shown in
Ci1.re 22,he path infor/ation not only ens.res to send RR=P to the so.rce b.t
also enables to set path label at the destination2A+'96$AP allows inter/ediate
nodes to forward d.plicate RR=> packets if only satisfies followin1 two criteria?
1 hop cnt$$(2i J hop cntprev$$(2
1 nn$$(2i 3J nnprev$$(2
T27/, 2$ N)+2+0)4: .:,5 ?)* SAOD"-MAP
4here hop cnt is n./ber of hops fro/ the so.rce to the c.rrent node handlin1
the re;.estG and nn is nei1hbor node2 ,his selecti0e RR=> forwardin1 sche/e is
preferred in order to disco0er desired /.ltiple alternati0e paths2 In this sche/e, the
destination is responsible for disco0erin1 pri/ary path, node disjoint paths and
fail6safe paths fro/ all the recei0ed ro.tes as well as definin1 the path labels2
4hen recei0in1 the first RR=>, the destination records the ro.te path of RR=>
and sets it with path label -2 ,hen after copyin1 ro.te path of RR=> to a RR=P
packet, the destination node sends RR=P to : .sin1 path infor/ation in it2 Hence
the inter/ediate nodes can forward this packet .sin1 path infor/ation in RR=P2
4hen the destination recei0es a d.plicate RR=>, it will co/pare ro.te path of
RR=> to that of the ro.tin1 table2 If only so.rce and destination nodes are sa/e, a
path is said to be a node6disjoint path and the destination deter/ines it as path label
If at least one of inter/ediate nodes in the ro.te path in the ro.tin1 table is
different fro/ nodes in the ro.te path of the RR=>, a ro.te is said to be a fail6safe
path and destination deter/ines it as path label 22 After settin1 appropriate path
label in RR=P, the destination sends it to the so.rce alon1 the path infor/ation in
it2 Cor instance, as shown in Ci1.re ", /.ltiple paths between so.rce node : and
destination ' can be disco0ered .sin1 selecti0e RR=> forwardin1 sche/e d.rin1
ro.te disco0ery process2
F06.*, $2$ D0:-)@,*046 (./+01/, 12+3: 5.*046 *).+, 50:-)@,*<
3$2$2 S,-.*, N,0637)* R).+, D0:-)@,*< P*)-,::
,he /.ltipath ro.tin1 protocols sho.ld be rob.st a1ainst not only
dyna/ically chan1in1 topolo1y b.t also /alicio.s attacks2 :ince A+'96$AP
sche/e does not ha0e any sec.rity /echanis/, it is 0.lnerable to 0ario.s attacks2
*onsiderin1 /ana1ed6open en0iron/ent, the proposed /.ltipath ad6hoc ro.tin1
needs to satisfy basic sec.rity re;.ire/ents2 In addition, a sec.re /.ltipath ad6hoc
ro.tin1 sche/e sho.ld ha0e li1htwei1ht co/p.tations2 4e pro0ide a sec.rity
e5tension to A+'96$AP ro.tin1 protocol, which is called sec.re A+'96$AP
:A+'9$AP8 sche/e2 ,he /ain objecti0e of the :A+'96$AP is to pro0ide
sec.re /.ltipath ad hoc ro.tin1 and detect node /isbeha0ior while red.cin1 the
load of crypto1raphic processin12 :A+'96$AP has ac;.ired si/ilar approach as
in :RP2 As in :RP, :A+'96$AP i/ple/ents H$A* shared key and re;.ires
sec.rity association 7:A8 between two co//.nicatin1 nodes2 Howe0er, contrast to
:RP, :A+'96$AP i/ple/ents p.blic key crypto1raphy, certificate to ens.re
sec.re ro.tin1 th.s it also re;.ires a tr.sted certificate ser0er2 ,ho.1h the proposed
sec.re fra/ework is concei0ed of as an e5tension of A+'96$AP ro.tin1
protocol, it can be applied to other reacti0e ro.tin1 protocols2
F06.*, $3$ P2+3 2--.(./2+0)4 5.*046 *).+, 50:-)@,*<
3$3 A/6)*0+3( I(1/,(,4+2+0)4
+.r project be1ins with a brief introd.ction to the Ad0anced =ncryption
:tandard, the :.bByte and In0:.bByte transfor/ation, and finally a short
disc.ssion on the pre0io.s hardware i/ple/entations of the :.bByteFIn0:.bByte
transfor/ation2
3$3$$ T3, A5@24-,5 E4-*<1+0)4 S+2452*5
+n 2nd Kan.ary -))!, the %ational Instit.te of :tandards and ,echnolo1y
7%I:,8 in0ited proposals for new al1orith/s for the new Ad0anced =ncryption
:tandard 7A=:82,he 1oal was to replace the older 'ata =ncryption :tandard 7'=:8
which was introd.ced in %o0e/ber -)!A when '=: was no lon1er sec.re2 After
1oin1 thro.1h 2 ro.nds of e0al.ation,Rijndael was selected and na/ed the
Ad0anced =ncryption :tandard al1orith/ on 2A
th
%o0e/ber 2-2,he A=:
al1orith/ has a fi5ed block siBe of -2( bits and a key len1th of -2(, -)2 or 2@A
bits2 It 1enerates its key fro/ an inp.t key .sin1 the &ey =5pansion f.nction2 ,he
A=: operates on a 353 array of bytes which is called a state2 ,he state .nder1oes 3
transfor/ations which are na/ely the AddRo.nd&ey, :.bByte, :hiftRow and
$i5*ol./n transfor/ation2 [3# ,he AddRo.nd&ey transfor/ation in0ol0es a
bitwise L+R operation between the state array and the res.ltin1 Ro.nd &ey that is
o.tp.t fro/ the &ey =5pansion f.nction2 :.bByte transfor/ation is a hi1hly non6
linear byte s.bstit.tion where each byte in the state array is replaced with another
fro/ a look.p table called an :6Bo52 :hift Row transfor/ation is done by
cyclically shiftin1 the rows in the array with different offsets2 Cinally, $i5*ol./n
transfor/ation is a col./n /i5in1 operation, where the bytes in the new col./n
are a f.nction of the 3 bytes of a col./n in the state array2 [A# +f all the
transfor/ation abo0e, the :.bByte transfor/ation is the /ost co/p.tationally
hea0y2
3$3$2$ T3, S.7B<+, 245 I4@S.7B<+, T*24:?)*(2+0)4
,he :.bByte transfor/ation is co/p.ted by takin1 the /.ltiplicati0e in0erse in
DC72(8 followed by an affine transfor/ation2 Cor its re0erse, the In0:.bByte
transfor/ation, the in0erse affine transfor/ation is applied first prior to co/p.tin1
the /.ltiplicati0e in0erse2 ,he steps in0ol0ed for both transfor/ation is shown
below2 :.bByte? $.ltiplicati0e In0ersion in DC 72(8 Affine ,ransfor/ation
In0:.bByte? In0erse Affine ,ransfor/ation $.ltiplicati0e In0ersion in DC 72(8
,he Affine ,ransfor/ation and its in0erse can be represented in /atri5 for/ and it
is shown below2
F06.*, $A$ C)(704,5 S.7B<+, 245 I4@S.7B<+, :32*046 2 -)(()4 (./+01/0-2+0@, 04@,*:0)4
()5./,$
,he A, and A,6- are the Affine ,ransfor/ation and its in0erse while the 0ector a
is the /.ltiplicati0e in0erse of the inp.t byte fro/ the state array2 Cro/ here, it is
obser0ed that both the :.bByte and the In0:.bByte transfor/ation in0ol0e a
/.ltiplicati0e in0ersion operation2 ,h.s, both transfor/ations /ay act.ally share
the sa/e /.ltiplicati0e in0ersion /od.le in a co/bined architect.re2 An e5a/ple
of s.ch hardware architect.re is shown below2 :witchin1 between :.bByte and
In0:.bByte is j.st a /atter of chan1in1 the 0al.e of I%92 I%9 is set to for
:.bByte while - is set when In0:.bByte operation is desired2
3$A% S<:+,( A*-30+,-+.*, D026*2(
3$'% D2+2 F/)8 D026*2(
:
H-
H2
'-
'2 '"
'3
Re;.estin1
Ro.tin1 ,able
H-6M'-,'2
Ro.tin1 ,able
:6MH-,H2
Ro.tin1 ,able
H26M'",'3
3$&% S-*,,4 S3)+:
3$7% S2(1/, C)5,
static 0oid Ro.tin1:/ortInsertB.ffer7
$essa1eN /s1,
%+'=OA''R destAddr,
:$+R,OBUCC=RN b.ffer8
P
:$+R,OBUCC=RO%odeN c.rrentG
:$+R,OBUCC=RO%odeN pre0io.sG

:$+R,OBUCC=RO%odeN new%ode J
7:$+R,OBUCC=RO%ode N8checkedOpcO/alloc7siBeof7:$+R,OBUCC=RO%ode88G
new%ode6MdestAddr J destAddrG
new%ode6M/s1 J /s1G
new%ode6Mti/esta/p J si/clock78G
new%ode6Mne5t J %UEEG

QQ7b.ffer6MsiBe8G

FF Cind Insertion point2 Insert after all address /atches2

pre0io.s J %UEEG
c.rrent J b.ffer6MheadG
while 77c.rrent RJ %UEE8 SS 7c.rrent6MdestAddr TJ destAddr88 P
pre0io.s J c.rrentG
c.rrent J c.rrent6Mne5tG
UFFwhileFF

if 7pre0io.s JJ %UEE8 P
new%ode6Mne5t J b.ffer6MheadG
b.ffer6Mhead J new%odeG
U else P
new%ode6Mne5t J pre0io.s6Mne5tG
pre0io.s6Mne5t J new%odeG
UFFifFF
U FN Ro.tin1:/ortInsertB.ffer NF
N Ro.tin1:/ortInsert:ent
N
N Insert an entry into the sent table if RR=> is sent
NF
static 0oid
Ro.tin1:/ortInsert:ent7
%+'=OA''R destAddr,
int ttl,
:$+R,O:=%, Nsent8
P
:$+R,O:=%,O%odeN c.rrentG
:$+R,O:=%,O%odeN pre0io.sG

:$+R,O:=%,O%odeN new%ode J
7:$+R,O:=%,O%ode N8checkedOpcO/alloc7siBeof7:$+R,O:=%,O%ode88G
new%ode6MdestAddr J destAddrG
new%ode6Mttl J ttlG
new%ode6Mti/es J G
new%ode6Mne5t J %UEEG

7sent6MsiBe8QQG

FF Cind Insertion point2 Insert after all address /atches2
pre0io.s J %UEEG
c.rrent J sent6MheadG
while 77c.rrent RJ %UEE8 SS 7c.rrent6MdestAddr TJ destAddr88 P
pre0io.s J c.rrentG
c.rrent J c.rrent6Mne5tG
UFFwhileFF

if 7pre0io.s JJ %UEE8 P
new%ode6Mne5t J sent6MheadG
sent6Mhead J new%odeG
U else P
new%ode6Mne5t J pre0io.s6Mne5tG
pre0io.s6Mne5t J new%odeG
UFFifFF
U FN Ro.tin1:/ortInsert:ent NF
FN
N Ro.tin1:/ort'eleteRo.te,able
N
N Re/o0e an entry fro/ the ro.te table
NF
0oid Ro.tin1:/ort'eleteRo.te,able7%+'=OA''R destAddr, :$+R,OR, Nro.te,able8
P
:$+R,OR,O%ode NtoCreeG
:$+R,OR,O%ode Nc.rrentG
if 7ro.te,able6MsiBe JJ VV ro.te,able6Mhead JJ %UEE8
P
ret.rnG
U
else if 7ro.te,able6Mhead6MdestAddr JJ destAddr8
P
if 7ro.te,able6Mhead6Mlifeti/e TJ si/clock788
P
toCree J ro.te,able6MheadG
ro.te,able6Mhead J toCree6Mne5tG
pcOfree7toCree8G
667ro.te,able6MsiBe8G
U
U
else
P
for 7c.rrent J ro.te,able6MheadG
c.rrent6Mne5t RJ %UEE SS c.rrent6Mne5t6MdestAddr T destAddrG
c.rrent J c.rrent6Mne5t8
P
U
if 7c.rrent6Mne5t RJ %UEE SS c.rrent6Mne5t6MdestAddr JJ destAddr SS
c.rrent6Mne5t6Mlifeti/e TJ si/clock788
P
toCree J c.rrent6Mne5tG
c.rrent6Mne5t J toCree6Mne5tG
pcOfree7toCree8G
667ro.te,able6MsiBe8G
U
U
U FN Ro.tin1:/ort'eleteRo.te,able NF
FN
N Ro.tin1:/ort'elete%br,able
N
N Re/o0e an entry fro/ the nei1hbor table
NF
0oid Ro.tin1:/ort'elete%br,able7%+'=OA''R destAddr, :$+R,O%, Nnbr,able8
P
:$+R,O%,O%ode NtoCreeG
:$+R,O%,O%ode Nc.rrentG
if 7nbr,able6MsiBe JJ 8
P
ret.rnG
U
else if 7nbr,able6Mhead6MdestAddr JJ destAddr8
P
toCree J nbr,able6MheadG
nbr,able6Mhead J toCree6Mne5tG
pcOfree7toCree8G
667nbr,able6MsiBe8G
U
else
P
for 7c.rrent J nbr,able6MheadG
77c.rrent6Mne5t RJ %UEE8 SS 7c.rrent6Mne5t6MdestAddr T destAddr88G
c.rrent J c.rrent6Mne5t8
P
U
if 7c.rrent6Mne5t RJ %UEE SS c.rrent6Mne5t6MdestAddr JJ destAddr8
P
toCree J c.rrent6Mne5tG
c.rrent6Mne5t J toCree6Mne5tG
pcOfree7toCree8G
667nbr,able6MsiBe8G
U
U
U FN Ro.tin1:/ort'elete%br,able NF
FN
N Ro.tin1:/ort'elete:een,able
N
N Re/o0e an entry fro/ the seen table
NF
0oid Ro.tin1:/ort'elete:een,able7:$+R,OR:, Nseen,able8
P
:$+R,OR:,O%ode NtoCreeG
toCree J seen,able6MfrontG
seen,able6Mfront J toCree6Mne5tG
pcOfree7toCree8G
667seen,able6MsiBe8G
if 7seen,able6MsiBe JJ 8
P
seen,able6Mrear J %UEEG
U
U FN Ro.tin1:/ort'elete:een,able NF
FN
N Ro.tin1:/ort'eleteB.ffer
N
N Re/o0e a packet fro/ the b.fferG Ret.rn ,RU= if deleted
NF
B++E Ro.tin1:/ort'eleteB.ffer7%+'=OA''R destAddr, :$+R,OBUCC=R Nb.ffer8
P
:$+R,OBUCC=RO%ode NtoCreeG
:$+R,OBUCC=RO%ode Nc.rrentG
B++E deletedG
if 7b.ffer6MsiBe JJ 8
P
deleted J CAE:=G
U
else if 7b.ffer6Mhead6MdestAddr JJ destAddr8
P
toCree J b.ffer6MheadG
b.ffer6Mhead J toCree6Mne5tG
pcOfree7toCree8G
667b.ffer6MsiBe8G
deleted J ,RU=G
U
else
P
for 7c.rrent J b.ffer6MheadG
c.rrent6Mne5t RJ %UEE SS c.rrent6Mne5t6MdestAddr T destAddrG
c.rrent J c.rrent6Mne5t8
P
U
if 7c.rrent6Mne5t RJ %UEE SS c.rrent6Mne5t6MdestAddr JJ destAddr8
P
toCree J c.rrent6Mne5tG
c.rrent6Mne5t J toCree6Mne5tG
pcOfree7toCree8G
667b.ffer6MsiBe8G
deleted J ,RU=G
U
else
P
deleted J CAE:=G
U
U
ret.rn 7deleted8G
U FN Ro.tin1:/ort'eleteB.ffer NF
int =ncode7int inp.t,int key8
P
FFto 1et the ( bit inp.t and the key
FFclrscr78G
int iJ,lenJG
int sb[@#[@#JPP-,,--,-U,P--,-,-,U,P,-,-,--U,P--,-,--,-UUG
int sb-[@#[@#JPP,-,-,--U,P-,,-,--U,P--,,-,U,P-,-,-,--UUG
int sb2[@#[@#JPP-,,-,--U,P-,--,,-U,P,-,--,--U,P,-,-,-UUG
int sb"[@#[@#JPP-,,-,--U,P--,,-,-U,P-,-,,--U,P-,,-,-UUG
lon1 int fkopJ,fkinJ,fk5orJG
int ste/p-,ste/p2,sbintG
lon1 int 5orJ,k5orJ,e5p25orJG
int encJG
char NeptrG
char inp[2#G
char instr[2#G
char ky[2#G
char kystr[2#G
char ip[2#G
char e5p-[2#G
char le5p[2#G
char e5p2[2#G
char 5str[2#G
char 5orstr[2#G
char fk-per[2#G
char sbstr[2#,sbopt[2#,sbt/p[2#G
char sbBer[-#G
char fk-5oropt[2#,fkt/p[2#G
char fk25oropt[2#G
char fk2l[2#,fk2r[2#G
char fk2per[2#G
char ipin0[2#,ipt/p[2#G
FFto 1et the inp.t n./ber and con0ert it into binary
itoa7inp.t,inp,28G
lenJstrlen7inp8G
strcpy7instr,WW8G
for7iJlenGiT-AGiQQ8
strcat7instr,WW8G
strcat7instr,inp8G
FFto 1et the key and con0ert it into binary
itoa7key,ky,28G
lenJstrlen7ky8G
strcpy7kystr,WW8G
for7iJlenGiT-AGiQQ8
strcat7kystr,WW8G
strcat7kystr,ky8G
strcpy7ip,WW8G

FFinitial per/.tation

ip[#Jinstr[-#G
ip[-#Jinstr[#G
ip[2#Jinstr[--#G
ip["#Jinstr[2#G
ip[3#Jinstr[A#G
ip[@#Jinstr[@#G
ip[A#Jinstr[3#G
ip[!#Jinstr[-@#G
ip[(#Jinstr[-2#G
ip[)#Jinstr[)#G
ip[-#Jinstr[-"#G
ip[--#Jinstr[(#G
ip[-2#Jinstr[-#G
ip[-"#Jinstr[!#G
ip[-3#Jinstr[-3#G
ip[-@#Jinstr["#G
ip[-A#JXYXG
strcpy7e5p-,WW8G
e5p-[#Jip[(#G
e5p-[-#Jip[)#G
e5p-[2#Jip[-#G
e5p-["#Jip[--#G
e5p-[3#Jip[-2#G
e5p-[@#Jip[-"#G
e5p-[A#Jip[-3#G
e5p-[!#Jip[-@#G
e5p-[(#JXYXG
strcpy7le5p,WW8G
le5p[#Jip[#G
le5p[-#Jip[-#G
le5p[2#Jip[2#G
le5p["#Jip["#G
le5p[3#Jip[3#G
le5p[@#Jip[@#G
le5p[A#Jip[A#G
le5p[!#Jip[!#G
le5p[(#JXYXG

FFe5pansion

strcpy7e5p2,WW8G
e5p2[#Je5p-[!#G
e5p2[-#Je5p-[#G
e5p2[2#Je5p-[-#G
e5p2["#Je5p-[2#G
e5p2[3#Je5p-[-#G
e5p2[@#Je5p-[2#G
e5p2[A#Je5p-["#G
e5p2[!#Je5p-[3#G
e5p2[(#Je5p-["#G
e5p2[)#Je5p-[3#G
e5p2[-#Je5p-[@#G
e5p2[--#Je5p-[A#G
e5p2[-2#Je5p-[@#G
e5p2[-"#Je5p-[A#G
e5p2[-3#Je5p-[!#G
e5p2[-@#Je5p-[#G
e5p2[-A#JXYXG


e5p25orJstrtol7e5p2,Septr,28G
k5orJstrtol7kystr,Septr,28G
5orJe5p25orZk5orG


strcpy75str,WW8G
ltoa75or,5str,28G
lenJstrlen75str8G


strcpy75orstr,WW8G

for7iJlenGiT-AGiQQ8
strcat75orstr,WW8G
strcat75orstr,5str8G

FFs bo5


strcpy7sbopt,WW8G
FFinp.t s bo5

ste/p-JG
ste/p2JG
strcpy7sbstr,WW8G
sbstr[#J5orstr[#G
sbstr[-#J5orstr["#G
sbstr[2#JXYXG
ste/p-J7int8strtol7sbstr,Septr,28G

strcpy7sbstr,WW8G
sbstr[#J5orstr[-#G
sbstr[-#J5orstr[2#G
sbstr[2#JXYXG
ste/p2J7int8strtol7sbstr,Septr,28G
sbintJG
sbintJsb[ste/p-#[ste/p2#G
strcpy7sbt/p,WW8G
itoa7sbint,sbt/p,-8G
lenJstrlen7sbt/p8G
strcpy7sbBer,WW8G
if7lenJJ-8
strcat7sbBer,WW8G
strcat7sbBer,sbt/p8G
strcat7sbopt,sbBer8G

FFinp.t s- bo5

ste/p-JG
ste/p2JG
strcpy7sbstr,WW8G
sbstr[#J5orstr[3#G
sbstr[-#J5orstr[!#G
sbstr[2#JXYXG
ste/p-J7int8strtol7sbstr,Septr,28G

strcpy7sbstr,WW8G
sbstr[#J5orstr[@#G
sbstr[-#J5orstr[A#G
sbstr[2#JXYXG
ste/p2J7int8strtol7sbstr,Septr,28G
sbintJG
sbintJsb-[ste/p-#[ste/p2#G
strcpy7sbt/p,WW8G
itoa7sbint,sbt/p,-8G
lenJstrlen7sbt/p8G
strcpy7sbBer,WW8G
if7lenJJ-8
strcat7sbBer,WW8G
strcat7sbBer,sbt/p8G
strcat7sbopt,sbBer8G
FFinp.t s2 bo5
ste/p-JG
ste/p2JG
strcpy7sbstr,WW8G
sbstr[#J5orstr[(#G
sbstr[-#J5orstr[--#G
sbstr[2#JXYXG
ste/p-J7int8strtol7sbstr,Septr,28G
strcpy7sbstr,WW8G
sbstr[#J5orstr[)#G
sbstr[-#J5orstr[-#G
sbstr[2#JXYXG
ste/p2J7int8strtol7sbstr,Septr,28G
sbintJG
sbintJsb2[ste/p-#[ste/p2#G
strcpy7sbt/p,WW8G
itoa7sbint,sbt/p,-8G
lenJstrlen7sbt/p8G
strcpy7sbBer,WW8G
if7lenJJ-8
strcat7sbBer,WW8G
strcat7sbBer,sbt/p8G
strcat7sbopt,sbBer8G
FFinp.t s" bo5
ste/p-JG
ste/p2JG
strcpy7sbstr,WW8G
sbstr[#J5orstr[-2#G
sbstr[-#J5orstr[-@#G
sbstr[2#JXYXG
ste/p-J7int8strtol7sbstr,Septr,28G
strcpy7sbstr,WW8G
sbstr[#J5orstr[-"#G
sbstr[-#J5orstr[-3#G
sbstr[2#JXYXG
ste/p2J7int8strtol7sbstr,Septr,28G
sbintJG
sbintJsb"[ste/p-#[ste/p2#G
strcpy7sbt/p,WW8G
itoa7sbint,sbt/p,-8G
lenJstrlen7sbt/p8G
strcpy7sbBer,WW8G
if7lenJJ-8
strcat7sbBer,WW8G
strcat7sbBer,sbt/p8G
strcat7sbopt,sbBer8G
FFper/.tation
strcpy7fk-per,WW8G
fk-per[#Jsbopt[2#G
fk-per[-#Jsbopt[3#G
fk-per[2#Jsbopt[!#G
fk-per["#Jsbopt[#G
fk-per[3#Jsbopt[A#G
fk-per[@#Jsbopt[@#G
fk-per[A#Jsbopt[-#G
fk-per[!#Jsbopt["#G
fk-per[(#JXYXG
strcpy7fk-5oropt,WW8G
strcpy7fkt/p,WW8G
fkopJstrtol7fk-per,Septr,28G
fkinJstrtol7le5p,Septr,28G
fk5orJfkopZfkinG
ltoa7fk5or,fkt/p,28G
lenJstrlen7fkt/p8G
for7iJlenGiT(GiQQ8
strcat7fk-5oropt,WW8G
strcat7fk-5oropt,fkt/p8G
FFfk-5oropt is the o.tp.t of fk-
FFswitchin1
strcat7e5p-,fk-5oropt8G
FFfk2
strcpy7fk2r,WW8G
strcpy7fk2l,WW8G
fk2r[#Je5p-[(#G
fk2r[-#Je5p-[)#G
fk2r[2#Je5p-[-#G
fk2r["#Je5p-[--#G
fk2r[3#Je5p-[-2#G
fk2r[@#Je5p-[-"#G
fk2r[A#Je5p-[-3#G
fk2r[!#Je5p-[-@#G
fk2r[(#JXYXG
fk2l[#Je5p-[#G
fk2l[-#Je5p-[-#G
fk2l[2#Je5p-[2#G
fk2l["#Je5p-["#G
fk2l[3#Je5p-[3#G
fk2l[@#Je5p-[@#G
fk2l[A#Je5p-[A#G
fk2l[!#Je5p-[!#G
fk2l[(#JXYXG
FFe5pansion
strcpy7fk2per,WW8G
fk2per[#Jfk2r[!#G
fk2per[-#Jfk2r[#G
fk2per[2#Jfk2r[-#G
fk2per["#Jfk2r[2#G
fk2per[3#Jfk2r[-#G
fk2per[@#Jfk2r[2#G
fk2per[A#Jfk2r["#G
fk2per[!#Jfk2r[3#G
fk2per[(#Jfk2r["#G
fk2per[)#Jfk2r[3#G
fk2per[-#Jfk2r[@#G
fk2per[--#Jfk2r[A#G
fk2per[-2#Jfk2r[@#G
fk2per[-"#Jfk2r[A#G
fk2per[-3#Jfk2r[!#G
fk2per[-@#Jfk2r[#G
fk2per[-A#JXYXG
FF5or with the key
5orJGe5p25orJGk5orJG
e5p25orJstrtol7fk2per,Septr,28G
k5orJstrtol7kystr,Septr,28G
5orJe5p25orZk5orG
strcpy75str,WW8G
ltoa75or,5str,28G
lenJstrlen75str8G
strcpy75orstr,WW8G
for7iJlenGiT-AGiQQ8
strcat75orstr,WW8G
strcat75orstr,5str8G
strcpy7sbopt,WW8G
FFinp.t s bo5
ste/p-JG
ste/p2JG
strcpy7sbstr,WW8G
sbstr[#J5orstr[#G
sbstr[-#J5orstr["#G
sbstr[2#JXYXG
ste/p-J7int8strtol7sbstr,Septr,28G
strcpy7sbstr,WW8G
sbstr[#J5orstr[-#G
sbstr[-#J5orstr[2#G
sbstr[2#JXYXG
ste/p2J7int8strtol7sbstr,Septr,28G
sbintJG
sbintJsb[ste/p-#[ste/p2#G
strcpy7sbt/p,WW8G
itoa7sbint,sbt/p,-8G
lenJstrlen7sbt/p8G
strcpy7sbBer,WW8G
if7lenJJ-8
strcat7sbBer,WW8G
strcat7sbBer,sbt/p8G
strcat7sbopt,sbBer8G
FFinp.t s- bo5
ste/p-JG
ste/p2JG
strcpy7sbstr,WW8G
sbstr[#J5orstr[3#G
sbstr[-#J5orstr[!#G
sbstr[2#JXYXG
ste/p-J7int8strtol7sbstr,Septr,28G
strcpy7sbstr,WW8G
sbstr[#J5orstr[@#G
sbstr[-#J5orstr[A#G
sbstr[2#JXYXG
ste/p2J7int8strtol7sbstr,Septr,28G
sbintJG
sbintJsb-[ste/p-#[ste/p2#G
strcpy7sbt/p,WW8G
itoa7sbint,sbt/p,-8G
lenJstrlen7sbt/p8G
strcpy7sbBer,WW8G
if7lenJJ-8
strcat7sbBer,WW8G
strcat7sbBer,sbt/p8G
strcat7sbopt,sbBer8G
FFinp.t s2 bo5
ste/p-JG
ste/p2JG
strcpy7sbstr,WW8G
sbstr[#J5orstr[(#G
sbstr[-#J5orstr[--#G
sbstr[2#JXYXG
ste/p-J7int8strtol7sbstr,Septr,28G
strcpy7sbstr,WW8G
sbstr[#J5orstr[)#G
sbstr[-#J5orstr[-#G
sbstr[2#JXYXG
ste/p2J7int8strtol7sbstr,Septr,28G
sbintJG
sbintJsb2[ste/p-#[ste/p2#G
strcpy7sbt/p,WW8G
itoa7sbint,sbt/p,-8G
lenJstrlen7sbt/p8G
strcpy7sbBer,WW8G
if7lenJJ-8
strcat7sbBer,WW8G
strcat7sbBer,sbt/p8G
strcat7sbopt,sbBer8G
FFinp.t s" bo5
ste/p-JG
ste/p2JG
strcpy7sbstr,WW8G
sbstr[#J5orstr[-2#G
sbstr[-#J5orstr[-@#G
sbstr[2#JXYXG
ste/p-J7int8strtol7sbstr,Septr,28G
strcpy7sbstr,WW8G
sbstr[#J5orstr[-"#G
sbstr[-#J5orstr[-3#G
sbstr[2#JXYXG
ste/p2J7int8strtol7sbstr,Septr,28G
sbintJG
sbintJsb"[ste/p-#[ste/p2#G
strcpy7sbt/p,WW8G
itoa7sbint,sbt/p,-8G
lenJstrlen7sbt/p8G
strcpy7sbBer,WW8G
if7lenJJ-8
strcat7sbBer,WW8G
strcat7sbBer,sbt/p8G
strcat7sbopt,sbBer8G
FFper/.tation
strcpy7fk-per,WW8G
fk-per[#Jsbopt[3#G
fk-per[-#Jsbopt[!#G
fk-per[2#Jsbopt[-#G
fk-per["#Jsbopt[2#G
fk-per[3#Jsbopt[@#G
fk-per[@#Jsbopt[#G
fk-per[A#Jsbopt[A#G
fk-per[!#Jsbopt["#G
fk-per[(#JXYXG
fkopJGfkinJGfk5orJG
strcpy7fk25oropt,WW8G
strcpy7fkt/p,WW8G
fkopJstrtol7fk-per,Septr,28G
fkinJstrtol7fk2l,Septr,28G
fk5orJfkopZfkinG
ltoa7fk5or,fkt/p,28G
lenJstrlen7fkt/p8G
for7iJlenGiT(GiQQ8
strcat7fk25oropt,WW8G
strcat7fk25oropt,fkt/p8G
FFfk25oropt is the o.tp.t of fk2
FFIP 6-
strcpy7ipin0,WW8G
strcpy7ipt/p,WW8G
ipt/p[#Jfk25oropt[#G
ipt/p[-#Jfk25oropt[-#G
ipt/p[2#Jfk25oropt[2#G
ipt/p["#Jfk25oropt["#G
ipt/p[3#Jfk25oropt[3#G
ipt/p[@#Jfk25oropt[@#G
ipt/p[A#Jfk25oropt[A#G
ipt/p[!#Jfk25oropt[!#G
ipt/p[(#Jfk2r[#G
ipt/p[)#Jfk2r[-#G
ipt/p[-#Jfk2r[2#G
ipt/p[--#Jfk2r["#G
ipt/p[-2#Jfk2r[3#G
ipt/p[-"#Jfk2r[@#G
ipt/p[-3#Jfk2r[A#G
ipt/p[-@#Jfk2r[!#G
ipt/p[-A#JXYXG
ipin0[#Jipt/p[-#G
ipin0[-#Jipt/p[-2#G
ipin0[2#Jipt/p["#G
ipin0["#Jipt/p[-@#G
ipin0[3#Jipt/p[A#G
ipin0[@#Jipt/p[@#G
ipin0[A#Jipt/p[3#G
ipin0[!#Jipt/p[-"#G
ipin0[(#Jipt/p[--#G
ipin0[)#Jipt/p[)#G
ipin0[-#Jipt/p[#G
ipin0[--#Jipt/p[2#G
ipin0[-2#Jipt/p[(#G
ipin0[-"#Jipt/p[-#G
ipin0[-3#Jipt/p[-3#G
ipin0[-@#Jipt/p[!#G
ipin0[-A#JXYXG
encJstrtol7ipin0,Septr,28G
ret.rn encG
CHAPTER A% GLOMOSIM
A GLOMOSIM
A$ INTRODUCTION TO GLOMOSIM
+.r project has been done .sin1 a scalable si/.lation en0iron/ent called
Dlo$o:i/ 7for Dlobal $obile Infor/ation :yste/ :i/.lator8 that effecti0ely
.tiliBes parallel e5ec.tion to red.ce the si/.lation ti/e of detailed hi1h6fidelity
/odels of lar1e co//.nication networks2 Dlo$o:i/ has been desi1ned to be
e5tensible and co/posable? the co//.nication protocol stack for wireless
networks is di0ided into a set of layers, each with its own API2 $odels of protocols
at one layer interact with those at a lower 7or hi1her8 layer only 0ia these APIs2 ,he
/od.lar i/ple/entation enables consistent co/parison of /.ltiple protocols at a
1i0en layer2 ,he parallel i/ple/entation of Dlo$o:i/ can be e5ec.ted .sin1 a
0ariety of conser0ati0e synchroniBation protocols, which incl.de the n.ll /essa1e
and conditional e0ent al1orith/s2
A$2 PARSEC
PAR:=* 7for PARallel :i/.lation =n0iron/ent for *o/ple5 syste/s8 is a
*6based si/.lation lan1.a1e de0eloped by the Parallel *o/p.tin1 Eaboratory at
U*EA, for se;.ential and parallel e5ec.tion of discrete6e0ent si/.lation /odels2
It can also be .sed as a parallel pro1ra//in1 lan1.a1e2 PAR:=* r.ns on se0eral
platfor/s, incl.din1 /ost recent U%IL 0ariants as well as 4indows2 PAR:=*
adopts the process interaction approach to discrete6e0ent si/.lation2 An object
7also referred to as a physical process8 or set of objects in the physical syste/ is
represented by a lo1ical process2 Interactions a/on1 physical processes 7e0ents8
are /odeled by ti/e6sta/ped /essa1e e5chan1es a/on1 the correspondin1 lo1ical
processes2 +ne of the i/portant distin1.ishin1 feat.res of PAR:=* is its ability to
e5ec.te a discrete6e0ent si/.lation /odel .sin1 se0eral different asynchrono.s
parallel si/.lation protocols on a 0ariety of parallel architect.res2 PAR:=* is
desi1ned to cleanly separate the description of a si/.lation /odel fro/ the
.nderlyin1 si/.lation protocol, se;.ential or parallel, .sed to e5ec.te it2 ,h.s,
with few /odifications, a PAR:=* pro1ra/ /ay be e5ec.ted .sin1 the traditional
se;.ential 7Dlobal =0ent Eist8 si/.lation protocol or one of /any parallel
opti/istic or conser0ati0e protocols2 In addition, PAR:=* pro0ides powerf.l
/essa1e recei0in1 constr.cts that res.lt in shorter and /ore nat.ral si/.lation
pro1ra/s2
A$3 ABOUT GLOMOSIM
Dlo$o:i/ is a /obile si/.lator b.ilt .sin1 * lan1.a1e2 All /essa1e
transfers and other network ele/ents are handled by the indi0id.al layer codin1
b.ilt in *2 ,o /ake the concepts clear, Dlo$o:i/ pro0ides .sers with a
9is.aliBation ,ool 7 9, 8 b.ilt .sin1 Ka0a2 ,he 9, helps .s .nderstand the
network en0iron/ent, the node positions, /essa1e transfers, cl.sterin1 details, etc2
A$3$ G/)M)S0( A*-30+,-+.*,
,he networkin1 stack is deco/posed into a n./ber of layers as shown in
Ci1.re -2 A n./ber of protocols ha0e been de0eloped at each layer and /odels of
these protocols or layers can be de0eloped at different le0els of 1ran.larity2
In o.r project we deal with all these layers, b.t /ost of the codin1 has been
i/ple/ented in the *l.sterin1 and Ro.tin1 layers2 ,he dyna/ic cl.sterin1
al1orith/ e5plained in chapters 2 and " is i/ple/ented in these two layers2 ,he
cl.sterin1 al1orith/ has been f.lly i/ple/ented in the *l.sterin1 layer2 ,he
codin1 present in the Ro.tin1 layer has been lar1ely /odified accordin1 to the
cl.ster for/ation2 ,he al1orith/ .sed for ro.tin1 is the Bell/an6Cord al1orith/2
,his al1orith/ /aintains a ro.tin1 table for e0ery node bein1 si/.lated2 4e ha0e
/odified the entries of this table based on the cl.ster for/ation which is dyna/ic2
,he co//.nication between the 0ario.s layers is acco/plished by /eans
of the 0ario.s APIs a0ailable2 A co//on API between two layers helps in the
co//.nication between those two layers2 A detailed description of the 0ario.s
APIs a0ailable and their f.nctions are 1i0en in section 32"2"2

F06$$ G/)M)S0( A*-30+,-+.*,
A$3$2 G/)M)S0( L07*2*<
Dlo$o:i/ is a scalable si/.lation library for wireless network syste/s
b.ilt .sin1 the PAR:=* si/.lation en0iron/ent2 ,able - lists the Dlo$o:i/
/odels c.rrently a0ailable at each of the /ajor layers2 Dlo$o:i/ also s.pports
two different node /obility /odels2 %odes can /o0e accordin1 to a /odel that is
1enerally referred to as the rando/ waypoint[ /odel2 A node chooses a rando/
destination within the si/.lated terrain and /o0es to that location based on the
speed specified in the confi1.ration file2 After reachin1 its destination, the node
pa.ses for a d.ration that is also specified in the confi1.ration file2 ,he other
/obility /odel in Dlo$o:i/ is referred to as the rando/ dr.nken[ /odel2 A
node periodically /o0es to a position chosen rando/ly fro/ its i//ediate
nei1hborin1 positions2 ,he fre;.ency of the chan1e in node position is based on a
para/eter specified in the confi1.ration file2
T27/, % M)5,/: -.**,4+/< 04 +3, G/)M)S0( /07*2*<$
A$3$3 G/)M)S0( API:
:i/ple APIs between e0ery two nei1hborin1 /odels on protocol stacks is
predefined to s.pport their co/position2 ,hese APIs specify para/eter e5chan1es
and ser0ices between nei1hborin1 layers2 ,he si/plicity of the APIs allows
de0elopers to /odel their protocols rapidly in an independent fashion2 ,he APIs
c.rrently defined in Dlo$o:i/ are presented?
C3244,/ L2<,* H R250) L2<,* API:%
Data packet from Channel to Radio:
Cields? payload, packet"ize
,hese fields refer to the act.al data and siBe of data bein1 recei0ed2 ,hey ha0e
si/ilar /eanin1s when .sed s.bse;.ently for the reception or trans/ission of
packets2
Data packet from Radio to Channel:
Cields? payload, packet"ize
R250) L2<,* H MAC L2<,* API:%
Data packet from Radio to MAC:
Cields? payload, packet"ize
Data packet from MAC to Radio:
Cields? payload, packet"ize
R,>.,:+ C3244,/ S+2+.: ?*)( MAC +) R250)%
Cields? 7none8
,his /essa1e is .sed by the $A* layer to re;.est infor/ation abo.t the c.rrent
channel stat.s2
R,1)*+ C3244,/ S+2+.: ?*)( R250) +) MAC%
Cields? status, flag
,his /essa1e is .sed by the radio layer to ret.rn the c.rrent stat.s of the channel
as well as the /ethod by which the infor/ation is bein1 reported 7passi0ely or
acti0ely based on the re;.est /essa1e sent by the $A* layer82
MAC L2<,* H N,+8)*9 L2<,* API:%
Data packet from MAC to Network:
Cields? payload, packet"ize, sourceId
,he sourceId refers to the pre0io.s hop fro/ which the packet arri0ed2
Data packet from Network to MAC:
Cields? payload, packet"ize, destId
,he destId refers to the ne5t hop where the packet will tra0el2
N,+8)*9 L2<,* H T*24:1)*+ L2<,* API:%
Data packet from Transport to Network:
Cields? payload, packet"ize
,he IP header sho.ld be a part of the packet that is sent fro/ the transport to the
network layer2
Data packet from Network to Transport:
Cields? payload, packet"ize, sourceId
,he sourceId refers to the ori1inal so.rce where the packet ori1inated2 Cor the
packet sent fro/ the network to the transport layer, the IP header is no lon1er a
part of the packet2
N,+8)*9 L2<,* H A11/0-2+0)4 L2<,* API:%
Data packet from Network to Application:
Cields? payload, packet"ize, sourceId
Data packet from Application to Network:
Cields? payload, packet"ize
,hese APIs, which are si/ilar to the APIs .sed between the network and transport
layers, are .sed for co//.nication between ro.tin1 dae/ons 7s.ch as +:PC8 that
are r.nnin1 at the application layer and need to co//.nicate directly with the
network layer2
UDP T*24:1)*+ L2<,* H A11/0-2+0)4 L2<,* API:%
Data packet from D! to Application:
Cields? payload, packet"ize, source/ddr, source.ort, dest/ddr, dest.ort
Data packet from Application to D!:
Cields? payload, packet"ize, source/ddr, source.ort, dest/ddr, dest.ort
In these APIs, the source/ddr and source.ort refer to the so.rce address and port
n./ber where the packet ori1inates2 ,he dest/ddr and dest.ort refer to the
destination address and port n./ber where the packet is 1oin12
TCP T*24:1)*+ L2<,* H A11/0-2+0)4 L2<,* API:%
"pen #isten Socket from Application to TC!:
Cields? app%ype, local.ort
,his API is .sed by an application type 7s.ch as telnet ser0er8 to open a listen
connection on the 1i0en port n./ber2
Connection "pen from Application to TC!:
Cields? app%ype, local.ort, remote/ddr, remote.ort
,his API is .sed by an application to infor/ ,*P to try to set.p a connection fro/
the 1i0en local port n./ber to the 1i0en re/ote address and port n./ber2
Data packet to send from Application to TC!:
Cields? payload, packet"ize, connectionId
,his API is .sed by an application to send a packet .sin1 on the 1i0en
connectionId2
Connection Close from Application to TC!:
Cields? connectionId
,his API is .sed by an application to close a partic.lar connection2
#isten Socket "pen Result from TC! to Application:
Cields? local.ort, connectionId
,his API is .sed by ,*P to infor/ the application abo.t the res.lt of tryin1 to
open a listen connection2
Connection "pen Result from TC! to Application:
Cields? type, local.ort, remote/ddr, remote.ort, connectionId
,his API is .sed by ,*P to infor/ the application abo.t any connection that has
been opened to a re/ote address and port n./ber and the associated connection id2
,he connection type can be passi0e or acti0e2
Data Sent Result from TC! to Application:
Cields? connectionId, packet"ize
,his API is .sed by ,*P to infor/ the application abo.t the n./ber of bytes that
co.ld be sent d.e to the data sent re;.est 1enerated by the application for ,*P2
Data Recei$ed from TC! to Application:
Cields? connectionId, payload, packet:iBe
,his API is .sed by ,*P to infor/ the application abo.t any data that has been
recei0ed on a connection2
Connection Close Result from TC! to Application:
Cields? type, connectionId
,his API is .sed by ,*P to infor/ the application abo.t the connection 1ettin1
closed as well as the type of connection close 7passi0e or acti0e82
C321+,* '% RESULT AND DISCUSSION
'$ SIMULATION RESULTS
In the si/.lation, we ha0e e5a/ined the perfor/ance of the proposed sec.rity
sche/e .nder beni1n and ad0erse en0iron/ents2
S-,42*0) % U45,* 7,4064 ,4@0*)4(,4+
Under beni1n en0iron/ent, A+'96$AP sche/e and :A+'96$AP sche/e are
co/pared in order to 0erify the cost of the proposed sec.rity sche/e2Ci1.re 3
shows the packet deli0ery ratio plotted a1ainst /a5i/./ speed for A+'96$AP
witho.t sec.rity and with sec.rity2 As shown in Ci1.re 3, the packet deli0ery ratio
obtained .sin1 :A+'96$AP is abo0e )\ in all the node
Figure 5. Average byte routing load
speed and al/ost alike to that obtained .sin1 A+'96$AP2 ,his s.11ests that
:A+'96$AP is effecti0e in disco0erin1 and /aintainin1 ro.tes for deli0ery of
data packets, e0en with hi1h node /obility2 Ci1.re @ shows a0era1e byte ro.tin1
load for A+'9$AP and :A'+96$AP sche/es2 It can be obser0ed that a0era1e
byte ro.tin1 load in :A+'96$AP si1nificantly increases than A+'96$AP
sche/e after /a5i/./ speed of -/Fs2 At the node speed of - /Fs, a0era1e byte
ro.tin1 load for :A+'96$AP is abo.t 3\ hi1her than that of A+'96$AP
sche/e2
S-,42*0) 2% U45,* 25@,*:, ,4@0*)4(,4+
In this scenario, the proposed sche/e is chosen to co/pare with the :RP .nder
ad0erse en0iron/ent2 4e ha0e considered the /alicio.s nodes are e5isted in the
network and they can corr.pt the acc./.lated ro.te in all the re;.est packets and
re6broadcast2 4e analyBed the effect of /alicio.s nodes in :A+'96$AP with
0aryin1 the n./ber of /alicio.s nodes and co/pared with :RP2 4e ha0e .sed -
*BR pairs2
C321+,* &% CONCLUSION AND FUTURE WORK
CONCLUSION AND FUTURE WORK
In +.r project finally concl.ded that, we p.t forwarded A+'96$AP
sche/e and its sec.rity e5tension I :A+'96$AP sche/e2 A+'9$AP sche/e is
rob.st and efficient /.ltipath ad6hoc ro.tin1 protocol2 It was intended to ha0e
sec.red A+'96$AP in order to pro0ide sec.rity a1ainst 0ario.s attacks as well as
to ha0e low load of crypto1raphic processin12 ,he si/.lation res.lts show that
:A+'96$AP is as efficient as A+'96$AP in disco0erin1 and /aintainin1
ro.tes2 It can be obser0ed that the perfor/ance of the proposed sche/e is better
than :RP sche/e in ter/s of packet deli0ery ratio in presence of /alicio.s nodes2
In f.t.re work, we will e5tend o.r /.ltipath ro.tin1 protocol in hybrid ad6
hoc networks and e0al.ate the 1lobal IP connecti0ity .sin1 hybrid $A%=,
sec.rity /echanis/2
REFERENCES
[-# *2 :2 R2 $.rthy and B2 :2 $anoj, Ad Hoc 4ireless %etworks? Architect.res
and Protocols, Prentice Hall P,R, 232
[2# A2 %asip.ri, R2 *astaneda and :2 R2 'as, Perfor/ance of $.ltipath Ro.tin1
for +n6'e/and Protocols in $obile Ad Hoc %etworks[, $obile %etworks and
Applications A, &l.wer Acade/ic P.blishers,2-, pp2 "")I"3)
["# :2 $.eller, R2 P2 ,san1, and '2 Dhosal, $.ltipath Ro.tin1 in $obile Ad Hoc
%etworks? Iss.es and *hallen1es[, Perfor/ance ,ools and Applications to
%etworked :yste/s, Eect.re %otes in *o/p.ter :cience 9ol2 2)A@, 23, pp2
2)I2"32
[3# B2 'ahill, B2 Ee0ine, =2 Beldin16Royer, and *2 :hields, A :ec.re Ro.tin1
Protocol for Ad Hoc %etworks[, Uni0ersity of $assach.setts ,echnical Report
-I"!, 2-
[@# &2 :anB1iri, B2 'ahill, '2 EaCla//e, B2 Ee0ine, *2:hields, and =2 Beldin16
Royer, A.thenticated Ro.tin1 for Ad Hoc %etworks[, Ko.rnal on :elected Areas
in *o//.nications, 2"7"8, $arch 2@, pp2 @)(IA-
[A# $2+2 Per0aiB, $2 *ardei, and K2 4., Ro.tin1 :ec.rity in Ad Hoc 4ireless
%etworks[, %etwork :ec.rity?7=ds28 :2 H.an1, '2 $ac*all./, and '26<2
'.,:prin1er, 2!
[!# P2 &otBanikolao., R2 $a0ropodi, and *2 'o.li1eris,:ec.re /.lti6path ro.tin1
for /obile ad hoc networks[,in Proceedin1s of the 2nd Ann.al *onference on
4ireless +n6de/and %etwork :yste/s and :er0ices 74+%: 2@8, I===,
:witBerland, Kan.ary 2@, pp2 ()I)A2
[(# *2=2 Perkins, =2 Beldin16Royer, and :2R2 'as, Ad hoc on6de/and distance
0ector 7A+'98 ro.tin1[,I=,C RC* "@A-, K.l 2"2

Potrebbero piacerti anche