65
Ad-Hoc Networks Ad-Hoc Networks Nikola Mi Nikola Mi lanović, lanović, [email protected] [email protected] Gvozden Marinkovi Gvozden Marinkovi ć, g ć, g vozden. vozden.m [email protected] [email protected] Đorđe Trifunović, [email protected] Đorđe Trifunović, [email protected] Tatjana Petrovic, [email protected] Tatjana Petrovic, [email protected] Voislav Gali Voislav Gali ć, ć, [email protected] [email protected] Prof. Dr. Veljko Milutinović, [email protected] Prof. Dr. Veljko Milutinović, [email protected] Authors Authors : : Establishing node-to-node communication Establishing node-to-node communication with no infrastructure needed with no infrastructure needed

Ad-Hoc Networks Nikola Milanović, [email protected] [email protected] Gvozden Marinković, [email protected] Đorđe Trifunović, [email protected]

Embed Size (px)

Citation preview

Page 1: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Ad-Hoc NetworksAd-Hoc Networks

Nikola MiNikola Milanović, lanović, [email protected]@EUnet.yu

Gvozden MarinkoviGvozden Marinković, gć, [email protected]@saga.co.yu

Đorđe Trifunović, [email protected]Đorđe Trifunović, [email protected]

Tatjana Petrovic, [email protected] Petrovic, [email protected]

Voislav GaliVoislav Galić, ć, [email protected]@bitsyu.net

Prof. Dr. Veljko Milutinović, [email protected]. Dr. Veljko Milutinović, [email protected]

Authors:Authors:

Establishing node-to-node communicationEstablishing node-to-node communicationwith no infrastructure neededwith no infrastructure needed

Page 2: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Numb

er: 2/65

IntroductionIntroduction

Two basic groups of ad-hoc networks:Two basic groups of ad-hoc networks:– Networks of mobile computers handled by usersNetworks of mobile computers handled by users– Wireless sensor networksWireless sensor networks

Basic characteristic: Basic characteristic: ability to establish network communication between hosts ability to establish network communication between hosts without any infrastructure needed.without any infrastructure needed.– The most significant advance compared to classic fixed systemsThe most significant advance compared to classic fixed systems– Reveals a very large scale of new possibilitiesReveals a very large scale of new possibilities

Page 3: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Numb

er: 3/65

Ad-Hoc Networks vs Mobile NetworksAd-Hoc Networks vs Mobile Networks

Mobile hosts Mobile hosts can communicate can communicate between each other between each other on much greater distances on much greater distances than covered by their ranges.than covered by their ranges.

– That is practicable That is practicable thanks to presence thanks to presence of other mobile hosts of other mobile hosts that can be reached by the source host, that can be reached by the source host, and that are willing to retransmit its packets furtherand that are willing to retransmit its packets further on on

– Thus, propagating from one MH to another, Thus, propagating from one MH to another, packets are conveyed to the destinationpackets are conveyed to the destination

That is how multihop wireless communication That is how multihop wireless communication through a temporally formed ad-hoc networkthrough a temporally formed ad-hoc network is realized. is realized.

Major bottleneck: Routing algorithmsMajor bottleneck: Routing algorithms

Page 4: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

How to find the right way?

Routing in Ad-Hoc NetworksRouting in Ad-Hoc Networks

Page 5: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Numb

er: 5/65

Routing in Ad-Hoc NetworksRouting in Ad-Hoc Networks

Efficient routing of packetsEfficient routing of packets In conventional networks, In conventional networks,

the most widely used routing algorithms are such as the most widely used routing algorithms are such as distant vectordistant vector or or link statelink state

Periodical broadcast, Periodical broadcast, with the purpose of keeping routing tables up-to-datewith the purpose of keeping routing tables up-to-date

In some cases In some cases those algorithms were adapted to be used in ad-hoc networksthose algorithms were adapted to be used in ad-hoc networks

We will just mention two representatives:We will just mention two representatives:– Destination-Sequenced Distance-VectorDestination-Sequenced Distance-Vector (DSDV) (DSDV)– Wireless Routing ProtocolWireless Routing Protocol (WRP) (WRP)

Benefit: RBenefit: Route to every host in the network is always known. oute to every host in the network is always known. But…But…

Page 6: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Numb

er: 6/65

Routing in Ad-Hoc NetworksRouting in Ad-Hoc Networks

