Sei sulla pagina 1di 62

ROUTING ANALYSIS

1. INTRODUCTION
For decades, it has been the responsibility of the network to route traffic. Recent
studies have shown that there is inherent inefficiency in network-level routing from the
users perspective. In response to these observations, we routes themselves by using
either source routing or overlay routing. These end-to-end route selection schemes are
shown to be effective in addressing some deficiencies in todays IP routing. For example,
measurements from the Detour project show that in the Internet, a large percentage of
flows can find better alternative paths by relaying among overlay nodes, thereby
improving their performance. Such end-to-end route selection schemes are selfish by
nature in that they allow end users to greedily select routes to optimize their own
performance without considering the system wide criteria.
It is an open question is how selfish routing performs in Internet-like
environments. This is a challenging question because todays Internet is unique in the
following respects.
First, topologies and traffic demands of the Internet are not arbitrary but have
certain structures. The worst-case results may not be applicable to realistic topologies and
traffic demands. A general open question is whether selfish routing results in poor
performance in Internet-like environments (i.e., under realistic network topologies and
traffic demands).
Second, users in overlay networks do not have full flexibility in specifying their
end-to-end paths. Due to limited availability of source routing support in the routers, the
path between any two network nodes is dictated by the Internet routing protocols, such as
OSPF, MPLS, or BGP. While overlay networks provide another mechanism to enable
users to control their routes by relaying through overlay nodes, the route between two
overlay nodes is still governed by the underlying routing protocol. A natural question is
how to model such selfish overlay routing and whether selfish overlay routing results in
poor performance.

DEPARTMENT OF CSE, SRMCEW

ROUTING ANALYSIS
Third, even if selfish overlays (i.e., overlays consisting of selfish traffic) yield
good performance, they can be deployed only incrementally. As a result, background
traffic and overlay traffic will interact with each other. We call such interactions
horizontal interactions. An important question is how such selfish traffic affects the
remaining traffic routed using the traditional routing protocols. A related question is
whether multiple overlays result in poor performance.
Fourth, the way in which selfish users choose their routes can interact with traffic
engineering. We call such interactions vertical interactions, which can be viewed as the
following iterative process. First, Internet Service Providers (ISPs) adjust network-level
routing according to traffic demands, using schemes of IP routing to minimize network
cost. Then selfish users adapt to changes in the underlying default routes by choosing
different overlay paths to optimize their end-to-end performance. Such adaptation
changes traffic demands and triggers traffic engineering to readjust the default routes,
which in turn makes selfish users adapt to new routes. Given the mismatch between the
objectives of selfish routing and traffic engineering, an interesting question is whether
selfish routing interacts poorly with traffic engineering.
We find that in contrast to theoretical worst cases, selfish routing in Internet-like
environments yields close to optimal average latency, which can be much lower than that
of default network-level routing. This is true for both source routing and overlay routing.
Moreover, we show selfish routing achieves good performance without hurting the traffic
that uses default network-level routing.
We show that an important impact of selfish routing on Internet-like environments
is the fundamental mismatch between the objectives of selfish routing and traffic
engineering. In particular, our results show that the low latency of selfish routing is often
achieved at the expense of increased congestion on certain links.
We take a game-theoretic approach to compute the traffic equilibria of various
routing schemes and then evaluate their performance. We focus on intra-domain network
environments because recent advances in topology mapping

and

traffic

estimation allow us to use realistic network topologies and traffic


demands for such scenarios. Understanding selfish routing in interdomain environments is also of great interest but is more challenging.
DEPARTMENT OF CSE, SRMCEW

ROUTING ANALYSIS
Brief Introduction

Game theory
Game theory is now finding its applications in computer science. The
nature of computing is changing because of success of Internet and the revolution
in Information technology. The advancement in technologies have made it
possible to commoditize the components such as network, computing, storage and
software.
In the new paradigm, there are multiple entities (hardware, software
agents, protocols etc.) that work on behalf of different autonomous bodies (such
as a user, a business etc.) and provide services to other similar entities. Internet
has made is possible for many such geographically distributed autonomous
entities to interact with each other and provide various services.
These entities will work for their respective owners to achieve their
individual goals (maximize their individual payoffs), as opposed to obtaining a
system optima (that is socially desirable). This results in an entirely different
paradigm of computing where the "work" is performed in a completely
distributed/decentralized fashion by different entities where the primary objective
of each entity is to maximize the objective of its owner.

Traffic engineering
Traffic engineering is a method of optimizing the performance of a
telecommunications network by dynamically analyzing, predicting and regulating
the behavior of data transmitted over that network. Traffic engineering is also
known as teletraffic engineering and traffic management. The techniques of traffic
engineering can be applied to networks of all kinds, including the PSTN (public
switched telephone network), LANs (local area networks), WANs (wide area
networks), cellular telephone networks, proprietary business and the Internet.

DEPARTMENT OF CSE, SRMCEW

ROUTING ANALYSIS

Network

A network is a group of two or more computer systems linked together. There


are many types of computer networks, including:

Local-area networks (LANs) : The computers are geographically close

together (that is, in the same building).


Wide-area networks (WANs) : The computers are farther apart and are

connected by telephone lines or radio waves.


Campus-area networks (CANs): The computers are within a limited

geographic area, such as a campus or military base.


Metropolitan-area networks MANs): A data network designed for a town

or city.
Home-area networks (HANs): A network contained within a user's home
that connects a person's digital devices.

Topology
In communication networks, a topology is a usually schematic description
of the arrangement of a network, including its nodes and connecting lines. There
are two ways of defining network geometry: the physical topology and the logical
(or signal) topology. The physical topology of a network is the actual geometric
layout of workstations.
In the bus network topology, every workstation is connected to a main
cable called the bus. Therefore, in effect, each workstation is directly

connected to every other workstation in the network.


In the star network topology, there is a central computer or server to which
all the workstations are directly connected. Every workstation is indirectly

connected to every other through the central computer.


In the ring network topology, the workstations are connected in a closed
loop configuration. Adjacent pairs of workstations are directly connected.

DEPARTMENT OF CSE, SRMCEW

ROUTING ANALYSIS

The mesh network topology employs either of two schemes, called full
mesh and partial mesh. In the full mesh topology, each workstation is
connected directly to each of the others. In the partial mesh topology,
some workstations are connected to all the others, and some are connected

only to those other nodes with which they exchange the most data.
The tree network topology uses two or more star networks connected
together. The central computers of the star networks are connected to a
main bus. Thus, a tree network is a bus network of star networks.

