Changes between Version 9 and Version 10 of GENIEducation/SampleAssignments/OpenFlowLoadBalancerTutorial/ExerciseLayout/Execute
- Timestamp:
- 07/05/13 10:52:27 (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GENIEducation/SampleAssignments/OpenFlowLoadBalancerTutorial/ExerciseLayout/Execute
v9 v10 17 17 </table> 18 18 }}} 19 20 = STEPS FOR EXECUTING EXERCISE =21 19 22 20 = Debugging an OpenFlow Controller = … … 39 37 You will want to use a variety of Unix utilities, in addition to the tools listed in [http://groups.geni.net/geni/wiki/GENIEducation/SampleAssignments/OpenFlowAssignment/ExerciseLayout ExerciseLayout], to test your controllers. The standard ping and ''/usr/sbin/arping'' tools are useful for debugging connectivity (but make sure your controller passes ''ICMP ECHO REQUEST'' and ''REPLY'' packets and ''ARP'' traffic, respectively!), and the command ''netstat -an'' will show all active network connections on a Unix host; the TCP connections of interest in this exercise will be at the top of the listing. The format of netstat output is out of the scope of this tutorial, but information is available online and in the manual pages. 40 38 41 = Exercises=42 - '''Load Balancing''' --Files to download: [http://www.gpolab.bbn.com/experiment-support/OpenFlowExampleExperiment/load-balancer.rb load-balancer.rb] [[BR]]39 = Implement a Load Balancing OpenFlow Controller = 40 Files to download: [http://www.gpolab.bbn.com/experiment-support/OpenFlowExampleExperiment/load-balancer.rb load-balancer.rb] [[BR]] 43 41 We will implement a Load Balancer OpenFlow Controller on node `Switch` using Trema. [[BR]] 44 42 Load balancing in computer networking is the division of network traffic between two or more network devices or paths, typically for the purpose of achieving higher total throughput than either one path, ensuring a specific maximum latency or minimum bandwidth to some or all flows, or similar purposes. For this exercise, you will design a load-balancing OpenFlow controller capable of collecting flow status data from OpenFlow switches and using it to divide traffic between dissimilar network paths so as to achieve full bandwidth utilization. [[BR]] … … 46 44 For the purpose of this exercise, data collection will be limited to the flow statistics reported by open vswitches. 47 45 48 '''Experimental Setup [[BR]]''' 49 [[Image(OpenFlowLBExo.png, 50%, nolink)]] [[BR]]46 == Experimental Setup == 47 [[Image(OpenFlowLBExo.png, 30%, nolink)]] [[BR]] 50 48 Follow instructions in the [http://groups.geni.net/geni/wiki/GENIEducation/SampleAssignments/OpenFlowLoadBalancerTutorial/ExerciseLayout/DesignSetup DesignSetup] step to build a load balancing experiment topology. Your GENI resources will be configured in a manner similar to the above figure. The various parts of the diagram are as follows: 51 -52 49 - '''Inside and Outside Nodes''': These nodes can be any ExoGENI Virtual Nodes. 53 - '''Switch:''' Th e role of the Open vSwitch node may be played either by a software Open vSwitch installation on a ExoGENI Virtual Node, or by the OpenFlow switches available in GENI — consult your instructor.50 - '''Switch:''' This node is a Linux host running Open vSwitch. Your Load Balancing OpenFlow Controller will be running on this node as well. This is the main node that you will be working on. 54 51 - '''Traffic Shaping Nodes (Left and Right)''': These are Linux hosts with two network interfaces. You can configure netem on the two traffic shaping nodes to have differing characteristics; the specific values don’t matter, as long as they are reasonable. Use several different delay/loss combinations as you test your load balancer. 55 52 - '''Aggregator''': This node is a Linux host running Open vSwitch with a switch controller that will cause TCP connections to “follow” the decisions made by your OpenFlow controller on the Switch node. So leave this node alone, you only need to implement the OpenFlow controller on node `Switch`. … … 61 58 }}} 62 59 Use the ''tc qdisc change'' command to reconfigure existing links,instead of ''tc qdisc add''. [[BR]] 63 The outgoing links in the provided rspec are numbered 192.168.4.1 and 192.168.5.1 for left and right, respectively.60 The outgoing links on node `Switch` in the provided rspec are numbered 192.168.2.1 and 192.168.3.1 for left and right, respectively. 64 61 65 62 '''Balancing the Load''' [[BR]]