Drawbacks of adapted conventional routing algorithmsDrawbacks of adapted conventional routing algorithmsseem to be of much more significance than the benefitsseem to be of much more significance than the benefits::– Large bandwidth overheadLarge bandwidth overhead– Batteries quickly become exhaustedBatteries quickly become exhausted– Significantly reduced scalabilitySignificantly reduced scalability– Unneeded accumulation of redundant routesUnneeded accumulation of redundant routes– Often not able to quickly enough respond to dynamics of changes Often not able to quickly enough respond to dynamics of changes

in systems in which the hosts can move in systems in which the hosts can move

Page 7: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Numb

er: 7/65

Routing in Ad-Hoc NetworksRouting in Ad-Hoc Networks

On-demand routing protocolsOn-demand routing protocols

Because of Because of specified constraints of said solutionsspecified constraints of said solutions,,we are going to pay more attention on another approachwe are going to pay more attention on another approach,,which is which is fundamental for the so-called fundamental for the so-called on demandon demand routing protocolsrouting protocols..

We will shortly describe three of those protocols, We will shortly describe three of those protocols, which attack the problem from different standpoints,which attack the problem from different standpoints,introducing different assumptions introducing different assumptions and diversely prioritising problems that are to be solved:and diversely prioritising problems that are to be solved:– Dynamic Source Routing (DSR)Dynamic Source Routing (DSR)– Ad-Hoc On-Demand Distance Vector Routing (AODV)Ad-Hoc On-Demand Distance Vector Routing (AODV)– Temporally Oriented Routing Algorithm (TORA) Temporally Oriented Routing Algorithm (TORA)

Page 8: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Numb

er: 8/65

Routing Protocols - DSRRouting Protocols - DSR

1. Dynamic Source Routing (DSR)1. Dynamic Source Routing (DSR)

Based on the concept of source routingBased on the concept of source routing::– Sender provides the sequence of nodes Sender provides the sequence of nodes

through which the packets will be sentthrough which the packets will be sent– Sequences are held in Sequences are held in route cacheroute cache

that every host must maintain for itselfthat every host must maintain for itself Route is determined dynamically, when it is neededRoute is determined dynamically, when it is needed::

– There are no periodical advertisements of routersThere are no periodical advertisements of routers– Instead, every host initiates Instead, every host initiates route discoveryroute discovery

when it needs to send a packet to another host when it needs to send a packet to another host for which initiator does not have the associated route in its cachefor which initiator does not have the associated route in its cache

Page 9: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Numb

er: 9/65

Routing Protocols - DSRRouting Protocols - DSR

Route Discovery – route requestRoute Discovery – route request

Initiated by sending a Initiated by sending a route requestroute request packet: packet:– Propagates through the network Propagates through the network

until it reaches the destinationuntil it reaches the destination host (if the route exists);host (if the route exists);– On its way, it collects addresses of all visited hosts, On its way, it collects addresses of all visited hosts,

and stores them into its and stores them into its route recordroute record;;

11

22

33

44

55

66

src

dst

1

1

1,3

1,2

1,3,4

1,3,4

1,3,4,5

Page 10: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 10

/65

Routing Protocols - DSRRouting Protocols - DSR

Route Discovery – route replyRoute Discovery – route reply

The first route request packet that arrives to destination is accepted, The first route request packet that arrives to destination is accepted, its routeits route record is copied and returned to the initiator record is copied and returned to the initiator using the using the route replyroute reply packet. packet.

Destination host returns the route reply Destination host returns the route reply to the initiator of route discovery, using the route from its own cache.to the initiator of route discovery, using the route from its own cache.

11

22

33

44

55

66

(1,3,4,6)

(1,3,4,6)

(1,3,4,6)

Page 11: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 11

/65

Routing Protocols - DSRRouting Protocols - DSR

Route Discovery – route reply (2)Route Discovery – route reply (2)

If destination host does not have If destination host does not have a route to the source host in its cache, a route to the source host in its cache, there are two options:there are two options:

1.1. Route reply is returned using inverse route Route reply is returned using inverse route that was found by the routethat was found by the route request packetrequest packet;;

2.2. DestinationDestination host initiates routehost initiates route discovery discovery to find a route to the original initiator.to find a route to the original initiator.

First option requires symmetric links: First option requires symmetric links: – Transfer quality must be the same Transfer quality must be the same

