160 likes | 420 Views
Path Optimization in Computer Networks. Roman Ciloci. The Need for Path Optimization. Actual process Data follows some path already chosen Is the default path the best ? (Usually not) Goal Study and understand basic principles behind path optimization. Uses of path optimization.
E N D
Path Optimization in Computer Networks Roman Ciloci
The Need for Path Optimization • Actual process • Data follows some path already chosen • Is the default path the best ? (Usually not) • Goal • Study and understand basic principles behind path optimization.
Uses of path optimization • Streaming applications • QoS (quality of service) verification • Server Selection • Network monitoring • Detecting highly-congested bottlenecks • Route selection in overlay networks
How can we make it happen? • Hardware layer • Too expensive • Too long • Transport layer • Too long • Application layer • Requires few or no changes for the end user
Steps involved in Finding the Optimal Path • Determine available bandwidth of a path • Calculate the time it would take for each path to transfer our data • Use graph algorithms to determine optimal path
Determine available bandwidth of a path • Estimation is performed using multiple probes • Two techniques are used • Packet-pair (used for each probe stream) • Packet-train (uniformly and exponential spaced) • Which one is the best ? • How to find out? • Selected three tools used for available bandwidth estimation, each one of them using a different technique • Tools: Spruce, Pathload, and pathChirp • We ran two tests on each of them
First Test • A very simplistic model • Advantages • We know the input data • We can control and monitor network traffic • We can calculate the output • Disadvantages • Does not represent real inter networks communication • Composed of two subtests 1. No additional load on the path 2. 1MB (8Mb) of constant load on the path
Subtest #1 • We used the system monitor tool to verify that there is no load on the path • We ran each tool three times to verify consistency • Allowed room for a ∆d (deviation) which can be calculated later • Results:
Subtest #2 • Same settings as the subtest 1 • This time we designed a program that uses the UDP connectionless protocol to send data • The role of the program is to put 1MB (8Mb) of load on the path • Results:
Second Test • Used Planetlab testbed as testing environment • Advantages • It is a real inter networks communications medium • Allows for multiple hops testing (multiple nodes between two hosts) • Disadvantages • Unknown path capacity between the nodes • No control over network traffic • Can’t make any real calculations • Description • Used one machine from Univ. of Texas, USA and one from Univ. of Warsaw, Poland • Tracert system tool output indicated 19 routers between the machines. • Average RTT (round trip time) 160 ms.
…Results • Lack of information forces us to make observations and make vague comparisons with first test • Based on both tests pathChirp proves to be more consistent and accurate
Finding the time for a path • Knowing the available bandwidth allows us to calculate the time it will take a path to transmit data. • Using the formula:
Finding Optimal Path • Map the N2 network topology as a graph • Label each path with the calculated time • Use Dijkstra's algorithm to find optimal path 89 ms N1 N3 N1 N3 25 ms 35 ms 45 ms N4 N2 N2 N4
Conclusions • Path selection is definitely a important part of end-to-end performance formula • Room for further developments on available bandwidth estimation. • Run more tests on more tools for more accurate results.