Sie sind auf Seite 1von 10

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/220477183

Advances in Network Simulation

Article  in  Computer · June 2000


DOI: 10.1109/2.841785 · Source: DBLP

CITATIONS READS
807 3,187

11 authors, including:

Deborah Estrin Kevin Fall


Cornell Tech Carnegie Mellon University
562 PUBLICATIONS   90,141 CITATIONS    98 PUBLICATIONS   14,635 CITATIONS   

SEE PROFILE SEE PROFILE

Sally Floyd Ahmed Helmy


University of California, Berkeley University of Florida
139 PUBLICATIONS   39,673 CITATIONS    280 PUBLICATIONS   9,810 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Microscopist's Workstation View project

Participatory Sensing View project

All content following this page was uploaded by Ahmed Helmy on 21 August 2014.

The user has requested enhancement of the downloaded file.


RE S E ARCH F E AT URE

Advances in
Network
Simulation
Network researchers must test Internet protocols under varied conditions
to determine whether they are robust and reliable. The Virtual Inter-
Network Testbed (VINT) project has enhanced its network simulator and
related software to provide several practical innovations that broaden the
conditions under which researchers can evaluate network protocols.

he Internet’s rapid growth has spurred devel- ADVANTAGES OF A COMMON SIMULATOR

T
Lee Breslau
opment of new protocols and algorithms to Multiprotocol network simulators provide a rich
Deborah meet changing operational requirements— opportunity for efficient experimentation. Disparate
Estrin such as security, multicast transport, mobile research efforts using a common simulation environ-
Kevin Fall networking, policy management, and qual- ment can yield substantial benefits, including
ity-of-service support. Development and evaluation
Sally Floyd of these operational tools requires answering many • improved validation of the behavior of existing
John design questions. protocols,
Heidemann Despite their value, custom simulators, wide-area • a rich infrastructure for developing new proto-
testbeds, and small-scale lab evaluations all have cols,
Ahmed drawbacks. Because they use real code, experiments • the opportunity to study large-scale protocol
Helmy run in testbeds or labs automatically capture impor- interaction in a controlled environment, and
Polly Huang tant details that might be missed in a simulation. • easier comparison of results across research
However, building testbeds and labs is expensive, efforts.
Steven reconfiguring and sharing them is difficult, and they
McCanne are relatively inflexible. Further, reproducing some net- The Virtual InterNetwork Testbed (VINT) project
Kannan working phenomena, such as wireless radio interfer- provides improved simulation tools for network
Varadhan ence, can be difficult, complicating efforts to compare researchers to use in the design and deployment of new
or evaluate protocol designs. wide-area Internet protocols. An understanding of the
Ya Xu Protocol design using simulation usually begins with VINT simulation framework and its principal tool, ns,
Haobo Yu an individual investigator’s simulations of isolated pro- the network simulator, can help researchers determine
tocol elements using small-scale topologies and simpli- how best to proceed with their efforts.
The VINT
fied or static assumptions. High start-up costs prevent
Project
an individual group from acquiring the resources SIMULATION NEEDS OF NETWORK RESEARCHERS
needed to create a comprehensive and advanced net- Simulation evaluates network protocols under vary-
working simulation environment. This limitation often ing network conditions. Studying protocols—both
causes simulations constructed by different groups to individually and interactively—under varied condi-
lack standardization and reproducibility. tions is critical to understanding their behavior and
In the current paradigm, directly comparable data characteristics. The VINT project has used the ns sim-
would be available only if designers implemented all ulator and related software to provide several practi-
competing mechanisms within every simulator. cal innovations that broaden the conditions under
Because few research groups have the resources to do which researchers can evaluate protocols:
this, it is often most effective to have those who know
the most about the particular protocol construct the • Abstraction. Varying simulation granularity al-
component. lows a single simulator to accommodate both

0018-9162/00/$10.00 © 2000 IEEE May 2000 59


detailed and high-level simulations. Researchers • Emulation. Most simulation experiments are con-
study networking protocols at many levels, rang- fined to a single simulated world that employs
ing from the detail of an individual protocol to only the protocols and algorithms in the simula-
the aggregation of multiple data flows and the tor. In contrast, emulation allows a running sim-
interaction of multiple protocols. The abstrac- ulator to interact with operational network nodes.
tion mechanisms in ns allow researchers to exam- • Scenario generation. Testing protocols under
ine protocols without changing simulators and appropriate network conditions is critical to
to validate abstractions by comparing detailed achieving valid, useful results. Automatic cre-
and abstract results. ation of complex traffic patterns, topologies, and

