* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download SurveyRoutingADHOC - start [kondor.etf.rs]
Survey
Document related concepts
Deep packet inspection wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Distributed firewall wikipedia , lookup
Internet protocol suite wikipedia , lookup
IEEE 802.1aq wikipedia , lookup
Computer network wikipedia , lookup
List of wireless community networks by region wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Airborne Networking wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Transcript
Ad-Hoc Networks Establishing node-to-node communication with no infrastructure needed Authors: Đorđe Trifunović, [email protected] Nikola Milanović, [email protected] Prof. Dr. Veljko Milutinović, [email protected] What will you learn from this tutorial? This tutorial will guide you through the following sections: Introduction Mobile networks Routing in ad-hoc networks Security in ad-hoc networks Bluetooth The IEEE/UB ad-hoc multihop sensor network and Bluetooth; lessons learned from the research by: – – – – – Gvozden Marinković ([email protected]) Aleksandar Radovanović ([email protected]) Aleksandar Berić ([email protected]) Branislav Čukanović ([email protected]) Nikola Milanović ([email protected]) Page Number: 2/130 Introduction to Ad-Hoc Networks Evolution of network communications – A new stage… Introduction Two basic groups of ad-hoc networks: – Networks of mobile computers handled by users – Wireless sensor networks Basic characteristic: ability to establish network communication between hosts without any infrastructure needed. – The most significant advance compared to classic fixed systems – Reveals a very large scale of new possibilities Page Number: 4/130 Introduction Ad-hoc networks may be considered as a new stage in evolution of network communications Fixed computer networks: – Concepts and mechanisms educed and amended for long time… – Lot of experiences acquired… – A useful base for origin and development of mobile networks... Page Number: 5/130 Introduction Wireless communication has its peculiarities. Taking the already developed solutions is not possible. – In the beginning: modifications and adaptations of existing mechanisms. – Later: more and more of new ideas, relieved from the ballast of obsolete concepts. Page Number: 6/130 Mobile Networks Meet the family… Mobile Networks Not long time ago, mobile networks were treated just as extensions of fixed networks. Actors are: – Fixed hosts (FH) – Mobile hosts (MH) – Base stations (also known as mobility support routers – MSR) Page Number: 8/130 Mobile Networks Mobility Support Router (MSR) Every MSR supports the area limited by its range (wireless cell). MSR can communicate with MHs currently located in its cell. – MHs directly communicate only with MSRs – MHs can freely move from one cell to another MH MSR MH MH Page Number: 9/130 Mobile Networks Sending packets from FH to MH MSRs are bridges between the wired network and mobile hosts. When some fixed host (FH) wants to send a packet to a mobile host (MH), communication is divided into two parts: – Standard communication inside the fixed network, from FH to the proper MSR; – Wireless communication between MSR and MH. MH FH FH MSR FH FH Page Number: 10/130 MH Mobile Networks Hiding mobility Mediation of MSR is entirely transparent to FH. For this kind of communication, indirect protocols were developed, with the purpose of hiding mobility from immobile hosts. MH FH FH MSR FH FH Page Number: 11/130 MH Mobile Networks One-hop wireless communication Direct communication between mobile hosts does not exist Mobility is very limited and dependant on the existing wired infrastructure: – MHs can move only within areas determined by the range of MSR, as well as by the range of its own transmitter; – Mobility is limited to only one hop between mobile host and fixed network Anyhow, a step towards real, multihop wireless networks. – Nature of wireless communications had to be considered – Later was of great benefit for development of ad-hoc networks Page Number: 12/130 Mobile Networks Nature of wireless communications Wireless vs wired links: – – – – – Slower Less reliable Prone to loss of signal due to noise and fading With much more limited bandwidth With much more frequent occurrence of asymmetric quality of communication Mobile hosts are often disconnected from the fixed network for short or long periods of time: – Moving out of range – Exhausted battery – … Page Number: 13/130 Mobile Networks Realizations and usage possibilities Wireless Local Area Network (WLAN); Connecting mobile and portable computers to existing widely used fixed networks like the Internet; … Page Number: 14/130 Mobile Networks Drawbacks and limitations Infrastructure is needed… – Requires large investments – Time consuming installation – Communication cannot be always established where needed – Expensive maintenance Page Number: 15/130 Mobile Networks In many cases it is necessary to establish a connection even if infrastructure does not exist, or is damaged. Typical example: alarming rescuers in case of earthquake, flood, war destruction… Communication must be established without any preliminary setup (ad-hoc). Page Number: 16/130 Mobile Networks Ad-Hoc Networks Mobile hosts can communicate between each other on much greater distances than covered by their ranges. – That is practicable thanks to presence of other mobile hosts that can be reached by the source host, and that are willing to retransmit its packets further on – Thus, propagating from one MH to another, packets are conveyed to the destination That is how multihop wireless communication through a temporally formed ad-hoc network is realized. Page Number: 17/130 Routing in Ad-Hoc Networks How to find the right way? Routing in Ad-Hoc Networks Efficient routing of packets In conventional networks, the most widely used routing algorithms are such as distant vector or link state Periodical broadcast, with the purpose of keeping routing tables up-to-date In some cases those algorithms were adapted to be used in ad-hoc networks We will just mention two representatives: – Destination-Sequenced Distance-Vector (DSDV) – Wireless Routing Protocol (WRP) Benefit: Route to every host in the network is always known. But… Page Number: 19/130 Routing in Ad-Hoc Networks Drawbacks of adapted conventional routing algorithms seem to be of much more significance than the benefits: – – – – – Large bandwidth overhead Batteries quickly become exhausted Significantly reduced scalability Unneeded cumulation of redundant routes Often not able to quickly enough respond to dynamics of changes in systems in which the hosts can move Page Number: 20/130 Routing in Ad-Hoc Networks On-demand routing protocols Because of specified constraints of said solutions, we are going to pay more attention on another approach, which is fundamental for the so-called on demand routing protocols. We will shortly describe three of those protocols, which attack the problem from different standpoints, introducing different assumptions and diversely prioritising problems that are to be solved: – Dynamic Source Routing (DSR) – Ad-Hoc On-Demand Distance Vector Routing (AODV) – Temporally Oriented Routing Algorithm (TORA) Page Number: 21/130 Routing in Ad-Hoc Networks All the proposed solutions contribute to the apparent reclamation of performance, compared to classic algorithms, which work much better in the stationary environment for which they were designed in the first place. Algorithms that will be presented here are just specimens of a large number of solutions developed by now (ietf.org). New algorithms are still being developed and evolved. Page Number: 22/130 Routing Protocols - DSR 1. Dynamic Source Routing (DSR) Based on the concept of source routing: – Sender provides the sequence of nodes through which the packets will be sent – Sequences are held in route cache that every host must maintain for itself Route is determined dynamically, when it is needed: – There are no periodical advertisements of routers – Instead, every host initiates route discovery when it needs to send a packet to another host for which initiator does not have the associated route in its cache Page Number: 23/130 Routing Protocols - DSR Route Discovery – route request Initiated by sending a route request packet: – Propagates through the network until it reaches the destination host (if the route exists); – On its way, it collects addresses of all visited hosts, and stores them into its route record; 3 1 5 1,3 1,3,4 1,3,4,5 1 src 1,2 1 4 1,3,4 2 6 dst Page Number: 24/130 Routing Protocols - DSR Route Discovery – route reply The first route request packet that arrives to destination is accepted, its route record is copied and returned to the initiator using the route reply packet. Destination host returns the route reply to the initiator of route discovery, using the route from its own cache. (1,3,4,6) 5 3 (1,3,4,6) 1 4 (1,3,4,6) 6 2 Page Number: 25/130 Routing Protocols - DSR Route Discovery – route reply (2) If destination host does not have a route to the source host in its cache, there are two options: 1. Route reply is returned using inverse route that was found by the route request packet; 2. Destination host initiates route discovery to find a route to the original initiator. First option requires symmetric links: – Transfer quality must be the same in both directions; – But that is often not the fact in mobile communications. Page Number: 26/130 Routing Protocols - DSR Route Discovery – route reply (3) Second opportunity (inverse route discovery, from destination to source) is more significant: – Providing support for non-symmetric links (very important merit of this algorithm). – I that case, the original route reply must be sent together with new route request, i.e. attached to it (that is called piggybacking) Page Number: 27/130 Routing Protocols - DSR Route Maintenance Implemented by acknowledgements and route error packets. Acknowledgements may be: – hop-by-hop – links must be symmetric – end-by-end – important when links are not symmetric Page Number: 28/130 Routing Protocols - DSR Route Maintenance (2) When using hop-by-hop acknowledgement: – Host which did not get acknowledgement ? for its retransmission sends route error packet with information about hop that broke down; – Upon that error packet, source host truncates routing tree being held in its cache, at the point of that hop: When using end-by-end acknowledgement: – Information about the point of breakage does not exist; – Source host may only assume that the last hop is broken. Page Number: 29/130 Routing Protocols - DSR Modifications / Optimisations Various modifications and amendments of this algorithm are feasible. We’ll mention just one of them – capability of working in the so-called promiscuous receive mode: – Host auscultate packets that were sent to other hosts, and updates its own cache according to the information thus received; – This, however, causes more power to be used and more rapid battery discharge . Page Number: 30/130 Routing Protocols - DSR Summary – DSR merits Ability to work with asymmetric links. No periodical routing advertisement: – Enables bandwidth and energy conservation; – Overhead does not exist when there are no changes in the network. Can be easily improved to become able for providing multiple routes: – That way, it is not always necessary to initiate new route discovery when some link breaks. Page Number: 31/130 Routing Protocols - DSR Summary – DSR drawbacks Caused by the nature of source routing. Large bandwidth overhead: – Route request packets rapidly grow as they propagate through the network (in their route records they store information about every host over which they passed); – That causes potential huge route reply packets; – Also larger message packets, because addressing demands the whole route to be specified. Scalability problems – acceptable size of the network is limited: – Diameter of the network (the largest number of hops needed for communication between any two hosts in the network) directly refers to bandwidth overhead. Page Number: 32/130 Routing Protocols - DSR Summary Dynamic Source Routing protocol is suitable for appliance in ad-hoc networks: – with moderate numbers of mobile hosts; – which move with moderate velocities. Page Number: 33/130 Routing Protocols - AODV 2. Ad-Hoc On-Demand Distance Vector Routing (AODV) New route is discovered in a manner that looks similar to route discovery by DSR: – Source host (src) broadcasts route request (RREQ) to all of its neighbours when needs to discover route to some destination host (dst); – Then, it waits for route reply (RREP). But similarity is discontinued at this point. ? src Page Number: 34/130 Routing Protocols - AODV Route Request Sequence number – Number that every host generates for itself. – It is incremented every time when something is changed in adjacency (e.g., when some link breaks). – For every route, destination sequence number (DSN) is stored in the routing table – Last DSN that src earlier knew for any route to dst, is sent in RREQ, together with current sequence number of src and other information needed: RREQ (src, dst, srcSN, dstDSN, … ) Page Number: 35/130 Routing Protocols - AODV RREQ does not contain the route record: – Does not collect information about hosts through which it propagates; – Remembers only the number of hops. Instead, the host through which RREQ propagates adds inverse route (towards src) to its routing table: – Stores, together with other relevant information, the address of the neighbour (n1) that sent RREQ to it; – If that host later receives relevant RREP, it will automatically know that reply should be transferred to the neighbour (n1); – In that case, it also records the address of the neighbour (n2) that sent RREP, thus establishing route towards dst. n1 RREQ route to src RREP route to dst Page Number: 36/130 n2 Routing Protocols - AODV Instead of recording the whole route, as with DSR applied, host here keeps only next hop (among other relevant information about some destination), i.e. address of its neighbour to which it transfers packets addressed to the destination: D S N A O D V 3 6: 3,4,6 5 6: 4,6 1 4 2 6: 6 6 3 6: 3 5 6: 4 1 4 2 6: 6 Page Number: 37/130 6 Routing Protocols - AODV Route Reply When RREQ reaches a host that has a route to dst, comparison of DSNs from the packet and from the routing table is made: – If DSN from RREQ is greater the host’s route to dst is not recent enough the host rebroadcasts the request; DSN=10 DSN=10 DSN(dst)=8 – Otherwise, the host returns RREP to src, with the calculated information about the discovered route (total hop count, lifetime that remains…), DSN=10 DSN=12 among which more recent DSN, copied from the routing table of the host. DSN(dst)=12 Page Number: 38/130 Routing Protocols - AODV RREQ may reach dst itself, and then dst returns RREP to src. Anyway, RREP is returned using inverse route formed by intermediate hosts during the propagation of RREQ. dst src Page Number: 39/130 Routing Protocols - AODV Route Maintenance For every route that a host is acquainted with, it maintains the list of neighbours that use that route, so that it is able to notice them about eventual link breakage on the route. Link breakage is detected by the absence of hello messages, which must be emitted by every host after the specified time interval expires. Page Number: 40/130 Routing Protocols - AODV Summary – Advantages of AODV over DSR Significantly smaller network bandwidth overhead: – Both control and message packets are smaller; – The reason is the requirement of only two addresses when routing (destination and next hop), instead of the whole route as with sequenced routing; – This is good for scalability, because the size of a packet does not depend on the network diameter. Provides support for multicasting. Page Number: 41/130 Routing Protocols - AODV Summary – AODV drawbacks Works only with symmetric links. Hosts must periodically advertise hello messages: – Increased bandwidth overhead; – Reduced possibility of energy conservation by remaining in the sleep mode. Does not support multi path routing (offers only one route per destination): – Every time when some link on the route breaks, new route must be discovered; – Increased probability of congestion. Page Number: 42/130 Routing Protocols - TORA 3. Temporally Oriented Routing Algorithm (TORA) Offers an interesting approach to problem solution. Conceived as link-reversal algorithm. The idea is to define topology of a network using a directed acyclic graph (DAG): – Hosts represented as nodes and with directed links; – Direction of link is realized by assigning height to every node, so that the link is directed from the node with greater height to the node with lower height. Page Number: 43/130 Routing Protocols - TORA General idea The destination node should have the minimal height in the graph. Other nodes get greater and greater height as the distance from the destination grows. Packets may be sent only from “higher” to “lower” nodes, i.e., only via downstream links. Page Number: 44/130 Routing Protocols - TORA DAG Forming Starts when node that does not have downstream links wants to send a packet to a destination node. Initially, all nodes in the graph have undetermined height (NULL), except the destination node that has the height of ZERO (which is considered less even from NULL). Source node then broadcasts QRY packet to its neighbours. QRY packet propagates through the network, marking every node over which it passes as “interested for route discovery” by setting its route request flag. Page Number: 45/130 Routing Protocols - TORA When QRY packet arrives to a node that has at least one downstream link, the node then emits the UPD packet. UPD propagates back through the network, setting the height to all nodes with the route request flag set, at the same time resetting those flags. Every further node gets greater height then the precedent one on the path of the UPD propagation. dst src Page Number: 46/130 Routing Protocols - TORA Many downstream links can lead to the same destination. Algorithm enables multiple path routing. Page Number: 47/130 Routing Protocols - TORA In case of link break: – If the node still has downstream links left, no action is performed – Otherwise, the node broadcasts a UPD packet, thus recovering DAG Recovering is a one-pass process, except in the case of network partitioning Page Number: 48/130 Routing Protocols - TORA Advantages of TORA: Fast route discovery Multiple path routing Recovering is localised Multicast support Lightweight Adaptive Multicast (LAM) algorithm Page Number: 49/130 Routing Protocols - TORA Downsides of TORA: Requires external timing mechanism (GPS…) DAG becomes less optimal as the time passes – Can be solved using refresh packets Page Number: 50/130 Routing Protocols - TORA TORA is designed for: Large networks Many nodes with dense distribution Page Number: 51/130 Issue of Security in Ad-Hoc Networks There is no need to see his identification... Attributes of security The attributes of security are: Availability Confidentiality Integrity Authentication Non-repudiation. Page Number: 53/130 Attributes of security Availability ensures the survivability of network services despite denial of service attacks. A denial of service attack could be launched at any layer of an ad hoc network. On the physical and media access control layers, an adversary could employ jamming to interfere with communication on physical channels. On the network layer disruption of the routing protocol can cause a break of the network. Page Number: 54/130 Attributes of security Confidentiality ensures that certain information is never disclosed to unauthorized entities. Leakage of information could have devastating consequences. Routing information must also remain confidential in some cases. Page Number: 55/130 Attributes of security Integrity guarantees that a message being transferred is never corrupted. A message could be corrupted because of benign failures, such as radio propagation impairment, or because of a malicious attacks on the network. Page Number: 56/130 Attributes of security Authentication enables a node to ensure the identity of the peer node it is communicating with. Without authentication, an adversary could masquerade a node, thus gaining unauthorized access to resource and sensitive information and interfering with the operation of other nodes. Page Number: 57/130 Attributes of security Non-repudiation ensures that that the origin of a message cannot deny having sent the message. Non-repudiation is useful for detection and isolation of compromised nodes. Page Number: 58/130 Challenges and opportunities Attacks ranging from passive eavesdropping to active impersonation, message replay, and message distortion. Eavesdropping might give an adversary access to secret information, violating confidentiality. Active attack might allow the adversary: – – – – to delete messages, to inject erroneous messages, to modify messages, and to impersonate a node Violating availability, integrity, authentication, and non-repudiation. Page Number: 59/130 Challenges and opportunities We should take into account the attacks launched from within the network, by compromised nodes. The ad-hoc networks should have a distributed architecture with no central entities. Introducing any central entity into our security solution could lead to significant vulnerability. Page Number: 60/130 Challenges and opportunities There are two sources of threats to routing protocols: – from external attackers – from compromised nodes Page Number: 61/130 Challenges and opportunities Detection of incorrect information is difficult Outdated routing information False routing information generated by compromised nodes could be considered as the outdated information If routing protocols can discover multiple routers, nodes can switch to an alternative route Page Number: 62/130 Challenges and opportunities Another way is to use diversity coding Diversity coding takes advantage of multiple paths in an efficient way, without message retransmission Even if certain routes are compromised, the received node may still be able to validate and to recover messages Page Number: 63/130 Challenges and opportunities Cryptographic schemes – digital signature – public and private keys Key management service A public key infrastructure is superior in distributing keys and in achieving integrity and non-repudiation. In a public key infrastructure, each node has a public/private key pair. Public keys can be distributed to other nodes, while private keys should be kept confidential to individual nodes. Page Number: 64/130 Challenges and opportunities There is a trusted entity called Certification Authority (CA) for key management. The CA has a public/private key pair Public key is known to every node CA signs certificates binding public keys to nodes The trusted CA has to stay on-line to reflect the current binding Although no single node is trustworthy in an ad hoc network we can distribute trust to an aggregation of nodes. Assuming that any t+1 nodes will unlikely be all compromised, consensus of at least t+1 nodes is trustworthy. Page Number: 65/130 Challenges and opportunities This is the principle of distributed trust. To accomplish distribution of trust in key management service one can use threshold cryptography. An (n,t+1) threshold cryptography scheme allows n parties to share the ability to perform a cryptographic operation (e.g., creating a digital signature), so that any t+1 parties can perform this operation jointly, whereas it is infeasible for most t parties to do so, even by collusion. Page Number: 66/130 Challenges and opportunities We divide the private key k of the service into n shares (s1,s2,…,sn), assigning one share to each server. Each server generates a partial signature for the certificate using its private key share With t +1 correct partial signature, the combiner is able to compute the signature for the certificate. Compromised servers cannot generate correctly signed certificates by themselves Page Number: 67/130 Challenges and opportunities A combiner can verify the validity of a computed signature using the service public key. In case verification fails the combiner tries another set of partial signatures. A problem with threshold cryptography is that it assumes synchronous system and an ad hoc network is asynchronous by its nature Any synchrony assumption is a vulnerability in the system Fortunately there is an asynchrony prototype of such a key management service, which has been implemented recently. Page Number: 68/130 Summary An ad hoc network is very vulnerable to many kinds of attacks. We have to protect not only the data, but also the routing information. The best way for that is a cryptography scheme with public/private key management, combined with distribution of trust. But it is not cheap and it is complex. A lot of things still have to be done in this area in the future. Page Number: 69/130 Bluetooth Following the steps of King Harald... Bluetooth Special Interest Group (SIG): Ericsson Mobile Communications AB IBM Corp. Intel Corp. Nokia Mobile Phones Toshiba Corp. Page Number: 71/130 Bluetooth Bluetooth wireless technology: Open specification for short-range wireless connectivity Effortless, instant connections Wide range of communication devices Based on a radio link Facilitates fast and secure transmission of both voice and data Operates in a globally available frequency band Page Number: 72/130 Bluetooth Bluetooth module: • ports (USB, UART, PCM) • baseband • voltage regulator • crystal • radio • antenna interface • flash Page Number: 73/130 Bluetooth External interfaces: • USB 1.1 (12 Mbps), full USB slave functionality • UART (Rx, Tx, RTS and CTS), 460.8 kbs • PCM (sync 8kHz, clock 200kHz-2MHz) Antenna Interface: • 50 ohm Bluetooth ISM band antenna (2.4 - 2.5 GHz) Page Number: 74/130 Bluetooth Communication layers: • Base Band (BB) • Link Manager (LM) • Host Controller Interface (HCI) Additional software: • L2CAP • RFCOMM Page Number: 75/130 Bluetooth Base Band General Description: • Frequency hop transceiver • Shaped, binary FM modulation • Symbol rate is 1 Ms/s • Slotted channel is applied with a nominal slot length of 625 ms. • Time-Division Duplex (TDD) scheme • Information is exchanged through packets • Each packet is transmitted on a different hop frequency • Combination of circuit and packet switching. Page Number: 76/130 Bluetooth Bluetooth can support: • Asynchronous data channel • Up to three simultaneous synchronous voice channels • Channel which simultaneously supports asynchronous data and synchronous voice Page Number: 77/130 Bluetooth Bluetooth system consists of: • Radio unit • Link control unit • Link management and host terminal interface functions Page Number: 78/130 Bluetooth Connection types: Master/slave communication: • point-to-point • piconets • point-to-multipoint • scatternets Page Number: 79/130 Bluetooth Other features: • Link Manager Protocol • Logical Link Control • Service Discovery Protocol • RFCOMM Potential platform for ad-hoc network realization! • IrDA • Telephony Control Protocol • ... Page Number: 80/130 Design of ad-hoc multihop sensor net with Bluetooth: Lessons learned How to make your electronic devices cooperate with each other? Introduction The main goals of this project: Creating hw/sw specification for replacing and/or upgrading the existing wire systems for data acquisition and process control – Development of routing protocol – Connecting Bluetooth with a microcontroller (router) – Integration of routing protocol on the base Bluetooth chip Universal platform for wireless integration: – Stable and universal hardware platform – Reliable and easy replaceable software Page Number: 82/130 System Overwiev An open data acquistion system, based on wireless ad-hoc multihop sensor network: Routing protocol Interface and routing module (IFRM) Personal Digital Assistant (PDA) Digital Signal Processing System (DSPS) Software for data acquisition (Shell) Internet accessible database Page Number: 83/130 System Overview DSPS PDA IFRM IFRM Bluetooth Bluetooth simulated sensors Bluetooth Web Server database AD-HOC network Web client Page Number: 84/130 System Overview Basic advantages: Universal and open platform Can be implemented in any environment Possibilites of use: Factories Power plants Health-care institutions Rescue actions Research of inhospitable terrain Page Number: 85/130 System Overview Main problems: Providing critical data transmission rate Stable ad-hoc networks Proposed solutions: Bluetooth technology Designed routing protocol Page Number: 86/130 Implementation - routing protocol Designed with the following guidelines: speed reliability simplicity Existing solutions considered: DSR AODV TORA Page Number: 87/130 Implementation - routing protocol The routing algorithm defines three types of messages: Route Request (RREQ) Route Reply (RREP) Route Error (RERR) Page Number: 88/130 Implementation - routing protocol Route Request: RREQ: Hop Count BCID Dest Address DSN Source Address SSN Hop Count – number of hops to the ending node BCID – unique RREQ identifier Destination Address – address to which the route is requested DSN – the last known sequence number Source Address – address of the node that issued RREQ SSN – current route sequence number Page Number: 89/130 Implementation - routing protocol Route Reply: RREP: Destination Source DSN Lifetime Address Address Hop Count – numer of hops between the source and destination Destination Address – address of node for which a route is found DSN – route sequence number Source Address – address of the node that sent RREQ Lifetime – time in which the route is considered valid Hop Count Page Number: 90/130 Implementation - routing protocol Route Error: RERR: Unreachable Unreachable Dest Address DSN DestCount – number of unreachable nodes Unreachable Dest Address – address of the unreachable node Unreachable DSN – last knows DSN, incremented by 1 DestCount Page Number: 91/130 Implementation - routing protocol Functioning of the protocol: Master Gateway Slave Page Number: 92/130 Implementation - routing protocol Possible network topology 11 M4 master 16 M3 gateway 8 10 9 plain node 2 10 12 0 M0 11 M4 3 13 7 4 M1 Page Number: 93/130 14 6 5 M2 15 M5 Implementation - routing protocol System initialization: Forming of piconets Creation of neighboor tables Initialization of empty routing tables Page Number: 94/130 Implementation - routing protocol Routing table entry Dest Address DSN Hop Count Last Hop Count Next Hop Precursors Dest Address – address of the destination node DSN – destination sequence number Hop Count – number of hops to destination Last Hop Count – hop count before route invalidation Precursors – list of forwarding nodes Lifetime – time for which route is valid Page Number: 95/130 Lifetime Implementation - routing protocol Sending RERR: Link is broken No active route to destination RRER is received from a neigboring node Page Number: 96/130 Implementation - routing protocol Simulation: Starting topology specified in the configuration file Number of nodes is not limited For each node, a separate thread of execution is created Messages and destinations are being generated in random fashion Traversing of nodes between piconets Page Number: 97/130 Implementation - routing protocol Process of route discovery (RREQ forwarding) M0 M1 0 16 M3 M0 M1 RREQ 2 2 0 0 2 RREQ M0 11 M4 8 0 RREQ RREQ 8 RREQ RREQ 4 1 M1 M0 1 0 0 M0 RREQ 5 M0 M1 3,7 3,7 M2 RREQ 3 M0 M1 0 RREP 0 Page Number: 98/130 Implementation - routing protocol Process of route discovery (RREP forwarding) 6 M1 0 RREP 4 1 M1 M0 6 RREP 1 3,7 0 0 0 M0 6 1 0 RREP 3 M0 Page Number: 99/130 M1 0 Implementation - routing protocol Usability analysis: Advantages compared to classic broadcast algorithms number of connections number of nodes Page Number: 100/130 Implementation - routing protocol Usability analysis: Elimination of redundant piconets master 3 1 slave hosts break connections 1 4 2 master 3 2 master is detecting a new host 5 5 5 5 host is entering piconet 5 host is entering piconet master 3 1 2 4 5 Page Number: 101/130 5 4 Implementation - IFRM The routing protocol was implemented in a separate hardware module: Serial (UART) connection with Bluetooth HCI level Page Number: 102/130 Implementation - IFRM The main functions of IFRM: Forming of a wireless multihop ad-hoc network Link maintenance Packet routing Route discovery Providing a transparent interface between the ad-hoc network and any serial (RS-232) device Providing PDA functionality Page Number: 103/130 Implementation - IFRM The architecture of IFRM: CON6 ICSP External RAM 16 KB (8 Kwords) CON4 serial port 2 to Bluetooth module PIC 17C756A microcontoller External FLASH ROM 64 KB (32 Kwords) CON3 serial port 1 CON2 & CON5 I/O ports to keyboard (optional) signaling LEDs to LCD (optional) Page Number: 104/130 to host (sensor, PC, etc.) Implementation - IFRM Routing protocol - host side The modified AODV protocol, with the following restrictions: – Size of routing tables is limited to 79 entries – Communication in the network is server centric MH MH MH MH MH MH MH MH SERVER MH MH MH MH MH MH – mobile host (e.g. sensor) data flow Page Number: 105/130 Implementation - IFRM Routing protocol - host side The modified AODV protocol, with the following restrictions: – – – – End-to-end flow control is omitted CRC checking and retransmission are not implemented Packet sequence is not checked Restrictions due to fact that Bluetooth modules do not conform to the Bluetooth V1.0B specification Page Number: 106/130 Implementation - IFRM Routing protocol - host side Assumptions due to uncomformance to V1.0b specification: – In course of full-duplex communication there is no implicit master-slave switch – Inquiry and paging are possible without interfering with the current transmission – Only the master can broadcast on the piconet – A node can transparently be a member in more piconets (Bluetooth baseband controller is capable of transparent TD multiplexing) – It is possible to have more than 7 nodes in a piconet (parking and unparking is done transparently by the baseband controller) Page Number: 107/130 Implementation - IFRM Routing protocol - host side Bugs and workarounds: – Sending two consecutive broadcast packets causes a reset – During maximum full-duplex transfer, packets or parts of the packets disappear Page Number: 108/130 Implementation - IFRM Connection of IFRM with the mobile host IFRM HOST (e.g. sensor, PC, etc.) Routing Page Number: 109/130 BLUETOOTH MODULE Ad-hoc network Implementation - IFRM Routing protocol - server side No routing module The software performs routing Special mechanism for implicit destination address discovery Page Number: 110/130 Implementation - IFRM Routing protocol - server side Communication with Bluetooth – – – – – TCP ports For each mobile host exists a corresponding TCP port on the sever Port numbers start from 10 000 All communication is performed over the TCP/IP connections on these ports The mapping of ports and hardware addresses of Bluetooth modules is static SERVER (PC) Expert system BLUETOOTH MODULE Page Number: 111/130 Ad-hoc network Implementation - PDA The role of PDA is to provide mobility to the expert. PDA is capable of receiving two types of messages: – Sensors have reported irregular data, but expert system managed to stabilize the system. The confirmation is required. – Sensors have reported irregular data and expert system did not manage to stabilize the system. The remote command and presence is required. PDA is capable of sending two types of messages: – Confirmation of received warning – Command that initiates some action in the system, based on received data In this phase, the internal battery supply is not designed. Page Number: 112/130 Implementation - DSPS DSPS is realised as an example of device that can be connected to this platform. Based on TI Digital Signal Processor Gathering of information from different peripherals Real-time processing Transferring data to server over IFRM Page Number: 113/130 Implementation - DSPS The DSPS architecture: CON8: Address, Data & Control DSP Bus Signaling LED PWM CON8: Analog Inputs Resistor Capacitor Diode Matrix TI TMS320LF2407 SPI Interface CON 9: Synchronous Serial Link LCD (optional) SCI Interface MAX3225 CON2: RS232 Page Number: 114/130 Capture Timer CON6: Event Manager A CAN BUS Interface PCA82C250 CON3: CAN BUS Implementation - DSPS DSPS Communication: Standard RS-232 connection (MAX3225cpp) CAN driver Synchronous Serial Interface (SPI) Analog Input Digital Signal Processing Module Page Number: 115/130 Interface Module (IFRM) Implementation - DSPS DSPS function: Finding spectrum of some analog signal using FFT Transferring data to server via transparent ad-hoc network Receiving commands from the system, thus creating positive feedback system Page Number: 116/130 Implementation - Shell Multipurpose software platform: Data acquisition Decision making Signal processing Slarming Tracking the current state of the system Database administration Page Number: 117/130 Implementation - Shell Communication with sensors: TCP/IP ports Two-way socket communication Conformance to IEEE 999-1992. SCADA specification Page Number: 118/130 Implementation - Shell System configuration: Type of the sensor Name of the sensor Factory address of corresponding Bluetooth module Range of allowed values Page Number: 119/130 Implementation - Shell Readings display Simple view Graph view Real-time monitoring History Page Number: 120/130 Implementation - Shell Spectrum analysis Page Number: 121/130 Implementation - Shell Database Realized with MySQL Server ODBC Flexible, DBMS independent Page Number: 122/130 Implementation - Shell Expert System Monitoring (controlling) Knowledge base Algorithm of direct chaining Based on preconditions (sensor readings) and using the rules, the expert system reaches a decision Depending on the actual application, any expert system with its knowledge base can be easily integrated Page Number: 123/130 Implementation - Internet connectivity The system database can be accessed from a Web client, with the purpose of shortening the response time. MySQL Server PHP 4.0.4 Apache Web Server 1.3.14 Page Number: 124/130 Implementation - Internet connectivity Standard three-tier architecture is used: http request server web client http reply sql query PHP script Page Number: 125/130 recordset DBMS Implementation - Internet connectivity Web client access: Username and password Choosing between sensors Formulating search queries: – by time – by value Extending the system towards full Internet automation Page Number: 126/130 Testing and integration Separate component testing: Routing protocol IFRM DSPS PDA Shell Database Internet connectivity Page Number: 127/130 Testing and integration Component integration: Shell and database Internet access Communication between Shell and IFRM Page Number: 128/130 Testing and integration Final integration: Modification of the simulator Testing IFRM in the network with more than 100 nodes Integration of DSPS Page Number: 129/130 Summary Indicating a new course of development of wireless communication Integration of different electronic devices in a single information network Open system: any device capable of serial communication can be connected Creation of custom ad-hoc networks Java-enabled microcontrollers Integration of the routing protocol on the Bluetooth baseband Possible improvements: – – – – – – Additional research of the routing protocol Testing IFRM in real-world working conditions Making software even more modular Development of several classes of sensors Potential GPS integration Internet automation Page Number: 130/130