Emulation Experimentation Using the Extendable Mobile Ad-hoc ...
Emulation Experimentation Using the Extendable Mobile Ad-hoc ...
Emulation Experimentation Using the Extendable Mobile Ad-hoc ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Abstract<br />
The current deployment and continuing evolution<br />
of wireless technology within commercial and military<br />
applications places an increased importance<br />
on providing researchers and evaluators with a scalable,<br />
practical, and realistic experimentation framework.<br />
The experimentation framework must provide<br />
researchers with <strong>the</strong> ability to examine any<br />
and all aspects of complex wireless networks and<br />
<strong>the</strong>ir corresponding interactions at all points within<br />
<strong>the</strong> network stack with a certain level of confidence.<br />
<strong>Emulation</strong> is a viable option providing researchers<br />
with <strong>the</strong> ability to bridge <strong>the</strong> gap between simulation<br />
and field testing in a practical and realistic<br />
manner.<br />
In this paper we describe <strong>the</strong> <strong>Extendable</strong> <strong>Mobile</strong><br />
<strong>Ad</strong>-<strong>hoc</strong> Network Emulator (EMANE) with its open,<br />
flexible, and modular architecture. EMANE’s flexible<br />
design provides <strong>the</strong> ability to operate in various<br />
hardware configurations (centralized, decentralized,<br />
and virtualized). EMANE’s modularity provides<br />
<strong>the</strong> ability to utilize plugins with <strong>the</strong> appropriate<br />
fidelity and realism to support diverse experiment<br />
objectives. The open EMANE architecture leverages<br />
<strong>the</strong> user community to develop and contribute<br />
models, tools, and applications.<br />
1 Introduction<br />
As wireless technology becomes more prevalent<br />
in every day commercial and military applications,<br />
<strong>the</strong>re is a growing demand within research and test<br />
communities to evaluate existing and evolving technologies<br />
in a scalable, practical, and realistic environment.<br />
Within recent years, network emulation<br />
has gained favor within <strong>the</strong>se communities to complement<br />
traditional approaches such as simulation<br />
and field testing. However, significant challenges<br />
must be overcome to fully realize <strong>the</strong> benefits of<br />
wireless network emulation.<br />
This paper describes <strong>the</strong> open source 1 Extend-<br />
<strong>Emulation</strong> <strong>Experimentation</strong><br />
<strong>Using</strong> <strong>the</strong> <strong>Extendable</strong> <strong>Mobile</strong> <strong>Ad</strong>-<strong>hoc</strong> Emulator<br />
1 EMANE is release under <strong>the</strong> BSD license. EMANE plu-<br />
Kaushik B. Patel and Steven M. Galgano<br />
CenGen, Inc.<br />
Columbia, MD 21045<br />
{kbpatel, sgalgano}@cengen.com<br />
1<br />
able <strong>Mobile</strong> <strong>Ad</strong>-<strong>hoc</strong> Network Emulator (EMANE)<br />
developed by CenGen, Inc., sponsored by <strong>the</strong> OSD<br />
Network Communication Capabilities (NCC) Tactical<br />
Edge <strong>Experimentation</strong> Testbed Initiative, to<br />
address many of <strong>the</strong> challenges with wireless network<br />
emulation.<br />
EMANE supports <strong>the</strong> emulation of both simple<br />
and complex wireless network architectures consisting<br />
of heterogeneous networking technologies and<br />
<strong>the</strong>ir interactions. For example, <strong>the</strong> Army Future<br />
Combat System’s (FCS) vision of a highly mobile<br />
digital battlefield consists of heterogeneous platforms<br />
(sensors, dismounts, vehicles, UAVs, etc.) all<br />
interconnected with varying MANET wireless technologies.<br />
EMANE provides <strong>the</strong> ability to replicate<br />
such networks in a realistic manner to provide <strong>the</strong><br />
necessary insight into overall system performance.<br />
EMANE provides a flexible and modular architecture<br />
to support realistic emulation of current and<br />
future networking technologies. By implementing<br />
an open and modular emulation architecture, <strong>the</strong><br />
cost associated with <strong>the</strong> integration of new features<br />
and technologies can be significantly reduced. In<br />
addition, <strong>the</strong> open and modular approach promotes<br />
independent development of tools, models and applications<br />
by respective experts which can be leveraged<br />
by <strong>the</strong> emulation community at large.<br />
EMANE uses a generic mechanism for distribution<br />
of events, control, and logging information to<br />
and from emulation components. This generic distribution<br />
mechanism allows EMANE developers to<br />
focus on component functionality, eliminates <strong>the</strong><br />
need for pre-computed scenarios, and allows emulation<br />
components to report errors and alerts in<br />
real-time minimizing experimentation cycles.<br />
EMANE supports configuration of large scale experiments<br />
comprised of physical and virtual nodes<br />
with <strong>the</strong> same ease as small scale experiments containing<br />
a hand full of nodes.<br />
gin components are <strong>the</strong> property of <strong>the</strong>ir author and may be<br />
distributed under any license.
EMANE was developed using cross platform tool<br />
kits to support Linux, OS X and MS Windows experiment<br />
testbed environments 2 .<br />
The remainder of this paper is organized as follows:<br />
Section 2 describes <strong>the</strong> modular EMANE software<br />
architecture and component types. Section 3<br />
describes <strong>the</strong> rationale for realistic wireless models<br />
and identifies existing wireless models, as well<br />
as models under development within EMANE. Section<br />
4 lists some of <strong>the</strong> current programs utilizing<br />
EMANE. Section 5 provides a near term road map<br />
for EMANE and planned future work.<br />
2 Architecture<br />
EMANE implements a highly flexible modular architecture<br />
capable of accommodating a wide range<br />
of experiment testbeds. The flexibility of EMANE<br />
centers around its ability to centralize or distribute<br />
some or all of an experiment’s emulation processing<br />
across any number of testbed nodes. XML inputs<br />
to <strong>the</strong> emulator control <strong>the</strong> types of processing<br />
deployments and <strong>the</strong>ir respective locations, as<br />
well as <strong>the</strong> types of emulation modules to instantiate.<br />
The modularity of EMANE comes from a<br />
set of well defined component APIs that allow independent<br />
development of emulation module plugins,<br />
while retaining <strong>the</strong> ability to deploy and control<br />
<strong>the</strong>se components in a consistent generic manner.<br />
There are three main types of EMANE components:<br />
Network <strong>Emulation</strong> Modules, <strong>Emulation</strong><br />
Boundaries and <strong>Emulation</strong> Event Components.<br />
All EMANE components are implemented as<br />
Dynamic-Link Libraries and referred to as plugins.<br />
All plugins, regardless of type, implement a set of<br />
common interfaces to allow generic creation, configuration,<br />
and control. In addition, plugins implement<br />
a set of specialized interfaces which vary<br />
based on <strong>the</strong>ir respective type. EMANE uses a layered<br />
XML approach to instantiate any number of<br />
plugins and configure each plugin with any number<br />
of input parameters. The XML configuration<br />
is designed to minimize <strong>the</strong> amount of redundant<br />
information necessary to create an EMANE deployment.<br />
This is done by building a hierarchical series<br />
of emulation element groups. Each level in <strong>the</strong> hierarchy<br />
encapsulates <strong>the</strong> previous level(s) while still<br />
allowing tailoring of parameters from <strong>the</strong> level(s)<br />
below.<br />
2 EMANE is developed using The ADAPTIVE Communication<br />
Environment (ACE TM )[1] and The XML C parser<br />
and toolkit of Gnome (libxml2)[2].<br />
2<br />
2.1 Network <strong>Emulation</strong> Modules<br />
A Network <strong>Emulation</strong> Module (NEM) is a logical<br />
component that encapsulates all <strong>the</strong> functionality<br />
necessary to emulate a particular type of network<br />
technology. Each NEM is composed of two types<br />
of plugins: a Medium Access Control (MAC) Layer<br />
plugin and a Physical (PHY) Layer plugin. Instantiated<br />
NEM component layers are configured and<br />
<strong>the</strong>n connected to <strong>the</strong> layer immediately above and<br />
below. NEM layers communicate with each o<strong>the</strong>r<br />
using a generic message passing interface. Each<br />
layer is capable of communicating cross-layer control<br />
messages and Over-The-Air (OTA) messages<br />
with <strong>the</strong>ir neighboring layers (See Figure 1). Examples<br />
of cross-layer messages include: per packet<br />
RSSI, carrier sense, and transmission control messages.<br />
Each layer has <strong>the</strong> capability to generate<br />
OTA messages for communication with respective<br />
layer counterparts contained in different NEMs.<br />
Layers may also append and strip layer specific<br />
headers to OTA messages.<br />
Figure 1: NEM Stack with Boundary and OTA connections<br />
(Left). NEM Stack showing physical and<br />
logical communication paths (Right).<br />
NEMs are created and managed by a NEM Platform<br />
Server. NEMs managed by <strong>the</strong> same NEM<br />
Platform Server are referred to as being part of <strong>the</strong><br />
same platform (See Figure 2). The determination<br />
as to how many NEM platforms are required to support<br />
a given emulation experiment is a function of<br />
<strong>the</strong> number of NEMs, <strong>the</strong> complexity of <strong>the</strong> emulation<br />
modules, and <strong>the</strong> processing and memory<br />
resources available. Inter-NEM communication is<br />
manged by <strong>the</strong> NEM Platform Server. NEMs belonging<br />
to <strong>the</strong> same platform use in memory message<br />
passing. NEMs belonging to different platforms<br />
communicate using a multicast channel.<br />
The EMANE infrastructure delivers all OTA mes-
Figure 2: NEM Platform Server hosting 4 NEMs.<br />
sages to every NEM participating in <strong>the</strong> emulation.<br />
This provides <strong>the</strong> opportunity to model more<br />
complex PHY phenomena such as RF interference.<br />
PHY layer modules use a common header to allow<br />
cooperation between heterogeneous modules in<br />
<strong>the</strong> same experiment. The common header includes<br />
<strong>the</strong> following information: PHY type, NEM source,<br />
NEM destination, time, message duration, center<br />
frequency, bandwidth, data rate, antenna gain, antenna<br />
beam width, antenna elevation, antenna azimuth<br />
and transmission power. This information is<br />
used to support high fidelity RF models which may<br />
compute noise floors, detect frequency interference,<br />
and support directional antennas.<br />
2.2 <strong>Emulation</strong> Boundaries<br />
<strong>Emulation</strong> boundary components are responsible<br />
for transferring data between <strong>the</strong> emulation and application<br />
domain 3 . The top of every NEM layer<br />
stack is connected to one side of its associated emulation<br />
boundary instance (See Figure 1). The<br />
o<strong>the</strong>r side of <strong>the</strong> emulation boundary instance interfaces<br />
with <strong>the</strong> application domain. Data received<br />
from <strong>the</strong> application domain is transmitted<br />
opaquely to <strong>the</strong> boundary’s respective NEM for<br />
OTA message processing. The emulation boundary<br />
is <strong>the</strong> only EMANE component aware of <strong>the</strong> exact<br />
format of <strong>the</strong> application domain data. Along<br />
with <strong>the</strong> opaque data, <strong>the</strong> boundary component<br />
supplies <strong>the</strong> destination address, ei<strong>the</strong>r a unicast or<br />
broadcast NEM identifier, to <strong>the</strong> NEM stack. This<br />
decoupling of application domain data knowledge<br />
from <strong>the</strong> emulation functionality allows NEMs to<br />
be used in conjunction with various types of net-<br />
3 The application domain refers to entities running during<br />
<strong>the</strong> experiment which are not part of EMANE. The application<br />
domain includes, but is not limited to, user space<br />
processes, kernel space processes, network appliances or any<br />
o<strong>the</strong>r device, system, or component that is not operating on<br />
behalf of or as part of EMANE.<br />
3<br />
works, for example, IP and non-IP based networks.<br />
EMANE boundary components may or may not<br />
be designed to inter-operate with o<strong>the</strong>r dissimilar<br />
boundary components in <strong>the</strong> same experiment.<br />
Two emulation boundary implementations are<br />
supplied with <strong>the</strong> core EMANE distribution: Virtual<br />
Transport and Raw Transport. Both of<br />
<strong>the</strong>se emulation boundaries were designed to interoperate<br />
and interface with <strong>the</strong> application domain<br />
using E<strong>the</strong>rnet Frames. The Virtual Transport uses<br />
a virtual network interface as <strong>the</strong> emulation stack<br />
entry and exit point. All traffic routed to <strong>the</strong> virtual<br />
interface is transmitted to <strong>the</strong> boundary’s respective<br />
NEM stack for processing. All messages<br />
received from <strong>the</strong> boundary’s respective NEM stack<br />
are written back to <strong>the</strong> virtual interface for delivery<br />
to <strong>the</strong> application domain via <strong>the</strong> operating system<br />
kernel. The Raw Transport promiscuously opens<br />
a dedicated network interface and transmits all inbound<br />
traffic to <strong>the</strong> boundary’s respective NEM<br />
stack and conversely writes received traffic from its<br />
NEM stack out <strong>the</strong> network interface.<br />
<strong>Emulation</strong> boundary components are created and<br />
managed by a Transport Daemon. Boundaries managed<br />
by <strong>the</strong> same Transport Daemon are referred to<br />
as being part of that Transport Daemon. The Virtual<br />
Transport and Raw Transport support two different<br />
types of emulation experiment configurations.<br />
The Virtual transport is ideal when you are able to<br />
run some or all of <strong>the</strong> EMANE components on <strong>the</strong><br />
experiment test node. This lightweight transport<br />
simply packs and unpacks E<strong>the</strong>rnet frames moving<br />
<strong>the</strong>m between <strong>the</strong> NEM stack and <strong>the</strong> application<br />
domain. The Raw transport is ideal when you are<br />
unable to run any EMANE components on <strong>the</strong> experiment<br />
test node. For instance, if you are using<br />
EMANE as a black box emulator and connecting<br />
network appliances to <strong>the</strong> emulator using multiple<br />
physical interfaces. Multichannel gateway emulation<br />
is supported by configuring <strong>the</strong> Transport Daemon<br />
to instantiate one boundary for each gateway<br />
channel and <strong>the</strong>n configuring an application domain<br />
routing protocol to gateway <strong>the</strong> corresponding interfaces.<br />
2.3 <strong>Emulation</strong> Event Components<br />
An emulation event is an opaquely distributed<br />
message which is delivered in real-time to one<br />
or more targeted EMANE components. Every<br />
EMANE component is capable of transmitting and<br />
receiving events. Components which create events<br />
based on experiment scenarios are called Event Generators.<br />
Event Generators are instantiated and<br />
managed by <strong>the</strong> EMANE Event Service, which pro-
vides <strong>the</strong> interface used to publish events.<br />
No restriction is placed on how generators create<br />
events. Some generators may read precomputed<br />
state information from input files and publish<br />
events on time boundaries. O<strong>the</strong>rs may create<br />
event data algorithmically in real-time and publish<br />
<strong>the</strong> events based on update threshold logic. When<br />
new EMANE event types are introduced, no modifications<br />
are necessary to existing EMANE components,<br />
provided those components are not required<br />
to process <strong>the</strong> new events. Only <strong>the</strong> Event Generator<br />
and <strong>the</strong> destination EMANE components need<br />
to know <strong>the</strong> more specialized form of <strong>the</strong> generically<br />
transmitted event. Events are addressable using a<br />
three field tuple: NEM Platform Server identifier,<br />
NEM identifier, and component identifier.<br />
An Event Agent is an EMANE component that<br />
translates events from <strong>the</strong>ir emulation domain representation<br />
to a format usable by application domain<br />
entities. They facilitate <strong>the</strong> reuse of any experiment<br />
scenario information propagated via an<br />
event that is of interest outside of <strong>the</strong> emulation domain.<br />
For example, position information contained<br />
in <strong>the</strong> EMANE Location Event which is used by<br />
some PHY layers to compute path loss may also be<br />
of interest to application domain entities that require<br />
GPS location.<br />
2.4 NEM <strong>Ad</strong>vanced Topics<br />
A Shim Layer plugin provides a mechanism to interact<br />
with <strong>the</strong> OTA messages and cross-layer messages<br />
exchanged between contiguous layers. Shims<br />
may generate <strong>the</strong>ir own OTA messages for communication<br />
with <strong>the</strong>ir respective Shim layer contained<br />
in a different NEM, and can append and strip layer<br />
specific headers to OTA messages.<br />
It is possible to insert one or more Shims between<br />
<strong>the</strong> layers of a NEM stack or at <strong>the</strong> top and bottom<br />
of <strong>the</strong> layer stack. A Shim plugin implements <strong>the</strong><br />
same generic interface as a MAC and PHY plugin.<br />
This generic interface allows Shims to be inserted<br />
between components without requiring those components<br />
to have knowledge of <strong>the</strong>ir presence. Figure<br />
3 shows what a NEM layer stack looks like after<br />
inserting Shim layers and <strong>the</strong> resulting physical and<br />
logical connections.<br />
A NEM containing a MAC and PHY layer is formally<br />
known as a structured NEM. A NEM may<br />
also be unstructured. An unstructured NEM relaxes<br />
NEM layer stack constraints to allow for <strong>the</strong><br />
creation of NEMs that may or may not contain<br />
MAC, PHY or Shim layers. Unstructured NEMs<br />
are useful when porting legacy emulation models<br />
that do not support a separation of MAC and PHY<br />
4<br />
Figure 3: NEM Layer stack as it appears without<br />
Shims and with three Shims inserted. Two Shims<br />
reside between <strong>the</strong> MAC and PHY layers and one<br />
Shim resides between <strong>the</strong> PHY Layer and <strong>the</strong> OTA<br />
message interface.<br />
layer functionally.<br />
3 Network <strong>Emulation</strong> Modules<br />
Within <strong>the</strong> EMANE architecture, NEMs address<br />
<strong>the</strong> “hard problem” in wireless network emulation<br />
associated with representing <strong>the</strong> behavior of <strong>the</strong> underlying<br />
wireless technology at both <strong>the</strong> Media Access<br />
and Physical Layers. Physical and MAC layer<br />
phenomena such as frequency interference, multipath/fading,<br />
collisions, channel access protocols,<br />
adaptive power and data rate controls, quality of<br />
service, and o<strong>the</strong>rs vary significantly based on <strong>the</strong><br />
underlying wireless commercial or tactical technology.<br />
Depending on <strong>the</strong> research/test objective, failure<br />
to account for <strong>the</strong>se or any corresponding cross<br />
layer interactions can provide misleading and outright<br />
false results. Conversely, <strong>the</strong> ability to account<br />
for some of <strong>the</strong>se complex phenomena within<br />
a real-time emulation environment can impose requirements<br />
(hardware, timing, scale, etc.) which<br />
may not be critical to <strong>the</strong> research/test objective.<br />
As such, <strong>the</strong> modular EMANE architecture is designed<br />
specifically to support independent development<br />
of NEMs to emulate current and evolving wireless<br />
technology of varying fidelity under a single emulation<br />
framework. These independently developed<br />
modules can be contributed to <strong>the</strong> EMANE project<br />
as add-ons for use by <strong>the</strong> community at large or<br />
can be maintained as proprietary/sensitive modules
with restricted access by <strong>the</strong> developing organization.<br />
3.1 PHY and MAC Phenomena<br />
Although <strong>the</strong> details on <strong>the</strong> methodology and<br />
techniques for NEM development to account for<br />
PHY and MAC phenomena is beyond <strong>the</strong> scope<br />
of this paper, we will highlight two specific areas,<br />
frequency interference and channel access scheme,<br />
where <strong>the</strong> development of novel techniques and advanced<br />
algorithms within <strong>the</strong> EMANE framework<br />
can significantly improve <strong>the</strong> utility and effectiveness<br />
of wireless network emulation.<br />
3.1.1 Frequency Interference<br />
The impact of RF interference from ei<strong>the</strong>r intentional<br />
or unintentional (fratricide) sources can be<br />
significant compared to effects on propagation from<br />
phenomena such as ducting, wea<strong>the</strong>r, foliage, and<br />
o<strong>the</strong>rs. As networks/systems become more complex<br />
and RF resource remain scarce, RF interference is<br />
a common occurrence ra<strong>the</strong>r than an anomaly and<br />
as such needs to be accounted for within <strong>the</strong> emulation<br />
environment to properly assess <strong>the</strong> effectiveness<br />
of current and evolving communication technologies.<br />
Many simulators and emulators today utilize<br />
<strong>the</strong> notion of Signal to Interference and Noise Ratio<br />
(SINR) as defined in Equation 1 along with Bit Error<br />
Rate (BER) or Packet Error Rate (PER) curves<br />
as <strong>the</strong> basis for <strong>the</strong> receive packet treatment logic.<br />
The SINR equation although accurate in definition,<br />
loses significance as <strong>the</strong> interference term,<br />
n�<br />
i=0<br />
Rxpoweri<br />
is approximated by accounting only for “in-band” 4<br />
traffic and ignores traffic from all “out-of-band”<br />
sources. Simplifying assumptions like network homogeneity<br />
and static spectral environment limit <strong>the</strong><br />
ability to effectively research and evaluate advanced<br />
wireless research topics within an emulation framework<br />
such as: heterogeneous networks, directional<br />
antennas, frequency hopping, interference mitigation<br />
techniques against wide and narrow band jammers,<br />
and dynamic spectral allocation algorithms.<br />
EMANE, with its implementation of <strong>the</strong> common<br />
PHY header along with <strong>the</strong> OTA distribution mechanism,<br />
provides <strong>the</strong> framework for developing NEMs<br />
in support of <strong>the</strong> more advanced research topics<br />
4 In-Band traffic is all traffic that is associated with a single/homogeneous<br />
wireless technology.<br />
5<br />
identified above.<br />
⎡<br />
⎢<br />
SINR = 10 log ⎢<br />
⎣<br />
Noise + n�<br />
Rxpower<br />
n�<br />
Rxpower<br />
Rxpoweri<br />
i=0<br />
⎤<br />
⎥<br />
⎦<br />
Receive power of <strong>the</strong> packet/frame to<br />
be evaluated accounting for transmit<br />
power, antenna gains and propagation<br />
effects<br />
Rxpoweri Receive power of all o<strong>the</strong>r pack-<br />
i=0<br />
ets/frames received during <strong>the</strong> packet<br />
interval (i.e. collisions)<br />
Noise Thermal and platform noise of <strong>the</strong> receiver<br />
taking into account bandwidth,<br />
noise figure, etc.<br />
3.1.2 Channel Access Scheme<br />
(1)<br />
Packet mode channel access schemes, also commonly<br />
referred to as Media Access Protocol (MAC),<br />
for wireless communications have been and continue<br />
to be heavily researched due to <strong>the</strong>ir significant impact<br />
on network performance associated with scale,<br />
throughput, and latency. The MAC protocol defines<br />
<strong>the</strong> mechanisms used to control access to a<br />
wireless medium shared by multiple nodes and can<br />
also include o<strong>the</strong>r controls (acknowledgments, retries,<br />
fragmentation, etc.) in support of quality<br />
of service (QoS) requirements. The MAC protocol,<br />
based on <strong>the</strong> given wireless technology can vary<br />
from very simple, such as static Time Division Multiple<br />
Access (TDMA) where nodes are statically assigned<br />
one or more time slots for transmissions, to<br />
very complex, such as a hybrid protocol that dynamically<br />
leverages <strong>the</strong> benefits of contention based<br />
access via Carrier Sense Multiple Access/Collision<br />
Avoidance (CSMA/CA) in conjunction with contention<br />
free dynamic TDMA reservations on top<br />
of advanced channelization techniques using Frequency<br />
Division Multiple Access (FDMA) or Code<br />
Division Multiple Access (CDMA).<br />
The ability to accurately model <strong>the</strong> various channel<br />
access schemes within <strong>the</strong> framework of a realtime<br />
emulation environment faces significant challenges.<br />
One of <strong>the</strong> major challenges associated with<br />
accurate real-time emulation of MAC protocols is<br />
timing. To highlight this, we examine CSMA/CA, a<br />
contention based access protocol which is utilized in<br />
both commercial and tactical products and as such<br />
provides a good basis for discussion. CSMA/CA<br />
utilizes two basic principles: carrier sensing and collision<br />
avoidance. Here we look a little deeper into<br />
<strong>the</strong> timing associated with collision avoidance for<br />
802.11. In 802.11, collisions are minimized by requiring<br />
all nodes with a packet for transmit to se-
lect a random slot within a given contention window<br />
once <strong>the</strong> channel becomes idle. The size of a<br />
slot is on <strong>the</strong> order of tens of microseconds, sufficiently<br />
long enough in real systems to ensure multiple<br />
nodes selecting different slots will not step on<br />
one ano<strong>the</strong>r. Within an emulated system, however,<br />
<strong>the</strong> time it takes for a packet to get from one emulated<br />
node to ano<strong>the</strong>r can be significantly larger<br />
than <strong>the</strong> contention delay implying that actual implementation<br />
of <strong>the</strong> protocol will not provide an<br />
accurate representation of <strong>the</strong> collision and backoff<br />
phenomena associated with CSMA/CA. <strong>Ad</strong>vanced<br />
statistical models or simplistic approximations can<br />
be utilized to account for such a phenomena, but <strong>the</strong><br />
determination of which model is appropriate should<br />
be based on <strong>the</strong> research/test objective.<br />
3.2 Models<br />
The EMANE project currently contains three<br />
models each having varying features and complexity<br />
supporting research and evaluation of wireless<br />
technologies within DoD, Academia, and Industry:<br />
RF-Pipe, Comm Effects, and IEEE 80211abg. In<br />
addition, <strong>the</strong>re are two high-fidelity tactical models<br />
(SRW and HNW) currently under development<br />
with controlled/restricted access.<br />
3.2.1 RF-Pipe<br />
The RF-Pipe model is a simplistic yet feature rich<br />
model which can be configured to provide capabilities<br />
similar to existing emulators, such as NRL’s<br />
MANE[3] and Boeing’s Core[4], to emulate throughput<br />
and loss of various wireless technologies such<br />
as satellite comms, 802.11, and tactical waveforms.<br />
In addition, <strong>the</strong> model also serves as a template to<br />
guide independent NEM developers of more complex<br />
models. The majority of <strong>the</strong> functionality of<br />
<strong>the</strong> RF-Pipe model is contained within <strong>the</strong> PHY<br />
layer and can be summarized as follows:<br />
• Filters out-of-band packets.<br />
• <strong>Ad</strong>ds transmission delay based on data rate,<br />
propagation delay, and jitter.<br />
• Computes propagation effects based on runtime<br />
Path Loss or Location events. Path Loss<br />
Event values are computed off-line with events<br />
dispatched in real-time during <strong>the</strong> emulation<br />
experiment. Location Event based path loss is<br />
computed in real-time using one of two configured<br />
propagation models (Free Space or 2-Ray<br />
Flat Earth).<br />
• Performs packet treatment based on Receive<br />
Power (Rxpower) and configured min/max<br />
6<br />
thresholds as depicted in Figure 4.<br />
Rxpower = T xpower+T xgain+Rxgain−P athloss<br />
(2)<br />
The model utilizes <strong>the</strong> common EMANE PHY<br />
header to provide <strong>the</strong> Txpower and Txgain in<br />
each over-<strong>the</strong>-air packet transmission providing<br />
<strong>the</strong> ability to emulate different types of<br />
platforms such as base stations, vehicles, dismounts,<br />
and sensors.<br />
Figure 4: RF-Pipe Packet Treatment.<br />
3.2.2 Comm Effects<br />
The Comm Effect model provides <strong>the</strong> ability to<br />
control network impairments commonly provided<br />
via traditional COTS network emulators on a per<br />
link basis asymmetrically. The Comm Effect model<br />
is a Shim-only implementation utilizing unstructured<br />
EMANE NEMs as described in Section 2.4.<br />
The Comm Effects model provides <strong>the</strong> ability to<br />
define <strong>the</strong> following network impairments:<br />
• Loss: The percentage of packets that are<br />
dropped based on a uniform loss distribution<br />
model.<br />
• Delay: Defines <strong>the</strong> delay for a packet to traverse<br />
a specific link. The delay is composed of<br />
a fixed and variable (jitter) component. Delay<br />
is computed at <strong>the</strong> receiver and <strong>the</strong> packet is<br />
delivered up <strong>the</strong> stack once <strong>the</strong> delay expires<br />
providing <strong>the</strong> ability to emulate out of order<br />
packet reception.<br />
• Duplicates: Defines <strong>the</strong> percentage of packets<br />
to be duplicated at <strong>the</strong> receiver.<br />
The network impairments defined above are controlled<br />
based on time and/or predefined filters.<br />
Time based impairments are controlled via <strong>the</strong><br />
use of Comm Effect events dispatched in real-time<br />
during <strong>the</strong> emulation experiment. The events provide<br />
each node with <strong>the</strong> effects/impairments to every<br />
o<strong>the</strong>r node within <strong>the</strong> scenario.
Filter based impairments provide <strong>the</strong> ability to<br />
define static impairments at start up. A filter consists<br />
of one or more rules based on IPv4/IPv6 packet<br />
header fields. All packets matching <strong>the</strong> defined set<br />
of rules are effected with <strong>the</strong> appropriate network<br />
impairments. The model provides <strong>the</strong> ability to define<br />
more than one filter and as such each received<br />
packet is evaluated against <strong>the</strong> defined filters in <strong>the</strong><br />
order <strong>the</strong>y are defined, with <strong>the</strong> first match determining<br />
<strong>the</strong> impairment to be applied. When filters<br />
are used in conjunction with time based impairments,<br />
<strong>the</strong> event driven impairments serves as<br />
<strong>the</strong> default effect for all packets that do not match<br />
any defined filters.<br />
3.2.3 IEEE 802.11abg<br />
The 802.11abg model is a high-fidelity NEM<br />
to emulate <strong>the</strong> IEEE 802.11 MAC layers Distributed<br />
Coordination Function (DCF) channel access<br />
scheme on top of <strong>the</strong> IEEE 802.11 Direct<br />
Spread Spectrum Sequence (DSS) and Orthogonal<br />
Frequency Division Multiplexing (OFDM) signals in<br />
space. The key features of this high fidelity model<br />
are as follows:<br />
• Distributed Coordination Function (DCF)<br />
channel access protocol.<br />
• Support for 802.11b (DSS), 802.11a/g (OFDM)<br />
and 802.11b/g (DSS and OFDM) modes with<br />
<strong>the</strong> corresponding rates and waveform timing.<br />
• Support for unicast and broadcast messaging.<br />
• Half duplex operations where all packets received<br />
while transmitting are silently discarded.<br />
• Receive power calculation based on transmit<br />
power, antenna gain, and externally computed<br />
propagation model (path loss) with real-time<br />
dissemination via EMANE events.<br />
• Bit Error Rate (BER) curves as a function of<br />
SINR and data rate specified via XML providing<br />
<strong>the</strong> ability to represent different communication<br />
channel models. Default curves provided<br />
for an <strong>Ad</strong>ditive White Gaussian Noise (AWGN)<br />
channel.<br />
• Probability of Reception (PoR) computed<br />
based on BER and packet size.<br />
P oR = (1 − BER) L<br />
BER Bit Error Rate for <strong>the</strong> corresponding<br />
data rate and SINR.<br />
L Length of <strong>the</strong> received packet in bits.<br />
(3)<br />
7<br />
3.2.4 Tactical Models<br />
There are currently two high-fidelity tactical<br />
EMANE models under development. The two models<br />
are <strong>the</strong> Highband Networking Waveform (HNW)<br />
being developed by Harris Corporation and <strong>the</strong><br />
Solider Radio Waveform (SRW) being developed by<br />
CenGen, Inc. HNW is designed to serve as a tactical<br />
backbone network (i.e. wireless Wide Area<br />
Network) that can bridge multiple wireless Local<br />
Area Networks at <strong>the</strong> tactical edge being serviced by<br />
waveforms such as SRW. The two waveforms were<br />
chosen based on <strong>the</strong>ir maturity and <strong>the</strong>ir diverse set<br />
of capabilities and services in support of <strong>the</strong> DoD’s<br />
research and testing of wireless technologies associated<br />
with tactical networks. Both models have restricted<br />
access and all inquiries should be directed<br />
to <strong>the</strong> Naval Research Laboratory.<br />
4 EMANE User Community<br />
EMANE falls under <strong>the</strong> umbrella of <strong>the</strong> OSD Network<br />
Communication Capabilities (NCC) Tactical<br />
Edge <strong>Experimentation</strong> Testbed Initiatives with an<br />
objective on <strong>the</strong> development and collaboration of<br />
common testbed and experimentation capabilities<br />
that proliferate to DoD, Academia, and Industry.<br />
Since EMANE’s initial release in late 2008, <strong>the</strong> user<br />
community has steadily begun to embrace EMANE<br />
as an emulation suite to support research and evaluation<br />
of various wireless networking technologies.<br />
5 Summary and Future Direction<br />
EMANE, with its open, flexible, and modular architecture<br />
provides <strong>the</strong> framework for practical and<br />
realistic emulation of current and evolving wireless<br />
networking technologies. EMANE’s flexible design<br />
provides <strong>the</strong> ability to operate in various hardware<br />
configurations (centralized, decentralized, and virtualized).<br />
EMANE’s modularity provides <strong>the</strong> ability<br />
to utilize plugins with <strong>the</strong> appropriate fidelity<br />
to support diverse experiment objectives. The open<br />
EMANE architecture leverages <strong>the</strong> user community<br />
to develop and contribute models, tools, and applications.<br />
Future work in this area will focus on <strong>the</strong> following:<br />
• EMANE framework enhancements to fur<strong>the</strong>r<br />
optimize performance and provide additional<br />
mechanisms to monitor and analyze emulator<br />
operation.<br />
• Characterize requirements (hardware, timing,<br />
scale, etc.), for high-fidelity emulation based on<br />
complex MAC and PHY implementations.
• Development of additional high-fidelity NEMs<br />
of both commercial (WiMAX) and tactical<br />
waveforms.<br />
• Investigate feasibility and techniques of using<br />
EMANE with simulation in <strong>the</strong> loop to leverage<br />
existing simulation models.<br />
References<br />
[1] ACE TM , The ADAPTIVE Communication<br />
Environment (ACE TM ). [Online], URL: http:<br />
//www.cs.wustl.edu/~schmidt/ACE.html.<br />
[2] libxml2, The XML C parser and toolkit of<br />
Gnome. [Online], URL: http://www.xmlsoft.<br />
org.<br />
[3] MANE, <strong>Mobile</strong> <strong>Ad</strong>-<strong>hoc</strong> Network Emulator<br />
(MANE). [Online], URL: http://cs.itd.<br />
nrl.navy.mil/work/mane/index.php.<br />
[4] CORE, The Common Open Research Emulator<br />
(CORE). [Online], URL: http://cs.itd.nrl.<br />
navy.mil/work/core.<br />
8