Changes between Version 16 and Version 17 of Tutorials/m0SDN/cTutorial2
- Timestamp:
- Oct 18, 2013, 10:47:57 PM (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Tutorials/m0SDN/cTutorial2
v16 v17 1 = Tutorial 2: Multiple Controllers=1 == Tutorial 2: Multiple Controllers == 2 2 3 3 In 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. … … 7 7 [[Image(setup.jpg)]] 8 8 9 == Controllers==10 11 === Splitter: Flowvisor - IP port 6633===9 === Controllers === 10 11 ==== Splitter: Flowvisor - IP port 6633 ==== 12 12 13 13 The 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: … … 82 82 83 83 84 === Production: SNAC - IP port 6634===84 ==== Production: SNAC - IP port 6634 ==== 85 85 On 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). 86 86 87 === Experimental: NOX - IP port 6635===87 ==== Experimental: NOX - IP port 6635 ==== 88 88 89 89 For 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. … … 94 94 }}} 95 95 96 == The experimental Traffic==96 === The experimental Traffic === 97 97 98 98 '''''FIXME:This process will probably be Scripted.''''' … … 185 185 }}} 186 186 187 == ASIDE: TESTS for connectivity==187 === ASIDE: TESTS for connectivity === 188 188 189 189 In case your experiment is failing, here are a few sanity checks. 190 190 191 === The SNAC controller Web interface===191 ==== The SNAC controller Web interface ==== 192 192 193 193 Assuming your flowvisor is passing along high priority traffic to snac, the summary should look like the this:[[BR]] 194 194 [[Image(snac.jpg)]] 195 195 196 === Inter-node traffic===196 ==== Inter-node traffic ==== 197 197 198 198 Once 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: … … 210 210 This 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. 211 211 212 === High Numbered port Test===212 ==== High Numbered port Test ==== 213 213 214 214 Start a fresh NOX controller instance on sb9 and enable packet dumps