News
2011-12-15: One of recent Numbat contributors (xMIPv6 integration, FMIP implementation) has graduated today! Congratulations to Adam Jastrzebski, M.Sc.!
2011-10-08: Documentation for Numbat has been rewritten. Old docs are now removed. New documentation is generated using doxygen and is tightly associated with the code itself. It is also available on this page. See left panel. Webpage was also a bit cleaned up. Old snapshots were removed. Snapshots will be regenerated once a day if there is any change in GIT repo.
2011-09-20: Adam Jastrzebski integrated xMIPv6 (an extension to INET) in Numbat and provided patches. Thanks!
2011-05-18: Numbat has migrated the source code to github!
2010-12-21: Getting the source code and installation simplified. To avoid confusion, obsolete tarballs removed.
2010-04-11: Numbat 4.0 now compiles without any problems under Linux and Windows. All compilation issues were resolved. Compilation is quite simple: download latest 20100411 snapshot (or better use SVN), extract it and run ./rebuild-makefiles command. Then type make. After compilation is complete, you'll get binary that has the same name as the directory you extracted Numbat to. Note: in Windows, make sure that you issue all commands from mingwenv.cmd shell.
2009-10-02: Numbat was migrated to OMNeT++ 4.0, thanks to Mikko Majanen from VTT Technical Research Centre of Finland. Great patch!
2009-04-20: Numbat now compiles under Windows. I've added project files for Visual Studio .NET 2003 to the project. Also necessary batch file is included.
2009-03-09: Bugzilla has been added (bugs should be reported there). Also, updated User's Guide was uploaded.
2008-11-13: I didn't update the page for awhile. For my purposes, I consider this simulation environment more or less complete. I have uploaded last snapshot, provided anonymous read access to the SVN repository and uploaded bunch of graphs. See status for details. I wrote a research paper "How to Improve the Efficiency of IPv6 Handovers in IEEE 802.16 Networks" that has been accepted at the ATNAC'2008 conference to be held at Adelaide, SA. I'm going to Australia! Yay! My previous research paper ("Numbat . extensible simulation environment for mobile, IPv6 capable IEEE 802.16 stations") has been accepted in 2007 at another conference (ATNAC'2007, New Zealand). Please note that a lot of information in that old paper is out of date. Old paper is already available. I'm allowed to post the new one only after the conference, so expect it on the page in mid December 2008.
2008-03-24: Well, it took awhile to post new snapshot. It doesn\'t mean that this project is dead. Not at all. Support for 802.16 handover is complete, various optimizations are supported. Right now I\'m focusing on IPv6 operations. Router Advertisements and DHCXPv6 are working. As my Ph.D will focus on DHCPv6 (but cover lots of different mobility aspects), this part will be extensively expanded. I have added some new screenshots. People interested in the code are starting to appear. One of them pointed out that anonymous access to SVN would be beneficial. I\'ll try to configure that as soon as I get some spare time.
2007-06-27: New snapshot has been uploaded. There are significant changes. New supported features are: multiple BSes, multiple SSes, SS is now able to perform full handver and network reentry, new unified logging framework and lots of bug fixes. Also new snapshot is available.
2007-02-18: There have been significant improvements lately. State machine implementation has been completed (Omnet's FSM is not sufficient), SS is now able to perform part of the handover procedure executed on serving BS (i.e. send MSHO-REQ, wait for BSHO-RSP and then send HO-IND message). Also scheduling has been improved. Another nice thing to announce is the first source code availability. Use the snapshots link from the side panel. Also new screenshot is available in the img directory.
2006-12-17:Implementation has been progressing quite well. Right now BS and SS support one UGS connection and are able to send data in uplink as well as downlink direction. Simple IPv6 module, which sends and receives data packets. Also some statistics are gathered and a first graph was plotted.
2006-12-12:Project name was choosen and a mailing list was created.
Project status
This project is fully capable of simulating mobile WiMAX stations with advanced IPv6 stack on top of it. Here's a list of features that are supported in the WiMAX layer:
- based on IEEE 802.16-2005 (aka 802.16e)
- Simple radio/PHY layer - unicast (SS to BS) and multicast (BS to SS) transmissions
- OFDMA transmission (including CDMA codes, radio frame slots/symbols)
- Bandwidth management: BWR, CDMA codes for ranging and BWR transmission)
- Supported traffic classes: Best Effort (BE) and Unsolicited Grant Service (UGS)
- Control plane: Network entry(RNG-REQ, RNG-RSP, SBC-REQ, SBC-RSP, PKM-REQ, PKM-RSP, REG-REQ, REG-RSP messages)
- Control plane: Service flow creation/mgmt (DSA-REQ, DSA-RSP, DSA-ACK)
- Control plane: Scanning (SCN-REQ, SCN-RSP)
- Control plane: Handover (BSHO-REQ, MSHO-RSP, HO-IND)
- Several traffic models: fixed, handover after timeout, distance based handover
- Simple event signalling, so you don't have to understand whole stack operation to get some notification (similar to MIH 802.21-style events, but easier)
- Several optimization allowed by 802.16-2005 standard are configurable (you can enable or disable them)
- multiple SSes support (optimizations can be enabled on a per SS basis)
- Connection management and queuing
- multiple BSes support
- Handover between BSes can be simulated easily
- Event based FSM (Finite State Machine) implementation. For each state, there are functions: onEnter(), onEvent() and onExit(). States can be transitive or stationary. Also there's a well defined list of inputs for each FSM.
On top of all this, there is a working IPv6 stack on top. As my research focused on automatic configuration and DHCPv6 in particular, related areas are the most developed:
- IPv6Node: traffic source/sink, with statistics and various traffic generation models
- RAGen/RArcv: Router Advertisement generator and receiver, used to configure IPv6 nodes in stateless mode
- DHCPv6 client: implementation of the DHCPv6 client, with several proposed enhancements
- DHCPv6 server: as you probably guessed, it is used for providing configuration. Supports relays and several extra enhancements
- MobileIPv6 Mobile Node: Simple implementation of the MN
- MobileIPv6 Home Agent
- IPv6 dispatcher, that inteligently redirects packets to specific modules. It is also mobility aware.
Project may be quite useful, so you are encouraged to download and play with it. For screenshots, please go to the http://klub.com.pl/projects/numbat/img/ directory for sample results and http://klub.com.pl/projects/numbat/screenshots/ for screenshots.
Although development plaform was Linux, one of the project participants was able to compile and use Numbat under Windows. See doc section for simple document explaining how to compile the code.
Installation
Several people reported problems with installation, so here is the detailed description.
- Install OMNeT++ 4.0. See OMNeT++ webpage for details.
- Get the latest version of Numbat from SVN. See "Getting the soruce code" on the bottom of this page.
- Go to the directory that you downloaded Numbat to. Make sure that you have OMNeT++ environment variables set properly. In Windows, the easiest way to do that is to run mingwenv.cmd from OMNeT++ directory. To change directory, use cd command.
- Executre ./rebuild-makefiles
- Type make
If you experience problems with source code, compilation or installation (or any other problems for that matter), please ask for help on Numbat mailing list. DO NOT send direct e-mails to the autor. Thank you.
Documentation, papers
There are several documents available. See the doc/ directory:
- numbat-user.pdf (Numbat User's Guide) - Simple document
- numbat-atnac2007 (Numbat - extensible simulation environment for mobile, IPv6 capable IEEE 802.16 stations) - research paper I have published in 2007 (a bit outdated)
- wimax-ipv6-autoconf-atnac2008.pdf (How to Improve the Efficiency of IPv6 Handovers in IEEE 802.16 Networks) - research paper that I'll present at ATNAC2008 conference. It will become available here after conference finishes
Mailing list
This project has a mailing list. You can subscribe via e-mail or go to the mail list web interface where you can subscribe, too. You can also browse the archives
Getting source code
Numbat migrated to github with source code storage. Please consult github or any GIT tutorials how to obtain sources from GIT. Single line command to get the sources is
git clone git://github.com/tomaszmrugalski/numbat.git
Old SVN repository is still available, but please DO NOT use it. Please use GIT repo instead.
To get source code (released under GNU GPLv2), check out following SVN repository:
https://klub.com.pl/var/svn/omnet
Windows users (for complete beginners):
- Get a SVN client. TortoiseSVN is a good, free one.
- Checkout Numbat repository. In Windows explorer, right click, then choose SVN checkout... and specify following repository address: https://anonymous@klub.com.pl/var/svn/omnet.
- See Installation section for details how to compile the source code