Upload
mohsin-ali
View
261
Download
0
Embed Size (px)
Citation preview
CSC-3080
Data Communication and Network
Title Routing
Group Member:
Mohsin Shoukat 12-NTU-1065
Shahmeer Ali 12-NTU-1083
Submitted to: Sir Asif Habib.
Submission Date: 24/03/2015
..………………… /………………….. .................................
Members Sign Teacher Sign
Acknowledgement
We agree all the content written in this documentation is our selves’ .We are responsible to this. We are thankful to our teacher Mr. Asif Habib to help write this
document.
Table of Contents
What is Router 1
What is Routing 1
Desirable Property of Routing Algorithms 2
Design Parameter of Routing Algorithms 2
Routing Strategies 3
Fixed Routing 3
Least Cost Path 4
Dijkstra Algorithm 5
Flooding Routing 6
Selective Flooding 7
Utilities of Flooding 7
Random Routing 8
Adaptive Routing 10
Distance Vector Routing 11
Link State Routing 12
Multicast Routing 13
RouterA router is networking hardware device which send and receive data packets to other networks.
Routing Defined
From particular station to particular station, i.e. from source to destination there are many path, so the routing is to choose the best cost effective path, which is selected by routing algorithm.
Detail:
This is packet switch network , number of station A,B, ETC , number of nodes switching , which connected to other nodes and station , suppose station A -> D , you can see there is not path , other words , both are not directly connect , so it can go several path , i.e. 1-2-6 ,it can also go 1-3-5-6 or it can go 1-4-6so there are several routes, so which one is the best , so the key point is from S TO D the best cost effective path is selection , and this selection by routing algorithm
Routing is one of most complex and crucial aspect of packet switched network, it play an important role in networking.
1
Desirable Properties of Routing
1: Correctness and simplicity: self-explanatory to deliver to correct location station, and routing algorithm should be simple, otherwise it put overhead on nodes.
2: Robustness: Network is q of packets dynamically change with time, also possible node failure, so under the failure congestion so that routing algorithm can send packet to its location in this case.
3:Stability: Q of packets changing in network suppose there is traffic in this part , so routing algorithm divert to other part may congestion , so quick changing condition it also can handle , so it should can bear stability.
4: Fairness and optimality: obvious requirement but confliction.
What is desired each node , station have each particular routing , but some packets give priority , but this is not fairness, so like we give priority to some adjacent node , but long nodes don’t get fairness, so there is trade off , giving some kind of weightage.
5: Efficiency: Minimum complex, routing algorithm should be simple not complex so that it can’t make overheads, it should simple that It can deliver packet to its destination.
Design Parameter of Routing Algorithm
Performance criteria: number of hops when packet go to one to node to other node to its D, it passes to number of hops, cost, if bandwidth is high cost is less it inversely proportion, Delay depends on size of Q , if in particulate packet if this is large miserable delay will there , throughput number of packets deliver per unit time ……. These are various parameter for performance parameter
Decision time: when it design it should routing, per packet (data gram), per session (virtual circuit) in virtual circuit for particular station, all packets send to this path.
Decision plane: who decide to routing , each node decide to selection particular path EACHNODE(Distributed), central Node(centralized) center node which decide the routing , originated node(source) or source node decide the routing
Network information source: there are algorithm which don’t take cost, topology none , QLENGTH take no other gather information local , particular node gather adjacent node information adjacent node , it may be along path route nodes along route ,or it can be global a node gather info of all nodes after several time to make algorithm tables all nodes.
2
Network information updating time: it can be continuous local what can info, all node periodic, major load change congestions major load change, topology change.
So these are the design parameter which should take in mind during developing of routing algorithm.
Routing Strategies
A large number of strategies are develop till now here are some popular
Fixed routing Flooding routing Random routing Flow based routing Adaptive/dynamic routing
Fixed Routing
A route is selected for each source-destination pair of nodes in network.
The routes are fixed they only may change if there is change in topology in network.
That mean for giving network the routing is fixed,
So how it is fixed? There are
Fixed Routing: Example
A central routing matrix is created based on least-cost path, which is stored in network control center.
The matrix show for each source-destination part of node, the identity of next node to route.
FromNode
To Node1 2 3 4 5 6
1 - 2 3 2 2 22 1 - 1 6 6 63 1 1 - 4 5 14 6 6 3 - 5 65 4 4 3 4 - 46 2 2 2 4 4 -
SUCH a big routing directory is created in network control center.
This has a big drawbacks. If this NC center fail everything fail, so it is not very reliable.
3
Other approach to this is that create directory of each node, each mean node have copy of directory
From the main routing matrix, routing tables to be used by each individual node can be developed.
So this is disturbed routing algorithms
As directory is packet receive and send it to its next node.
Question is how these directory created?
Least-Cost Path
That can be created on least-cost path.
A cost is associated with each link.
The simplest criteria is choose minimum-hop route through network
-easily measured criterion.
A generalization is least –cost routing, I.e. bandwidth, q length, distance
For any pair of attach station , the least cost route through the network is looked for.
Several ways to choose optimal path.
4
- Dijkstra algorithm
-Bellman-ford algorithm.
What they algorithms do, for giving topology from sours to all destination they find thy lest cost route
Dijkstra Algorithm
It find the least cost paths from given node to all other nodes in order to increasing path length.
The algorithm work in static condition on the topology and link cost.
These are basic steps:
-initialization; M= {s} , Dn =DSN for n!=s
-find neighboring nodes not in M has least-cost path from s include in M.
-update the least cost path.
Iteration M C(2) path C(3) path C(4) path C(5) path C(6) path
1 (1) 2, 1-2 2, 1-3 ------- ------- -------
2 (1,2) 2, 1-2 2, 1-3 6,1-2-4 ------- 3, 1-2-6
3 (1,2,3) 2, 1-2 2, 1-3 5,1-2-6-4 7, 1-2-6-4-5 3, 1-2-6
4 (1,2,3,6) 2, 1-2 2, 1-3 5, 1-2-6-4 7, 1-2-6-4-5 3, 1-2-6
5 (1,2,3,4,6) 2,1-2 2, 1-3 5, 1-2-6-4 7, 1-2-6-4-5 3, 1-2-6
6 (1,2,3,4,5,6) 2, 1-2 2, 1-3 5, 1-2-6-4 7,1-2-6-4-5 3,1-2-6
So from this you can create routing table for center routing or distributed system follow by least cost path Dijkstra algorithm.
Fixed routing
Advantages:
5
Simple, cost given, least cost path given you can use it simple
Works well for stable load network
Same for virtual-circuit or datagram.
Problems:
Lack of flexibility, if network condition change it fail
Does not react to failure network, or congestion condition
Flooding Routing
Require no network any information whatsoever
Every incoming packet is send to all node except from which it come.
Do deliver a packet large number of packets copy generate these are alarm condition
Advantages
6
All possible routines from S to D are tried. So if there’s is path it always reach to its D. its Robots mean if any route failure packet but will reach from other path .so its’ reliable.
All routes are tried, so at least one packet goes to shortest route.
All nodes direct or indirectly visited.
Problem
Generate large number copies are generate which make congestion.
Suitable if use damping mechanism so that larges number of packets are not make.
Technique To Use
Hop-Count: a hop counter is contain in header of packet and it decrease each one time when pass through the node and discard when it reach to zero.
The sender initialize the hop counter if not known it is set to full diameter of subnet. Worst case value.
Keep track of packets which are responsible for flooding using a sequence number .Avoid sending them out second time.
Selective Flooding
A variation which is slightly more practical is selective flooding.
The router don’t send packets to in all direction but in the direction to the destination. Give weightage to check whether it is going to D or moving away to D.
Utilities Of Flooding
Flooding is robustness: in case of war or load or topology change under such case this is very useful
May be used in virtual circuit like when packet reach to D from least cost path it send acknowledgment and it save.
Flooding always uses shortest path since it explore every possible path to D.
Some time to messages all nodes so it’s good. To upgrade info this helpful
Rather its disadvantages it’s also have imp utilities.
Random Routing
7
This has the simplicity and robustness of flooding with far less traffic load.
A node only selective one outgoing path for retransmission of incoming packet.
The outgoing link is chosen at random, excluding the link on which the packet come.
How You Do It Then?
8
If you it random then you don’t need the info of the network like how many packets are in Queue bandwidth etc.
Or you can do in another method like round robin fashion in which you chose random and chose a link and next time you choose other link etc. and read to you destination. So you distribute the load. But this some have limitation like instead of packet going towards destination it may go towards source side
So this can approx. overcome by.
A refinement is to assign a probability to each outgoing link and to select the link based on that probability.
The actual route will typically not be the least-cost path.
So here the Data rate is used as network information. Higher the Date rate of particular link is probability is selected in the network.
It has robustness because it use higher data rate path so packet shall be deliver to the destination but it also has a limitation like it don’t select cost effective path.
Flow-Base Routing
9
So here we previously use networking info, topology but not consider load.
An approach that uses both topology load information for routing.
Flow between a pair of nodes is relatively stable and predictable. That’s mean if you know the traffic load of a nodes and data rate then you can calculate the flow between a pair of nodes.
For a given line if the capacity and average flow is known, it is possible to calculate to mean packet delay by queuing theory.
From the mean delay of all the lines, it is easy to calculate the flow-weight average to get mean delay for the whole subnet.by this we use Dijkstra algorithm and make a routing table .so it also fix, static type routing.
Then the routing algorithm find the minimum average delay.
Adaptive Routing
Routing decision change as condition on the network change.
Two principal that affecting routing decision.
Failure: when a node, link fail it can’t longer use as a route.
Congestion: when a particular area of the network congested it is desirable to move the route packets around the congestion area.
So adaptive routing changes dynamically with the networking condition.
Classification on the basic of information source: local, adjacent nodes, all nodes.
For adaptive routing to be, there must be exchange network information among the nodes.
Typically metrics:
Number of hops (simplest one but the not use i.e. for particular S TO D how many hops packets use)
Time delay in msec (for a particular S to D, queue length is know we can call the time delay)
Total number of packets queued in network.
How much of information:
More information exchange better routing more overhead
10
More frequent better routing more overhead
So there is trade off.
Draw Backs Of Adaptive Routing
Routing is done dynamically changing condition so it put Burdon on switching nodes.
So if network condition changes very quickly like congestion then what will happen it produce congestion-oscillation. I.e. if there is traffic load at one area we move the traffic to around area then what will happen traffic on other area become congestive.
So this problem is solve by thushing.
Advantages Of Adaptive Routing
- Improve performance - Can aid in congestion control - Widely used
Distance Vector Routing
Key characteristic:
1: Knowledge about entire network.
2: Routing only to neighbor.
3: Information sharing at regular interval.
Each node maintain the routing table having one entry for each node with two other fields ;preferred next node and cost estimate of distance , based on one of the matrices.
Network ID Cost Next Router
Link State Routing
Basic steps:
11
Identify the neighboring nodes.
Measure the delay or cost to each of its neighbor.
Form a packet contain all the information.
Send the packets to all other nodes (flooding)
Compute the shortest path to every other node (Dijkstra algorithm).
Here in link state information gather is only from its neighboring nodes rather entire network like distance routing.
So the basic idea is it gather information to its neighboring node and route to all like flooding.
And information sharing gather is done after regular interval.
Advertise ID Network ID (destination)
Cost Next Router
So a link state packet forms and spread it in flooding strategies.
So as information is gather at regular interval every node make some kind of its database and with the passage of time this database become large. And it as uses information gathering at regular interval it need more computational power and memory .so link state routing is some kind of expensive then distance routing. However is more scalable than distance Routing.
Multicast Routing
12
As we study routing is the sending information from S to D. but in some case we have to send some message to a group of peoples. Sending a packets to a group of people is known as Multicasting Routing.
i.e. Service provider like movies , TV channels want to sending particular messages to particular group of peoples then this type of routing is done by Multicast strategies.
To do multicast routing each node computes a spanning tree covering all nodes in subnet. First when a packets is send first node find the spanning tree towards selective group or Destination. And after that it send packet to from that spanning tree route. Another technique is also we can use like flooding which we discuss recently.
Reference:
Data.And.Computer.Communications.8e.WilliamStallings
------------------------------------------------------------------------------------------------------------------------------------------
13