is a clearinghouse for information
about the latest tools for scalable high-performance network modeling,
simulation, and analysis. Here, users and developers share
useful information about the following standards and software systems:
Scalable Simulation Framework (SSF)
... A public-domain standard for discrete-event simulation
of large, complex systems in Java and C++.
The "engine under the hood" of the SSFNet Internet models.
Domain Modeling Language (DML)
... A public-domain standard for
attribute databases for model configuration and verification.
Supports extensibility, inheritance and substitution of attributes.
SSF Network Models (SSFNet)
... Open-source Java models of protocols
(IP, TCP, UDP, BGP4, OSPF, and others), network elements (hosts, routers, links, LANs),
and assorted support classes for realistic
multi-protocol, multi-domain Internet modeling and simulation.
Integrated Development Environments (IDEs)
... IDEs combine the open-source modeling components with SSF
simulation kernels, DML database implementations, and
assorted development tools to make your life easier.
Free or available at nominal cost for research purposes.
(Contact us to add
new SSFNet tools.)
Download SSFNet 2.0, Raceway SSF, Raceway DML, Raceway Views
(Renesys Corporation, January 2004)
Download SSFNet 1.5, Raceway SSF, Raceway DML
(Renesys Corporation, May 2003)
Download SSFNet 1.0, JSSF, and CSC DML
(Cooperating Systems, December 1999. No longer supported.)
January 15, 2004:
New SSFNet 2.0 release is available (javadoc here):
- Network animation tool Raceway Views and a number of animated network models are now
included in SSFNet distribution. Watch BGP dynamics, worm attacks, and TCP congestion demos by Michael Liljenstam and BJ Premore
(created in David Nicol's lab) in the new "animation" directory, and examine the code to learn
how they were created.
May 8, 2003:
New SSFNet 1.5 release is available:
- New package SSF.App.Worm models the spread of a network worm such as Code Red v2 or Sapphire/Slammer.
- Package SSF.OS.BGP4 has new functionality, including route flap damping.
- Package SSF.OS.OSPFv2 has been upgraded.
- Out-of-core storage of routing table information is now supported as
an experimental feature.
March 18, 2003:
mailing list, hosted by Harvard University, is now available as a discussion
forum for users of SSFNet.
July 23, 2002:
A gallery of baseline networks
has been installed; it contains DML models of large, realistic BGP topologies, heavily congested
networks, and validation models, together with model descriptions and associated publications.
June 14, 2002:
SOS release 1.1.0 is available):
SOS ("Scripts for Organizing 'Speriments") is a set of MySQL database
tools and Perl scripts that:
The authors of SOS are Tim Griffin (AT&T) with Srdjan Petrovic, Anna Poplawski and
BJ Premore (Dartmouth).
- can automatically generate families of DML network models, to systematically
explore the parameter space,
- can automate the process of running a large number of simulation experiments
and working with the resulting data, including plotting.
... old news archive
The SSFNet project has two components: research on and development
of scalable modeling and simulation tools, and - using these tools -
research on the dynamic behavior of very large networks.
The software research has been focused on
scalability: This includes
modeling scalability with number of nodes, traffic flows, bandwidth,
system heterogeneity, as well as performance scalability with number of
processors. Modeling scalability is a prerequisite for
constructing global-scale network models; performance scalability
is a prerequisite for their efficient simulation.
Some of the things you can learn about from this site include:
Scalable high performance Java simulation platforms, often
distributed at no cost for research purposes. The best of these are
stable, compact, and can execute either serially on a single
processor, or in parallel on multiprocessor machines. Parallel
execution under Linux, Solaris, and Windows NT using
JDK1.2 and higher. Other platforms may support parallelism
A simple, standardized syntax for high-level model description,
the Domain Modeling Language (DML). DML has helped SSFNet users
create complex topology Internet models with 100,000 multi-protocol
hosts and routers. DML specifies a hierarchy of attributes, with
inline attribute substitution and multiple inheritance. DML is simple
and easy to read and write directly by modelers, is used in graphical
network design and validation tools, and serves as a
machine-independent model exchange format suitable for storage in
The latest SSFNet distribution: a collection of DML-configurable
Java components for Internet modeling and simulation.
The distribution includes source code for:
- Two derivative frameworks, SSF.OS (for modeling of the host and operating system components,
especially protocols) and SSF.Net (for modeling network connectivity, creating node and link configurations).
- Core Internet protocol models (IP, BGP4, OSPF, TCP, UDP), Sockets, and various workload-generating
client and server application models. Protocol validation tests are included.
- Topological network component addressing and automated IP address allocation (CIDR compliant).
- Management of global traffic patterns.
- Management of parallel random number streams, employing a suite of strong random number
generators and statistics from the CERN Colt package.
Tutorials explaining step-by-step how to create DML network models, and how to write configurable protocol
models using SSF.OS (in x-kernel style).
Reference manuals for DML, Net configuration attribute hierarchy, and SSF API.
Networking research with the SSFNet tools can help address a number
of modeling and simulation challenges, such as:
- slow convergence in presence of long-range correlated traffic,
- understanding of scaling conditions: some emergent phenomena
can be seen only in sufficiently large networks,
with sufficiently many traffic flows,
- understanding relations between different abstraction levels,
- predicting Internet behavior under alternative-futures scenarios.
A large amount of work remains to be done, as network
simulations on such a large scale create new challenges at each step.
This includes current research on monitoring of very large models (10e4 to 10e7 entities),
and on scalable tools for interactive graphical model development and management.
site distributes C++ DaSSF kernel.
Here is a list of people who were involved in the creation
of the first SSFNet release (1998 - 1999):
Development of the SSF API, parallel implementations, derivative packages, and
the SSFNet Internet models has been a collaborative project involving
a number of people. Andy Ogielski,
David Nicol and
Jim Cowie have been the principal investigators.
The principal designer of the SSF API is Jim Cowie, who also developed
its first Java and C++ reference implementations.
C++ DaSSF has been designed and implemented by David Nicol, Jason Liu
and Anna Poplawski. Nicol designed, implemented and analyzed
a number of very efficient techniques for parallel discrete event simulators.
DML (Domain Modeling Language) has been designed by Jim Cowie and Andy Ogielski.
DML provides database-oriented capabilities for large
model design and configuration, aided by multiple inheritance and substitution of attributes.
The derivative frameworks SSF.OS and SSF.Net have been implemented by
Jim Cowie, improving the early design used by Ogielski and his students.
The SSF.OS approach to efficient, configurable protocol graph design has been
inspired by the x-kernel,
but the design of SSF.OS is simpler, and it differs from the x-kernel in many ways.
Internet modeling has been led by Andy Ogielski. The first implementations
of the major Internet protocol models have been created by BJ Premore (BGP4),
Philip Kwok (OSPF), Hongbo Liu (TCP, UDP, Sockets, client/server);
the released versions include revisions and upgrades by additional authors.
The list of people in the core SSFNet development team has been changing with time, of course.
More recent - 2001 and later - SSFNet packages were contributed by Hagen Boehm and Dirk Jacob (SSF.OS.OSPFv2),
Michael Liljenstam (SSF.Util.Plot) and Yougu Yuan (SSF.App.DDoS).
As always, there have been many more people who contributed code improvements and bugfixes.
Institute for Security Technology Studies at Dartmouth