B. Software Components
Software packages and libraries have been developed to
support both application/protocol evaluations. These include
common libraries for traffic generation, measurement
collection etc. and also provide easy hooks to enable "expert"
users to develop their own applications, protocol stacks, MAC
layer modifications and/or other experiments on the testbed. To
give an idea of the flexibility that the software needs to
provide, consider the following sample experiment scenarios,
− Simple users may only want to define a network topology
using standard MAC, network and transport layer
protocols as well as a standard traffic generator. The user
may be interested in measuring standard supported
statistics such as throughput, average delay, packet loss
etc. These tools are provided as default libraries.
− More advanced users may want to run cross-layer
experiments, which will need support from the kernel so as
to allow access to the data and control plane of all layers of
the standard protocol stack. For such users, full node
access can be provided along with a framework for
measurement collection so that they can easily define new
statistics, choose measurement points and collect
measurements based on samples or time intervals.
A layered approach and modular design, with open APIs,
hides the unnecessary details of experiment operation and
complexity from users. In addition to the testbed software
packages and libraries, it is expected that re-usable components
and packages will also be developed by the user community. In
order to support user experiments, the ORBIT testbed has a
software framework as shown in Fig.4 consisting of
management/control software as well as user level application
software for the radio nodes.