in both directions;in both directions;– But that is often not the fact But that is often not the fact

in mobile communications.in mobile communications.

Page 12: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 12

/65

Routing Protocols - DSRRouting Protocols - DSR

Route Discovery – route reply (3)Route Discovery – route reply (3)

Second opportunity Second opportunity (inverse route discovery, (inverse route discovery, from destination to source) from destination to source) is more significant:is more significant:– Providing support for non-symmetric links Providing support for non-symmetric links

(very important merit of this algorithm)(very important merit of this algorithm)..– IInn that case, the original route reply that case, the original route reply

must be sent together with new route request, must be sent together with new route request, i.e. attached to iti.e. attached to it (t (that is called hat is called piggybackingpiggybacking))

Page 13: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 13

/65

Routing Protocols - DSRRouting Protocols - DSR

Route MaintenanceRoute Maintenance

Implemented by acknowledgements Implemented by acknowledgements and and route errorroute error packets. packets.

Acknowledgements may be:Acknowledgements may be:– hop-by-hophop-by-hop – links must be symmetric – links must be symmetric– end-by-endend-by-end – important when links are not symmetric – important when links are not symmetric

Page 14: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 14

/65

Routing Protocols - DSRRouting Protocols - DSR

Route Maintenance (2)Route Maintenance (2)

When using hop-by-hop When using hop-by-hop acknowledgement:acknowledgement:– Host which did not Host which did not

get acknowledgement get acknowledgement for its retransmissionfor its retransmissionsends route error packet sends route error packet with information about hop that broke down;with information about hop that broke down;

– Upon that error packet, source host truncates Upon that error packet, source host truncates routing treerouting tree being held in its cache, at the point of that hopbeing held in its cache, at the point of that hop::

When using end-by-end acknowledgement:When using end-by-end acknowledgement:– Information about the point of breakage does not exist;Information about the point of breakage does not exist;– SourceSource host may only assume that the last hop is broken.host may only assume that the last hop is broken.

ack ackerrerr

?

Page 15: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 15

/65

Routing Protocols - DSRRouting Protocols - DSR

SummarySummary

Dynamic Source Routing protocol Dynamic Source Routing protocol is suitable for appliance in ad-hoc networks: is suitable for appliance in ad-hoc networks: – with moderate numbers of mobile hosts;with moderate numbers of mobile hosts;– which move with moderate velocitieswhich move with moderate velocities..

Page 16: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 16

/65

Routing Protocols - AODVRouting Protocols - AODV

2. 2. Ad-Hoc On-Demand Ad-Hoc On-Demand Distance Vector RoutingDistance Vector Routing (AODV) (AODV)

New route is discovered in a manner New route is discovered in a manner that looks similar to route discovery by DSR:that looks similar to route discovery by DSR:– Source hostSource host ( (srcsrc) broadcasts ) broadcasts route requestroute request (RREQ) to all of its neighbours (RREQ) to all of its neighbours

when needs to discover route to some when needs to discover route to some destination hostdestination host ( (dstdst); ); – Then, it waits for Then, it waits for route replyroute reply (RREP). (RREP).

But similarity is discontinued at this point.But similarity is discontinued at this point.

src?

Page 17: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 17

/65

Routing Protocols - AODV Routing Protocols - AODV

Route RequestRoute Request

Sequence numberSequence number– Number that every host generates for itself.Number that every host generates for itself.– It is incremented every time when something It is incremented every time when something

is changed in adjacency (e.g., when some link breaks)is changed in adjacency (e.g., when some link breaks)..– For every route, For every route, destination sequence numberdestination sequence number (DSN) (DSN)

is stored in the is stored in the routing tablerouting table

– Last DSN that Last DSN that srcsrc earlier knew for any route to earlier knew for any route to dstdst, is sent in RREQ, , is sent in RREQ, together with current sequence number of together with current sequence number of srcsrc and other information needed:and other information needed:

RREQ (src, RREQ (src, dst, srcSN, dstDSN, … ) dst, srcSN, dstDSN, … )

Page 18: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 18

/65

Routing Protocols - AODVRouting Protocols - AODV

RREQ does not contain the route record:RREQ does not contain the route record:– Does not collect information Does not collect information

about hosts through which it propagates; about hosts through which it propagates; – Remembers only the number of hops.Remembers only the number of hops.