Overlay network
An overlay network is a computer network which is built on the top of
another network. Nodes in the overlay can be thought of as being connected by
virtual or logical links, each of which corresponds to a path, perhaps through
many physical links, in the underlying network.
For example, distributed systems such as cloud computing, peer-to-peer
networks, and client-server applications are overlay networks because their nodes
run on top of the Internet. The Internet was originally built as an overlay upon the
telephone network while today (through the advent of VoIP), the telephone
network is increasingly turning into an overlay network built on top of the
Internet.
Overlay networks have also been proposed as a way to improve Internet
routing, such as through quality of service guarantees to achieve higher-quality
streaming media. Previous proposals such as IntServ, DiffServ, and IP multicast
have not seen wide acceptance largely because they require modification of all
routers in the network.
On the other hand, an overlay network can be incrementally deployed on
end-hosts running the overlay protocol software, without cooperation from ISPs.
The overlay has no control over how packets are routed in the underlying network
between two overlay nodes, but it can control, for example, the sequence of

overlay nodes a message traverses before reaching its destination.


Routing

DEPARTMENT OF CSE, SRMCEW

ROUTING ANALYSIS
In internetworking, the process of moving a packet of data from source to
destination. Routing is usually performed by a dedicated device called a router.
Routing is a key feature of the Internet because it enables messages to pass from
one computer to another and eventually reach the target machine.
Each intermediary computer performs routing by passing along the
message to the next computer. Part of this process involves analyzing a routing
table to determine the best path. Routing is often confused with bridging, which
performs a similar function.
The principal difference between the two is that bridging occurs at a lower
level and is therefore more of a hardware function whereas routing occurs at a
higher level where the software component is more important. And because
routing occurs at a higher level, it can perform more complex analysis to
determine the optimal path for the packet.

Optimization

Finding an alternative with the most cost effective or highest achievable


performance under the given constraints, by maximizing desired factors and
minimizing undesired ones. In comparison, maximization means trying to attain
the highest or maximum result or outcome without regard to cost or expense.
Practice of optimization is restricted by the lack of full information, and the lack
of time to evaluate what information is available (see bounded reality for details).
In computer simulation (modeling) of business problems, optimization is achieved
usually by using linear programming techniques of operations research.

DEPARTMENT OF CSE, SRMCEW

ROUTING ANALYSIS

1.1 PROBLEM DEFINITION


A number of recent studies have reported that network-level routing is inefficient
from the users perspective. For example, Savage et al. use Internet measurements to
show that the default routing path is often suboptimal in terms of latency, loss rate, and
TCP throughput. The suboptimal performance of network-level routing is inevitable due
to routing hierarchy and policy, as well as different routing objectives used by network
operators, whose goal is to avoid high utilization.
Moreover, stability problems with routing protocols, such as BGP, could make
things even worse. As a result, there has been a movement to give users more autonomy
in choosing their routes by using source routing or overlay routing networks.
1.2 EXISTING SYSTEM
The existing network level routing is used to send the packets from source to
destination through router. The router which maintain the routing control and search the
destination address, if the destinations address available then the router send the packets
to destination or else it send the packets to nearest router.
1.2.1 IP routing
IP Routing is an umbrella term for the set of protocols that determine the path that
data follows in order to travel across multiple networks from its source to its destination.
Data is routed from its source to its destination through a series of routers, and
across multiple networks. The IP Routing protocols enable routers to build up a
forwarding table that correlates final destinations with next hop addresses.
These protocols include:

BGP (Border Gateway Protocol)

IS-IS (Intermediate System - Intermediate System)

DEPARTMENT OF CSE, SRMCEW

ROUTING ANALYSIS

OSPF (Open Shortest Path First)

RIP (Routing Information Protocol)


When an IP packet is to be forwarded, a router uses its forwarding table to

determine the next hop for the packet's destination (based on the destination IP address in
the IP packet header), and forwards the packet appropriately. The next router then repeats
this process using its own forwarding table, and so on until the packet reaches its
destination. At each stage, the IP address in the packet header is sufficient information to
determine the next hop; no additional protocol headers are required.

Fig.1 IP Routing
1.2.2 Goals of IP routing protocols
The goals described in the following list are common for any IP routing protocol,
regardless of its underlying logic type:

To dynamically learn and fill the routing table with a route to all subnets in the
network.

DEPARTMENT OF CSE, SRMCEW

ROUTING ANALYSIS

If more than one route to a subnet is available, to place the best route in the
routing table.

To notice when routes in the table are no longer valid, and to remove those routes
from the routing table.

If a route is removed from the routing table and another route through another
neighboring router is available, to add the route to the routing table. (Many people
view this goal and the preceding one as a single goal.)

To add new routes, or to replace lost routes, with the best currently available route
as quickly as possible. The time between losing the route and finding a working
replacement route is called convergence time.

To prevent routing loops.


Routing protocols can become rather complicated, but the basic logic that they

use is relatively simple. Routing protocols take the routes in a routing table and send a
message to their neighbors telling them about the routes. After a while, everyone has
heard about all the routes.
1.2.3 Working
A router passes data between multiple networks. It works at layer 3 i.e. network
layer, which means that it must be able to understand the data packets so that it can route
them to their destination.
Routers are essentially computers optimized for handling packets that have to be
transferred between separate networks. Routers attempt to send packets from their source
to their destination in the fastest possible way, which is not always the absolute shortest
path.
On a network, packets with destinations on the LAN go directly from the sending
machine to the destination machine without any intermediaries. However, if the
destination address of a packet is outside the LAN, the sending machine sends it to the
DEPARTMENT OF CSE, SRMCEW

ROUTING ANALYSIS
router, which the sending machine knows as default gateway, and has no further
interaction with that packet.
When the router receives a packet destined for a point outside the LAN, it looks
to see if it has a route to get the packet to that destination network. If it does, it will send
the packet to the next stop.

Fig.2 Router in internet

1.3 DRAWBACKS OF EXISTING SYSTEM

Routing hierarchy
Hierarchical routing is the procedure of arranging routers in a hierarchical
manner. A good example would be to consider a corporate intranet. Most

DEPARTMENT OF CSE, SRMCEW

10

ROUTING ANALYSIS
corporate intranets consist of a high speed backbone network. Connected to this
backbone are routers which are in turn connected to a particular workgroup. These
workgroups occupy a unique LAN.
The reason this is a good arrangement is because even though there might
be dozens of different workgroups, the span 2. Even if the workgroups divided
their LAN network into smaller partitions, the span could only increase to 4 in
this particular example.
Considering alternative solutions with every router connected to every
other router, or if every router was connected to 2 routers, shows the convenience
of hierarchical routing. It decreases the complexity of network topology, increases
routing efficiency, and causes much less congestion because of fewer routing
advertisements.
With hierarchical routing, only core routers connected to the backbone are
aware of all routes. Routers that lie within a LAN only know about routes in the
LAN. Unrecognized destinations are passed to the default route.

Fig.3 Routing Hierarchy

DEPARTMENT OF CSE, SRMCEW

11

ROUTING ANALYSIS