Ns and Other Related Simulators

Network simulation has a long history. improving simulator performance. All References
Ns itself derives from REAL (Realistic and simulators adopt some level of abstraction 1. S. Keshav, REAL: A Network Simulator,
Large),1 which derives from NEST (Net- when choosing what to simulate. FlowSim tech. report 88/472, Univ. California,
work Simulation Testbed).2 Although we was the first network simulator to make Berkeley, 1988.
cannot list all relevant network simulators this trade-off explicit.7 Ns supports sev- 2. A. Dupuy et al., “NEST: A Network Sim-
here, we can describe the distinguishing eral levels of abstraction. ulation and Prototyping Testbed,”
features of network simulators and com- Numerous simulation interfaces are Comm. ACM, Oct. 1990, pp. 64-74.
pare prominent examples with ns. possible, including programming in a 3. B.A. Mah, Insane Users Manual, The
high-level scripting language, a more tra- Tenet Group Computer Science Division,
Distinguishing features ditional systems language, and sometimes Univ. California, Berkeley, 1996.
Simulators have widely varying focuses. both. Some systems, such as x-Sim8 and 4. R.L. Bagrodia and W.-T. Liao, “Maisie: A
Many target a specific area of research Maisie,4 focus on allowing the same code Language for the Design of Efficient Dis-
interest—a particular network type or pro- to run in simulation and on a live net- crete-Event Simulations,” IEEE Trans.
tocol, for example, such as ATM or PIM work. Most systems have augmented pro- Software Eng., Apr. 1994, pp. 225-238.
multicast. Others, including ns, REAL, gramming with a GUI shell of some kind. 5. G. Kesidis and J. Walrand, “Quick Simu-
Opnet, and Insane,3 target a wider range Ns provides a split-level programming lation of ATM Buffers with On-Off Mul-
of protocols. The most general of these model in which packet processing is done tiples Markov Fluid Sources,” ACM
simulators provide a simulation language in a systems language while simulation Trans. Modeling and Computer Simula-
with network protocol libraries (for exam- setup is done in a scripting language. tions, July 1993, pp. 269-276.
ple, Maisie4 and Opnet). Very focused sim- Nam,9 currently being enhanced to sup- 6. K. Perumalla, R. Fujimota, and A. Ogiel-
ulators model only the details relevant to port simple scenario editing, provides ski, “TED: A Language for Modeling
the developer. visualization output. Telecommunication Networks,” ACM
Ns and other network simulators use a SIGMETRICS Performance Evaluation
discrete-event processor as their engine. Network emulators Rev., Mar. 1998, pp. 4-11.
Researchers have adopted several comple- Early work in network emulation 7. J.-S. Ahn et al., “Hybrid Technique for Sim-
mentary approaches to improve accuracy, included the use of “flakeways” (gate- ulating High-Bandwidth Delay Computer
performance, or scaling. Some simulators ways that could alter or drop packets) for Networks,” Proc. ACM SIGMETRICS,
augment event processing with analytic early TCP/IP tests. More recent work ACM Press, New York, 1993, pp. 260-261.
models of traffic flow or queuing behavior includes special-purpose stand-alone net- 8. L. Brakmo and L. Peterson, “Experiences
for better performance or accuracy (for work emulators supporting packet delays with Network Simulation,” Proc. ACM
example, fluid network approximations).5 and drops.10 Developers usually imple- SIGMETRICS 96, ACM Press, New
Parallel and distributed simulation pro- ment these systems as kernel drop-in York, 1996, pp. 80-90
vide a second way to improve perfor- modules that intercept the IP layer 9. D. Estrin et al., Network Visualization
mance. Several simulators support multi- packet-forwarding path, and thus look with the VINT Network Animator Nam,
processors or networks of worksta- like routers to end stations. Their capa- tech. report 99-703, Dept. Computer Sci-
tions.1,4,6 Although ns focuses only on bilities are generally limited to simple ence Univ. Southern California, Los Ange-
sequential simulation, the TeD effort has packet manipulation and do not provide les, 1999.
parallelized some ns modules. for interference from simulated cross traf- 10. J. Ahn et al., “Evaluation of TCP Vegas:
fic. Moreover, these systems do not Emulation and Experiment,” Proc. ACM
Abstraction include the general simulation capability SIGCOMM 95, ACM Press, New York,
Abstraction is a common approach to that ns provides. 1995, pp. 185-195.