Instead, the host through which RREQ propagates Instead, the host through which RREQ propagates adds inverse route (towards adds inverse route (towards srcsrc) to its routing table:) to its routing table:– Stores, together with other relevant information, Stores, together with other relevant information,

the address of the neighbour (the address of the neighbour (nn1) that sent RREQ to it1) that sent RREQ to it;;– If that host later receives relevant RREP, it will automatically know If that host later receives relevant RREP, it will automatically know

that reply should be transferred to the neighbour (that reply should be transferred to the neighbour (nn1)1);;– In that case, it also records the address of the neighbour (In that case, it also records the address of the neighbour (nn2) 2)

that sent RREP, thus establishing route towards that sent RREP, thus establishing route towards dstdst..

RREQRREP

route to src route to dst

n2n1

Page 19: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 19

/65

Routing Protocols - AODVRouting Protocols - AODV

Instead of recording the whole route, as with DSR applied, Instead of recording the whole route, as with DSR applied, host here keeps only host here keeps only next hop next hop (among other relevant information (among other relevant information about some destination), i.e. address of its neighbour about some destination), i.e. address of its neighbour to which it transfers packets addressed to the destination:to which it transfers packets addressed to the destination:

11

22

33

44

55

66

11

22

33

44

55

66

6: 3,4,6

6: 4,6

6: 6

6: 3

6: 4

6: 6

DSN

AODV

Page 20: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 20

/65

Routing Protocols - AODVRouting Protocols - AODV

Route ReplyRoute Reply

When RREQ reaches a host that has a route to When RREQ reaches a host that has a route to dstdst, , comparison of DSNs from the packet and from the routing table comparison of DSNs from the packet and from the routing table is made:is made:

– If DSN from RREQ is greater If DSN from RREQ is greater the host’s route to the host’s route to dstdst is not recent enough is not recent enough the host rebroadcasts the request; the host rebroadcasts the request;

– Otherwise, the host returns RREP to Otherwise, the host returns RREP to srcsrc, , with the calculated information about the discovered route with the calculated information about the discovered route (total (total hop counthop count, , lifetimelifetime that remains…), that remains…), among which more recent DSN, among which more recent DSN, copied from the routing table of the host.copied from the routing table of the host.

DSN(dst)=8

DSN(dst)=12

DSN=10 DSN=10

DSN=10DSN=12

Page 21: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 21

/65

Routing Protocols - AODVRouting Protocols - AODV

RREQ may reach RREQ may reach dstdst itself, and then itself, and then dstdst returns RREP to returns RREP to srcsrc.. Anyway, RREP is returned using inverse route Anyway, RREP is returned using inverse route

formed by intermediate hosts during the propagation of RREQformed by intermediate hosts during the propagation of RREQ..

src

dst

Page 22: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 22

/65

Routing Protocols - AODVRouting Protocols - AODV

Route MaintenanceRoute Maintenance

For every route For every route that a host is acquainted with, that a host is acquainted with, it maintains the list of neighbours it maintains the list of neighbours that use that route, that use that route, so that it is able to notice them so that it is able to notice them about eventual link breakage about eventual link breakage on the route. on the route.

Link breakage is detected Link breakage is detected by the absence of by the absence of hellohello messagesmessages, , which must be emitted by every host which must be emitted by every host after the specified time interval expires.after the specified time interval expires.

Page 23: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 23

/65

Routing Protocols - AODVRouting Protocols - AODV

Summary – Advantages of AODV over DSRSummary – Advantages of AODV over DSR

Significantly smaller Significantly smaller network bandwidth overhead:network bandwidth overhead:– Both control and message packets are smaller; Both control and message packets are smaller; – The reason is the requirement of only two addresses when routing The reason is the requirement of only two addresses when routing

((destinationdestination and and next hopnext hop), instead of the whole route ), instead of the whole route as with sequenced routing; as with sequenced routing;

– This is good for scalability, This is good for scalability, because the size of a packet because the size of a packet does not depend on the network diameter.does not depend on the network diameter.

Provides support for multicastingProvides support for multicasting..

Page 24: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 24

/65

Routing Protocols - AODVRouting Protocols - AODV

Summary – AODV drawbacksSummary – AODV drawbacks

Works only with symmetric linksWorks only with symmetric links.. Hosts must periodically advertise hello messagesHosts must periodically advertise hello messages::