Policy routing
In computer networking, policy-based routing (PBR) is a technique used
to make routing decisions based on policies set by the network administrator.
When a router receives a packet it normally decides where to forward it based on
the destination address in the packet, which is then used to look up an entry in a
routing table.
However, in some cases, there may be a need to forward the packet based
on other criteria. For example, a network administrator might want to forward a
packet based on the source address, not the destination address.
This should not be confused with source routing. Policy-based routing
may also be based on the size of the packet, the protocol of the payload, or other
information available in a packet header or payload. This permits routing of
packets originating from different sources to different networks even when the
destinations are the same and can be useful when interconnecting several private
networks.

DEPARTMENT OF CSE, SRMCEW

12

ROUTING ANALYSIS

Fig.4 Policy Routing

Equipment failure and transient instability


The term downtime is used to refer to periods when a system is
unavailable. Downtime or outage duration refers to a period of time that a system
fails to provide or perform its primary function.
Reliability, availability, recovery, and unavailability are related concepts.
The unavailability is the proportion of a time span that a system is unavailable or
offline. This is usually a result of the system failing to function because of an
unplanned event, or because of routine maintenance.

DEPARTMENT OF CSE, SRMCEW

13

ROUTING ANALYSIS
The term is commonly applied to networks and servers. The common
reasons for unplanned outages are system failures (such as a crash) or
communications failures (commonly known as network outage).

Slow reaction (if any) to network congestion


In data networking and queuing theory, network congestion occurs when a
link or node is carrying so much data that its quality of service deteriorates.
Typical effects include queuing delay, packet loss or the blocking of new
connections.
A consequence of these latter two is that incremental increases in offered
load lead either only to small increases in network throughput, or to an actual
reduction in network throughput.
Network protocols which use aggressive retransmissions to compensate
for packet loss tend to keep systems in a state of network congestion even after
the initial load has been reduced to a level which would not normally have
induced network congestion. Thus, networks using these protocols can exhibit
two stable states under the same level of load.

Fig.5 Congestion in network


DEPARTMENT OF CSE, SRMCEW

14

ROUTING ANALYSIS

1.4 PROPOSED SYSTEM


The main aim of this project is to compare the performance of different routing
schemes using realistic network topologies and traffic demands. We use a game-theoretic
approach to investigate the performance of selfish routing in Internet-like environments
based on realistic topologies and traffic demands.
Selfish routing achieves close to optimal average latency in such environments.
However, such performance benefits come at the expense of significantly increased
congestion on certain links.
Moreover, the adaptive nature of selfish overlays can significantly reduce the
effectiveness of traffic engineering by making network traffic less predictable.
In the proposed selfish routing, the end users pick their own routing path to send
the packets from source to destination. Studies based on small scale deployment show it
improves performance. There are two types of selfish routing, they are

Selfish source routing (e.g., Nimrod).


Selfish overlay routing (e.g., Detour).

1.4.1 Selfish source routing


It results in selfish routing, since the source of the traffic makes an independent
decision about how the traffic should be routed. The source can directly choose the route
path.

DEPARTMENT OF CSE, SRMCEW

15

ROUTING ANALYSIS
Fig.6 Selfish source routing

1.4.2 Selfish overlay routing

It is similar to source routing the traffic source that controls the routes. In this
routing sender sends a data through route which has less traffic.

Fig.7 Selfish overlay routing


1.5 SCOPES & OBJECTIVES

To show the feasibility of the proposed selfish routing techniques and compare it

to existing routing techniques.


To reduce latency time for transmitting the data packet between sender and

receiver.
To avoid inefficiencies in network-level routing by allowing hosts to either choose

routes themselves (e.g., source routing) or use overlay routing networks.


To show comparison between the performance of different routing schemes using
realistic network topologies and traffic demands.

DEPARTMENT OF CSE, SRMCEW

16

ROUTING ANALYSIS

2. LITERATURE SURVEY
A number of recent studies have reported that network-level routing is inefficient
from the users perspective. For example Savage et al. use Internet measurements to
show that the default routing path is often suboptimal in terms of latency, loss rate, and
TCP throughput. The suboptimal performance of network-level routing is inevitable due
to routing hierarchy and policy, as well as different routing objectives used by network
operators, whose goal is to avoid high utilization.
Moreover, stability problems with routing protocols, such as BGP, could make
things even worse. As a result, there has been a movement to give users more autonomy
in choosing their routes by using source routing or overlay routing networks. Recently a
series of theoretical results show that selfish routing can result in extremely suboptimal
performance in worst cases.
The pioneering work in this area is by Koutsoupias and Papadimitriou, who
compare the worst-case Nash equilibrium with a global optimal solution in minimizing
DEPARTMENT OF CSE, SRMCEW

17

ROUTING ANALYSIS
network congestion in a two-node network. Roughgarden and Tardos are interested in a
different performance metriclatency. In, they prove that the price of anarchy (i.e., the
worst-case ratio between the average latency of a Nash equilibrium and that of the global
optimal) depends on the steepness of the network latency functions. They show that the
price of anarchy is unbounded for a general latency function such as M/M/1. In contrast
to the theoretical studies, our study focuses on a practical setting by using realistic
network topologies and traffic demands.
Different from the measurement studies, our study considers a more general
setting, and investigates networks with a large amount of selfish traffic under different
network configurations (including both static and dynamic network control). The
inefficiency of selfish routing motivates researchers to design strategies to reduce the cost
of uncooperation. For example, Korilis, Lazar, and Orda in and Roughgarden in study a
network with a mixture of selfish traffic and centrally controlled traffic.

2.1 Selfish Behavior and Stability of the Internet: A Game-Theoretic Analysis of


TCP
Author: Aditya Akella, Srinivasan Seshan CMU Richard Karp, Scott Shenker Christos
Papadimitriou ICSI/UC Berkeley
Publication: SIGCOMM02, August 19-23, 2002, Pittsburgh, Pennsylvania, USA.
In this paper, author seek to answer the following fundamental question: If
network end-points behaved in a selfish manner, would the stability of the Internet be
endangered?
They evaluate the impact of greedy end-point behavior through a game-theoretic
analysis of TCP. In this TCP Game each flow attempts to maximize the throughput it
achieves by modifying its congestion control behavior. They use a combination of
analysis and simulation to determine the Nash Equilibrium of this game.
Their question then reduces to whether the network operates efficiently at these
Nash equilibria. Their findings are twofold. First, in more traditional environments where
end-points use TCP Reno-style loss recovery and routers use drop-tail queuesthe Nash
Equilibria are reasonably efficient. However, when endpoints use more recent variations
DEPARTMENT OF CSE, SRMCEW

18