60 Computer
dynamic events (link failures) can help generate tion of our system has helped reduce duplication of
such scenarios. effort within the networking research and development
• Visualization. Researchers need tools that help community. The “Ns and Other Related Simulators”
them understand the complex behavior in net- sidebar puts ns into perspective. Ns is publicly available
work simulation. Merely providing tables of sum- at http://www-mash.cs.berkeley.edu/ns/.
mary performance numbers does not adequately
describe a network’s behavior. Visualization using Abstracting simulation
the network animation tool nam provides a Computer resource limitations, such as memory
dynamic representation that allows researchers and processing time, often limit the number of net-
to develop better protocol intuition and aids in work objects (nodes, links, and protocol agents) that
protocol debugging.1 designers can simulate at the packet level. A scalable
• Extensibility. The simulator must be easy to network simulator accommodates wide variations in
extend if its users are to add new functionality, each kind of network object, data in transit, and
explore a range of scenarios, and study new pro- information collected. Designers use three comple-
tocols. Ns employs a split-programming model mentary approaches in scaling a simulator: tuning the
designed to make scripts easy to write and new implementation, removing unnecessary simulation
protocols efficient to run. detail, and supporting parallelism.
Other researchers have successfully explored paral-
Engineering issues also bear on a simulator’s usabil- lel network simulation, and multiple efforts to paral-
ity. A wide range of protocol modules must be avail- lelize ns are currently under way (see the “Protocols
able in the simulator. This breadth allows easy Investigated with Ns” sidebar). VINT’s efforts focus on
comparison of different approaches and reduces sim- a complementary approach, tuning implementation,
ulation development time, enabling the researcher to and providing multiple levels of protocol abstraction.
focus on the simulation aspects relevant to the design Eliminating less important details can yield substantial
question being studied. savings while preserving the model’s basic validity.
The need to compare new network variants Ns provides several levels of abstraction:
demands validated protocols. Ns validates other pro-
tocols to the degree their maturity warrants. The • The default simulator provides a detailed model
many protocol modules in ns and the interactions with hop-by-hop packet forwarding and
among them mandate mechanisms that prevent mod- dynamic routing updates.
ifications in one module from breaking functionality • Centralized routing replaces routing messages
in another. To this end, ns includes many automated with a centralized computation, saving process-
test suites that keep unintentional changes in behav- ing time and memory in exchange for slightly
ior from creeping into the simulator. different timing in routing changes.
• Session-level packet forwarding replaces hop-by-
VINT AND NS hop packet flow with a precomputed propaga-
The VINT project has developed ns as a common tion delay.2
simulator with advanced features to change current • Algorithmic routing replaces shortest-path rout-
protocol engineering practices by enabling the study ing with tree-based routing, transforming O(n
of protocol interactions and scaling. Public distribu- log n) memory requirements to O(n).

Protocols Investigated with Ns

Researchers have used ns to develop gestion notification (ECN), class- • Wireless networking: Snoop and
and investigate the following protocols: based queuing split-connection TCP, multihop rout-
• Multicast transport: scalable reliable ing protocols
• TCP behavior: selective acknowl- multicast (SRM) and variants (RPM, • Protocol response to topology changes
edgment, forward acknowledgment, scalable session messages), PIM vari- • Application-level protocols: Web
explicit congestion notification, rate- ants, router support for multicast, cache consistency protocols
based pacing, asymmetric links congestion control, protocol valida-
(satellite) tion and testing, reliable multicast For more details about this research, see
• Router queuing policies: random • Multimedia: layered video, audio and http://www-mash.cs.berkeley.edu/ns/ns-
early detection (RED), explicit con- video quality-of-service, transcoding research.html.

