LRC logo

WiMAX module for the ns-2 simulator

The WiMAX for NS-2 module was developed by members of the Computer Networks Laboratory (LRC), Institute of Computing, UNICAMP. This program is a free result: you can redistribute it and/or modify it under the terms of the UOL Public License Version 1 or (at your option) any later version. The license terms are available at

We welcome colleagues to contact us to report any bug founded in our provided version and give us some suggestions.


The Network Simulator 2 (NS-2) is a popular discrete event simulator target at networking research. This tool can suport simulation of TCP, routing, and MAC protocols over wired and wireless networks. Although it's possible to simulate wireless local area network (IEEE 802.11), ad hoc networks and satellites networks, ns does not provide a WiMAX module. This project implements a WiMAX module based on the IEEE 802.16 standard for the ns-2 simulator, release 2.28. The focus of this implementation is the MAC layer and its mechanisms for bandwidth allocation and QoS support. The module implements the 802.16 five service flow types and their bandwidth request/grant mechanisms; moreover, it allows users to configure the QoS requirements of applications. Service flows are modeled by finite sate machines that capture how each service type react to different events. This module supports TDD mode and PMP topology. The wireless channel available in the ns-2 simulator is used. The module design was based on a module ( designed to simulate the DOCSIS standard. Although code reuse was possible, several modifications in the DOCSIS module code were necessary to make it compliant to the IEEE 802.16 standard.


To install the patch, follow the instructions below:

  1. Download the software ns-allinone-2.28 package
  2. Download the latest ns-2 WiMAX module source code.
  3. Unzip the ns-2 WiMAX module source code file.
  4. Put the files from "mac" directory into ns-allinone-2.28\ns-2.28\mac.
  5. Put the files which are in common and tcl respectively into ns-allinone-2.28\ns-2.28\common and ns-allinone-2.28\ns-2.28\tcl.
  6. Modify the as follows
    1. After the sentence mac/mac-802_3.o add:
      mac/mac-802_16-base.o mac/mac-802_16-ss.o mac/mac-802_16-bs.o \
      mac/mac-802_16-FSM.o mac/mac-802_16-timers.o \
  7. Go to the ns-allinone-2.28/ns-2.28 directory and execute "./configure", "make clean" and "make".


Download source code version 1.02 (08/07/2008)

Change history


Download documentation or read on-line:

We would like to acknowledge UOL UOL logo for the financial support through its UOL Bolsa Pesquisa Program.