– Increased bandwidth overheadIncreased bandwidth overhead;;– Reduced possibility of energy conservation Reduced possibility of energy conservation

by remaining in the sleep modeby remaining in the sleep mode.. Does not support Does not support multi path multi path routingrouting

(offers only one route per destination):(offers only one route per destination):– Every time when some link Every time when some link

on the route breaks, on the route breaks, new route must be discoverednew route must be discovered;;

– Increased Increased probability of congestionprobability of congestion..

Page 25: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 25

/65

3. 3. Temporally OrientedTemporally Oriented Routing Algorithm (TORA)Routing Algorithm (TORA)

Offers an interesting approach to problem solution.Offers an interesting approach to problem solution. Conceived as Conceived as link-reversallink-reversal algorithm algorithm.. The idea is to define topology of a network The idea is to define topology of a network

using a directed acyclic graph (DAG):using a directed acyclic graph (DAG):– Hosts represented as nodes Hosts represented as nodes

and with directed linksand with directed links;;– Direction of link is realized Direction of link is realized

by assigning height to every node, by assigning height to every node, so that the link is directed so that the link is directed from the node with greater height from the node with greater height to the node with lower heightto the node with lower height..

Routing Protocols - TORARouting Protocols - TORA

Page 26: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 26

/65

Routing Protocols - TORARouting Protocols - TORA

General ideaGeneral idea

The destination node should have the minimal height in the graph. The destination node should have the minimal height in the graph. Other nodes get greater and greater height Other nodes get greater and greater height

as the distance from the destination grows. as the distance from the destination grows. Packets may be sent only from “higher” to “lower” nodes, Packets may be sent only from “higher” to “lower” nodes,

i.e., only via downstream linksi.e., only via downstream links..

Page 27: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 27

/65

Routing Protocols - TORARouting Protocols - TORA

DAG FormingDAG Forming

SStarts when node that does not have downstream links tarts when node that does not have downstream links wants to send a packet to a destination nodewants to send a packet to a destination node..

InitialInitialllyy, , all nodes in the graph have undetermined height (NULL), all nodes in the graph have undetermined height (NULL), except the destination node that has the height of ZERO except the destination node that has the height of ZERO ((which is considered less even from NULLwhich is considered less even from NULL).).

SourceSource node then broadcasts QRY packet to its neighboursnode then broadcasts QRY packet to its neighbours.. QRY QRY packet propagates through the network, packet propagates through the network,

marking every node over which it passes marking every node over which it passes as “interested for route discovery” as “interested for route discovery” by setting its by setting its route request flagroute request flag. .

Page 28: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 28

/65

Routing Protocols - TORARouting Protocols - TORA

When QRY packet arrives to a node When QRY packet arrives to a node that has at least one downstream link, that has at least one downstream link, the node then emits the UPD packet. the node then emits the UPD packet.

UPD propagates back through the network, UPD propagates back through the network, setting the height to all nodes with the routesetting the height to all nodes with the route requestrequest flag set,flag set,at the same time resetting those flags.at the same time resetting those flags.

Every further node gets greater height Every further node gets greater height then the precedent one on the path of the UPD propagation.then the precedent one on the path of the UPD propagation.

dstsrc

Page 29: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 29

/65

Routing Protocols - TORARouting Protocols - TORA

Many downstream links can lead to the same destination. Many downstream links can lead to the same destination. Algorithm enables multiple path routing.Algorithm enables multiple path routing.

Page 30: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 30

/65

Routing Protocols - TORARouting Protocols - TORA

In case of link break:In case of link break:– If the node still has downstream links left, no action is performedIf the node still has downstream links left, no action is performed– Otherwise, the node broadcasts a UPD packet, thus recovering DAG Otherwise, the node broadcasts a UPD packet, thus recovering DAG

Recovering is a one-pass process, Recovering is a one-pass process, except in the case of network partitioningexcept in the case of network partitioning

Page 31: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 31

/65

Routing Protocols - TORARouting Protocols - TORA

Advantages of TORAAdvantages of TORA::

Fast route discoveryFast route discovery Multiple path routingMultiple path routing Recovering is localisedRecovering is localised Multicast supportMulticast support Lightweight Adaptive Multicast (LAM) algorithmLightweight Adaptive Multicast (LAM) algorithm

Page 32: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 32

/65

