Changes between Version 16 and Version 17 of Tutorials/m0SDN/cTutorial2


Ignore:
Timestamp:
Oct 18, 2013, 10:47:57 PM (11 years ago)
Author:
ssugrim
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Tutorials/m0SDN/cTutorial2

    v16 v17  
    1 = Tutorial 2: Multiple Controllers =
     1== Tutorial 2: Multiple Controllers ==
    22
    33In the !OpenFlow model, traffic can be separated along many different boundaries and flows can be controlled by multiple controllers. In this particular example we will run two separate controllers. The first one will handle the production traffic, and run a commodity controller, SNAC. The second controller will manage the "experimental" bit-torrent traffic, and run a NOX controller. The data interfaces (eth0) of 4 nodes are connected to the !OpenFlow switch (in this case NEC IP8800). The !OpenFlow switch is pre-configured to speak to a controller at console.sb9.orbit-lab.org:6633.
     
    77[[Image(setup.jpg)]]
    88
    9 == Controllers ==
    10 
    11 === Splitter: Flowvisor - IP port 6633 ===
     9=== Controllers ===
     10
     11==== Splitter: Flowvisor - IP port 6633 ====
    1212
    1313The flowvisor tool serves as an intermediary between controllers. It splits traffic based on predefined rules. For this example we're running flowvisor on the SB9 console. While it is completely possible to compile your own flowvisor from scratch and install it in your home directory, a precompiled installation is located in /opt.  In order to properly steer the flowvisor tool, you must populate a flovisor-config.d directory with files that configure the flowvisor behavior. This directory must be a subdirectory of the current working directory, as flow visor will create statistics files and logs in the current working directory. For the purposes of this demo we'll be using these files:
     
    8282
    8383
    84 === Production: SNAC - IP port 6634 ===
     84==== Production: SNAC - IP port 6634 ====
    8585On console.sb9 SNAC is preconfigured to listen to port 6634. For the purposes of this example, SNAC will handle the production traffic and as such is not configured to do anything beyond the scope of a simple learning switch. The web interface for SNAC is accessible externally at https://sb9.orbit-lab.org (default credentials).
    8686
    87 === Experimental: NOX - IP port 6635 ===
     87==== Experimental: NOX - IP port 6635 ====
    8888
    8989For demonstration purposes we will have this controller simply pass traffic. We could manipulate this traffic by configuring NOX to behave differently, or by running a completely different controller that listens on port 6635. Since our model is that "production" traffic is handled by a controller at port 6634 and experimental traffic is handled by a controller at port 6635, it is expected that the states of the port 6635 controller be transient.
     
    9494}}}
    9595
    96 == The experimental Traffic ==
     96=== The experimental Traffic ===
    9797
    9898'''''FIXME:This process will probably be Scripted.'''''
     
    185185}}}
    186186
    187 == ASIDE: TESTS for connectivity ==
     187=== ASIDE: TESTS for connectivity ===
    188188
    189189In case your experiment is failing, here are a few sanity checks.
    190190
    191 === The SNAC controller Web interface ===
     191==== The SNAC controller Web interface ====
    192192
    193193 Assuming your flowvisor is passing along high priority traffic to snac, the summary should look like the this:[[BR]]
    194194[[Image(snac.jpg)]]
    195195
    196 === Inter-node traffic ===
     196==== Inter-node traffic ====
    197197
    198198Once the data interfaces are brought up on each of the 4 nodes, they should be discovered by SNAC. Assuming we place them all in the same IP subnet, it should be possible to ping each node from every other node. A simple test can be done as follows:
     
    210210This should be done with independent sessions, as each session will start to display traffic information. Once completed SNAC should report an increase in production  traffic, and 4 discovered hosts with the specified IPs.
    211211
    212 === High Numbered port Test ===
     212==== High Numbered port Test ====
    213213
    214214Start a fresh NOX controller instance on sb9 and enable packet dumps