Protective Multi Packet Randomized Transmission for the Accumulation of Information
-
Upload
manohar-rajkumar -
Category
Documents
-
view
218 -
download
0
Transcript of Protective Multi Packet Randomized Transmission for the Accumulation of Information
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
1/54
PROTECTIVE MULTI PACKET
RANDOMIZED TRANSMISSION
FOR THE ACCUMULATION OF
INFORMATION
A PROJECT REPORT
Submitted by
KIRUTHIKA. S (070105102030)
MANOHAR RAJKUMAR. J (070105102041)
MANOJ. A (070105102042)
RAMYA. A (070105102065)
In partial fulfillment for the award of the degree
of
BACHELOR OF ENGINEERING
in
COMPUTER SCIENCE AND ENGINEERING
COIMBATORE INSTITUTE OF ENGINEERING AND TECHNOLOGY
ANNA UNIVERSITY OF TECHNOLOGY
COIMBATORE 641047
APRIL 2011
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
2/54
ANNA UNIVERSITY OF TECHNOLOGY
COIMBATORE 641047
BONAFIDE CERTIFICATE
Certified that this project report PROTECTIVE MULTI PACKET
RANDOMIZED TRANSMISSION FOR THE ACCUMULATION
OF INFORMATION is the bonafide work of KIRUTHIKA.S,
MANOHAR RAJKUMAR.J, MANOJ.A, RAMYA.A who carried out
the project work under my supervision.
SIGNATURE SIGNATURE
Dr. S. Narmadha B.E., M. Tech., Ph. D., Dr. S. Narmadha B.E., M. Tech., Ph. D.,
SUPERVISIOR HEAD OF DEPARTMENT
Submitted for the Project Viva-Voce examination held on .
Internal Examiner External Examiner
Associate Professor
Computer Science and Engineering
Coimbatore Institute of Engineering
and Technology,
Narasipuram Post,
Thondamuthur (via),
Coimbatore- 641109.
Associate Professor
Computer Science and Engineering
Coimbatore Institute of Engineering
and Technology,
Narasipuram Post,
Thondamuthur (via),
Coimbatore- 641109.
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
3/54
ACKNOWLEDGEMENT
Our heart is filled with gratitude to Almighty God for empowering us with the
courage, wisdom and strength to carry out this project work successfully.
We would like to record our sincere indebtedness and gratitude to our
renowned Director, Dr. K. A. Chinnaraju, M.Sc., M.B.A., Ph.D., for his
noteworthy efforts to enhance our professional dexterity and co-curricular
excellence.
We are indebted to our respected Principal, Dr.N.Nagarajan, M.E.,
Ph.D., for providing us with necessary facilities to carry out our project work.
We wish to express our sincere thanks to our Project Coordinator
Mrs. J.A.M. Rexie, M.E., Lecturer, Department of Computer Science and
Engineering, for kind support towards our project.
We express our sincere thanks to our Head of the Department and our
Guide Dr. S. Narmadha B.E., M.Tech., Ph.D., for her timely help, co-operation
and valuable suggestions.
Finally, we extend our thanks to the management, faculty members, parents and
our student friends for their support and encouragement.
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
4/54
CHAPTER NO. TITLE PAGE NO.
List of Figures ii
List of Abbreviations iv
1 Introduction
1.1 Objective 1
2 System Analysis
2.1 Existing System 2
2.1.1 Limitations of Existing System 2
2.2 Proposed System 2
2.2.1 Advantages of Proposed System 3
2.3 Feasibility Study 3
2.3.1 Technical Feasibility 4
2.3.2 Behavioral Feasibility 4
2.3.3 Economical Feasibility 4
3 System Specification
3.1 Hardware Requirements 5
3.2 Software Requirements 5
4 Software Description
4.1 Java and Networks 6
4.1.1 Socket Overview 6
4.1.2 Client/Server 6
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
5/54
4.1.3 Reserved Sockets 7
4.1.4 Instance Methods 7
4.1.5 TCP/IP Client Sockets 8
4.1.6 TCP/IP Server Sockets 9
4.2 JDBC 10
4.3 Design Overview 10
4.4 Use Case Diagram 11
4.5 Data Flow Diagram 11
4.6 Class Diagram 13
4.7 Sequence Diagram 13
4.8 Collaboration Diagram 14
4.9 Activity Diagram 14
4.10 Architectural Diagram 15
4.11 E-R Diagram 15
5 Project Description
5.1 Problem Definition 16
5.1.1 Network Topology 18
5.1.2 Mesh Networks 18
5.1.3 Security Leaks in WSN 19
5.1.3.1 Compromised Node 19
5.1.3.2 Denial of Service 20
5.1.4 Multi-Path Routing Algorithm 21
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
6/54
5.2 Project Overview 22
5.2.1 Normal Routing of Information 23
5.3 Module Description 23
5.3.1 Node Deployment 23
5.3.2 Randomized Multi-path Approach 23
5.3.3 Message Transmission 23
6 System Testing
6.1 Unit Testing 24
6.1.1 Test Strategy and Approach 24
6.1.2 Test Results 24
6.2 Functional Test 25
6.2.1 Test Results 25
6.3 Integration Testing 26
6.3.1 Test Results 26
7 Implementation 27
8 Conclusion and Future Enhancements
8.1 Conclusion 28
8.2 Future Enhancement 28
9 Appendix
9.1 Source Code 29
9.2 Screen Shots 37
10 References 44
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
7/54
i
ABSTRACT
The classic multi-path routing approaches are vulnerable to various attacks
like compromised node and denial of service attacks, mainly due to their
deterministic nature. These attacks allow the third party intruder to acquire the
routing algorithm. The adversary can compute the routes known to the source due
to the deterministic nature of the multi-path routing algorithm. Once the intruder
finds out the technique to know the paths traversed by the packets, he can either
access the information, which was transmitted, to misuse it which is the
compromised node attack, or can create a barrier in restricting the further
traversing of the packets leading to denial of service attack. These threats provide
opportunity for the information sent over those routes to be vulnerable. Hence
there is a need for a protective data delivery mechanism that can avoid black holes
formed by these attacks. It should also provide a higher success probability rate. In
this system a data delivery mechanism has been proposed that generates
randomized multi-path routes. The success of this technique is that the routes taken
by the shares of different packets change over time. It means that when a packet
traverses through a node once, it does not travel through the same node the nexttime. So even if the routing algorithm becomes known to the adversary, the
possible routes to be taken in order to reach the destination, cannot be pin pointed.
The generated routes are also highly dispersive and energy efficient. The security
and energy performance of the proposed schemes are also analyzed and
investigated analytically. A formulation has been done on an optimization problem
to minimize the end-to-end energy consumption under given security constraints.
The validity of these mechanisms is verified by extensive simulations.
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
8/54
ii
List of Figures
Figure No. Figure Name Page No.
4.1 Use Case Diagram 11
4.2 Data Flow Diagram For Topology Construction 11
4.3 Dataflow Diagram For Random Path Selection 12
4.4 Dataflow Diagram For Message Transmission 12
4.5 Class Diagram 13
4.6 Sequence Diagram 13
4.7 Collaboration Diagram 14
4.8 Activity Diagram 14
4.9 Architectural Diagram 15
4.10 E-R Diagram 15
5.1 Wireless Sensor Networks 17
5.2 Mesh Networks 19
5.3 Compromised Node in a Network 20
5.4 Denial of Service Attack 21
5.5 Multi path Routing Algorithm 22
9.1 Get Number of Nodes 37
9.2 Get Node Information 37
9.3 Node Successfully Inserted 38
9.4 All Nodes Successfully Added 38
9.5 Path Cost 38
9.6 Cost Added Successfully 39
9.7 Path Cost 39
9.8 Link Already Available 39
9.9 Login Form 40
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
9/54
iii
9.10 Successful Login 40
9.11 Node Window 40
9.12 Path Generation 41
9.13 Sending Message 41
9.14 Number of Packets 41
9.15 Total Number of Paths 42
9.16 Transmission of First Packet 42
9.17 Transmission of Second Packet 42
9.18 Transmission of Last Packet 42
9.19 Message Transmission 43
9.20 Received Message 43
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
10/54
iv
List of Abbreviations
ABBREVIATIONS DESCRIPTION
AWT Application Window Toolkit
CASE Computer Aided Software Engineering
CN Compromised Nodes
CRC Class Responsibility Collaborator
DNS Domain Name Server
DoS Denial of Service
FTP File Transfer Protocol
HTTP Hyper Text Transfer Protocol
IP Internet Protocol
ISP Internet Service Provider
JDBC Java Database Connectivity
JDK Java Development Kit
ODBC Open Database connectivity
OMT Object Modeling Technique
RDBMS Relational Database Management System
SQL Structured Query Language
TCP Transmission Control Protocol
UDP User Datagram Protocol
WSN Wireless Sensor Networks
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
11/54
1
1. INTRODUCTION
1.1 OBJECTIVE
To develop a system that provides a protective multi-packet transmission over
the network. The developed system must be eradicated from the common attacks that
occur in the existing system. This can be achieved by splitting up of the message into
various shares of packets. This mechanism offers the required security that has not
been implemented in existing system. The proposed system has been developed on
this major factor in order to provide a secured communication link between the sender
and the receiver. The individual packets are then transmitted through the various
routes, available in the network, in a randomized and dispersive manner. This
provides a secured communication channel. So the communication in the proposedsystem is free from attacks that were common in the existing system. Hence the
security for the overall system is enhanced.
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
12/54
2
2. SYSTEM ANALYSIS
2.1 EXISTING SYSTEM
In this system, special interest has been taken in combating two types of attacks:
compromised node (CN) and denial of service (DoS). In the CN attack, an adversary
physically compromises a subset of nodes to eavesdrop information, whereas in the DoS
attack, the adversary interferes with the normal operation of the network by actively
disrupting, changing, or even paralyzing the functionality of a subset of nodes. These two
attacks are similar in the sense that they both generate black holes: areas within which the
adversary can either passively intercept or actively block information delivery. Due to the
unattended nature of WSNs, adversaries can easily produce such black holes. Severe CN
and DoS attacks can disrupt normal data delivery between sensor nodes and the sink, or
even partitioning the topology.
A conventional cryptography-based security method cannot alone provide
satisfactory solutions to these problems. This is because, by definition, once a node is
compromised, the adversary can always acquire the encryption/decryption keys of that
node, and thus can intercept any information passed through it. Likewise, an adversary
can always perform DoS attacks (e.g., jamming) even if it does not have any knowledge
of the underlying cryptosystem. Once the intruder finds out the technique to know the
paths traversed by the packets, the information that was transmitted can be accessed, to
misuse it. This is called as compromised node attack. Also the adversary can create a
barrier in restricting the further traversing of the packets leading to denial of service
attack. This threat prone all the information sent over these routes to be vulnerable to such
attacks.
2.1.1 Limitations of Existing System
Generate black holes Disrupt normal data delivery between sensor nodes
2.2 PROPOSED SYSTEM
In this system, a randomized multipath routing algorithm has been proposed that
can overcome the compromised node and denial of service attacks. In this algorithm,
multiple paths are computed in a randomized way. Each time an information packet needs
to be sent, such that the set of routes taken by various shares of different packets keep
changing over time. As a result, a large number of routes can be potentially generated for
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
13/54
3
each source and destination. To intercept different packets, the adversary has to
compromise or jam all possible routes from the source to the destination, which is
practically not possible. Because routes are now randomly generated, they may no longer
be node-disjoint. However, the algorithm ensures that the randomly generated routes are
as dispersive as possible, i.e., the routes are geographically separated as far as possible
such that they have high likelihood of not simultaneously passing through a black hole.
Solution for multiple collaborating in black holes is implemented. Considering the
stringent constraint on energy consumption in WSN, the main challenge in this design is
to generate highly dispersive random routes at low energy cost.
A naive algorithm of generating random routes, such as Wanderer scheme (a pure
random-walk algorithm), only leads to long paths (containing many hops, and therefore,
consuming lots of energy) without achieving good depressiveness. Due to security
considerations, it is also required that the route computation be implemented in a
distributed way, such that the final route represents the aggregate decision of all the nodes
participating in the route selection. As a result, a small number of colluding/compromised
nodes cannot dominate the selection result.
2.2.1 Advantages of Proposed System
Multiple paths are computed in a randomized way each time aninformation packet needs to be sent
No longer paths need to be disjoint2.3 FEASIBILITY STUDY
Feasibility study deals with analyzing the worthiness of the problem and the
possibility of solving the problem. These types of studies were conducted and the result
was satisfactory. This study is taken in time constraints and normally culminates in a
written and oral feasibility report. The feasibility analysis is done on the following
perspectives,
1. Technical feasibility
2. Behavioral feasibility
3. Economical feasibility
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
14/54
4
2.3.1 Technical Feasibility
The technical feasibility centers on an existing computer system (hardware and
software) and to what extent it can support the proposed system. . The technology should
be within the state of art, where the defect can be reduced to a level matching the
application.
2.3.2 Behavioral Feasibility
The proposed system is not totally new form of the existing system to cause
discomfort to the client. The proposed system is user friendly and has improved the
throughput.
2.3.3 Economical Feasibility
It is the most frequently used technique for evaluating the effectiveness of the
prepared system. This is called as cost or benefit analysis. It is used to determine the
benefits and savings that are expected from a proposed system and compare it with costs.
If the benefits overweigh the cost, then the decision is taken to the design phase and
implements the system.
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
15/54
5
3. SYSTEM SPECIFICATION
The requirement analysis is made on the project to understand the requirements
and organizes them into related subsets. This phase explores each requirement in
relationship to others and also examines requirement for consistency, omissions and
ambiguity.
3.1 Hardware requirements
Processor Any Processor above 500 MHz
Ram 128MB
Hard Disk 10 GB
Compact Disk 650 MB
Input device Standard Keyboard and Mouse
Output device VGA and High Resolution Monitor
3.2 Software requirements
Operating System Windows 95,98, XP, Vista, 7.
Language JDK 1.5
Data Bases Microsoft SQL ServerFront End Java Swing
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
16/54
6
4. SOFTWARE DESCRIPTION
4.1 JAVA and NETWORKS
Java was conceived by James Gosling, Patrick Naughton, Chris Wrath, Ed Frank,
and Mike Sheridan at Sun Micro system. It is an platform independent programming
language that extends its features wide over the network. Java2 version introduces an new
component called Swing. Swing is a set of classes that provides more power and
flexible components than are possible with AWT. Its a light weight package, as they are
not implemented by platform-specific code. Related classes are contained in javax.swing
and its sub packages, such as javax.swing.tree. Components involved in the Swing have
more capabilities than those of AWT
4.1.1 Socket Overview
A network socket is a lot like an electrical socket. Various plugs around the
network have a standard way of delivering their payload. Anything that understands the
standard protocol can plug in to the socket and can be communicated.
Internet protocol (IP) is a low-level routing protocol that breaks data into small
packets and sends them to an address across a network, which does not guarantee to
deliver the packets to the destination.
Transmission Control Protocol (TCP) is a higher-level protocol that manages to
reliably transmit data. A third protocol, User Datagram Protocol (UDP), sits next to TCP
and can be used directly to support fast, connectionless, unreliable transport of packets.
4.1.2 Client/Server
A server is anything that has some resource that can be shared. There are
compute servers, which provide computing power; print servers, which manage a
collection of printers; disk servers, which provide networked disk space; and web servers,
which store web pages. A client is simply any other entity that wants to gain access to a
particular server.
In Berkeley sockets, the notion of a socket allows a single computer to serve
many different clients at once, as well as serving many different types of information.
This feat is managed by the introduction of a port, which is a numbered socket on aparticular machine. A server process is said to listen to a port until a client connects to
it. A server is allowed to accept multiple clients connected to the same port number,
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
17/54
7
although each session is unique. To manage multiple client connections, a server process
must be multithreaded or have some other means of multiplexing the simultaneous I/O.
4.1.3 Reserved Sockets
Once connected, a higher-level protocol ensures, which is dependent on which
port the user is using. TCP/IP reserves the lower, 1,024 ports for specific protocols. Port
number 21 is for FTP, 23 is for Telnet, 25 is for E-mail, 79 is for finger, 80 is for HTTP,
119 is for Netnews etc.. It is up to each protocol to determine how a client should interact
with the port.
Java supports TCP/IP both by extending the already established stream I/O
interface. Java supports both the TCP and UDP protocol families. TCP is used for reliable
stream-based I/O across the network. UDP supports a simpler, faster, point-to-point
datagram-oriented model.
4.1.4 Instance Methods
The InetAddress class also has several other methods, which can be used on the
objects returned by the methods just discussed. Here are some of the most commonly
used.
Boolean equals(Object other) Returns true if this object has the same Internet
address as other.
byte[ ] getAddress() Returns a byte array that represents the objects
Internet address in network byte order.
String getHostAddress() Returns a string that represents the host address
associated with the InetAddress object.
String getHostName() Returns a string that represents the host nameassociated with the InetAddress object.
boolean isMulticastAddress() Returns true if this Internet address is a multicast
address. Otherwise, it returns false.
String toString() Returns a string that lists the host name and the IP
address for convenience.
Internet addresses are looked up in a series of hierarchically cached servers. It
means that the local computer might know a particular name-to-IP-address mapping
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
18/54
8
autocratically, such as for itself and nearby servers. For other names, it may ask a local
DNS server for IP address information. If that server doesnt have a particular address, it
can go to a remote site and ask for it. This can continue all the way up to the root server,
called InterNIC (internic.net).
4.1.5 TCP/IP Client Sockets
TCP/IP sockets are used to implement reliable, bidirectional, persistent, point-
to-point, and stream-based connections between hosts on the Internet. A socket can be
used to connect Javas I/O system to other programs that may reside either on the local
machine or on any other machine on the Internet.
There are two kinds of TCP sockets in Java. One is for servers, and the other is
for clients. The ServerSocket class is designed to be a listener, which waits for clients
to connect. The Socket class is designed to connect to server sockets and initiate protocol
exchanges.
The creation of a Socket object implicitly establishes a connection between the
client and server. There are no methods or constructors that explicitly expose the details
of establishing that connection. Here are two constructors used to create client sockets:
Socket(String hostName, int port) Creates a socket connecting the local host to the
named host and port; can throw an
UnknownHostException or an IOException.
Socket(InetAddress ipAddr,int port Creates a socket using a preexisting InetAddress
object and a port; can throw an IOException.
A socket can be examined at any time for the address and port information
associated with it, by use of the following methods:
InetAddress getInetAddress()- Returns the InetAddress associated with the Socket
object.
int getPort() Returns the remote port to which this Socket object
is connected.
int getLocalPort() Returns the local port to which this Socket object is
connected.
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
19/54
9
Once the Socket object has been created, it can also be examined to gain access
to the input and output streams associated with it. Each of these methods can throw an
IOException if the sockets have been invalidated by a loss of connection on the Net.
InputStream getInputStream() Returns the InputStream associated with the
invoking socket.
OutputStream getOutputStream() Returns the OutputStream associated with the
invoking socket.
4.1.6 TCP/IP Server Sockets
Java has a different socket class that must be used for creating server
applications. The ServerSocketclass is used to create servers that listen for either local or
remote client programs to connect them on the published ports. ServerSockets are quitedifferent form normal Sockets.
When a ServerSocket is created, it will register itself with the system as having
an interest in client connections. The constructors for ServerSocket reflect the port
number to accept connection and, also how long the queue for the said port needs it. The
queue length tells the system how many client connection it can leave pending before it
should simply refuse connections. The default is 50. The constructors might throw an
IOException under adverse conditions. The constructors are
ServerSocket(int port) Creates server socket on the specified port with a
queue length of 50.
ServerSocket(int port, int maxQueue) Creates a server socket on the specified port with a
maximum queue length of maxQueue.
ServerSocket(int port, int maxQueue, InetAddress localAddress)
Creates a server socket on the specified port with a
maximum queue length of maxQueue. On a multi
homed host, localAddress specifies the IP address
to which this socket binds.
ServerSocket has a method called accept(), which is a blocking call that will
wait for a client to initiate communications and then return with a normal Socket that is
then used for communication with the client.
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
20/54
10
4.2 JDBC
In an effort to set an independent database standard API for Java, Sun Microsystems
developed Java Database Connectivity (JDBC). JDBC offers a generic SQL database
access mechanism that provides a consistent interface to a variety of RDBMS. This
consistent interface is achieved through the use of plug-in database connectivity
modules, or drivers. If a database vendor wishes to have JDBC support, the client must
provide the driver for each platform that the database and Java run on.
4.3 DESIGN OVERVIEW
Design involves identification of classes, their relationships as well as their
collaboration. In objectory, classes were divided into Entity classes, interface classes and
the control classes. The Computer Aided Software Engineering tools that are available
commercially do not provide any assistance in this transition. Even research CASE tools
take advantage of Meta modeling are helpful only after the construction of class diagram
is completed. In the Fusion method, it uses some object-oriented approaches like Object
Modeling Technique (OMT), Class Responsibility Collaborator (CRC) and Objectory,
used the term Agents to represent some of the hardware and software systems. In Fusion
method, there was no requirement phase, where in a user will supply the initial
requirement document. Any software project is worked out by both analyst and designer.
The analyst creates the Use case diagram. The designer then creates the Class diagram.
Once the design is over it is a need to decide which software is suitable for the
application.
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
21/54
11
4.4 USE CASE DIAGRAM
Figure 4.1 Use Case Diagram
4.5 DATA FLOW DIAGRAM
Fig 4.2 Data Flow Diagram for Topology Construction
TopologyConstruction
RandomPath Selection
Message Transmisson
DynamicSecurity
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
22/54
12
Figure 4.3 Data Flow Diagram for Random Path Selection
Figure 4.4 Data Flow Diagram for Message Transmission
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
23/54
13
4.6 CLASS DIAGRAM
Figure 4.5 Class Diagram
4.7 SEQUENCE DIAGRAM
Figure 4.6 Sequence Diagram
SourceSource Select
Destination
Select
Destination
Routing TableRouting Table Random PathRandom Path Message
Transmisson
Message
Transmisson
select
path selection
Random Path
compare with previous path
Transmit message
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
24/54
14
4.8 COLLABORATION DIAGRAM
Figure 4.7 Collaboration Diagram
4.9 ACTIVITY DIAGRAM
Figure 4.8 Activity Diagram
Source Select
Destination
Routing
Table
Random
Path
Message
Transmisson
3: Random Path4: compare
1: select 2: path selection
5: Transmit
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
25/54
15
4.10 ARCHITECTURAL DIAGRAM
Figure 4.9 Architectural Diagram
4.11 E-R DIAGRAM
Figure 4.10 E-R Diagram
PATH
PATH
PATH
INTERVALS
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
26/54
16
5. PROJECT DESCRIPTION
5.1 Problem Definition
The challenges in the hierarchy of detecting the relevant quantities, monitoringand collecting the data, assessing and evaluating the information, formulating meaningful
user displays, and performing decision-making and alarm functions are enormous. A
wireless sensor network consists of spatially distributed autonomous sensors to monitor
physical or environmental conditions. The WSN is built of "nodes", from a few to several
hundreds or even thousands of nodes in a network, where each node is connected to
another sensor node. Each such sensor network node has typically several parts, a radio
transceiver with an internal antenna or connection to an external antenna, a
microcontroller, an electronic circuit for interfacing with the sensors and an energy
source, usually a battery. In WSN, distributed architecture is used instead of centralized
architecture for the following reasons,
Sensor nodes are prone to failure For better collection of data To provide nodes with backup in case of failure of the central node
The main features of WSNs, as could be deduced by the general description of the
architecture are scalability with respect to the number of nodes in the network, self-
organization, self-healing, energy efficiency, a sufficient degree of connectivity among
nodes, low-complexity, low cost and size of nodes. WSNs have several common aspects
with wireless ad hoc network and in many cases they are simply considered as a special
case of them. But the protocols and the algorithms that suites for the ad hoc network do
not fit into the wireless sensor networks. Wireless sensor network transmits data to
destination via sinks, where the sensor nodes, before traversing it to receiver keeps data
transmitted. There can be multiple sinks or single sink based on the design of the
network. The information is routed over the network based on the topology of the
network. The challenge of security in sensor networks lie in the conflicting interest
between minimizing resource consumption and maximizing security.
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
27/54
17
The security mechanism for the WSN involves the following major resource
constraints into consideration,
Limited energy Limited memory Limited computing power Limited communication bandwidth Limited communication rangeConfidentiality, integrity and authentication services are critical to preventing an
adversary from compromising the security of WSN.
Figure 5.1 Wireless Sensor Networks
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
28/54
18
5.1.1 Network Topology
The basic issue in communication networks is the transmission of messages to
achieve a prescribed message throughput (Quantity of Service) and Quality of Service
(QoS). QoS can be specified in terms of message delay, message due dates, bit error rates,packet loss, economic cost of transmission, transmission power, etc. Depending on QoS,
the installation environment, economic considerations, and the application, one of several
basic network topologies may be used.
A communication network is composed of nodes, each of which has computing
power and can transmit and receive messages over communication links, wireless or
cabled. The basic network topologies are shown in the figure and include fully connected,
mesh, star, ring, tree, bus. A single network may consist of several interconnected subnets
of different topologies. Networks are further classified as Local Area Networks (LAN),
e.g. inside one building, or Wide Area Networks (WAN), e.g. between buildings. Though
many topologies are available for network communication, in this system the topology
that is opted is mesh topology.
5.1.2 Mesh Networks
Mesh networks are regularly distributed networks that generally allowtransmission only to a nodes nearest neighbors. The nodes in these networks are
generally identical, so that mesh nets are also referred to as peer-to-peer (see below) nets.
Mesh nets can be good models for large-scale networks of wireless sensors that are
distributed over a geographic region, e.g. personnel or vehicle security surveillance
systems. Note that the regular structure reflects the communications topology; the actual
geographic distribution of the nodes need not be a regular mesh. Since there are generally
multiple routing paths between nodes, these nets are robust to failure of individual nodes
or links. An advantage of mesh nets is that, although all nodes may be identical and have
the same computing and transmission capabilities, certain nodes can be designated as
group leaders that take on additional functions. If a group leader is disabled, another
node can then take over these duties.
All nodes of the star topology are connected to a single hub node. The hub
requires greater message handling, routing, and decision-making capabilities than the
other nodes. If a communication link is cut, it only affects one node. However, if the hub
is incapacitated the network is destroyed.
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
29/54
19
Figure5.2.Mesh Networks
5.1.3 Security Leaks in WSN
The information transmitted in a wireless sensor networks are prone to two key
attacks due to the deterministic nature of the multi-path routing algorithm that is been
used till date. The two main attacks are compromised node and denial of service. The
main reason for those attacks other than the deterministic approach of the routing
approach is that the routes may not spatially dispersive to overcome the attacks.
5.1.3.1 Compromised Node
Node compromise is one of the potential vulnerability seen in the wireless sensor
networks. Node compromise occurs when an attacker, though some subvert means, gains
control of a node in the network after deployment. Once in control of that node, the
attacker can alter the node to listen to information in the network, input malicious data,
cause black hole, or any myriad of attacks on the network. The attacker may also simply
extract information vital to the networks security such as routing proto cols, data, and
security keys. Generally compromise occurs once an attacker has found a node, and then
directly connects the node to their computer via a wired connection of some sort. Once
connected the attacker controls the node by extracting the data and put new data or
controls on that node. Sensor nodes cannot determine whether a user is simply using
debugging tools or attempting to hack in. The adversary is capable of getting the
information being transmitted, over the networks, mainly due to the memory interrogation
of the node and the routing algorithm is known to the intruder.
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
30/54
20
Figure5.3 Compromised Node in a Network
5.1.3.2 Denial of Service
In Denial-of-Service (DoS) attacks, the hackers objective is to render target
machines inaccessible by legitimate users. WSN without sufficient protection from DoS
attacks may not be deployable in many areas. Node misbehavior that affects these
operations may range from simple selfishness or lack of collaboration due to the need for
power saving to active attacks aiming at denial of service(DoS) and subversion of traffic.
There are two types of DoS attacks,
Passive attacks: Selfish nodes use the network but do not cooperate, savingbattery life for their own communications: they do not intend to directly
damage other nodes.
Active attacks: Malicious nodes damage other nodes by causing networkoutage by partitioning while saving battery life is not a priority.
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
31/54
21
The adversary in order to create a denial of service attack on a sensor node in a
network need not know the technical aspects like encryption, decryption of information
etc. such that adversary blocks the task carried over by the node in the network.
Figure5.4. Denial of Service Attack
5.1.4 Multi-Path Routing Algorithm
Multi-path is a feature that allows an administrator to specify multiple next hops
for a given route's destination. In environments with substantial requirements, there are
several reasons for doing this. A router could just use one ISP most of the time, and
switch to the other when the first one fails for some reason. Another application of
multipath is to keep a path on standby and enable it only when bandwidth requirements
surpass a predefined threshold.
Multi-path routing algorithm focus on the reliable delivery of information
transmitted from the sender to the receiver in a safer manner. The purpose behind the
multi-path approach is to diminish the effects of node failure. The main objective of these
algorithms is to split data to be transmitted, into some shares of information and then
transmit those towards the destination. But the original information can be reconstructed
only when some shares of it been traversed. Though it has many advantages, there are
some short comes in it like node-disjoint, non-dispersive routing between sender and
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
32/54
22
receiver, etc. In the proposed system all these black holes are avoided to a greater extent.
Thereby enhance secured data delivery within the sensor networks.
Figure 5.5. Multi-path Routing Algorithm
5.2 PROJECT OVERVIEW
The main novelty of the system built is to overcome the short come of security
mechanism in WSN, that is, to circumvent the black holes formed by the compromised
node and denial of service attacks. For this purpose, the randomized multi-path routing
algorithm to traverse the packets from the sender to the receiver in sensor networks is
developed.
In the randomized multi-path routing algorithm, information to be transmitted to
its destination undergoes three phases before it reaches the appropriate receiver. The three
phases are secret sharing phase, randomized propagation, and normal routing of the
information.
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
33/54
23
5.2.1 Normal Routing of Information
When the time-to-live field becomes zero, the information shares are then routed
towards the sink using min-hop routing. Once the sink collects at least some minimum
shares, it can start reconstructing the original packet. Before that the information cannot
be reconstructed.
5.3 Module Description
Three modules are designed in order to protectively transmit information by
splitting into different shares. The modules are
Node Deployment Apply Randomized Multi-path Approach Message Transmission
5.3.1 Node Deployment
Deployment of node module involves the formation of network by connecting the
sensor nodes in the network, that is, a sensor node decides which node to be adjacent to it.
While transmitting information, it can send via any of those nodes. In short, node
deployment means topology creation. In this system, mesh network topology is opted.
Mesh topology is opted for its unstructured nature. The nodes are connected using
sockets.
5.3.2 Randomized Multi-path Approach
The randomized multi-path approach first applies, splitting of the information to
be transmitted into numerous sub packets. The splitting of data is based on a constraint,
the packet length. Once the sender decides which information to send, it is divided into
packets based on the packet length. Then those shares are randomly propagated towards
the destination. The routes are chosen not only in randomized manner but also dispersive,
such that the energy efficiency is maintained.
5.3.3 Message Transmission
The message is transmitted from source to destination based on the random path
chosen for routing the information. But once a route is chosen by a packet to traverse, the
same path is not chosen again for transmission of information.
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
34/54
24
6. SYSTEM TESTING
The purpose of testing is to discover errors. Testing is the process of trying to
discover every conceivable fault or weakness in a work product. It provides a way to
check the functionality of components, sub-assemblies, assemblies and/or a finished
product It is the process of exercising software with the intent of ensuring that the
Software system meets its requirements and user expectations and does not fail in an
unacceptable manner. There are various types of test. Each test type addresses a specific
testing requirement.
6.1 UNIT TESTING
Unit testing is usually conducted as part of a combined code and unit test phase of
the software lifecycle, although it is not uncommon for coding and unit testing to be
conducted as two distinct phases.
6.1.1 Test Strategy and Approach
Field testing will be performed manually and functional tests will be written in
detail.
6.1.2 Test Results
Checked for logical errors that occur because of missing parenthesis or leaving out
an alternative block of statements. Some of the logical errors were identified and rectified
with the help of unit testing.
Checked for syntax errors which may arise due to the flaws in the coding, like
missing semicolon, misspelt keywords and type mismatch. Some of the errors were
identified and rectified with the help of unit testing.
Eg.
Error
getPah( nodePath.substring( nodePath.length()-1 ), nodePath.substring(
nodePath.length()-3, ( nodePath.length()-3)+1 ));
Corrected statement
getPath( nodePath.substring( nodePath.length()-1 ), nodePath.substring(
nodePath.length()-3, ( nodePath.length()-3)+1 ));
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
35/54
25
6.2 FUNCTIONAL TEST
Functional tests provide systematic demonstrations that functions tested are
available as specified by the requirements, system documentation, and user manuals.
Functional testing is centered on the following items:
Valid Input - identified classes of valid input must be accepted.
Invalid Input - identified classes of invalid input must be rejected.
Functions - identified functions must be exercised.
Output - identified classes of application outputs must be exercised.
Systems/Procedures - interfacing systems or procedures must be invoked.
Business process flows; data fields, predefined processes, and successive processesmust be considered for testing. Before functional testing is complete, additional tests are
identified and the effective value of current tests is determined.
6.2.1 Test Results
Each function was tested for the above mentioned criteria and the errors were
eliminated.
In the module of topology creation, while updating node details through
updateNodeInfo() the module was tested for both valid and invalid inputs.
For valid inputs the system runs normallyFor invalid inputs the system prompts the user to provide new details
Eg.
if( reply.equals("inserted")){
JOptionPane.showMessageDialog(this,"Inserted Successfully");}
else{
JOptionPane.showMessageDialog(this,"This Link Already Available");
}
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
36/54
26
6.3 INTEGRATION TESTING
Software integration testing is the incremental integration testing of two or more
integrated software components on a single platform to produce failures caused by
interface defects.
The task of the integration test is to check that component or software applications,
e.g. components in a software system or one step up software applications at the
company levelinteraction without error.
6.3.1 Test Results
The various modules were integrated and the errors encountered were identified and
rectified.
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
37/54
27
7. SYSTEMIMPLEMENTATION
The entire system is divided into following running phases,
Topology Construction Random Path Generation Message Propagation
In the first phase, the network topology is constructed. In this system, mesh
topology is chosen for the construction of nodes to deploy the message transmission. The
preference is given for mesh topology, above other topologies, because of its unstructured
nature. The network is formed such that each node can communicate with the remaining
nodes distinctly. The main attributes for the nodes like the name, address and path costs
are defined. The sockets are defined to establish network connection between the nodes
for the message transmission to take place.
The second phase deals with the random path propagation. The main
implementation of this phase is to generate the total number of possible routes between
the sender and the receiver. The nodes that take part in the message transmission have to
be logged in. Then the message to be transmitted is split into multiple packets. Each of
the multiple packets is then transmitted individually through the independent routes. This
route selection takes place in a random manner such that the same route is not traversed
by the previous packets. Once the route has been chosen, the packets traverse through
them. The route selection process is made to be as diversified as possible in order to make
the transmission less vulnerable to the attacks.
In the final phase, the message split into multi packets reaches the destination
through the paths chosen from the random propagation phase. The correct sequence of the
packet delivery can be achieved using the packet headers. This ensures the successful
transmission of the message from the source to the destination in a secured way.
The message transmitted cannot be easily intercepted by an intruder, since the
whole message is not sent through a single path. But the message is split into various
packets and each of the packets is transmitted over the random available paths. Even if an
interception attempt succeeds the attacker cannot get the whole message. Also, the
attacker will not be able to predict the paths generated and the packet transmitted through
them. This enhances the security of the system which overcomes the limitations of the
existing system.
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
38/54
28
8. CONCLUSION AND FUTURE ENHANCEMENTS
8.1 CONCLUSION
The analysis and simulation results have shown the effectiveness of the randomized
dispersive routing in combating CN and DoS attacks. By appropriately setting the secret
sharing and propagation parameters, the packet interception probability can be easily
reduced. At the same time, this improved security performance comes at a reasonable cost
of energy. Specifically, the energy consumption of the proposed randomized multipath
routing algorithms is higher than that of their deterministic counterparts. The proposed
algorithms can be applied to selective packets in WSNs to provide additional security
levels against adversaries attempting to acquire these packets. Considering that thepercentage of packets in a WSN that require a high security level is small, the selective
use of the proposed algorithms does not significantly impact the energy efficiency of the
entire system
8.2 FUTURE ENHANCEMENT
The proposed work is based on the assumption that there are only a small number of
black holes in the WSN. But in reality, a stronger attack could be formed, whereby the
adversary selectively compromises a large number of sensors that are several hops away
from the sink to form clusters of black holes around the sink. Collaborating with each
other, these black holes can form a cut around the sink and can block every path between
the source and the sink. Under this cut around-sink attack, no secret share from the source
can escape from being intercepted by the adversary. This system does not address this
attack. The resolution requires extending the mechanisms to handle multiple collaborating
black holes, which will be studied.
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
39/54
29
9. APPENDIX
9.1 Source Code
DBConnection.java
package DB;
import java.sql.*;
public class DBConnection
{
private Connection con = null;
private String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
private String url = "jdbc:odbc:DynamicRouting";
public Connection getConnection()throws
ClassNotFoundException,SQLException{
Class.forName( driver );
con = DriverManager.getConnection(url,"sa","");
return con;
}}
Topologycreation.java
public TopologyCreation()
{
super();
allNodes = getNodeNames();
System.out.println("All Nodes are"+allNodes);
initializeComponent();
}public Vector getNodeNames()
{
Vector nodeList = new Vector();
try
{
DB.DBConnection obj = new DB.DBConnection();
Connection con = obj.getConnection();
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("select * from NodeInfo");
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
40/54
30
while(rs.next())
{
nodeList.addElement(rs.getString(1));
}
}
return nodeList;
}
public void updateNodeInfo()
{
Socket soc;
ObjectInputStream dis;
ObjectOutputStream dos;
try
{
String startingNode = jComboBox1.getSelectedItem().toString().trim();
String endingNode = jComboBox2.getSelectedItem().toString().trim();
String edgeWeight = jTextField1.getText().trim();
String nodeDetails = startingNode+"#"+endingNode+"#"+edgeWeight;
if ( true ){
soc = new Socket("localhost",2345);
dos = new ObjectOutputStream(soc.getOutputStream());
dos.writeObject("insert");
dos.writeObject( nodeDetails );
dis = new ObjectInputStream(soc.getInputStream());
String reply = (String)dis.readObject();
if( reply.equals("inserted"))
{JOptionPane.showMessageDialog(this,"Inserted Successfully");
}
else
{
JOptionPane.showMessageDialog(this,"This Link Already Available");
}}
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
41/54
31
Findpath.java
public void FindPossible(String pathstart,String pathend)
{ {
DBConnection db = new DBConnection();
con = db.getConnection();
st = con.createStatement();
st.execute("delete from PossiblePaths");
st.execute("delete from RoutingTable");
}
strTemp = pathstart;
destination = pathend;
System.out.println("The Nodes are"+strTemp);
System.out.println("The Nodes are"+destination);
allPathArray = new String[100];
getPath(strTemp,"**");
updateDB();
}
public void getPath( String start, String end )
{{
System.out.println("incoming Nodes are"+start+"hhhhhhhhhhh"+end);
rs = st.executeQuery( "select * from NodesLink where names like
'"+start.trim( )+"' and dest not like '"+end.trim( )+"'");
while( rs.next( ) )
{
flip2 = true;
if( flip == false){
for( int i=0;i
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
42/54
32
String strarray[] = strTemp.split( "&" );
for( int i = 0; i < strarray.length; i++ )
{
if( strarray[i].intern( ) == check.intern( ) )
flip1 = false;
}
if( flip1 == true ){
stack[++index] = strTemp+ "&" + check;
}
flip1 = true;
}
if( flip2 == true )
{
flip2 = false;
for( int i=0; i
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
43/54
33
if( index != 0 )
{
for( int i = 0; i
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
44/54
34
Integer weight = ( Integer )i.next();
String path = ( String )map.get( weight );
int edgeWeight = Integer.valueOf( weight );
st.executeUpdate( "insert into PossiblePaths values('"+path+"',"+edgeWeight+" )" );
st.executeUpdate("insert into RoutingTable values('"+path+"','0' )");}
map.clear(); }}
Mainrouter.java
public MainRouter()
{{
DB.DBConnection dbObj = new DB.DBConnection();
con = dbObj.getConnection();
st = con.createStatement();
serObj = new ServerSocket(2345);
System.out.println("Router is Listening");
while( true )
{
socObj = serObj.accept();
dos = new ObjectOutputStream(socObj.getOutputStream());
dis = new ObjectInputStream(socObj.getInputStream());
String clientMsg = (String)dis.readObject();
if(clientMsg.equals("insert"))
{
String nodeDetails = (String)dis.readObject();
String[] nodeInfo = nodeDetails.split("#");
rs = st.executeQuery("select source,dest from NodesLink where source =
'"+nodeInfo[0]+"' and dest = '"+nodeInfo[1]+"'");if(!rs.next())
{
st.executeUpdate("insert into NodesLink values ('"+nodeInfo[0]+"','"
+nodeInfo[0]+"','"+nodeInfo[1]+"','"+nodeInfo[2]+"')");
st.executeUpdate("insert into NodesLink values ('"+nodeInfo[1]+"','"
+nodeInfo[1]+"','"+nodeInfo[0]+"','"+nodeInfo[2]+"')");
dos.writeObject("inserted");
}
else
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
45/54
35
{
dos.writeObject("Already Available");
}}
else if( clientMsg.equals("logincheck"))
{
String nodeName = (String)dis.readObject();
String nodeInfo = "";
rs = st.executeQuery("select NodeName,ipAddress,portNumber from
NodeInfo where NodeName = '"+nodeName+"'");
if( rs.next())
{
String node_Name = rs.getString(1);
String ipAdd = rs.getString(2);
String portNo = rs.getString(3);
nodeInfo = node_Name+"#"+ipAdd+"#"+portNo;
}
dos.writeObject(nodeInfo);
}
else if( clientMsg.equals("getothernodes"))
{
String nodeName = (String)dis.readObject();
ArrayList otherNodes = new ArrayList();
rs = st.executeQuery("select NodeName from NodeInfo where
NodeName != '"+nodeName+"'");
while(rs.next())
{ otherNodes.add(rs.getString(1)); }
System.out.println("The ArrayList is"+otherNodes);dos.writeObject( otherNodes );
}
else if( clientMsg.equals("getPath"))
{
ArrayList avlPaths = new ArrayList();
String nodeInfo = (String)dis.readObject();
String nodeDetail[] = nodeInfo.split("#");
System.out.println("The Nodeinfo is"+nodeInfo);
String sourceNode = nodeDetail[0];
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
46/54
36
String destNode = nodeDetail[1];
Paths.FindPath pathObj = new Paths.FindPath();
pathObj.FindPossible( sourceNode,destNode );
rs = st.executeQuery("select * from PossiblePaths");
while(rs.next())
{
avlPaths.add(rs.getString(1));
}
System.out.println("The Paths Are"+avlPaths);
dos.writeObject( avlPaths );
}
else if( clientMsg.equals("getdata")){
String nodeDetail = "";
String dest = (String)dis.readObject();
rs = st.executeQuery("select * from RoutingTable");
while(rs.next()){
String path = rs.getString(1);
String packetsize = rs.getString(2);
String total = path+"#"+packetsize;
nodeDetail += total+"@";
}
System.out.println("The Data is"+nodeDetail);
dos.writeObject( nodeDetail );
}
}
}
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
47/54
37
9.2 SCREEN SHOTS
Figure 9.1 Get Number of Nodes
Figure 9.2 Get Node Information
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
48/54
38
Figure 9.3 Node Successfully Inserted
Figure 9.4 All Nodes Successfully Added
Figure 9.5 Path Cost
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
49/54
39
Figure 9.6 Cost Added Successfully
Figure 9.7 Path Cost
Figure 9.8 Link Already Available
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
50/54
40
Figure 9.9 Login Form
Figure 9.10 Successful Login
Figure 9.11 Node Window
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
51/54
41
Figure 9.12 Path Generation
Figure 9.13 Sending Message
Figure 9.14 Number of Packets
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
52/54
42
Figure 9.15 Total Number of Paths
Figure 9.16 Transmission of First Packet
Figure 9.17 Transmission of Second Packet
Figure 9.18 Transmission of Last Packet
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
53/54
43
Figure 9.19 Message Transmission
Figure 9.20 Received Message
-
8/7/2019 Protective Multi Packet Randomized Transmission for the Accumulation of Information
54/54
10. REFERENCES
[1] Ian F. Akyildiz, Weilian Su, Yogesh Sankarasubramaniam, Erdal Cayirci,
(2002) A Survey On Sensor Networks Georgia Institute of Technology IEEE
Comm. Magazine, vol. 40, no. 8,pp. 102-114
[2] Ivan Gojmerac, Thomas Ziegler, Fabio Ricciato, Peter Reichl (2003)Adaptive
Multipath Routing for Dynamic Traffic Engineering Telecommunications
Research Center Vienna, University of Rome IEEE GLOBECOM
[3] Mike Burmester and Tri Van Le, (2004) Secure Multipath Communication in
Mobile Ad hoc Networks Florida State University. Proc. Intl Conf.
Information Technology: Coding and Computing, pp. 405-409
[4] Patrick P. C. Lee, Vishal Misra, and Dan Rubenstein (2005) Distributed
Algorithms for Secure Multipath Routing Columbia University Proc. IEEE
INFOCOM, pp. 1952-1963
[5] Shou-Heng Liu, Yung-Feng Lu, Chin-Fu Kuo, Ai-Chun Pang, Tei-Wei Kuo
(2001) The Performance Evaluation ofa Dynamic Configuration Method over
IPSEC National Taiwan University, Taiwan Institute for Information Industry,
Taiwan.
[6] Wenjing Lou and Yuguang Fang (2000) A Multipath Routing Approach for
Secure Data Delivery University of Florida IEEE 2001 Pg 1467-1473.
[7] Wenjing Lou, Wei Liu and Yuguang Fang (2004) SPREAD: Improving
Network Security by Multipath Routing University of Florida Proc. IEEE
INFOCOM, vol. 4, pp. 2404-2413
[8] Wenjing Lou, Younggoo Kwon (2006) H-SPREAD: A Hybrid Multipath