Routing Protocols - TORARouting Protocols - TORA

Downsides of TORADownsides of TORA::

Requires external timing mechanism (GPS…)Requires external timing mechanism (GPS…) DAG becomes less optimal as the time passesDAG becomes less optimal as the time passes

– Can be solved using refresh packetsCan be solved using refresh packets

Page 33: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 33

/65

Routing Protocols - TORARouting Protocols - TORA

TORA is designed forTORA is designed for:: Large networksLarge networks Many nodes with dense distributionMany nodes with dense distribution

Page 34: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

BluetoothBluetooth

Following the steps of King Harald...

Page 35: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 35

/65

BluetoothBluetooth

Ericsson Mobile Communications ABEricsson Mobile Communications AB IBM Corp.IBM Corp. Intel Corp.Intel Corp. Nokia Mobile PhonesNokia Mobile Phones Toshiba Corp.Toshiba Corp.

Special Interest Group (SIG):

Page 36: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 36

/65

BluetoothBluetooth

Open specification for short-range wireless connectivityOpen specification for short-range wireless connectivity Effortless, instant connectionsEffortless, instant connections Wide range of communication devicesWide range of communication devices Based on a radio linkBased on a radio link Facilitates fast and secure transmission of both voice and dataFacilitates fast and secure transmission of both voice and data Operates in a globally available frequency bandOperates in a globally available frequency band

Bluetooth wireless technology:

Page 37: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 37

/65

BluetoothBluetooth

Bluetooth module:

• ports (USB, UART, PCM)

• baseband

• voltage regulator

• crystal

• radio

• antenna interface

• flash

Page 38: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Design of ad-hoc multihop sensor net Design of ad-hoc multihop sensor net

with Bluetooth: Lessons learnedwith Bluetooth: Lessons learned

How to make your electronic devices cooperate with each other?

Page 39: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 39

/65

System OverviewSystem Overview

An open data acquisition system, based on wireless An open data acquisition system, based on wireless

ad-hoc multihop sensor network:ad-hoc multihop sensor network:

Routing protocolRouting protocol Interface and routing module (IFRM)Interface and routing module (IFRM) Personal Digital Assistant (PDA)Personal Digital Assistant (PDA) Digital Signal Processing System (DSPS)Digital Signal Processing System (DSPS) Software for data acquisition (Shell)Software for data acquisition (Shell) Internet accessible databaseInternet accessible database

Page 40: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 40

/65

System OverviewSystem Overview

W eb Serverdatabase

AD-HOC network

W ebclient

PDADSPS

sim ulatedsensors IFRM

Bluetooth

IFRM

Bluetooth

Bluetooth

Page 41: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 41

/65

Implementation - routing protocolImplementation - routing protocol

Designed with the following guidelines:Designed with the following guidelines: speedspeed reliabilityreliability simplicitysimplicity

Existing solutions considered:Existing solutions considered: DSRDSR AODVAODV TORATORA

Page 42: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 42

/65

Implementation - routing protocolImplementation - routing protocol

Route Request:Route Request:

RREQ:

Hop Count BCID Dest Address DSN Source Address SSN

Hop Count – number of hops to the ending nodeBCID – unique RREQ identifierDestination Address – address to which the route is requestedDSN – the last known sequence numberSource Address – address of the node that issued RREQSSN – current route sequence number

Page 43: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 43

/65

Implementation - routing protocolImplementation - routing protocol

Route Reply:Route Reply:

RREP:

Hop CountDestination

AddressDSN

SourceAddress

Lifetime

Hop Count – numer of hops between the source and destinationDestination Address – address of node for which a route is foundDSN – route sequence numberSource Address – address of the node that sent RREQLifetime – time in which the route is considered valid

Page 44: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 44

/65

Implementation - routing protocolImplementation - routing protocol

Route Error:Route Error:

RERR:

DestCount Unreachable Dest Address

Unreachable DSN

DestCount – number of unreachable nodes Unreachable Dest Address – address of the unreachable node Unreachable DSN – last knows DSN, incremented by 1

Page 45: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 45

/65

Implementation - routing protocolImplementation - routing protocol

Functioning of the protocol:Functioning of the protocol:

MasterMaster GatewayGateway SlaveSlave

Page 46: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 46

/65

Implementation - routing protocolImplementation - routing protocol

Possible network topologyPossible network topology

10

10

146

9

12

