You are on page 1of 44

ROUTING ALGORITHMS FOR DYNAMIC, INTELLIGENT

TRANSPORTATION NETWORKS

ABSTRACT

The fundamental philosophy behind the Internet is expressed by the scalability


argument: no protocol, mechanism, or service should be introduced into the Internet if it does
not scale well. A key corollary to the scalability argument is the end-to-end argument: to
maintain scalability, algorithmic complexity should be pushed to the edges of the network
whenever possible.

Perhaps the best example of the Internet philosophy is TCP congestion control, which
is implemented primarily through algorithms operating at end systems. Unfortunately, TCP
congestion control also illustrates some of the shortcomings the end-to-end argument. As a
result of its strict adherence to end-to-end congestion control, the current Internet suffers
from main maladies: congestion collapse from undelivered packets.

The Internets excellent scalability and robustness result in part from the end-to-end
nature of Internet congestion control. End-to-end congestion control algorithms alone,
however, are unable to prevent the congestion collapse and unfairness created by applications
that are unresponsive to network congestion. To address these maladies, we propose and
investigate a novel congestion-avoidance mechanism called network border patrol (NBP).
NBP entails the exchange of feedback between routers at the borders of a network in order to
detect and restrict unresponsive traffic flows before they enter the network, thereby
preventing congestion within the network.

1
INTRODUCTION

1.1 ABOUT THE PROJECT

Data-centric networking, such as directed diffusions, has been commonly used for

wireless sensor networks because of its energy efficiency and scalability. It enables sensor

data to be disseminated from data sources to sinks with low delay. The successes of these

sensor networks have motivated even more challenging applications, thus increasing the

requirements for these sensor networks. For instance, video sensor networks requires larger

amount of real-time multimedia data to be disseminated with low latency, high throughput

and high delivery ratio. The main challenge is to develop a practical data-centric networking

algorithm that can maximize throughput and minimize delay in wireless sensor networking

environments.

Throughput is considered in some recent ad hoc protocols. The design of wireless

sensor network protocols is often guided by two principles self-detection of link quality and

in-network processing. This is necessary because the variability in link quality, low

bandwidth of wireless links and limited memory of sensor nodes. To quantify data

transmission quality in sensor networks, ETX (Expected Transmission Count), a link layer

metric, can be used by the network layer. the ETX of a route is computed by adding the ETX

of all the links in the route. However, using this route ETX, a slower path that has fewer hops

may be inappropriately selected (provided the best path has four or more hops). In propose

an improvement on computing the appropriate route ETX to rectify the above problem by

taking into account bottleneck links in paths that may cause higher delay. Our improved

method for computing ETX for a route measures intra-flow interference more accurately by

considering the maximum total ETX of any three consecutive links in a route.

2
1.2 SYSTEM SPECIFICATION

1.2.1 HARDWARE SPECIFICATION

System : Pentium IV 2.4 GHz

Hard Disk : 40 GB

RAM : 1 GB

Key Board : LG

Mouse : Logitech

Floppy Drive : 1.44 MB

Monitor : 15 inch VGA Color monitor

1.2.2 SOFTWARE SPECIFICATION

Operating System : Windows XP Professional

Front end : JDK 1.7/Netbeans 8.0

Coding Language : Java

3
1.2.3 SOFTWARE DESCRIPTION

FEATURES OF SOFTWARE

The software requirement specification is created at the end of the analysis


task. The function and performance allocated to software as part of system engineering are
developed by establishing a complete information report as functional representation, a
representation of system behavior, an indication of performance requirements and design
constraints, appropriate validation criteria.

FEATURES OF JAVA
Java platform has two components:
The Java Virtual Machine (Java VM)
The Java Application Programming Interface (Java API)
The Java API is a large collection of ready-made software components that
provide many useful capabilities, such as graphical user interface (GUI) widgets. The Java
API is grouped into libraries (packages) of related components.
The following figure depicts a Java program, such as an application or applet,
that's running on the Java platform. As the figure shows, the Java API and Virtual Machine
insulates the Java program from hardware dependencies.

As a platform-independent environment, Java can be a bit slower than native


code. However, smart compilers, well-tuned interpreters, and just-in-time byte code
compilers can bring Java's performance close to that of native code without threatening
portability.

