## Multi-Generator (MGEN)

Multi-Generator (MGEN)

The Multi-Generator (MGEN) is open source software developed by the Naval Research Laboratory (NRL) PROTocol Engineering Advanced Networking (PROTEAN) Research Group. MGEN provides the ability to perform IP network performance tests and measurements using TCP and UDP/IP traffic .

The toolset generates real-time traffic patterns so that the network can be loaded in a variety of ways. The generated traffic can also be received and logged for analysis. Script files are used to drive the generated loading patterns over the course of time. These script files can be used to emulate the traffic patterns of unicast and/or multicast UDP and TCP IP applications. The receive portion of this tool set can be scripted to dynamically join and leave IP multicast groups and listen for TCP traffic. MGEN log data can be used to calculate performance statistics on throughput, packet loss rates, communication delay, and more. MGEN currently runs on various Unix-based (including MacOS X) and Win32 platforms.

Mgen can also be used in network simulation environments like ns-2 and opnet. For ns-2, an MGEN Agent is available that can operate within the simulation environment. Mgen commands may be passed to the ns-2 MGEN agent in ns-2 TCL scripts as with other ns-2 agents. [TODO: Words on opnet]

The current version of MGEN is 5.x although previous versions (MGEN 4.x and MGEN 3.x) are available. Note that version MGEN 3.x is not interoperable with the later versions. At present, only MGEN 3.x has graphical user interface support.

## 1. MGEN Version 5.0

This is the latest version of the MGEN toolset. This version supports TCP messaging, IPv6 networking, and provides support for Win32 platforms in addition to a broad base of Unix-based platforms. This version features a more modular code architecture than previous versions. Support for additional statistical traffic generation patterns (JITTER and CLONE), transport buffering, message count, and payload enhancements have been been added in addition to other features documented in the release notes. At this point in time, MGEN 5.x encompasses the feature set of MGEN 4.x. Mgen 5.x can also be embedded in a RAPR (real-time application representative) application.

## 2. MGEN 5.x Downloads

MGEN 5.x source and binary distributions are available for download at:

http://downloads.pf.itd.nrl.navy.mil/mgen

The trpr (Trace Plot Real Time) analysis program and gpsLogger Global Positioning System (GPS) utilities are available at the Protean Tools webpage. The gpsLogger utility allows MGEN to report GPS host position information in the test message payload. This can be useful for mobile network testing and evaluation.

## 3. MGEN 5.x Documentation

An on-line MGEN User's and Reference Guide is available.

## 4. MGEN 5.x Installation

In some cases, prebuilt binary distributions are available. However, the mgen application can be easily built on most Unix-based platforms and Win32 platforms. The MGEN source code is also available for checkout from a downloads directory at http://downloads.pf.itd.nrl.navy.mil/projects/mgen. See the instructions there for further details. Note that the NRL Protolib source code distribution is required and is also available via downloads from the NRL at our downloads site.

### 4.1. UNIX

The mgen program can be built with gcc on most Unix platforms.

1. Download and unpack the MGEN source code distribution.

2. Change to the mgen build directory:

       cd mgen/makefiles/

3. Select appropriate Makefile.<os>for your operating system and build the application:

       make -f Makefile.<os> mgen

### 4.2. WIN32

A Visual C++ workspace and project is provided to build the mgen tool. Note that the Microsoft Platform SDK may be required to build mgen with some of its more advance networking features such as IPv6 support.

1. Download and unpack the MGEN source code distribution.

2. Change to the mgen win32 build directory:

       cd mgen/makefiles/win32

3. Open the Visual C++ workspace mgen-<VSVersion>.sln file appropriate to your Visual Studio version, e.g.

       mgen-2008-express.sln

4. Type F7 to build the mgen.exe program. (The executable will be found in the directory "mgen/win32/Release" or "mgen/win32/Debug" depending upon which build configuration was selected.)

## 5. MGEN Version 4.0

This is an older version of the MGEN toolset. This version supports UDP messaging only, IPv6 networking, and provides support for Win32 platforms in addition to a broad base of Unix-based platforms. See the documentation for other features available in MGEN 4.x.

### 5.1. MGEN 4.x Downloads

This version will no longer continue to be updated. However, binary and source code distributions remain available at:

http://downloads.pf.itd.nrl.navy.mil/mgen/mgen4

The gpsLogger and trpr log file analysis program is also compatible with MGEN 4.x log files. An online user's guide is available at MGEN 4.x User's Guide.

## 6. MGEN Version 3.3

This is the older version of MGEN Toolset which builds and runs on various Unix-based platforms. It has a graphical user interface and optional support for operation with ISI's rsvpd.

### 6.1. MGEN 3.x Downloads

This version will no longer continue to be updated. However, binary and source code distributions remain available at:

http://downloads.pf.itd.nrl.navy.mil/mgen/mgen3

Some additional post-processing utilities can be found at MGEN 3.x Utilities The trpr log file analysis program is also compatible with MGEN 3.x log files. An online user's guide is availalbe at MGEN 3.x User's Guide.

## 7. Contact

Contact If you are interested in more information about MGEN, please contact `<mgen@pf.itd.nrl.navy.mi>`l. There is also an MGEN Users Mailing List. This mailing list is monitored by the MGEN developer(s).