Changes between Version 4 and Version 5 of Internal/OpenFlow/OFIntro


Ignore:
Timestamp:
Jul 15, 2013, 8:09:58 PM (11 years ago)
Author:
akoshibe
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Internal/OpenFlow/OFIntro

    v4 v5  
    11= *Draft* An Intro to OpenFlow@ORBIT =
    22This page is meant to get you up and running quickly with !OpenFlow-related experiments/development on the ORBIT testbeds.
    3 = I. Using node image(s) =
    4 To make things easier, we have images pre-installed with several potentially useful packages, including:
     3
     4= I. A simple OpenFlow Network =
     5We begin with a simple setup of a Mininet network controlled by a controller (Floodlight) running on a separate Sandbox node, which looks like this:
     6{{{
     7           network
     8   node1-1  link   node1-2
     9  [Mininet]------[Floodlight]
     10
     11}}}
     12
     13== 1.1 Some prerequisites - Using the prepackaged node image == #imaging
     14To make things easier, we provide images pre-installed with several potentially useful packages, including:
     15
    516 * [http://www.projectfloodlight.org/floodlight/ Floodlight] : A development-friendly controller platform
    617 * [http://mininet.org/ mininet] : !OpenFlow network prototyping tool/emulation
     
    819 * [http://www.openflow.org/wk/index.php/Liboftrace liboftrace] : !OpenFlow message parser/analyzer for pcap files   
    920
    10 This makes things easy since you can image multiple nodes with the same image, and pick and choose controllers, switches, etc. For people interested in learning more about/installing these packages, they can refer to [#install Section II] for a summary of each and further links.
    11 
    12 == 1.1 imaging == #imaging
     21This makes things easy since you can image multiple nodes with the same image, and pick and choose what to run where.
     22
    1323The image is named `of-pkg.ndz`. `omf` can be used to image nodes with it:
    1424{{{
     
    2131Once on, you can log into them as root using their names, e.g. '''node1-1'''.
    2232
    23 == 1.2 Setting up an OF network == #nw_setup
    24 In this section, we set up a basic !OpenFlow network with Floodlight and Mininet using a two-node Sandbox.
    25 === 1.2.1 general information ===
    26 ''' node/Sandbox layout ''' [[BR]]
     33=== 1.1.1 node/Sandbox layout ===
    2734When you log onto a Sandbox, you are logged into the '''console''' machine, from which you can use `omf` and the likes to image and log onto/manage the nodes.
    2835
    2936Each node (save those on sandbox4) have two interfaces. The first, eth1, connects to your console connection for managing the nodes, and is assigned an IP address of the form 10.1x.y.z, where x = sandbox number, and y and z = node number e.g. if your node is named node1-2, and is part of Sandbox8, it will be 10.18.1.2. '''Do not take down this interface or change its address - you will lose your connection'''. The second, eth0, is down by default, and is open to any kind of use. Both are gigabit links and can be used for experimentation, but in general, the second one should be used unless there are specific circumstances.   
    3037
    31 ''' managing/configuring nodes ''' [[BR]]
     38=== 1.1.2 managing/configuring nodes ===
    3239This is done by using SSH to log into the nodes as root. Logging into each is okay, but can get cumbersome if you have many nodes, on which you have to do the exact same thing. In this case, commands may also be issued via SSH from the console, without manually logging into each node (and ending up with a dozen terminal windows):
    3340{{{
     
    3946This can be used in a script to run from the console to quickly set up many nodes. We use it in some of the following examples to make it easier to show what is happening where.   
    4047
    41 === 1.2.2 setup - by example ===
    42 As a two-node example, we image the nodes on Sandbox8, as shown in [#imaging Section 1.1]. One is used for the controller, and the other, the Mininet network.
    43 
    44  1. ''Bring up and assign addresses to eth0 of the nodes''. Both should be in the same IP block. From console, the commands look like this:
     48=== 1.1.3 Installing your own tools ===
     49For people interested in learning more about/installing these packages, they can refer to [#install Section II] for a summary and quick setup instructions for each and links to more information.
     50
     51== 1.2 Running the network == #nw_setup
     52As a two-node example, we image the nodes on Sandbox8, as explained in [#imaging Section 1.1]. One is used for the controller, and the other, the Mininet network.
     53
     54 1. ''Bring up and assign addresses to eth0 of the nodes''. Both should be in the same IP block. If done from console, the commands look like this:
    4555 {{{
    4656$ ssh root@node1-1 "ifconfig eth0 inet 192.168.1.1 up"
     
    105115 }}}
    106116
     117== Using OpenVswitch directly ==
     118Mininet's datapaths are backed by OVS. Therefore, if you have a Mininet install, you get OVS for "free". You can use OVS directly for your data plane.
     119
     120= Multiple controller instances =
     121You can launch multiple instances of Floodlight on one or more nodes. If you decide to run the instances on a single host, the ports used by the Floodlight instances must not conflict i.e. each instance must be assigned a different set of ports.
     122 
    107123----
    108 = II. Installation = #install
     124= Installation = #install
    109125The following are the installation steps and basic usage for the software that are found on the image. For more information, refer to their respective pages; Floodlight and Mininet in particular have very thorough docs.
    110126