M4

M4

M3

M1 M2M5

M011

11

16

4 515

0

8

133

7

2

master

gateway

pla in node

Page 47: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 47

/65

Implementation - routing protocolImplementation - routing protocol

Routing table entryRouting table entry

DestAddress

DSNHop

CountLast

Hop CountNextHop

Precursors Lifetime

Dest Address – address of the destination nodeDSN – destination sequence numberHop Count – number of hops to destinationLast Hop Count – hop count before route invalidationPrecursors – list of forwarding nodesLifetime – time for which route is valid

Page 48: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 48

/65

Implementation - DSPSImplementation - DSPS

The DSPS architecture:The DSPS architecture:

TITMS320LF2407

ResistorCapacitorDiodeM atrix

CO N8:AnalogInputs

CO N6:EventM anagerA

CO N8:Address, Data &Control DSP Bus Signaling

LED

MAX3225 PCA82C250

CON2:RS232

CO N3:CAN BUS

CO N 9:SynchronousSerial Link

LCD (optional)

PW M

Capture

Tim er

SPIInterface

SCIInterface

CAN BUSInterface

Page 49: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 49

/65

Implementation - ShellImplementation - Shell

Multipurpose software platform:Multipurpose software platform:

Data acquisitionData acquisition Decision makingDecision making Signal processingSignal processing AlarmingAlarming Tracking the current stateTracking the current state

of the systemof the system Database administrationDatabase administration

Page 50: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 50

/65

Implementation - ShellImplementation - Shell

Communication with sensors:Communication with sensors:

TCP/IP portsTCP/IP ports Two-way socket communicationTwo-way socket communication Conformance to IEEE 999-1992. SCADA specificationConformance to IEEE 999-1992. SCADA specification

Page 51: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 51

/65

Implementation - ShellImplementation - Shell

System configuration:System configuration:

Type of the sensorType of the sensor Name of the sensorName of the sensor Factory address of Factory address of

corresponding Bluetooth modulecorresponding Bluetooth module Range of allowed valuesRange of allowed values

Page 52: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 52

/65

Implementation - ShellImplementation - Shell

Readings displayReadings display

Simple viewSimple view Graph viewGraph view Real-time Real-time

monitoringmonitoring HistoryHistory

Page 53: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 53

/65

Implementation - ShellImplementation - Shell

Spectrum analysisSpectrum analysis

Page 54: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 54

/65

Implementation - ShellImplementation - Shell

DatabaseDatabase

Realized with MySQL ServerRealized with MySQL Server ODBCODBC Flexible, DBMS independentFlexible, DBMS independent

Page 55: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 55

/65

Implementation - Internet connectivityImplementation - Internet connectivity

Standard three-tier architecture is used:Standard three-tier architecture is used:

web clientserver

PHP script

http request

DBM S

sql query

recordset

http reply

Page 56: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 56

/65

AD-HOC for E-TOURISMAD-HOC for E-TOURISM

Sponsors:Sponsors:

CNUCE + University of Pisa + University of Santa AnnaCNUCE + University of Pisa + University of Santa Anna

Details:Details:

IEEE Computer, February 2004IEEE Computer, February 2004

Page 57: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 57

/65

GSM

DMAd-Hoc

Internet

Architecture of the CNUCE ProjectArchitecture of the CNUCE Project

Procedure: Hansa ++Procedure: Hansa ++Implementation: 7Implementation: 7Problem: What routing Problem: What routing

algorithmalgorithm??Future: StorageTekFuture: StorageTek

USERS

Page 58: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 58

/65

Essence: Technology + ProcedureEssence: Technology + Procedure

Sophisticated mobile phonesSophisticated mobile phones Mobile agents for behavior monitoringMobile agents for behavior monitoring Advanced MMI + Specialized peripheralsAdvanced MMI + Specialized peripherals Data Mining connected to the InternetData Mining connected to the Internet Advanced securityAdvanced security Specialized software engineeringSpecialized software engineering Techno-economic issuesTechno-economic issues

Page 59: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 59

/65

Extended ApplicationsExtended Applications

IntelligenceIntelligenceChildcareChildcareEmergencyEmergencyProduct lifetime trackingProduct lifetime trackingMedical careMedical careMarketing researchMarketing researchEducation Education

Work in progress: Implementation spec

Page 60: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 60

/65

A simple applicationA simple application