4
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 communicate.
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
said 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.

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.
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, although each
session is unique. To mange multiple client connections, a server process must be
multithreaded or have some other means of multiplexing the simultaneous I/O.

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 Server Socket class is designed to be a listener, which waits for
clients to connect before doing anything. 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 anIOException.
Socket (InetAddress ipAddress, 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.
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.

6
TCP/IP SERVER SOCKETS

Java has a different socket class that must be used for creating server
applications. The ServerSocket class is used to create servers that listen for either local or
remote client programs to connect to them on published ports. ServerSockets are quite
different form normal Sockets.
When the user create a ServerSocket, it will register itself with the system as
having an interest in client connections.

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
multihomed 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.

URL

The Web is a loose collection of higher-level protocols and file formats, all unified
in a web browser. One of the most important aspects of the Web is that Tim Berners-Lee
devised a scaleable way to locate all of the resources of the Net. The Uniform Resource
Locator (URL) is used to name anything and everything reliably.
The URL provides a reasonably intelligible form to uniquely identify or address
information on the Internet. URLs are ubiquitous; every browser uses them to identify
information on the Web.

7
2. SYSTEM ANALYSIS

2.1 EXISTING SYSTEM

In an open CLOUD, different mobile nodes with different goals share their
resources in order to ensure global connectivity. However, some resources are consumed
quickly as the nodes participate in the network functions. For instance, battery power is
considered to be most important in a mobile environment. An individual mobile node may
attempt to benefit from other nodes, but refuse to share its own resources. Such nodes are
called selfish or misbehaving nodes and their behavior is termed selfishness or misbehavior.
One of the major sources of energy consumption in the mobile nodes of CLOUDs is wireless
transmission. A selfish node may refuse to forward data packets for other nodes in order to
conserve its own energy.
In CLOUDs, routing misbehavior can severely degrade the performance at the
routing layer. Specifically, nodes may participate in the route discovery and maintenance
processes but refuse to forward data packets.

2.1.1 DRAWBACKS

DSR performance degrades significantly in Mobile Ad hoc Networks due to the


packet losses.
Most of these packet losses result from the Route failures due to network mobility.
Greatly reduce DSR throughput.
DSR will time out because of these packet losses, as well as for Acknowledgement
losses caused by route failures.
Packet loss rate high.
If the cache size is set large, more stale routes will stay in caches because FIFO
replacement becomes less effective.

8
2.2 PROPOSED SYSTEM

Several techniques have been proposed to detect and alleviate the effects of such
selfish nodes in clouds. In proposed system two techniques were introduced, namely,
watchdog and path rater, to detect and mitigate the effects of the routing misbehavior,
respectively. The watchdog technique identifies the misbehaving nodes by overhearing on the
wireless medium. The path rater technique allows nodes to avoid the use of the misbehaving
nodes in any future route selections. The watchdog technique is based on passive
overhearing. Unfortunately, it can only determine whether or not the next-hop node sends out
the data packet. The reception status of the next-hop links receiver is usually unknown to the
observer.
We propose the E-BGP (Efficient Border Gateway Protocol)scheme to mitigate the
adverse effects of misbehaving nodes. The basic idea of the E-BGP scheme is that, when a
node forwards a data packet successfully over the next hop, the destination node of the next-
hop link will send back a special two-hop acknowledgment called E-BGP to indicate that the
data packet has been received successfully. Such a E-BGP transmission takes place for only a
fraction of data packets, but not all. Such a selective acknowledgment1 is intended to
reduce the additional routing overhead caused by the E-BGP scheme. Judgment on node
behavior is made after observing its behavior for a certain period of time.
Destination IP address Destination sequence number Advertised hop-count the route list will
be provide based on next hop count Next hop IP 1, hop-count expiration time.

2.2.1 FEATURES

Decreases with increasing normalized threshold indication of channel quality and


node separation distance.
Increase network life time.
No packet loss guaranteed.
High throughput.
Better performance.
Can share the data between different cloud is possible.

9
3. SYSTEM DESIGN AND DEVELOPMENT

The system design is an interactive process through which requirements are


translated into a blue print or a representation of software that can be accessed for quality
before code generation begins.

3.1 INPUT DESIGN

Input design is a part of over all system design, which requires careful attention.
Input of data as designed as user-friendly and easier. Input design is a process of converting
the user- oriented description of the input to the computer based information system into
programmer- oriented specification. The objective of the input design is to create an input
layout that is easy to follow and prevent operator errors.

Downloading process information is stored in for the future use. The user should
be search in his related information only. The goal of designing input data is to make easy,
error free and user-friendly. The following are some description of the screen which gets the
input from the user. The input design for this project can be preceded through Socket in java
but it will be considered as peer to peer communication.

The input forms used in this project are,

Server form
Kernel buffer process form

SERVER FORM

In the server form the controls such as Receiver IP, Time details, File type,

File size. Receiver IP (Internet Protocol) control is used for entering the destination IP

address. Time detail control is used to show the time of the file when the user receives the

file. File type control is used to select the type of file by receiver.

10
File size control is used to enter the size of the file. File list is used to maintain the

file List in different file formats. Send the appropriate file list to the Client for user selected

file type. Also allocate the server for each client. The Exit button is used to exit the form.

KERNEL BUFFER PROCESS FORM

In the kernel buffer process form the control such as kernel buffer. The kernel

buffer is given using textbox. Kernel Buffer is the essential center of a computer Operating

system, the core that provides basic services for all other parts of this project. A synonym is

nucleus. A kernel can be contrasted with a shell; the outermost part of this project interacts

with user commands.

Kernel and shell are terms used more frequently based on file type. Kernel Buffer

is used to store the file temporarily. It allocates the free space for another type of file. Exit

button is used to exit from the form.

3.2 OUTPUT DESIGN

The output design refers to the results and information that are generated by the

system for many end users. Efficient and intelligent output design improves the system

relationships with the user and help in decision making. The output of the system is in the

form of report.

Client Report

CLIENT REPORT

11
Selecting the download file format from the list. After selecting the type, that type

of files names are displayed. Selecting the filename from the filename list and then download

file request send to IBS Server. Download process performs from the allocated Main server to

client through IBS Server. Checks the client request, that is comes from authorized client or

not. It can dynamically reallocate incoming external loads at each node.

Each client request processing time, the threshold value is dynamically changed.

This value is used to assign the server in one client. Dynamic load segmentation process is

performed and request redirected to the server. Get the download Request from IBS Server.

Performs the each client download request process one by one. Synchronization method via

process all the client request.

Every new client request for the download process, the Threshold value is

updated. Threshold value is find out the client request to IBS server and IBS Server send the

request to current process allocate server and get the response time from the above same vice

versa. Each time the compare the existing response time and current response time.

MEMORY MANAGER

Memory Manager is used to allocate the memory which is based on the size of

the file. The Exit button is used to exit from the form.

INTRUSION SEGMENTATION SERVER

Intrusion Segmentation Server (IBS) is used to calculate the node distance, file

size and identify the intruders IP address.

3.3 DATABASE DESIGN

12
Database design deals with the table structure and organization. The purpose of
the database is to enamel easy information for the user. The general theme behind is to handle
the information as an integrated one. The database system is basically computerized record
maintain the information available demand.

Database is a collection of interrelated data stored in a format that the user can
access the information easily and quickly while accessing the database. Redundancy should
be avoided to serve many users who use the database efficiently and also to increase the
system performance to attain all these objectives the data should be stored only once.

3.4 SYSTEM DEVLOPMENT


3.4.1 DESCRIPRION OF MODULE

Module 1: Route Request between cloud users


When a source node wants to send packets to a destination to which it does not
have a route, it initiates a Route Discovery by broadcasting a ROUTE REQUEST. The node
receiving a ROUTE REQUEST checks whether it has a route to the destination in its cache. If
it has, it sends a ROUTE REPLY to the source including a source route, which is the
concatenation of the source route in the ROUTE REQUEST and the cached route. If the node
does not have a cached route to the destination, it adds its address to the source route and
rebroadcasts the ROUTE REQUEST. When the destination receives the ROUTE REQUEST,
it sends a ROUTE REPLY containing the source route to the source. Each node forwarding a
ROUTE REPLY stores the route starting from itself to the destination. When the source
receives the ROUTE REPLY, it caches the source route.

Module 2: Message Transfer Based on E-BGP


The Message transfer relates with that the sender node wants to send a message
to the destination node after the path is selected and status of the destination node through is
true. The receiver node receives the message completely and then it send the
acknowledgement to the sender node through the router nodes where it is received the
message.
Module 3: Route Maintenance

13
Route Maintenance, the node forwarding a packet is responsible for confirming
that the packet has been successfully received by the next hop. If no acknowledgement is
received after the maximum number of retransmissions, the forwarding node sends a ROUTE
ERROR to the source, indicating the broken link. Each node forwarding the ROUTE ERROR
removes from its cache the routes containing the broken link.

Module 4: Cache Updating


When a node detects a link failure, our goal is to notify all reachable nodes that
have cached that link to update their caches. To achieve this goal, the node detecting a link
failure needs to know which nodes have cached the broken link and needs to notify such
nodes efficiently. Our solution is to keep track of topology propagation state in a distributed
manner.
The algorithm starts either when a node detects a link failure or when it receives a
notification.
In a cache table, a node not only stores routes but also maintain two types of
information for each route: (1) how well routing information is synchronized among nodes on
a route; and (2) which neighbor has learned which links through a ROUTE REPLY. Each
node gathers such information during route discoveries and data transmission, without
introducing additional overhead. The two types of information are sufficient; because each
node knows for each cached link which neighbors have that link in their caches.

14
SCOPE OF THE PROJECT

We propose the Multi acknowledgement technique to detect such misbehaving nodes.


Similar to AODV, but with multiple paths identified on each route discovery. Paths are loop-
free and link-disjoint. Routing Table Entries: Routes containing such nodes will be eliminated
from consideration. The source node will be able to choose an appropriate route to send its
data. In this work, we use TCP to demonstrate the adverse effect of routing misbehavior and
the performance of our proposed scheme.
The attackers (misbehaving nodes) are assumed to be capable of performing the
following tasks:
Dropping any data packet,
Masquerading as the node that is the receiver of its next-hop link,
Sending out fabricated E-BGP packets,
Sending out fabricated hn, the key generated by the E-BGP packet senders, and
Claiming falsely that its neighbor or next-hop links are misbehaving.

Problem Analysis

In this section, we describe the problems caused by routing misbehavior. But first,
we summarize the notations and assumptions used throughout this paper.

Routing Misbehavior Model

We present the routing misbehavior model considered in this paper in the context of
the DSR protocol. Due to DSRs popularity, we use it as the basic routing protocol to
illustrate our proposed add-on scheme.

A selfish node does not perform the packet forwarding function for data packets
unrelated to itself. However, it operates normally in the Route Discovery and the Route
Maintenance phases of the DSR protocol. Since such misbehaving nodes participate in the
Route Discovery phase, they may be included in the routes chosen to forward the data
packets from the source. The misbehaving nodes, however, refuse to forward the data packets
from the source. This leads to the source being confused.

15
Probability of Misbehaving Routes

In order to demonstrate the adverse effect of routing misbehavior, we estimate


the probability of misbehaving routes in this subsection. A route is defined as misbehaving
when there is at least one router along the route that can be classified as misbehaving.
Our analysis is based on the following assumptions:
The network nodes are randomly distributed over the entire network area. Each
nodes location is independent of all other nodes locations. There are N nodes in the
network area of size X _ Y
The source and the destination of each transaction are chosen randomly among all
nodes.
Nodes (other than the source and the destination) are chosen as misbehaving nodes,
independently, with probability pm.

16
4. 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.

OBJECTIVES OF TESTING

Testing is the process of executing a program with the intent of


finding an error.
A successful test is one that uncovers a discovered the error.

TYPES OF TESTING

There are six testing phases


Unit testing
Integration testing
Validation testing
Acceptance testing

UNIT TESTING

Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and that program input produces valid outputs. All
decision branches and internal code flow should be validated. It is the testing of individual
software units of the application. It is done after the completion of an individual unit before
integration.

17
INTRUSION SEGMENTATION SERVER MODULE
The Intrusion Segmentation Server Module is used to find the intruders IP
address, node distance and file size. When the user clicks the DOWNLOAD button then the
Intrusion segmentation server is link to the client module to the appropriate servers based on
its response time. If the proper IP address is provided by the user then the file is opened.
Otherwise the error message this is intruder is identified in the background process and the
corresponding file is not invoked.

CLIENT MODULE
In the client module it gets the information such as list of files, File type,
Location and Download. When the user enters all the above fields and then the link is
connected to the server form. The server form sends the appropriate file list to the client.
When the user selecting the file name from the file name list and clicks the
DOWNLOAD button the file will be downloaded and stored in the particular location.
KERNEL BUFFER MODULE

In the kernel buffer module, when the user enter the receiver IP, time detail,
file type and file size then the process is linked to the memory manager form. It maintains a
buffer cache registry. That is, the kernel maintains a mapping between file block numbers and
file which is selected by users that contain selected File blocks In order to download the file
by user KB can reuse buffers even if no application is currently mapping the buffer the
kernel remembers whether a page contains a buffer or not and tries to delay reusing pages
containing buffers for as long as possible.

INTEGRATION TEESTING
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 components or software
applications, e.g. components in a software system or one step up software applications at the
company level interact without error.
In this project, the server form gives different links to the entire modules. At
that time of integration, testing is performed to check whether server form is correctly linked
to the client module.
18
Integration testing for Server Synchronization

Testing the IP Address for to communicate with the other Nodes.


Check the Route status in the Cache Table after the status information is received by
the Node.
The Messages are displayed throughout the end of the application.
VALIDATION TESTIN

The procedure of validation testing is to keep the system safe from errors. The basic
purpose is to conform that the system satisfies the necessary conditions. This testing is
planned when the incorrect data is given, the user receives the error message. A test plan
output lines the classes of test to be conducted and test a procedure device specific test case
that will be used to demonstrate conformity with the requireme In this IBS module, when the
user enters the text instead of number, then the intrusion segmentation server provide the
error message as invalid address and validate the IP Address and download the particular
file.

In the client module, when the user enters the number instead of text in the file format
textbox then it will display the error message as Unknown format and choose the selected
file format.

ACCEPTANCE TESTING

User Acceptance Testing is a critical phase of any project and requires


significant participation by the end user. It also ensures that the system meets the functional
requirements. The result will be verified by IBS, Kernel Buffer, and Memory Manager

Acceptance testing for Data Synchronization:

19
The Acknowledgements will be received by the Sender Node after the Packets are
received by the Destination Node.
The Route adds operation is done only when there is a Route request in need.
The Status of Nodes information is done automatically in the Cache Updating
process.

OUTPUT TESTING
After performing the validation testing the next step is the output testing of the
proposed system. Since no system could be useful if it does not produce the required output
format. Asking the users about format required by them test the output generated or displayed
by the system under consideration. Here the output form is considered on screen and in
printed format.

4.1.SYSTEM IMPLEMENTATION & MAINTENANCE

20
The implementation is the final phase. It involves user system testing and running the
developed proposed system. While testing, errors are noted and corrections are made.
The implementation consists of the following steps:
Testing the developed programs with sample data.
Identification of any errors while running the project.
Creating the files of the system with the actual data.
Training of users to adapt them to the new operating system.

The implementation can be preceded through Socket in java but it will be considered
as peer to peer communication .For proactive routing user need dynamic routing. So java will
be more suitable for platform independence and networking concepts. For maintaining route
information user go for SQL-Server as database back end.

In the memory manager, the users have centralized memory manager Server. The
memory manager Server performs the following process. Process the Client Request /
Response. Maintain the file List in different file formats. Send the appropriate file list to the
Client for user selected file type. Also allocates the server for each client.

Every new client request for the download process, the Threshold value is updated.
Threshold value is find out the client request to memory manager server and memory
manager Server send the request to current process allocate server and get the response time
from the above same wise versa. Each time user compares the existing response time and
current response time. Kernel Buffer is forward the client request to the appropriate servers
based on its response time.

Each Request performing time user compare the Existing and current response time
.If the current response is greater than to the previous value then the next server allocating for
the next request. Every client request comes to Memory Manager to KB server then this way
only server is allocated. The new process is comes then now it will go the new allocating
server.
Server get the Client request file from the appropriate server place and that is transfer
to the client through the Intrusion Detection Monitor Server. All the processing is done
through by Memory Manager, Kernel Buffer, and IDM Servers.

21
Memory manager Server is allocating the server for every new client request.
Dynamically allocating the server for each client. But process performed all the clients
execute memory manager synchronously. Every request, response, allocating server these all
information's are maintain by one queue in server. These processes are handled by the
memory manager server

4.2 SYSTEM MAINTENANCE

The objectives of this maintenance work are to make sure that the system
gets into work all time without any bug. Provision must be for environmental changes which
may affect the computer or software system. This is called the maintenance of the system.
Nowadays there is the rapid change in the software world. Due to this rapid change, the
system should be capable of adapting these changes. In this project the process can be added
without affecting other parts of the system.
Maintenance plays a vital role. The system is liable to accept any
modification after its implementation. This system has been designed to favor all new
changes. Doing this will not affect the systems performance or its accuracy . Maintenance
is necessary to eliminate errors in the system during its working life and to tune the system to
any variations in its working environment. It has been seen that there are always some errors
found in the system that must be noted and corrected. It also means the review of the system
from time to time.

The review of the system is done for:


Knowing the full capabilities of the system.
Knowing the required changes or the additional requirements.
Studying the performance.

4.3 SCOPE FOR FUTURE DEVELOPMENT

22
Our future work considers the implementation and evaluation of the proposed
suboptimal solution on a multi node system. To this end, the user will consider a wireless
sensor network where the nodes are constrained in computing power as well as power
consumption.

The future enhancement includes a more advances and secures the data which
will be incorporate all the methods, which are convenient for this project. The future
enhancements could be converting the entire application into new technology.

Any additional feature can be included with this system without affection the existing
architecture of module description.
The proposed system has so many advanced features than the existing system by
means of user friendliness.
In addition to the features given in the proposed system, further extension and
redesign can be done according to the client requirement.

But few possible extension modules as a part of initial level suggestions to give
a general idea to the clients who are implementing the project can be considered.

5. CONCLUSION

23
Choosing Hop Count or TTL value as the parameter for filtering the spoofed packets
has several advantages. The HC based filtering techniques does not require much change in
the existing network architecture. Most of the earlier hop count based schemes are based on
the assumptions that

1. When a packet is sent between two hosts, as long as the same route is taken, the
number of hops will be the same.
2. Packets will take the same route to the destination always.
3. Routes change infrequently.

The number of IP addresses an attacker can successfully spoof is decreased. We have a


good Renew procedure through which we can easily identify any link failures or network
changes. The normal packet survival ratio (NPSR) and network performance of DMIPS is
more than that of other hop count based schemes. In our scheme, most of the spoofed packets
are filtered in the AS itself. It has two advantages. Firstly, it avoids congestion at several
points in the network during the attack. Secondly, it minimizes the server overhead in
filtering.

BIBLIOGRAPHY

24
I.BOOK REFERENCE

O.Sinnen, Task Scheduling for Parallel Systems, Wiley Series on Parallel and Distributed
Computing. Wiley-Interscience, 2016.
Effective Java By Joshua BlochJava: The Complete Reference Edition):
Effective Java 2nd EditionHead First Java.
The Algorithm Design Manual, 2nd Edition by Steven S SkienaAlgorithms Unlocked by
Thomas Cormen.

