Changes between Version 25 and Version 26 of Tutorials/oMF/tut1
- Timestamp:
- Oct 20, 2014, 3:22:34 PM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Tutorials/oMF/tut1
v25 v26 9 9 10 10 In this exercise we will establish a simple topology consisting of !MobilityFirst routers, hosts and applications, deploy the software components onto physical nodes, and run an end-to-end 'ping' application. At the end of the exercise, you should expect to acquire a general knowledge of the !MobilityFirst software components and how to deploy and configure them using the Orbit testbed. 11 12 === Pre-requisites === 13 14 * Experimenters are expected to have basic networking knowledge and familiarity with Linux OS and some of its tools (command line tools, ssh, etc.). 15 * An ORBIT user account. 16 * Some familiarity with the !MobilityFirst terminology. 11 17 12 18 === Topology === … … 85 91 === Deploy Network === 86 92 87 Software and experiment control in the ORBIT testbed can be automated greatly using the OMF framework. An OMF control script is written in Ruby and allows the experimenter to specify the set of nodes, their network configuration, to specify software components and arguments, and to control their execution on one or more nodes. We will use an OMF script to bring up 4 ORBIT nodes to host our topology, with corresponding software components.93 Software and experiment control in the ORBIT testbed can be automated greatly using the OMF framework. An OMF control script is written in Ruby and allows the experimenter to specify the set of nodes, their network configuration, to specify software components and arguments, and to control their execution on one or more nodes. We will use an OMF script to bring up 4 ORBIT nodes to host our topology, with the corresponding software components. 88 94 89 95 We will first introduce the main details of the scripts that will be run and then we will step to the execution process itself. … … 91 97 ==== Software Component Specification ==== 92 98 93 The following snippet shows the specification of the MobilityFirst components along with the required arguments :99 The following snippet shows the specification of the MobilityFirst components along with the required arguments. A typical application will have at least a brief description, a path for the associated binary to execute and a list of properties that correspond to the parameters that will be passed once starting the executable. 94 100 95 101 {{{ … … 126 132 } 127 133 134 128 135 #Application definition of the client network protocol stack 129 136 defApplication('MF-HostStack', 'hoststack') {|app| … … 137 144 A few considerations on the defined applications: 138 145 139 * As seen above, the router is configured with both 'core' and 'edge'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.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. 140 147 141 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.