ROUTING ANALYSIS
of TCP (e.g., SACK) and routers employ either RED or drop-tail queues, the Nash
equilibria are very inefficient.
2.2 A survey on networking games in telecommunications
Author: E. Altman_, T. Boulogne_, R. El-Azouzi_, T. Jim_enezy, and L. Wynter
Publication: IBM Watson Research Center, P.O. Box 704, Yorktown Heights, NY 10598,
USA
In this survey, author summarize different modeling and solution concepts of
networking games, as well as a number of different applications in telecommunications
that make use of or can make use of networking games.
They identify some of the mathematical challenges and methodologies that are
involved in these problems. They include here work that has relevance to networking
games in telecommunications from other areas, in particular from transportation
planning.
2.3 Resilient overlay networks
Author: D. G. Andersen, H. Balakrishnan, M. F. Kaashoek, and R. Morris
Publication: SOSP01, Banff, Canada
This paper describes the overlay networks. During the last six years, overlay
networks have become one of the most prominent tools for Internet research and
development. Overlays permit designers to implement their own routing and packet
management algorithms on top of the Internet.
The Internet itself began as an overlay network on top of the telephone network,
using long-distance telephone links (that consist of multiple physical links) to connect
Internet routers. Modern overlays operate similarly, using the Internet paths between endhosts as links upon which the overlay routes data, building a network on top of the
network.
As a result, overlays can be used to deploy new functionality almost immediately,
instead of requiring years of upgrades to Internet routers; they also present developers
with a flexible and powerful platform on which to create new services.

DEPARTMENT OF CSE, SRMCEW

19

ROUTING ANALYSIS
2.4 MPLS and traffic engineering in IP networks
Author: D. O. Awduche
Publication: IEEE Commun. Mag., vol. 37, no. 12, pp
This article discusses the applications of MPLS to traffic engineering in IP
networks. Rapid growth and increasing requirements for service quality, reliability, and
efficiency have made traffic engineering an essential consideration in the design and
operation of large public Internet backbone networks. Internet traffic engineering
addresses the issue of performance optimization of historically, traffic engineering in the
Internet has been hampered by the limited functional capabilities of conventional IP
technologies.
Recent developments in multiprotocol label switching (MPLS) and differentiated
services have opened up new possibilities to address some of the limitations of the
conventional technologies, operational networks. A paramount objective of Internet
traffic engineering is to facilitate the transport of IP traffic through a given network in the
most efficient, reliable, and expeditious manner possible.
2.5 The Nimrod Routing Architecture
Author: I. Castineyra, N. Chiappa, and M. Steenstrup
Publication: IEEE
This paper present a scalable internetwork routing architecture, called Nimrod.
The Nimrod architecture is designed to accommodate a dynamic internetwork of arbitrary
size with heterogeneous service requirements and restrictions and to admit incremental
deployment throughout an internetwork. The key to Nimrod's scalability is its ability to
represent and manipulate routing-related information at multiple levels of abstraction.
2.6 On Selfish Routing in Internet-Like Environments
Author: Lili Qiu, Yang Richard Yang, Yin Zhang, and Scott Shenker
Publication: IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 14, NO. 4.
In this paper, we use a game-theoretic approach to investigate the performance of
selfish routing in Internet-like environments based on realistic topologies and traffic
demands in our simulations. We show that in contrast to theoretical worst cases, selfish
routing achieves close to optimal average latency in such environments. However, such
DEPARTMENT OF CSE, SRMCEW

20

ROUTING ANALYSIS
performance benefits come at the expense of significantly increased congestion on certain
links. Moreover, the adaptive nature of selfish overlays can significantly reduce the
effectiveness of traffic engineering by making network traffic less predictable.

3. SYSTEM REQUIREMENT ANALYSIS


3.1 OVERALL DESCRIPTION
Software requirements
Numb
er

Description

Alternatives
available)

Windows 98 or more

Not Applicable

Java(1.5)

Java (1.5) or more

Netbeans

Eclipse Id

Hardware requirements
DEPARTMENT OF CSE, SRMCEW

21