II.WEB REFERENCES

1. www.sun.java.com
2. www,roseindia.net
3. www.w3schools.com/java
4. www.java2s.com

25
.
APPENDICES
A) DATA FLOW DIAGRAM

Route Request

Node Information

Sender
Check cache table for path

Router Table (IP Info)

Send Route Request to Neighbor nodes


Route Reply

Node

26
Message Transfer

Sender

Check cache table for status and Path

Router Table (IP Info)

Send Packets

Receiver

27
Route Maintenance

Sender

Check cache table for status and Path

Router Table (IP Info)

Send Packets

Router Nodes Failure

Receiver

28
Cache Update

Failure Node

Connected Nodes Information

Router Table (IP Info)

Send Status

Receiver Nodes

29
SYSTEM FLOW DIAGRAM
Request

Checks the client request, THAT COMES from authorized client or not

dynamically reallocate incoming external Data Transfers at EACH CLUSTER

HRESHOLD VALUE IS DYNAMICALLY CHANGING VALUE IS USED TO ASSIGN IS SERVER OR CLIENT

DATA TRANSFER BASED PROCESS IS PERFORMED

Request is redirecting to server

30
UML DIAGRAM

Check Node

Check Random Traffic Variance


Find Cluster Nodes Collision, Buffering, Windowing

