Changes between Version 26 and Version 27 of Tutorials/oMF/tut1
- Timestamp:
- Oct 20, 2014, 3:47:27 PM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Tutorials/oMF/tut1
v26 v27 22 22 [[Image(Tutorials/oMF:MFTurorialNetwork.png)]] 23 23 24 === MobilityFirst ORBIT Image ===24 === !MobilityFirst ORBIT Image === 25 25 26 26 The complete set of components from the latest release of the !MobilityFirst software is available as a compressed image within the ORBIT testbed for imaging nodes using the 'OMF' tool. The current pre-prepared image is built over Ubuntu 12.04 LTS distribution and will be moved to newer distributions as they become available and we have had a chance to test compatibility. … … 146 146 * As seen above, the router is configured with both 'core' (''core_dev'') and 'edge' (''edge_dev'') interfaces. Different router configurations are available depending on the required functionality. In this case we use what we call a MobilityFirst Access Router, which has the particularity of having the core interfaces connected towards the core of the network, while the edge interface enables hosts to connect and access the MobilityFirst network. 147 147 148 * For this basic setup, the GNRS has been configured to be running as a single instance, but in a larger experiment, it is designed to be a distributed system deployed at different locations.149 150 * Most of the client settings are located in a configuration file pre-loaded on the O rbit image.148 * For this basic setup, the GNRS has been configured to be running as a single server instance, but in a larger experiment, it is designed to be a distributed system deployed at different locations. 149 150 * Most of the client settings are located in a configuration file pre-loaded on the ORBIT image in the folder ''/usr/local/src/mobilityfirst/eval/orbit/conf/''. 151 151 152 152 ==== Setting up the Software Node Groups ==== 153 153 154 The following s hows how the node groups for the routers are setup in the OMF control scripts. Node groups allows experimenters to use single statements to set configuration (e.g. network interfaces) and execute commands across all nodes inthe group.154 The following snippet shows how the node groups for the routers are setup in the OMF control scripts. Node groups allow experimenters to use single statements to set configuration (e.g. network interfaces) and execute commands across all nodes belonging to the group. 155 155 156 156 {{{ … … 233 233 }}} 234 234 235 As can be seen above, properties which were defined in the MF-Router, MF-GNRS and MF-HostStack applications have been set here. Moreover, node interfaces have been set up, and IP addresses have been assigned to them. As we discussed earlier the router is configured with both edge and core interfaces. The ethernet interface is used to connect to the core of the network, and the wireless interface is for connection to the clients. On the other side, the client is equipped with wifi interface to connect to the access router. 235 As it can be seen above, once defining applications that each group will execute, the application properties are set accordingly. While we do not want to enter the details of each parameter, it is important to notice how by simple use of counters, the different nodes can be assigned different values. 236 237 Moreover, resources such node interfaces and their corresponding IP addresses have to be set up in this phase of the experiment. As we discussed earlier the router is configured with both edge and core interfaces. An ethernet interface is used to connect to 2 core routers, while a wireless interface is used to provide access for the clients. 236 238 237 239 … … 240 242 ==== Starting the MobilityFirst Components ==== 241 243 242 The f ollowing snippet shows the starting of the router software and the gnrs servers on the two router nodes:244 The final part of the experiment script is dedicated to the execution events and commands. The following snippet shows the starting of the router software, the gnrs server and the client network protocol stack: 243 245 244 246 {{{ … … 253 255 # click router cleanup 254 256 group("router_#{i}").exec("killall -9 click") 255 # gnrs dcleanup257 # gnrs cleanup 256 258 group("router_#{i}").exec("killall -9 java") 257 259 end … … 283 285 }}} 284 286 285 To make sure, our experiment will not conflict with any prior running processes on the node groups, killall command is used to terminate all processes associated with routers, GNRS and host stack. After waiting for a reasonable time, first the routers are brought up and we start the applications on them, and then the hosts are brought up, starting the applications on them.287 To make sure, our experiment will not conflict with any prior running experiments on the node groups, all eventual residual processes are killed. After waiting for a reasonable time in order to allow the resources to reset and be ready for a new execution, first the routers are started (and the gnrs for the associated node), and then the hosts are brought up. 286 288 287 289 … … 294 296 omf tell -a on -t system:topo:imaged 295 297 }}} 296 In order to execute the just described script, download it to your console home folder copying and pasting the following command: 298 299 All the aggregated definitions just presented are included in a single script that you have to download to your grid console. In order to download it to your console, copy and paste the following command: 297 300 298 301 {{{ … … 308 311 }}} 309 312 310 The obtained output should res amble the follwoing snippet:313 The obtained output should resemble the following snippet: 311 314 312 315 {{{ … … 360 363 A few comments on the obtained output: 361 364 * The experiment ID can be seen on one of the first lines, it will be useful for using OML to retrieve the output for OML-enabled experiments. (this experiment does not have any outputs.) 362 * The GUIDs assigned to the nodes can be seen. The routers (nodes1-1 and 1-2 on the grid) haveGUID 1 and 2, and the hosts (nodes2-1 and 2-2 on the grid) have GUID 101 and 102. Since we have a simple topology in this experiment, only a single instance of GNRS server is running, which as shown above is hosted by router with GUID 1.365 * The GUIDs assigned to the nodes can be seen. For this particular snippet, the routers (nodes1-1 and 1-2 on the grid) are assigned GUID 1 and 2, and the hosts (nodes2-1 and 2-2 on the grid) have GUID 101 and 102. Since we have a simple topology in this experiment, only a single instance of GNRS server is running, which as shown above is hosted by router with GUID 1. 363 366 364 367 === Test The Network === 365 368 366 Once the host and router components are up, you can log in to the sender (host identified by GUID 101) and receiver (host identified by GUID 102) host nodes (two separate terminals) and run the 'mfping' application. In order to access a running Orbit node ssh into it as follow: 369 Before proceeding to the next step, make sure your OMF script has reached the line '' INFO exp: Request from Experiment Script: Wait for 10000s.... ''. This will be the signal that the host and router components are up. 370 371 Now you can proceed and using the previously opened consoles log in into the two host nodes (GUIDs 101 and 102) that will be used to run the simple 'mfping' application. In order to access a running Orbit node ssh into it as follow: 367 372 368 373 {{{ … … 373 378 Where ''x-y'' has to be replaced by the actual numbers identifying the node. 374 379 375 Once logged in, run the mfping 'server' specifying the application GUID:380 Once logged in, run on the node with GUID 102 the mfping 'server' component properly specifying the application GUIDs: 376 381 377 382 {{{ … … 382 387 where "-s" specifies that the host is running as server, "-m" specifies the source guid and "-o" the destination one 383 388 384 To run the mfping 'client' 389 To run the mfping 'client' start on the client with GUID 101 the command: 385 390 386 391 {{{ … … 411 416 == Finish == 412 417 413 Once the application has successfully completed its task, interrupt the experiment from the orbit console, using the Ctrl-C key combination. 418 Once the application has successfully completed its task, follow these steps to complete the experiments: 419 * Kill the ''mfping'' server using Ctrl-C on the corresponding node. 420 * On the grid's console running the experiment script, interrupt the experiment using the Ctrl-C key combination. 421 This will stop all the applications and will conclude the experiment. 414 422 415 423 === References ===