(If

ROUTING ANALYSIS

Numbe
r

Description

Alternatives (If available)

Intel Pentium IV Processor

RAM 512MB

RAM 512MB or more

HDD 2 GB

HDD 2 GB or more

Processor Speed 3.00GHz

Pentium IV Processor or more

Processor Speed 3.00GHz or


more

3.1.1 Product Perspective


In this project we compare the performance of different routing schemes using
realistic network topologies and traffic demands. In this paper, we use a game-theoretic
approach to investigate the performance of selfish routing in Internet-like environments
based on realistic topologies and traffic demands. Selfish routing achieves close to
optimal average latency in such environments.
However, such performance benefits come at the expense of significantly increased
congestion on certain links. Moreover, the adaptive nature of selfish overlays can
significantly reduce the effectiveness of traffic engineering by making network traffic
less predictable.

Low Latency
High Throughputs

DEPARTMENT OF CSE, SRMCEW

22

ROUTING ANALYSIS

User

IP Routing

Selfish
Source
Routing

Selfish
Overlay
Routing

Latency

Latency

Latency

Comparison
Chart
Fig.8 System architecture
3.1.2 Product Function

In IP routing network or router decides the route path.

In selfish routing, since the source of the traffic makes an independent decision
about how the traffic should be routed. The source can directly choose the route

path.
In selfish overlay routing the traffic source that controls the routes. The end users
often have complete routing control that is source itself have maintained the
routing table and send the packets from source to destination.

3.1.3 User Classes and Characteristic

Scientist in research field


Scientists use the proposed routing for further research.

DEPARTMENT OF CSE, SRMCEW

23

ROUTING ANALYSIS

Private sectors
In private sector user can use this routing for sending data in less time.

3.1.4 Operating Environment


3.1.4.1 Front End
Swing
Swing is a set of classes that provides more powerful and flexible components
that are possible with AWT.

JLabel
Usage: The JLabel class can be used to add text (and icon) labels to a container.
Package: Javax.swing
Class: javax.swing.JLabel

JTextField
Usage: The JTextField class is a GUI component which can be used to add single
line text input to a container.
Package: Javax.swing
Subclass: Javax.swing.JTextComponent

JButton
Abstract: Describes the Java Swing JButton class, with commonly used methods,
and uses a JButton in a live applet example, with source code.
Usage: The JButton class can be used to add interactive buttons to a container.
Package: javax.swing
Class: javax.swing.JButton

DEPARTMENT OF CSE, SRMCEW

24

ROUTING ANALYSIS

JPanel
Usage: The JPanel is a generic light weight container.
Package: Javax.swing
Class: javax.swing.JPanel

3.1.4.2 Back End


JAVA (1.6)
The front end is designed and executed with the Java (1.6) handling the core java
part with User interface Swing component. Java is robust, object oriented, multithreaded, distributed, and secure and platform independent language. It has wide variety
of package to implement our requirement and number of classes and methods can be
utilized for programming purpose. These features make the programmers to implement
to require concept and algorithm very easier way in Java.
The features of Java as follows:

Core java contains the concepts like Exception handling, Multithreading; Streams
can be well utilized in the project environment.

The Exception handling can be done with predefined exception and has provision
for writing custom exception for our application.

Garbage collection is done automatically, so that it is very secure in memory


management.

The user interface can be done with the Abstract Window tool Kit and also Swing
class. This has variety of classes for components and containers.

DEPARTMENT OF CSE, SRMCEW

25

ROUTING ANALYSIS

We can make instance of these classes and this instances denotes particular object
that can be utilized in our program. Event handling can be performed with
Delegate Event model.

The objects are assigned to the Listener that observe for event, when the event
takes place the corresponding methods to handle that event will be called by
Listener which is in the form of interfaces and executed.

This application makes use of Action Listener interface and the event click event
gets handled by this. The separate method action Performed () method contains
details about the response of event.

Java also contains concepts like Remote method invocation; Networking can be
useful in distributed environment.

3.1.5 Design and Implementation Constraints


3.1.5.1 Design constraints
We will design only one GUI in java (swing) which will require JVM to be
installed on machine.
3.1.5.2 Implementation Constraints
We will implement our project only for .class to java file. We will not consider
any other formats or extensions file.
3.1.6 Assumptions and Dependencies

The domain we are dealing here is basically routing oriented, to understand the
different routing techniques we should have knowledge about the different types
of routing and their performance.

The role played by the various routing techniques and the different
methodologies that they apply to solve the problem of routing has to be analyzed
and understood to start working with the new techniques that we are going to

DEPARTMENT OF CSE, SRMCEW

26

ROUTING ANALYSIS
implement here. Since we are using game-theoretic approach, we should also
have knowledge about the different routing techniques and algorithms.

We should also understand the inner workings of the different approximation


techniques to do the calculations that have to be done to find the latency.
Currently in this project we are implementing the three different routing
techniques and compare the latency of these techniques by using a chart.

DEPARTMENT OF CSE, SRMCEW

27

ROUTING ANALYSIS

4. FEASIBILITY STUDY
4.1 TECHNICAL FEASIBILITY
The assessment is based on an outline design of system requirements in terms of
Input, Processes, Output, Fields, Programs, and Procedures. This can be quantified in
terms of volumes of data, trends, frequency of updating, etc. in order to estimate whether
the new system will perform adequately or not. Technological feasibility is carried out to
determine whether the company has the capability, in terms of software, hardware,
personnel and expertise, to handle the completion of the project.
The development of this project requires very basic resources like java 1.5, swing
and applet. The routing analysis project can run on most operating system as java is
supported by all operating systems. So there are no technical feasibility issuers as far as
development and implementation of routing analysis is concerned. As such this project
only requires java run time environment to be installed at user side. It doesnt require any
other software to run. Also, no other special hardware requirements are there. Hence is
very much technically feasible for user.
4.2 ECONOMIC FEASIBILITY
This development of routing analyzer doesnt require any costly hardware or
software. All the software used is freely available. At user site also there is no
requirement of any software only JRE is required. Economic analysis is the most
frequently used method for evaluating the effectiveness of a new system. More
commonly known as cost/benefit analysis, the procedure is to determine the benefits and
savings that are expected from a candidate system and compare them with costs. If
benefits outweigh costs, then the decision is made to design and implement the system.
An entrepreneur must accurately weigh the cost versus benefits before taking an action.
4.2.1Cost-based study
DEPARTMENT OF CSE, SRMCEW

28

ROUTING ANALYSIS
It is important to identify cost and benefit factors, which can be categorized as
follows: 1. Development costs; and 2. Operating costs. This is an analysis of the costs to
be incurred in the system and the benefits derivable out of the system.
4.2.2Time-based study
This is an analysis of the time required to achieve a return on investments. The
future value of a project is also a factor.

4.3 OPERATIONAL FEASIBILITY


The proposed routing techniques are applied to small networks. Such a procedure
allows comparing and evaluating the latency of three different routing schemes. The
proposed routing technique performs very well. Only the selfish source routing gives a
better result.

DEPARTMENT OF CSE, SRMCEW

29

ROUTING ANALYSIS

5. SYSTEM DESIGN
5.1 DATA FLOW DIAGRAM
The DFD is also called as bubble chart. It is a simple graphical formalism that
can be used to represent a system in terms of the input data to the system, various
processing carried out on these data and the output data is generated by the system.

IP
Routi
ng

Selfis
h
Sourc
e
Routi
ng
Sour
ce

Selfis
h
Overl
ay
Routi
File Transfer
ng

File Transfer

ACK
Late
ncy

Rout
er

ACK
Output

Compari
son

Chart

Fig.9 Data flow diagram

DEPARTMENT OF CSE, SRMCEW

30

Destinat
ion

ROUTING ANALYSIS

5.2 UML DIAGRAMS


5.2.1 Use Case Diagram

Performance of IP Level Routing

Performance of Selfish source Routing

Performance of Selfish Overlay Routing

Comparison Chart for different Routing

Fig.10 Use Case Diagram

DEPARTMENT OF CSE, SRMCEW

31

ROUTING ANALYSIS

5.2.2 Activity diagram

DEPARTMENT OF CSE, SRMCEW

32

ROUTING ANALYSIS

User

IP
Routing

Selfish Overlay
Routing

source

Hash table

Selfish Source
Routing

source

Routing table
Router

R node
Ack

Forward to destination

Forward to destination

Destination

Destination

Latency

Latency

Comparison Chart

Fig.11 Activity diagram


5.2.3 Sequence diagram
DEPARTMENT OF CSE, SRMCEW

33

Latency

ROUTING ANALYSIS

User

Sourc
Router/R
Destin
e
oute
ation
IP
File
Node Trans
Rout
Transf
Find
ferred
ing
ACK
er
ACK
Latenc
y
Selfish
File
Trans
Source
Transf
Find
ferred
Routin
ACK
er
ACK
Latenc
g
Selfish
y
File
Trans
Overla
Transf
Find
ferred
y
ACK
er
ACK
Latenc
Routin
Chart
g y
View
Chart

Fig.12 Sequence diagram

5.3 DESIGN STRATEGY


DEPARTMENT OF CSE, SRMCEW

34

ROUTING ANALYSIS
5.3.1 Analysis:
The Analysis phase is to getting the clear picture about the project. It plays the
major role while proceeding the project .Because this is the phase where the analyzer
gets the exact need from the customer. The next phase is to convert the requirement in to
form of object oriented design.
5.3.2 Design:
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 used some objectoriented 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 creates the Class
diagram. But the designer can do this only after the analyst has created the Use case
diagram. Once the design is over it is need to decide which software is suitable for the
application. Finally we decided to proceed the implementation using Java Networking
and MS-Access database.

Why JAVA
Java has two things: a programming language and a platform.
Java is also unusual in that each Java program is both compiled and
interpreted. With a compile you translate a Java program into an
intermediate language called Java byte codes the platform-independent
code instruction is passed and run on the computer.
Compilation happens just once; interpretation occurs each time

DEPARTMENT OF CSE, SRMCEW

35

ROUTING ANALYSIS
the program is executed. The figure illustrates how this works .You can
think of Java byte codes as the machine code instructions for the Java
Virtual Machine (Java VM). Every Java interpreter, whether its a Java
development tool or a Web browser that can run Java applets, is an
implementation of the Java VM.
The Java VM can also be implemented in hardware. Java byte
codes help make write once, run anywhere possible. You can compile
your Java program into byte codes on my platform that has a Java
compiler. The byte codes can then be run any implementation of the Java
VM. For example, the same Java program can run Windows NT, Solaris,
and Macintosh.

Interpreter

Java Program

Compilers

My Program

Fig.13 Java Compiler

5.3.3 Networking
DEPARTMENT OF CSE, SRMCEW

36

ROUTING ANALYSIS

TCP/IP stack
The TCP/IP stack is shorter than the OSI one:

Fig.14 TCP/IP Model

IP datagrams
The IP layer provides a connectionless and unreliable delivery system. It
considers each datagram independently of the others. Any association between
datagram must be supplied by the higher layers. The IP layer supplies a checksum
that includes its own header.
The header includes the source and destination addresses. The IP layer
handles routing through an Internet. It is also responsible for breaking up large
datagram into smaller ones for transmission and reassembling them at the other
end.

UDP

DEPARTMENT OF CSE, SRMCEW

37

ROUTING ANALYSIS
UDP is also connectionless and unreliable. What it adds to IP is a
checksum for the contents of the datagram and port numbers. These are used to
give a client/server model.
UDP (User Datagram Protocol) is a communications protocol that offers a
limited amount of service when messages are exchanged between computers in a
network that uses the Internet Protocol (IP). UDP is an alternative to the
Transmission Control Protocol (TCP) and, together with IP, is sometimes referred
to as UDP/IP.
Like the Transmission Control Protocol, UDP uses the Internet Protocol to
actually get a data unit (called a datagram) from one computer to another. Unlike
TCP, however, UDP does not provide the service of dividing a message into
packets (datagram) and reassembling it at the other end. Specifically, UDP doesn't
provide sequencing of the packets that the data arrives in. This means that the
application program that uses UDP must be able to make sure that the entire
message has arrived and is in the right order.
Network applications that want to save processing time because they have
very small data units to exchange (and therefore very little message reassembling
to do) may prefer UDP to TCP. The Trivial File Transfer Protocol (TFTP) uses
UDP instead of TCP. UDP provides two services not provided by the IP layer. It
provides port numbers to help distinguish different user requests and, optionally, a
checksum capability to verify that the data arrived intact.

TCP
TCP supplies logic to give a reliable connection-oriented protocol above
IP. It provides a virtual circuit that two processes can use to communicate. TCP
(Transmission Control Protocol) is a set of rules (protocol) used along with the
Internet Protocol (IP) to send data in the form of message units between
computers over the Internet.
While IP takes care of handling the actual delivery of the data, TCP takes
care of keeping track of the individual units of data (called packets) that a
message is divided into for efficient routing through the Internet. TCP is known as
a connection-oriented protocol, which means that a connection is established and

DEPARTMENT OF CSE, SRMCEW

38

ROUTING ANALYSIS
maintained until such time as the message or messages to be exchanged by the
application programs at each end have been exchanged.
TCP is responsible for ensuring that a message is divided into the packets
that IP manages and for reassembling the packets back into the complete message
at the other end. In the Open Systems Interconnection (OSI) communication
model, TCP is in layer 4, the Transport Layer.

Internet addresses
In order to use a service, you must be able to find it. The Internet uses an
address scheme for machines so that they can be located. The address is a 32 bit
integer which gives the IP address. This encodes a network ID and more
addressing.
The network ID falls into various classes according to the size of the
network address. Class A uses 8 bits for the network address with 24 bits left over
for other addressing. Class B uses 16 bit network addressing. Class C uses 24 bit
network addressing and class D uses all 32.

Subnet address

Internally, the UNIX network is divided into sub networks. Building 11 is


currently on one sub network and uses 10-bit addressing, allowing 1024 different
hosts.

Host address
8 bits are finally used for host addresses within our subnet. This places a
limit of 256 machines that can be on the subnet.

DEPARTMENT OF CSE, SRMCEW

39

ROUTING ANALYSIS

Port address
A service exists on a host, and is identified by its port. This is a 16 bit
number. To send a message to a server, you send it to the port for that service of
the host that it is running on. This is not location transparency. Certain of these
ports are "well known".

Sockets
A socket is a data structure maintained by the system to handle network
connections. A socket is created using the call socket. It returns an integer that is
like a file descriptor. In fact, under Windows, this handle can be used with Read
File

and Write File functions.


#include <sys/types.h>
#include <sys/socket.h>
int socket(int family, int type, int protocol);
Here "family" will be AF_INET for IP communications, protocol will be

zero,

and type will depend on whether TCP or UDP is used. Two

processes wishing to communicate over a network create a socket each. These


are similar to two ends of a pipe - but the actual pipe does not yet exist.
Part 1 - Create a server socket that listens for a client to connect
Part 2 - send / receive data from client to server
Part 3 - Read unknown size of data from client

DEPARTMENT OF CSE, SRMCEW

40

ROUTING ANALYSIS

Fig15. IP address
5.3.4 Evaluation methodology
We compare IP routing with selfish source and overlay routing. In IP routing, the
network chooses the inter-domain route based on the shortest hop count, and chooses
intra-domain route based on the shortest OSPF path. Overlay routing allows a user to
select an overlay path; meanwhile the network determines the route between two
consecutive overlay nodes based on the same hierarchical routing strategy.
5.3.5 Computing traffic equilibria
We evaluate each of the preceding selfish routing schemes by computing its
performance at traffic equilibria. Using a game-theoretic approach, we define a traffic
equilibrium as a state where no user can improve the latency of its traffic by unilaterally
changing the amount of traffic it sends along different network paths. One possible way
of computing traffic equilibria is through simulation.
More specifically, one could simulate the moves of each individual user and wait
until the system reaches equilibrium. However, given the size of the network we are
considering, such simulation-based approach may take a prohibitively long time to
converge. Instead, we compute traffic equilibria directly using the following algorithms.

Assume le(x) is increasing and convex for any edge e.


Assume xle(x) in convex for any edge e.
If the overlay is latency optimal, f = e xle(x);
Otherwise, f = le(x);

5.4 MODULE DESIGN


DEPARTMENT OF CSE, SRMCEW

41

ROUTING ANALYSIS
5.4.1 Performance Evaluation of IP Routing

Source
This process is used to get the destination address and File content from
the user and send it to nearest router. Then it find the latency for corresponding

file transfer and calculate the average latency.


Router
It is used to receives the destination address and actual file content
information, then it process the to identify whether this destination is connected or
not. If it is connected it send the message to corresponding destination or it send
to the another nearest router.

Destination
It receives the information from router and send the acknowledgement to
corresponding source.

Browse data
Send data using IP routing
Receiver send ack
Latency is
calculated

Fig.16 Performance Evaluation of IP Routing


5.4.2 Performance Evaluation of Selfish Source Routing
DEPARTMENT OF CSE, SRMCEW

42

ROUTING ANALYSIS

Source
This process is used to get the destination address, route node address and
File content from the user and send it to nearest router. Then it find the latency for

corresponding file transfer and calculate the average latency.


Route Node
It is used to receives the destination address and actual file content
information, then it send the message to corresponding destination or it send to
the another route node.

Destination
It receives the information from router and send the acknowledgement to
corresponding source

Browse data
Send data using selfish
source routing
Receiver send ack
Latency is
calculated

Fig.17 Performance Evaluation of Selfish Source Routing


5.4.3 Performance Evaluation of Selfish Overlay Routing

DEPARTMENT OF CSE, SRMCEW

43

ROUTING ANALYSIS

Source
This process is used to get the destination address and File content from
the user, then it process to identify the route nodes for corresponding destination
and send it to nearest route node. Then it find the latency for Corresponding file

transfer and calculate the average latency.


Route Node
It is used to receives the destination address and actual file content
information, then it send the message to corresponding destination or it send to

the another route node.


Destination
It receives the information from router and sends the acknowledgement to
corresponding source.

Browse data
Send data using selfish
overlay routing
Receiver send ack
Latency is
calculated

Fig.18 Performance Evaluation of Selfish Overlay Routing


5.4.4 Comparison Chart
DEPARTMENT OF CSE, SRMCEW

44

ROUTING ANALYSIS
We evaluate each of the preceding selfish routing schemes by computing its
performance at traffic equilibria. Using a game theoretic approach, we define traffic
equilibrium as a state where no user can improve the latency of its traffic by unilaterally
changing the amount of traffic it sends along different network paths.
5.5 INTERFACE DESIGN
We have used swing and awt for designing GUI.
5.5.1 An Overview of the AWT
AWT stands for Abstract Window Toolkit. The Abstract Window Toolkit supports
GUI Java programming. It is a portable GUI library for stand-alone applications and/or
applets. The Abstract Window Toolkit provides the connection between your application
and the native GUI.
AWT features include:

A rich set of user interface components.


A robust event-handling model.
Graphics and imaging tools, including shape, color, and font classes.
Layout managers, for flexible window layouts that don't depend on a particular

window size or screen resolution.


Data transfer classes, for cut-and-paste through the native platform clipboard.
The AWT components depend on native code counterparts (called peers) to

handle their functionality. Thus, these components are often called "heavyweight"
components.

5.5.2 An Overview of Swing

DEPARTMENT OF CSE, SRMCEW

45

ROUTING ANALYSIS
Swing implements a set of GUI components that build on AWT technology and
provide a pluggable look and feel. Swing is implemented entirely in the Java
programming language, and is based on the JDK 1.1 Lightweight UI Framework. Swing
features include:

All the features of AWT.


100% Pure Java certified versions of the existing AWT component set (Button,

Scrollbar, Label, etc.).


A rich set of higher-level components (such as tree view, list box, and tabbed

panes).
Pure Java design, no reliance on peers.
Pluggable Look and Feel.
Swing components do not depend on peers to handle their functionality. Thus,

these components are often called "lightweight" components. For interface design, we
have used swing and awt components. For user friendly GUI, we have provided functions
that would helpful like new to create a new java file, open to view already created files,
save the file. Also there are decompile, disassemble, jar extractor and jar preview option.
We have design the interface using java swing and awt components like JPanel,
JFrame, JInternalFrame, JDialog, JOptionPane, JLabel, JButton, JTextField, JTextArea,
Jscrollbar, JCheckBox, JList etc.
5.6 DATABASE DESIGN
Database design is the process of producing a detailed data model of a database.
This logical data model contains all the needed logical and physical design choices and
physical storage parameters needed to generate a design in a Data Definition Language,
which can then be used to create a database. A fully attributed data model contains
detailed attributes for each entity. The term database design can be used to describe many
different parts of the design of an overall database system.
Principally, and most correctly, it can be thought of as the logical design of the
base data structures used to store the data. In the relational model these are the tables and
views. In an object database the entities and relationships map directly to object classes
DEPARTMENT OF CSE, SRMCEW

46

ROUTING ANALYSIS
and named relationships. However, the term database design could also be used to apply
to the overall process of designing, not just the base data structures, but also the forms
and queries used as part of the overall database application within the database
management system (DBMS).

Database Fields

Left Node
192.168.68.
5

Right Node

Router

192.168.68.7 192.168.1.1

Table -IP Routing Table (Router)


Destination

Router

192.168.68.7

192.168.1.1

Table - Source Overlay Routing Table (Source)

6. SYSTEM IMPLIMENTATION
6.1 TESTING

DEPARTMENT OF CSE, SRMCEW

47

ROUTING ANALYSIS
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.1 TYPES OF TESTS
6.1.1.1 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. This is a structural testing, that relies on knowledge of
its construction and is invasive.
Unit tests perform basic tests at component level and test a specific business
process, application, and/or system configuration. Unit tests ensure that each unique path
of a business process performs accurately to the documented specifications and contains
clearly defined inputs and expected results.
6.1.1.2 Integration testing
Integration tests are designed to test integrated software components to determine
if they actually run as one program. Testing is event driven and is more concerned with
the basic outcome of screens or fields.
Integration tests demonstrate that although the components were individually
satisfaction, as shown by successfully unit testing, the combination of components is
correct and consistent. Integration testing is specifically aimed at exposing the problems
that arise from the combination of components.

DEPARTMENT OF CSE, SRMCEW

48

ROUTING ANALYSIS
6.1.1.3 Functional Test
Functional tests provide systematic demonstrations that functions tested are
available as specified by the business and technical 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.


Organization and preparation of functional tests is focused on requirements, key
functions, or special test cases. In addition, systematic coverage pertaining to identify
Business process flows; data fields, predefined processes, and successive processes must
be considered for testing.
6.1.1.4 System Test
System testing ensures that the entire integrated software system meets
requirements. It tests a configuration to ensure known and predictable results. An
example of system testing is the configuration oriented system integration test. System
testing is based on process descriptions and flows, emphasizing pre-driven process links
and integration points.
6.1.2 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.
a. Test strategy and approach
Field testing will be performed manually and functional tests will be written in
detail.
b. Test objectives
All field entries must work properly.
DEPARTMENT OF CSE, SRMCEW

49

ROUTING ANALYSIS
Pages must be activated from the identified link.
The entry screen, messages and responses must not be delayed.
c. Features to be tested
Verify that the entries are of the correct format.
All links should take the user to the correct page.
Main Window
Sr. No
1

Test Case

Excepted Result

Test Result

IP Routing window is opened

Successful

On the Click of Selfish

Selfish source routing

Successful

Source Button

window is opened

On the Click of Selfish

Selfish overlay routing

Overlay Button

window is opened

On the click of

Comparison chart is displayed

Successful

Help is displayed

Successful

Main window is closed

Successful

On the click of IP
Routing Button

Successful

Comparison chart Button


5

On the click of Help


Button

On the click of Dismiss


me Button

IP Routing

Sr. No
1

Test Case

Excepted Result

Test Result

On the click of

The path of file is loaded

Successful

Browse Button

in the file path field

DEPARTMENT OF CSE, SRMCEW

50

ROUTING ANALYSIS

On the Click of SEND

The browsed file is sent

Button

to the destination

On the Click of

All fields are reset

Successful

Successful

RESET Button

Selfish Source Routing

Sr. No
1

Test Case

Excepted Result

Test Result

On the click of

The path of file is loaded

Successful

Browse Button

in the file path field

On the Click of SEND

The browsed file is sent

Button

to the destination

On the Click of

All fields are reset

Successful

Successful

RESET Button

Selfish Overlay Routing

Sr. No
1

Test Case

Excepted Result

On the click of Browse The path of file is loaded


Button

in the file path field

On the Click of SEND

The browsed file is sent

DEPARTMENT OF CSE, SRMCEW

51

Test Result
Successful

Successful

ROUTING ANALYSIS

Button
3

to the destination

On the Click of RESET All fields are reset

Successful

Button

6.1.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 components or software
applications without error.
6.1.3.1 Integration testing for input

The main class which consists of the designing of the main window should
consist of linking of the sub class.

The data which are loaded from folder that is being read by program.
The iteration should be called through the routing to do the clear picture of
sending data. The message window should show

6.1.3.2 Integration testing for output

The main class which consists of the designing of the main window should
consist of linking of the sub class.

The received data is shown on the receivers window.

Test Results: All the test cases mentioned above passed successfully. No defects
encountered.

DEPARTMENT OF CSE, SRMCEW

52

ROUTING ANALYSIS

6.2 SNAPSHOTS
6.2.1Main window

DEPARTMENT OF CSE, SRMCEW

53

ROUTING ANALYSIS

6.2.2 IP routing: Main window

6.2.3 Selfish source: Main window

DEPARTMENT OF CSE, SRMCEW

54

ROUTING ANALYSIS

6.2.4 Selfish overlay: Main window

6.2.5 IP routing: browsing the file to be send


DEPARTMENT OF CSE, SRMCEW

55

ROUTING ANALYSIS

6.2.6 IP routing: showing the file received by the destination

6.2.7 Selfish source: showing the latency after a file sent to destination
DEPARTMENT OF CSE, SRMCEW

56

ROUTING ANALYSIS

6.2.8 Selfish overlay: showing the latency after a file sent to destination

6.2.9 Selfish overlay: showing the file received by the destination


DEPARTMENT OF CSE, SRMCEW

57

ROUTING ANALYSIS

6.2.10 Main window: when help button is clicked

6.2.11 Comparison Chart


DEPARTMENT OF CSE, SRMCEW

58

ROUTING ANALYSIS

7. CONCLUSION AND FUTURE SCOPE


DEPARTMENT OF CSE, SRMCEW

59

ROUTING ANALYSIS
7.1 CONCLUSION
In this project, we use game theoretic approach to study the performance of
selfish routing in internet like environments. Our results show that unlike the theoretical
worst case, selfish routing in such environments achieves close to optimal average
latency, when the network level routing is static. Moreover, compared with complaint
routing (network level routing), selfish routing yields lower latency. This is true for both
intra-domain and inter-domain scenarios. On the other hand, such performance often
comes at the cost of overloading certain links. Moreover, when selfish routing and traffic
engineering each tries to minimize its own cost by adapting to the other process, the
resulted performance could be considerably worse.
7.2 FUTURE ENHANCEMENTS
There are a number of avenues for future work, e.g., a better understanding and
improving the interactions between selfish routing and traffic engineering; investigating
the dynamics of selfish routing, i.e., how equilibria are reached; and evaluating the
performance of selfish routing under alternative performance metrics, such as loss and
throughput.

8. BIBLIOGRAPHY AND REFERENCES


DEPARTMENT OF CSE, SRMCEW

60

ROUTING ANALYSIS
8.1 BOOKS

Game Theory by L. Leon Aganesovich Petrosian, Nikola Anatolevich


Zenkevich.

Computer Networks by Andrew S. Tanenbaum.

TCP/IP Protocol Suite by Forouzan

8.2 RESEARCH PAPERS


[1] A. Avella, S. Seshan, R. Karp, and S. Shenker, Selfish behavior and stability of the
Internet: A game-theoretic analysis of TCP, presented at the ACM SIGCOMM02
Pittsburgh, PA, Aug. 2002.
[2] E. Altman, T. Boulogne, R. E. Azouzi, and T. Jimenez, A survey on networking
games, Telecommun. Syst., Nov. 2000.
[3] D. G. Andersen, H. Balakrishnan, M. F. Kaashoek, and R. Morris, Resilient
Overlay networks, presented at the SOSP01, Banff, Canada, Oct. 2001.
[4] D. O. Awduche, MPLS and traffic engineering in IP networks, IEEE Commun.
Mag., vol. 37, no. 12, pp. 4247, Dec. 1999.
[5] I. Castineyra, N. Chiappa, and M. Steenstrup, The Nimrod Routing Architecture,
RFC 1992, 1996.
[6] A. Chen, D.-H. Lee, and R. Javakrishnan, Computational study of state-of-the-art
path-based traffic assignment algorithms, Mathematics and Computers in Simulation,
pp. 509518, 2002.
[7] R. Cole, Y. Dodis, and T. Roughgarden, Pricing networks with selfish routing,
presented at the 2ndWorkshop on Economics of Peer-to-Peer Systems, Cambridge, MA,
Jun. 2004.
[8] P. Dubey, Inefficiency of Nash equilibria, Math. Oper. Res., vol. 11, pp. 18, Feb.
1986.
[9] M. Faloutsos, P. Faloutsos, and C. Faloutsos, On power-law relationships of the
Internet topology, presented at the ACM SIGCOMM, Cambridge, MA, Aug. 1999.
DEPARTMENT OF CSE, SRMCEW

61

ROUTING ANALYSIS
[10] A. Feldmann, A. Greenberg, C. Lund, N. Reingold, and J. Rexford, Deriving traffic
demands for operational IP networks: Methodology and experience, IEEE/ACM Trans.
Netw., vol. 9, no. 3, pp. 265279, Jun. 2001.

DEPARTMENT OF CSE, SRMCEW

62

Potrebbero piacerti anche