Understanding Network Routing Problem An
Understanding Network Routing Problem An
Understanding Network Routing Problem An
The various objectives of this research are : 3. Call Setup: Just like a TCP carries out 3 -way handshake
similarly some network layer architectures (e.g., ATM)
1. Define and understand the concepts of routing. requires that the routers along the chosen path from
2. Determine if a Greedy or Dynamic Programming strategy source to destination handshake with each other in
algorithm is more efficient for routing, in general. Identify order to setup state before data actually begins to flow.
which strategy is used more in real world networks. In the network layer, this process is referred to as call
3. Identify the common routing algorithms used in networks. setup.
Identify which algorithms are used in which scenarios.
4. Identify the performance metrics for gauging algorithms. The main goals of routing are:
5. Compare existing routing algorithms in various scenarios
(on the simulation software). Also note specific Correctness: The routing should be done properly and
phenomena or anomalies during simulation. correctly so that the packets may reach their proper
6. Think of modifications (if any) in existing routing destination.
algorithms, or devise a new routing algorithm.
7. Simplicity: The routing should be done in a simple manner
Key Words: Routing, Throughput, Latency, Greedy so that the overhead is as low as possible. With increasing
Strategy, Dynamic Programming complexity of the routing algorithms the overhead also
increases.
1. INTRODUCTION
Robustness: Once a major network becomes operative, it
may be expected to run continuously for years without any
The transport layer provides communication service
failures. The algorithms designed for routing should be
between two processes running on two different hosts. In
robust enough to handle hardware and software failures and
order to provide this service, the transport layer relies on
should be able to cope with changes in the topology and
the services of the network layer, which provides a
traffic without requiring all jobs in all hosts to be aborted
communication service between hosts. In particular, the
and the network rebooted every time some router goes
network-layer moves transport-layer segments from one
down.
host to another. At the sending host, the transport layer
segment is passed to the network layer. In order to this, the
Stability: The routing algorithms should be stable under all
network layer requires the coordination of each and every
possible conditions.
host and router in the network. In simple terms, if we have to
define Routing in a lay man’s language we can simply say
Fairness: Every node connected to the network should get a
that Routing is the manner/order in which we decide the
fair chance of transmitting their packets. This is generally
path a segment shall follow from the sending host to the
done on a first come first serve basis.
receiving one. This path includes a connection of links and
routers. In technical terms though routing is a complex yet
Optimality: The routing algorithms should be optimal in
challenging concept.
terms of throughput and minimizing mean packet delays.
Technically, Routing broadly consists of the following 3
Here there is a trade-off and one has to choose depending on
functions:
his suitability.
1. Path Determination: This function determines the
path/route the packets will follow from the sender to
receiver. It involves various routing algorithms which
are discussed further.
© 2017, IRJET | Impact Factor value: 6.171 | ISO 9001:2008 Certified Journal | Page 686
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 04 Issue: 11 | Nov -2017 www.irjet.net p-ISSN: 2395-0072
4. Backtracking
5. Branch and Bound
6. Divide and Conquer
7. Decrease and Conquer
8. Transfer and Conquer
© 2017, IRJET | Impact Factor value: 6.171 | ISO 9001:2008 Certified Journal | Page 687
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 04 Issue: 11 | Nov -2017 www.irjet.net p-ISSN: 2395-0072
The shortest paths are calculated using suitable algorithms Each node j is labeled with Dj, which is an estimate of cost
on the graph representations of the networks. Let the of path from node j to node 1. Initially, let the estimates be
network be represented by graph G ( V, E ) and let the infinity, indicating that nothing is known about the paths.
number of nodes be 'N'. For all the algorithms discussed We now iterate on the length of paths, each time revising our
below, the costs associated with the links are assumed to be estimate to lower values, as we obtain them. Actually, we
positive. A node has zero cost w.r.t itself. Further, all the divide the nodes into two groups ; the first one, called set P
links are assumed to be symmetric, i.e. if di,j = cost of link contains the nodes whose shortest distances have been
from node i to node j, then d i,j = d j,i . The graph is assumed found, and the other Q containing all the remaining nodes.
to be complete. If there exists no edge between two nodes, Initially P contains only the node 1. At each step, we select
then a link of infinite cost is assumed. The algorithms given the node that has minimum cost path to node 1. This node is
below find costs of the paths from all nodes to a particular transferred to set P. At the first step, this corresponds to
node; the problem is equivalent to finding the cost of paths shifting the node closest to 1 in P.Its minimum cost to node 1
from a source to all destinations. is now known. At the next step, select the next closest node
from set Q and update the labels corresponding to each node
3. Bellman-Ford Algorithm using :Dj = min [ Dj , Di + dj,i ]. After N-1 iterations,
shortest paths for all nodes are known, and the algorithm
This algorithm iterates on the number of edges in a path to terminates after completing these many iterations.
obtain the shortest path. Since the number of hops possible Principle:
is limited (cycles are implicitly not allowed), the algorithm
terminates giving the shortest path. Let the closest node to 1 at some step be i. Then i is shifted to
P. Now, for each node j , the closest path to 1 either passes
Notation:
through i or it doesn't. In the first case Dj remains the same.
d i,j = Length of path between nodes i and j, In the second case, the revised estimate of Dj is the sum Di +
indicating the cost of the link. di,j . So we take the minimum of these two cases and update
h = Number of hops. Dj accordingly. As each of the nodes get transferred to set P,
D[i,h] = Shortest path length from node i to node 1, with the estimates get closer to the lowest possible value. When a
upto 'h' hops. node is transferred, its shortest path length is known. So
D[ 1,h] = 0 for all h . finally all the nodes are in P and the Dj 's represent the
minimum costs. The algorithm is guaranteed to terminate in
Algorithm : N-1 iterations and its complexity is O( N2 ).
© 2017, IRJET | Impact Factor value: 6.171 | ISO 9001:2008 Certified Journal | Page 688
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 04 Issue: 11 | Nov -2017 www.irjet.net p-ISSN: 2395-0072
lowest metric can be a default gateway.Router metrics can transferred, the good put that the user experiences
contain any number of values that help the router determine corresponds to the file size in bits divided by the file transfer
the best route among multiple routes to a destination. A time. The good put is always lower than the throughput (the
router metric typically based on information like path gross bit rate that is transferred physically), which generally
length, bandwidth, load, hop count, pathcost, delay, Maximum is lower than network access connection speed.
Transmission Unit (MTU), reliability and communications
cost. NETWORK LATENCY: Network latency in a packet-
switched network is measured either one-way (the time from
A Metric can include: the source sending a packet to the destination receiving it),
or round-trip delay time (the one-way latency from source to
1. measuring link utilization (using SNMP) destination plus the one-way latency from the destination
2. number of hops (hop count) back to the source). It further consists of the processing
3. speed of the path delay, queuing delay and transmission delay. The processing
4. packet loss (router congestion/conditions) delay is basically the time a sender host takes to process a
5. latency (delay) packet and identify the router. Once the router is identified,
6. path reliability queuing delay is encountered when a packet has to wait in
7. path bandwidth the queuing buffer before it is transferred further.
8. throughput [SNMP - query routers] Transmission delay consists of the time to transmit the
9. load packet over the link.
10. MTU
LINK CAPACITY: The term link capacity defines the net bit
rate (aka. Peak bit rate, information rate, or physical
layer useful bit rate), or the maximum throughput of a logical
or physical communication path in a digital communication
system. For example, bandwidth tests measure the maximum
throughput of a computer network.
THROUGHPUT: In general terms, throughput is the rate of TRAFFIC INTENSITY: In a digital network, the traffic intensity
production or the rate at which something can be processed. measures the ratio of the arrival rate of packets to the
When used in the context of computer networking, such average packet length. Is: (al)/R where a is the average
as Ethernet or packet radio, throughput or network arrival rate of packets (e.g. In packets per second), L is the
throughput is the rate of successful message delivery over a average packet length (e.g. In bits), and R is the transmission
communication channel. The data these messages belong to rate (e.g. Bits per second).
may be delivered over a physical or logical link or it can pass
through a certain network node/router. Throughput is Performance metrics selected for the implementation of this
usually measured in bits per second (bit/s or bps), and project:
sometimes in data packets per second (p/s or
1. Throughput
pps).The system throughput or aggregate throughput is the
sum of the data rates that are delivered to all terminals in a 2. Delay
network. It can be analyzed mathematically by applying
the queueing theory, where the load in packets per time unit 3.2 Software and testing environment
is denoted as the arrival rate , and the throughput, in
packets per time unit, is denoted as the departure rate . A network simulator is software that predicts the behaviour
of a computer network. Since communication Networks have
GOODPUT: In computer networks, good put is the application become too complex for traditional analytical methods to
level throughput, i.e. The number of useful provide an accurate understanding of system behaviour
information bits delivered by the network to a certain network simulator are used. In simulators, the computer
destination per unit of time. The amount of data considered network is typically modelled with devices, links, applications
excludes protocol overhead bits as well as retransmitted data etc. and the performance is analyzed. Simulators typically
packets. This is related to the amount of time from the first come with support for the most popular technologies and
bit of the first packet sent (or delivered) until the last bit of networks in use today. Most of the commercial simulators
the last packet is delivered. For example, if a file is are GUI driven, while some network simulators
© 2017, IRJET | Impact Factor value: 6.171 | ISO 9001:2008 Certified Journal | Page 689
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 04 Issue: 11 | Nov -2017 www.irjet.net p-ISSN: 2395-0072
are CLI driven. The network model/configuration describes 3. Node and link configuration: models set their default
the state of the network (nodes, routers, switches, links) and values (for example, the size of packets sent by an
the events (data transmissions, packet error etc.). An application or MTU of a point-to-point link); most of
important output of simulations are the trace files. Trace files the time this is done using the attribute system.
log every packet, every event that occurred in the simulation
4. Execution: simulation facilities generate events, data
and are used for analysis. Network simulators can also
requested by the user is logged.
provide other tools to facilitate visual analysis of trends and
potential trouble spots. 5. Performance analysis: after the simulation is
finished and data is available as a time-stamped
Simulation of networks is a very complex task. For example, if event trace. This data can then be statistically
congestion is high, then estimation of the average occupancy analysed with tools like R to draw conclusions.
is challenging because of high variance. To estimate the
6. Graphical Visualization: raw or processed data
likelihood of a buffer overflow in a network, the time
collected in a simulation can be graphed using tools
required for an accurate answer can be extremely large.
like Gnuplot, matplotlib or XGRAPH.
Specialized techniques such as "control variates" and
"importance sampling" have been developed to speed The selection of a network topology can affect:
simulation.
1. Type of equipment the network needs.
The network simulator must enable a user to: 2. Capabilities of the equipment.
3. Growth of the network.
1. Model the network topology specifying the nodes on the 4. Way the network is managed.
network and the links between those nodes Standard Topologies:
2. Model the application flow (traffic) between the nodes
3. Providing network performance metrics as output 1. Bus – Devices connected to a common, shared cable.
4. Visualization of the packet flow 2. Star - Connecting computers to cable segments
5. Logging of packet / events for drill down analyses or branch out from a single point, or hub.
debugging 3. Ring - Connecting computers to cable that form a
loop.
The ns-3 simulation software is built 4. Mesh – Connects all computers in a network to each
using C++ and Python with scripting capability. The ns-3 other with separate cables.
library is wrapped by Python thanks to the pybindgen library
which delegates the parsing of the ns-3 C++ headers to
gccxml and pygccxml to automatically generate the
corresponding C++ binding glue. These automatically-
generated C++ files are finally compiled into the ns-3 Python
module to allow users to interact with the C++ ns-3 models
and core through Python scripts. The ns-3 simulator features
an integrated attribute-based system to manage default and
per-instance values for simulation parameters. All of the
configurable default values for parameters are managed by
this system, integrated with command-line argument
processing. The large majority of its users focuses on wireless
simulations which involve models for Wi-Fi.
© 2017, IRJET | Impact Factor value: 6.171 | ISO 9001:2008 Certified Journal | Page 690
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 04 Issue: 11 | Nov -2017 www.irjet.net p-ISSN: 2395-0072
REFERENCES
© 2017, IRJET | Impact Factor value: 6.171 | ISO 9001:2008 Certified Journal | Page 691