May 2000 61
Each abstraction sacrifices some details to save mem- ple, although the details of a particular medium’s
ory, so the user must apply abstractions only when approach to segmentation and reassembly are impor-
appropriate. Users can trade simulator performance tant for LAN simulations, the link’s packet-loss rate
for packet-level accuracy by adjusting the level of sim- for higher-level WAN simulations can reflect the
ulation abstraction. Increasing the simulation abstrac- details adequately.
tion level permits increasingly large simulations, while Figure 2 shows how VINT validates small-scale
decreasing it yields a more realistic simulation. The ses- simulations before projecting results at larger scales
sion-level simulator can abstract many details of links, to ensure that abstraction does not substantially alter
nodes, and crosstraffic. Users can run simulations side simulation results.2 A quantitative analysis of scalable
by side in both detailed and session-level modes to reliable multicast (SRM) performance across detailed
compare performance and accuracy across different and session-level simulations suggests that although
levels of abstraction. Figure 1 shows the memory sav- the timing of individual SRM events varies, average
ings possible from session-level simulations for a par- aggregate behavior changes by only 3 to 9 percent.
ticular scenario with large multicast groups. We are also working on hybrid abstractions in which
The risk in abstraction is simulation accuracy. The different portions of the same simulation operate in
degree to which abstraction sacrifices accuracy and detailed session levels of abstraction.
the impact of this sacrifice on the validity of the results
vary greatly among simulation scenarios. For exam- Emulation interface
Ns includes an emulation interface that permits net-
work traffic to pass between real-world network
Figure 1. Memory 120 nodes and the simulator. Together with the simula-
saving occurs through tor’s tracing and visualization facilities, emulation pro-
Memory usage (Mbytes)

session-level abstrac- 100 vides a powerful analytical tool for evaluating the
tion as the number of
Detailed
dynamic behavior of protocols and their implemen-
multicast group mem- 80
tations in end systems.
bers changes. Figure 3 shows how emulation scenarios interpose
60
the simulator as an intermediate node (or end node)
40 along an end-to-end network path. This passes live
network traffic through the simulation, allowing it to
Session
20 experience complex dynamics, such as crosstraffic.
The simulator’s scheduler is synchronized in real time
0 and allows the simulated network to emulate its real-
0 1 2 3 4 5 6 7 8 9
world equivalent.
Number of group members (thousands) Beyond conventional simulation, emulation is also
useful in evaluating both end-system and network-ele-
ment behavior. Researchers use emulation to introduce
packet dynamics—for example, drops, reordering, and
Validate at small scale delays—to end-system protocol implementations.
Reproducing these conditions reliably in a live network
is difficult.
Small Small Small Furthermore, researchers can capture traces of live
testbed detailed abstract traffic injected into the simulation environment and
experiments simulations simulations
use visualization tools to evaluate the end system’s
responses. Conversely, researchers can evaluate net-
work element behavior (for example, a queuing or
packet-scheduling discipline) in relation to live traffic
Large Predicted Large that real-world end stations generate. Such simula-
testbed large abstract tions help identify undesirable network-element
experiments results simulations behavior before deployment in live networks.
The VINT ns emulation facility is currently under
development, but an experimental version has already
Revalidate (if possible) Scale up in simulation proven useful in diagnosing errors in protocol imple-
mentation. For example, researchers at UC Berkeley
have developed the MediaBoard, a shared whiteboard
Figure 2. VINT validates small-scale simulations to ensure that abstraction does not application that uses a version of the SRM protocol
substantially alter results at larger scales. that the MASH toolkit supports.3 The simulator is

62 Computer
placed between groups of live end stations communi-
cating via SRM.
Multicast traffic passing between groups must tra-
verse the simulator and be exposed to the dynamics of Simulated network
its simulated network. Visualization of traces taken in Ns simulator
the simulation environment reveals end-station retrans- (emulation mode)
missions triggered by dropped or delayed packets. This
method has helped pinpoint time-dependent Media-
Board behaviors that are otherwise difficult to diagnose. Packet flows