Verify Node Status


Server/Root Node
Use Cluster IDs
Find MSND Path Memory, Port, Kernel Buffer

Request Data from Neighbor

Route Discover

Receives Data

User Client

31
B) TABLE STURCTURE

TABLE NAME : TRANSMISSION INFORMATION


USAGE : This table is used to display the transmission time.

TABLE STRUCTURE

FIELD NAME DATA TYPE SIZE DESCRIPTION


Tran time Number 20 Transmission time
Down time Number 15 Last download time
Port no Number 25 Allotted portno

TABLE NAME : USER ALLOCATION


USAGE : This table is used to display the allocate the downloaded
file in particular location.

TABLE STRUCTURE

FIELD NAME TYPE SIZE DESCRIPTION


Sys name Text 30 System name
Down file Text 30 Downloaded file
Port Number 25 Port
Kernel Number 30 Kernel value
Memory Number 25 Memory occupied

C) SAMPLE CODING

32
LBServer.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;
import java.net.*;
import java.util.*;
import java.sql.*;
import javax.sql.*;
import java.lang.*;
import java.util.Vector;
import java.awt.Toolkit;
import java.util.Timer;
import java.util.TimerTask;
import java.util.StringTokenizer;
import javax.naming.*;
import javax.naming.directory.*;
import java.util.Calendar;
class server1 extends JFrame
{
long delay,time;
static int i=0,st1,counter;
String mesg,act="active",ss1;
ServerSocket ss=new ServerSocket(2222);
Connection con;
Statement st;
DefaultListModel model1;
private JLabel jLabel1;
private JLabel jLabel2;
private JLabel jLabel3;
private JLabel jLabel4;
private JList jList1;
33
private JScrollPane jScrollPane1;
private JTextArea jTextArea1;
private JScrollPane jScrollPane2;
private JButton jButton1;
private JButton jButton2;
private JButton jButton3;
private JButton jButton4;
private JButton jButton5;
private JButton jButton6;
private JPanel contentPane;
Vector data=new Vector();
ArrayList a1=new ArrayList();
ArrayList a2=new ArrayList();
ArrayList allname=new ArrayList();
String logsys,log,sname,all,desname,smesg;
Thread t1;
String source,destination,state,smsg,srcname,msgtime;
FileOutputStream output,op1;
String fd;
boolean sta=true,stak;
int end;

// ServerSocket ss1=new ServerSocket(4444); // forwarding msg to appropriate port..


Socket cs,cs1,cs2;
ObjectInputStream in,in1,in2;
ObjectOutputStream ois1,ois2,ois3;

String res1;
int staa=0,che;
String hh;
Vector v1,v2;
String name[]=new String[100];
String allsta;
int portno;
34
int numWarningBeeps=10 ;
boolean sss;
Vector pic=new Vector();
Vector text=new Vector();
Vector allfile=new Vector();
server1()throws Exception
{
JLabel bg;
bg = new JLabel(new ImageIcon("bg1.gif"));
v1=new Vector();
setResizable(false);
allsta="allow";
jLabel1 = new JLabel(); //new ImageIcon("bg2.gif")
jLabel2 = new JLabel();
jLabel3 = new JLabel();
jLabel4 = new JLabel();
model1=new DefaultListModel();
jList1 = new JList();
jScrollPane1 = new JScrollPane();
jTextArea1 = new JTextArea();
jScrollPane2 = new JScrollPane();
jButton1 = new JButton();
jButton2 = new JButton();
jButton3 = new JButton();
jButton4 = new JButton();
jButton5 = new JButton();
jButton6 = new JButton();
contentPane = (JPanel)this.getContentPane();
op1=new FileOutputStream("msgbackup.txt");
output=new FileOutputStream("msgbackup.txt",true);
jTextArea1.setText("Server Started ....");
//jLabel1.setText("Currently Connected System ...");
jLabel2.setText("Message Details ...");
jLabel3=new JLabel(new ImageIcon("OCGRR.jpg"));
35
// jLabel4.setText("jLabel4");
JLabel jLabel7=new JLabel(new ImageIcon("bg1.jpg"));
jList1.addListSelectionListener(new ListSelectionListener()
{
public void valueChanged(ListSelectionEvent e)
{
//jList1_valueChanged(e);
} });
jScrollPane1.setViewportView(jList1);
jScrollPane2.setViewportView(jTextArea1);

//--------Changed---------down--------->
jButton1.setText("Blocked");
jButton1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e)


{
act="dactive";
jButton5.setEnabled(true);
jButton1.setEnabled(false);
//System.out.println(" Allow clicked ...."+allsta);
} });

jButton5.setText("Non Blocked"); ic static void main(String args[])throws IOException


source sf=new source(""); }}

D) SCREEN SHOT

36
IP Gateway Router (WDV Implemented):

37
Message Server MSND:

Router Started:

38
Server Started:

Client side Listing Available Nodes on the Network:

39
Select the Destination:

Browse File to Send:

40
Selected file will be encrypted normal SEVQ Algorithm:

41
Encrypted file sending via Watch Dog Validated Router:

File Reach By E-BGPProtocol

42
File Transfer Information :

43
44

You might also like