A part of “tourist city” projectA part of “tourist city” project User interface in a Virtual Presence systemUser interface in a Virtual Presence system

public class DemoMidlet extends MIDlet { private Meni meni; private Opis opis; private Slika slika; private String xmlString = ""; private String currentNodeId = "NODE"; private String webService = "http://193.203.26.94/JavaMobile/DemoJavaMobile.asmx/VratiStrukturuAplikacije?s="; public DemoMidlet() { xmlString = loadXml(webService);} public void startApp() { Displayable current = Display.getDisplay(this).getCurrent(); String logoString = "BEOGRAD - TURIST"; if (current==null) { Image logoPicture=null; try { logoPicture = Image.createImage("/demo/res/SpomenikPobednik.png"); } catch (IOException e) {} Alert alertScreen = new Alert(null, logoString, logoPicture, AlertType.INFO); alertScreen.setTimeout(5000); setScreen(currentNodeId); Display.getDisplay(this).setCurrent(alertScreen,meni); } else { Display.getDisplay(this).setCurrent(current);} } ……………….

Page 61: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 61

/65

A simple application (code)A simple application (code)

public class Slika extends Canvas implements CommandListener { private DemoMidlet parent; private String node_id, picture; private Command backCommand; public Slika(DemoMidlet parent, String node_id, String picture) { this.parent = parent; this.node_id = node_id; this.picture = picture; backCommand = new Command("Nazad", Command.BACK, 2); addCommand(backCommand); setCommandListener(this); repaint(); } public void commandAction(Command c, Displayable d) { if (c==backCommand) parent.slikaBack(node_id); } public void paint(Graphics g) { g.setColor(0x00FFFFFF); g.fillRect(0,0,getWidth(),getHeight()); Image image; try { image = Image.createImage(picture); g.drawImage(image,image.getWidth()/2,image.getHeight()/2,Graphics.VCENTER|Graphics.HCENTER); } catch (Exception e) {} } }

Page 62: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 62

/65

A simple application (code)A simple application (code)

public class Meni extends List implements CommandListener { private DemoMidlet parent; private Command refreshCommand, exitCommand, backCommand; private String node_id; public Meni(DemoMidlet parent, String label, String node_id, String[] meniList) { super(label, List.IMPLICIT); this.parent = parent; this.node_id = node_id; for (int i=0; i<meniList.length; i++) append(meniList[i], loadImage("/demo/res/NODE.png")); if (node_id.equals("NODE")) { refreshCommand = new Command("Osvezi", Command.BACK, 2); addCommand(refreshCommand); } else refreshCommand = null; exitCommand = new Command("Izlaz", Command.EXIT, 1); addCommand(exitCommand); if (!node_id.equals("NODE")) { backCommand = new Command("Nazad", Command.BACK, 2); addCommand(backCommand); } else backCommand = null; setCommandListener(this); }

……………….}

Page 63: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 63

/65

A simple application (screens)A simple application (screens)

Page 64: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

References:References:

http://www.fipa.orghttp://www.wapforum.org http://www.cisco.com http://java.sun.comhttp://wireless.java.sun.com/midp ………

• Vladan Devedžić, “Inteligentni informacioni sistemi”, digit/FON Beograd, Beograd, 2000. • J.M.Bradshaw, “Software Agents”, MIT Press, Cambringe, MA, 1997. • P.Adrians, D Zanintge, “Data Mining”, Addison-Wesley, Reading, MA, 1996 • “FIPA Agent Abstract Architecture Specification”, FIPA, Geneva, Switzerland, 2002.• “FIPA ACL Message Structure Specification”, FIPA, Geneva, Switzerland, 2002.• “FIPA Agent Management Specification”, FIPA, Geneva, Switzerland, 2002.• “Wireless Application Protocol, Architecture Specification”, WAP Forum, 2001.• “MIDP (JSR-37) JCP Specification, Java 2 Platform ME, 1.0a”, Sun Microsystems, Palo Alto, CA, USA, 2000.

Page 65: Ad-Hoc Networks Nikola Milanović, nikola99@EUnet.yu nikola99@EUnet.yu Gvozden Marinković, gvozden.marinkovic@saga.co.yu Đorđe Trifunović, djole@europemail.com

Page Number: 65

/65

http://galeb.etf.bg.ac.yu/vm/

e-mail: [email protected]