Scenario generation
Simulation scenarios require
Packet capture
and generation interface
• network topologies that define links and their
Local
characteristics, operating system
• traffic models that specify sender and receiver
locations and demands, and
• network dynamics that include node and link fail-
ures. guage that defines a monolithic simulation, we have Figure 3. Emulation
found that different simulations require different pro- allows live network
Ns meets these needs by providing a library of pre- gramming models. The goal is to provide adequate traffic to pass through
defined topologies and using packages such as the flexibility without unduly constraining performance. the simulator.
Georgia Tech models (GT-ITM) to generate random In particular, tasks such as low-level event processing
topologies. Traffic models benefit from ns’s rich library or packet forwarding through a simulated router
of protocols. VINT supports widely used topology mod- require high performance and are modified infre-
els for Telenet and Web traffic. Ns composability is also quently once put into place. Thus, they are best served
important here; VINT has assembled several constant- by expressing an implementation in a compiled lan-
bit-rate sources to simulate layered multicast video guage such as C++.
(http://www-mash.cs.berkeley.edu/ns/ns-topogen.html). On the other hand, tasks such as the dynamic con-
Automatic scenario generation in ns plays an impor- figuration of protocol objects and the specification and
tant role in the STRESS (Systematic Testing of placement of traffic sources are often iteratively refined
Robustness by Evaluation of Synthesized Scenarios) and undergo frequent change as the research task
approach to systematic protocol testing.4 STRESS unfolds. Thus, they are best served by an implemen-
automatically generates test scenarios to explore pro- tation in a flexible and interactive scripting language
tocol correctness. This approach has discovered sev- such as Tcl.5
eral design errors in multicast routing and is now To this end, ns exploits a split-programming model.
being used for performance evaluation. C++ implements the simulation kernel—the core set of
high-performance simulation primitives—but the Tcl
SOFTWARE ARCHITECTURE scripting language expresses the definition, configu-
Ns software promotes extension by users. The fun- ration, and control of the simulation.
damental abstraction the software architecture pro- This split-programming approach can be a boon to
vides is “programmable composability.” This model long-term productivity. It cleanly separates the bur-
expresses simulation configurations as a program den of simulator design, maintenance, extension, and
rather than as a static configuration or through a debugging from the simulation’s goal—the actual
schematic capture system. research experiments—by providing the simulation
A simulation program composes objects dynami- programmer with an easy-to-use, reconfigurable, pro-
cally into arbitrary configurations to effect a simula- grammable simulation environment. Moreover, ns
tion configuration. Adopting a full-fledged pro- allows an important separation of mechanism and
gramming model for simulation configuration lets the policy: Core objects that represent simple and pure
experimentalist extend the simulator with new prim- operations are free of built-in control policies and
itives or program in dynamic simulation “event han- semantics and can thus be easily reused.
dlers” that interact with a running simulation to
change its course as desired. Virtues of split programming
Implementing fine-grained simulation objects in
The split-programming model C++ and combining them with Tcl scripts yields more-
Rather than adopting a single programming lan- powerful, higher-level macro-objects. For example, a

May 2000 63
simulated router is composed of demultiplex- • low-level—for example, by introducing new
Ns is an ideal virtual ers, queues, packet schedulers, and so forth. macro-objects or splitting objects into the ns core.
The split-programming approach allows faith-
testbed for ful simulation of a range of routers. We can Finally, class hierarchies allow users to specialize
comparing protocols configure or arrange the low-level demulti- implementations at any one of these levels—for exam-
because it offers plexers, queues, and schedulers to model an IP ple, extending a “vanilla TCP” class to implement
router, perhaps with multicast forwarding sup- “TCP Reno.” The net effect is that users can imple-
a publicly available
port, or arrange them instead into a configura- ment their simulation at the highest level of abstrac-
simulator with tion that models a high-speed switch with a tion that supports the required level of flexibility, thus
a large protocol new scheduling discipline. In the latter case, minimizing exposure to unnecessary details and the
library. protocol agents (implemented entirely in Tcl) burden associated with them.
that model an experimental signaling protocol
could easily extend the switch. TYPES OF NS RESEARCH
Performance also guides our use of split pro- Network research simulation categories represent
gramming. The model implements low-level, event-level three broad themes:
operations such as route lookups, packet forwarding,
and TCP protocols in C++, whereas it implements high- • selecting a mechanism from among several
level control operations such as aggregate statistics col- options,
lection, modeling of link failures, route changes, and • exploring complex behavior, and
low-rate control protocols in Tcl. • investigating unforeseen multiple-protocol inter-
Obtaining a desirable trade-off between performance action.
and flexibility requires careful design. This division often
migrates during the course of investigating a protocol. The following examples from the broad base of ns-
Object-oriented design naturally expresses this com- based simulations in the networking community illus-
posable macro-object model. However, when we trate each of these themes.
designed ns, Tcl did not support object-oriented pro-
gramming constructs and it did not provide effective Selecting a mechanism
programming constructs for building reusable modules. As in most design activities, much time is lost in
Thus, VINT adopted an object-oriented extension selecting which alternative to use in accomplishing a
of Tcl. Of the several Tcl object extensions available, goal. Researchers have used ns to develop TCP vari-
we chose the Object Tcl (OTcl) system from MIT ants and extensions, explore reliable multicast proto-
because it didn’t require any changes to the Tcl core cols, and consider packet-scheduling algorithms in
and it has a particularly elegant, yet simple, design.6 routers.
We also adopted Tcl with Classes (TclCL), a simple A simulator-specific TCP implementation aided the
extension of OTcl that provides object scaffolding efforts to use ns to explore TCP variants and exten-
between C++ and OTcl. This extension facilitates use sions, such as selective acknowledgments, forward
of our split-programming model to divide an object’s acknowledgments, explicit congestion notification,
implementation across the two languages. and pacing. Omitting application-specific baggage
With the OTcl programming model in place, each such as memory management and IP fragmentation
macro-object becomes an OTcl class; a simple-to-use allows ns users to focus on research issues such as
set of object methods hides its complexity. Moreover, packet retransmission policies and throughput.
the model can embed macro-objects in other macro-
objects, leading to a hierarchical architecture that sup- Exploring complex behavior
ports multiple levels of abstraction. Complex behavior often appears as unexpected self-
As an example, high-level objects might represent organization of dynamic systems, including examples
an entire network topology and set of workloads, such as
whereas the low-level objects represent components
such as demultiplexers and queues. This approach • synchronization of periodic network traffic such
frees the simulation designer to operate at various lev- as routing updates,
els of abstraction: • TCP “ACK compression” in asymmetric or con-
gested networks,
• high-level—for example, by simply creating and • undesired or unpredicted differential treatment
configuring existing macro-objects; of TCP flows because of RTT variations,
• mid-level—for example, by modifying the behav- • contention for bandwidth reservations, and
ior of an existing macro-object in a derived sub- • “ACK implosion” for large-scale reliable multi-
class; or cast protocols.

64 Computer
Simulation has proved useful in helping to identify simulator. Connection snooping proposes that
and understand each of these phenomena. TCP performance can be improved if routers Ns’s object-oriented
Error recovery in SRM technology is an example of replay TCP segments lost because of transmis-
ns’s exploration of complex behavior.7 SRM supports sion failure over a wireless hop.12 Both approach-
structure makes it
reliable communication for large groups. It uses a prob- es benefited from the rich ns protocol library. fairly easy to
abilistic-based negative acknowledgment (NACK) pro- implement variants
tocol to achieve reliability. A receiver detecting a loss EVALUATION of existing
multicasts NACK to the group. Each group member Many users have contributed to the VINT
with the missing data prepares to repair the error. To effort. The project spans four geographically protocols.
avoid repair implosion (everyone sending the repair at dispersed developer groups. Messages posted
once), SRM delays repairs by a random time propor- to the mailing list indicate that the user com-
tional to the estimated distance between the participants. munity includes more than 200 institutions world-
Although the original SRM simulations used stand- wide, and ns incorporates much code contributed
alone simulation, we added an SRM implementation from this user community.
to ns. Researchers have since used the implementation Currently, users can contribute code in two ways:
to study SRM recovery behavior over a wide range of on a contributed-code Web page or through incorpo-
variants and topologies.6,8 ration into the main ns distribution, typically with
documentation and a validation test program. Code
Comparing research results integrated into the main distribution will track ns as
Comparing a new protocol design against existing it evolves; experience stresses the importance of auto-
protocols is a common research challenge. Com- mated validation tests in this process.
parisons of full protocols are often difficult because Although the ns user community has been steadily
they require a particular operating system or they are growing, there will always be times when a researcher
not widely available. Ns is an ideal virtual testbed for finds it more convenient to write stand-alone code or
comparing protocols because it offers a publicly avail- to choose an alternative general-purpose simulator. A
able simulator with a large protocol library. custom simulator can exactly address the problem a
The reliable multicast community has used ns researcher faces. Although ns’s abstraction techniques
widely for protocol comparison. In addition to the allow two-orders-of-magnitude scaling, a custom sim-
SRM variants previously described, Christophe Hänle ulator can get exactly the correct scaling behavior.
used ns to compare the multicast file transfer proto- Also, a new simulator will avoid the cost of learning
col,9 and Dante DeLucia used it to research represen- ns. However, we have found that researchers often
tative-based congestion control.10 underestimate the infrastructure required to build a
new simulator and interpret its results.
Multiprotocol interactions Wide use of a common simulation platform pro-
Multiprotocol interactions include either vides serendipitous effects, however. Ns encourages
researchers to incorporate its rich collection of alter-
• the impact of protocol operation at one layer upon natives and variants for frequently used functions—
another layer (for example, HTTP on TCP), or for example, for TCP and queuing variants—into the
• the interaction of unrelated protocols (for exam- parameters of their own simulations. Without ns or a
ple, the effect of uncontrolled traffic sources on similar environment, the additional cost of developing
congestion-controlled traffic flows). the required infrastructure would likely prevent
researchers from delving so deeply.
Studying protocol interactions requires twice the This benefit particularly applies to experimental
effort that studying a single protocol does: The new approaches. For example, RED queue manage-
designer must understand and implement protocols ment in ns was widely used in many simulations well
at all relevant layers. Ns reduces this effort by pro- before it was standardized and available in products.
viding a validated library of important protocols. This availability has helped develop understanding
Random early detection (RED) and TCP Snoop are and acceptance of RED, and it has helped other
two examples where ns greatly aided protocol stud- researchers anticipate how their protocols will behave
ies. RED explored interactions between TCP and in future networks.
router queuing policies; Snoop explored interactions On the other hand, a disadvantage of ns is that it is
between TCP and wireless networking. RED queue a large system with a relatively steep initial learning
management suggests that routers should detect incip- curve. A tutorial contributed by Marc Greis and the
ient congestion (before running out of buffer capacity) continuing evolution of ns documentation have
and signal the source.11 Early work on RED began on improved the situation, but ns’s split-programming
an ancestor of ns; RED is now a standard part of the model remains a barrier to some developers.

May 2000 65
We chose ns’s fine-grain object decomposition inten- DARPA Order E243; at USC/ISI under DARPA Grant
tionally because it allows two levels of programming. ABT63-96-C-0054; and at Xerox PARC under
Simple scripts, topology layout, and parameter vari- DARPA Grant DABT63-96-C-0105.
ation can often be done exclusively in OTcl. Although
developers must use C++ to implement most new pro-
tocols, ns’s object-oriented structure makes it fairly References
easy to implement variants of existing protocols. For 1. D. Estrin et al., Network Visualization with the VINT
completely new protocols, the large set of existing Network Animator Nam, tech. report 99-703, Com-
modules promotes reuse by advanced programmers, puter Science Dept., Univ. Southern California, Los
as evidenced in ns’s existing protocols and classes. Angeles, 1999.
2. P. Huang, D. Estrin, and J. Heidemann, “Enabling Large-
imulation plays a valuable role in network

S
Scale Simulations: Selective Abstraction Approach to the
research. A diverse set of researchers using a Study of Multicast Protocols,” Proc. Int’l Symp. Mod-
standard framework increases the reliability and eling, Analysis, and Simulation of Computer and
acceptance of simulation results. Telecommunication Systems, IEEE CS Press, Los Alami-
Despite the benefits of a common framework, the tos, Calif., 1998, pp. 241-248.
network research community has largely developed 3. S. McCanne et al., “Toward a Common Infrastructure
individual simulations targeted at specific studies. for Multimedia-Networking Middleware,” Proc. 7th
Because of the focused nature of such simulators, stud- Int’l Workshop Network and Operating Systems Sup-
ies that employ them often do not reflect the breadth port for Digital Audio and Video, IEEE CS Press, Los
of experience that can result if experimenters use a Alamitos, Calif., 1997, pp. 39-49.
more extensive set of traffic sources, queuing tech- 4. A. Helmy and D. Estrin, “Simulation-Based ‘STRESS’
niques, and protocol models. Testing Case Study: A Multicast Routing Protocol,”
The VINT project, using ns as its simulator base Proc. Int’l Symp. Modeling, Analysis, and Simulation of
and nam as its visualization tool, has constructed a Computer and Telecommunication Systems, IEEE CS
common simulator containing a large set of models Press, Los Alamitos, Calif., 1998, pp. 36-43.
for use in network research. By including algorithms 5. J.K. Ousterhout, Tcl and the Tk Toolkit, Addison-Wes-
still undergoing research, simulator users can explore ley, Reading, Mass., 1994.
how their particular work interacts with these future 6. D. Wetherall and C.J. Linblad, “Extending Tcl for
techniques. In several cases, we have incorporated Dynamic Object-Oriented Programming,” Proc. Usenix
modules developed outside the VINT project as stan- Tcl/Tk Workshop, Usenix, Berkeley, Calif., 1995. p. 288.
dard simulator components. 7. S. Floyd et al., “A Reliable Multicast Framework for Light-
Although the VINT project has so far been rela- weight Sessions and Application Level Framing,”
tively successful, it and the ns simulator must address ACM/IEEE Trans. Networking, Dec. 1997, pp. 784-803.
more challenges, such as 8. S. Raman, S. McCanne, and S. Shenker, “Asymptotic
Scaling Behavior of Global Recovery in SRM,” Proc.
• developing mechanisms for the successful inte- ACM SIGmetrics, ACM Press, New York, pp. 90-99.
gration of code from the user community, 9. C. Hänle, A Comparison of Architecture and Performance
• reducing the ns user’s learning curve, Between Reliable Multicast Protocols Over the Mbone, mas-
• developing tools for large-scale simulations with ter’s thesis, Inst. Telematics, Univ. Karlsrühe, Germany, 1997.
a diverse traffic mix, and 10. D. DeLucia and K. Obraczka, A Multicast Congestion
• providing tools for newer areas of research such Control Mechanism Using Representatives, tech. report
as mobility and higher-level protocols. ✸ USC-CS TR 97-651, Computer Science Dept., Univ.
Southern California, Los Angeles, 1997.
11. S. Floyd and V. Jacobson, “Random Early Detection
Acknowledgments Gateways for Congestion Avoidance,” ACM/IEEE
We thank the following for their contributions to Trans. Networking, Aug. 1993, pp. 397-413.
ns and this article: Sandeep Bajaj, Padma Haldar, 12. H. Balakrishnan et al., “A Comparison of Mechanisms
Mark Handley, Tom Henderson, Satish Kumar, Giao for Improving TCP Performance Over Wireless Links,”
Nguyen, Reza Rejaie, Nader Saleki, Scott Shenker, Proc. ACM SIGCOMM 96, ACM Press, New York,
Puneet Sharma, and Daniel Zappala, and the CMU 1996, pp. 256-269.
Monarch project. A more complete list of ns contrib-
utors can be found at http://www-mash.cs.berkeley. Lee Breslau was a co-principal investigator at Xerox
edu/ns/ns-contributors.html. This research is sup- PARC, where his work included admission control
ported by the Defense Advanced Research Projects and Web cache consistency algorithms. He is currently
Agency through the VINT project at the LBNL under at AT&T Research.

66 Computer
Deborah Estrin is a VINT co-principal investigator Polly Huang received a PhD from the University of
and a professor in the Computer Science Department Southern California, where her thesis examined sim-
at the University of Southern California. She is also ulation scaling through abstraction. She is currently
known for her multicast protocol work. pursuing postdoctoral studies at ETH Zurich.

Kevin Fall, currently at Intel, was a member of the Steven McCanne was a primary developer of ns-1 and
Lawrence Berkeley National Laboratory technical the ns-2 approach to fine-grained composition. For-
staff, where his ns work included full TCP, emulation, merly an assistant professor at UC Berkeley, where he
and RED. used ns-2 to study reliable multicast, McCanne is now
CTO of FastForward Networks.
Sally Floyd was a co-principal investigator at
Lawrence Berkeley National Laboratory. She was a Kannan Varadhan was formerly a graduate student at
co-developer of ns-1, and her work in ns-2 included the University of Southern California, where his the-
TCP, ECN, RED, and the ns TCP test suites. She is sis work examined TCP and SRM behavior in the face
currently at ACIRI. of network dynamics. He is currently at Lucent Tech-
nologies, Bell Labs.
John Heidemann is a computer scientist at the Uni-
versity of Southern California/Information Sciences Ya Xu was a staff programmer at the University of
Institute, where his research includes ns scaling and Southern California/Information Sciences Institute,
architecture. where his work on VINT included major enhance-
ments to nam and the wireless protocol stack.
Ahmed Helmy, formerly a graduate student at the
University of Southern California, is now a professor Haobo Yu is a graduate student at the University of
in the USC Department of Electrical Engineering. He Southern California, where his research includes Web
developed and now leads the STRESS approach to and cache consistency protocols and application-level
identifying protocol pathologies. routing. Yu is responsible for the current ns Web model.

How will it
all connect?
Find out in
The MIS and
LAN Managers
Guide to Advanced
Telecommunications
$40 for
Computer Society members
Now available from the Computer Society Press

computer.org/cspress/

View publication stats

Das könnte Ihnen auch gefallen