Simulation has always been a valuable tool for experimentation and validation of models, architectures and mechanisms in the field of networking. In order to study and validate Quality of Service and wireless architecture issues we used the ns-2 simulator. Ns-2 is a powerful simulation tool that can simulate many kinds of networks, like mobile and satellite networks and provide useful low-level insight in the operation of the networks. A user can define arbitrary network topologies consisting of nodes and links and attach applications and queues on each node. A researcher using ns-2 can design new protocols, test their functionality and performance and compare them. In the case of the DiffServ framework, simulation is valuable due to the fact that an analytical approach of mechanisms and services is infeasible because of the aggregation and multiplexing of flows. We extended the ns-2 functionality towards the direction of realistic traffic generation and a series of mechanisms defined by the DiffServ architecture. We have also extended ns-2 with the functionality of Bandwidth Brokers, which are entities for managing the resources and negotiating end to end resource reservations between domains. The implementation and deployment complexity of such solutions makes it useful to be able to inexpensively study related research issues in a simulation environment. Moreover, we have extended ns-2 functionality by implementing modules for third generation cellular networks and in particular aspects of the Universal Mobile Telecommunications System (UMTS). These modules include functionality such as adaptive multimedia transmission, multicast routing, user mobility etc. Finally, we have introduded several simulation models over LTE systems utilizing MATLAB and implemeting extensions for ns-3.
The DiffServ framework proposes the provision of service differentiation to traffic in a scalable manner, by suggesting the aggregation of individual application flows with similar quality needs.
The Diffserv architecture works by:
- Defining service classes to which aggregates of application flows are appointed
- Packets are entitled to a certain service or belonging to a specific aggregate. These packets are marked with a distinctive value (DSCP)
We designed modules which were implemented within the environment of the ns-2 simulator. This implementation can be used for:
- An additional traffic generator or DiffServ mechanism functionality.
- Efficient simulation of DiffServ mechanisms and DiffServ-based services in realistic scenarios.
Also we implemented modules for the simulation of:
- Background traffic
- Foreground traffic
- Leaky Bucket Shaping
- DiffServ-based tracing
- Scheduling at the ingress interface
- MDRR scheduling (strict and alternate priority)
We also implemented Leaky Bucket Shaping and MDRR scheduling in the ns-3 simulation environment.
In order to facilitate negotiations for automatic end to end QoS provisioning between domains, an additional mechanism has to be used. The Bandwidth Broker is an entity that manages the resources within a specific DiffServ domain by controlling the network load and by accepting or rejecting bandwidth requests.
Requests for resources are sent to the Bandwidth Broker.
- For requests that span multiple domains (inter-domain requests), the Bandwidth Broker communicates with Bandwidth Brokers in the adjacent domains
- The Bandwidth Broker architecture makes it possible to keep state on an administrative domain basis, and the DiffServ architecture makes it possible to confine per flow state to just the leaf routers.
Four architectural models that have been developed, implemented and tested in the ns-2 simulator environment:
- Serial Distributed Bandwidth Broker model
- Parallel Distributed Bandwidth Broker model
- Centralized Bandwidth Broker model
- Centralized Fault-tolerant Bandwidth Broker model
Several admission control algorithms have been implemented and tested:
- Simple admission control
- Price-based admission control trying to maximize network utilization
- Adaptive admission control
- Adaptive admission control utilizing resubmissions
Universal Mobile Telecommunications System (UMTS) constitutes the third generation of cellular wireless networks which aims to provide high-speed data access along with real time voice calls. Wireless data is one of the major boosters of wireless communications and one of the main motivations of the next generation standards.
The current version of ns-2 does not support the functionality of UMTS network. However, there is an extension for ns-2, named EURANE (Enhanced UMTS Radio Access Network Extensions for ns-2) developed within the European Commission 5th framework project SEACORN.
EURANE comprises of three additional nodes, namely the Radio Network Controller (RNC), Base station (BS) and the User Equipment (UE), whose functionality allow for the support of the transport channels FACH, RACH, DCH, HS-DSCH. We have to mention that the EURANE platform was used for our extensions of the ns-2 functionality concerning the UMTS network.
As part of our extensions to the ns-2 simulator, we implemented modules for the simulation of major aspects of the third generation cellular networks and in particular aspects of the UMTS:
- Multicast Routing Functionality in UMTS with Multicast Group Management and User Mobility support
- Multicast Congestion Control Mechanisms
Moreover, our team performs extended investigations using the MATLAB tool.
NS-3 is a discrete-event network simulator, targeted primarily for research and educational use. The goal of the ns-3 project is to develop a preferred, open simulation environment for networking research. NS-3 provides the LTE module enabling simulation capabilities of 3GPP eUTRAN infrastructure and LTE networks.
Our additions to the ns-3 environment include the modelling of an AL-FEC protection scheme over 3GPP multicast delivery scenarios.
Moreover, our team performs extended investigations on Franctional Frequency Reuse, on Integrated Femto & Macrocell Environments and on Multicast/Broadcast Single Frequency Network (MBSFN) using the MATLAB tool.
Real time multimedia applications have enjoyed the global interest over the last few years. These applications are characterized by three main properties: the demand for high data transmission rate (bandwidth-consuming applications), the sensitiveness to packet delays (latency and jitter) and the tolerance to packet losses (packet-loss tolerant applications), when compared to other kind of applications. The Transmission Control Protocol (TCP) is the dominant and the most widely used protocol at the transport layer. However, there are three characteristics of this protocol that makes it insufficient for real time data delivery:
- TCP has a built-in retransmission mechanism that may be in fact useless for delay-sensitive applications.
- TCP does not carry any time related information, which are needed by real time applications and lastly.
- TCP employs a "strict" congestion control mechanism that reacts even in the light of a single packet loss event.
On the other hand, the User Datagram Protocol (UDP) does not also provide any support for multimedia applications. Therefore, the need of a new protocol led the research community to design the Real Time Protocol (RTP) and the associated RTP Control Protocol (RTCP) in order to support multimedia applications. The RTP protocol constitutes a new de facto standard and is the dominant transport protocol for multimedia data transmission. The implementation of the RTP in NS2 is very generic. It provides only the main functions of a "common" transport protocol and runs on the top of the UDP. In this work we extended the functionality of the RTP and RTCP code in NS2 to include:
- Most of its feedback functions.
- TCP friendly behavior by the meaning that the transmitted flow consumes no more bandwidth than a TCP connection, which is traversing the same path with the transmitted flow
In addition to this, other congestion control policies can be also deployed. With these new feedback functions any multimedia application can employ the internal mechanisms of the RTP and RTCP for Quality of Service (QoS) measurements. The TCP friendly bandwidth share mechanism is based on the TCP Friendly Rate Control (TFRC) protocol. Our motivation is to use the RTP modified code for simulating multimedia data transmission from a server to a number of receivers, through multicasting using different multicast RTP streams. The ns2 code provides the framework for these simulation scenarios. However, one has to extend the code to support these scenarios because the RTP code in ns2 can not support multiple RTP streams running in one network node.
Τrace File Analysis Software (TRAFIL)
TRAFIL is a Java based simulation analysis tool which primarily intends to simplify the management of trace files generated during network simulations, make the execution of a large number of network simulations faster and the extraction of results from a large amount of data more flexible and productive. For the time being it focuses on NS-2 trace files and fully supports Normal and Old-Wireless trace file formats, but can easily be extended to support a variety of trace files due to use of special metafiles. The metafiles are used to encode the structure of a trace file thus enabling a more abstract approach to the trace file processing operation. Metafiles are unique files that describe each of the trace file formats that TRAFIL supports. They are used to encode the structure of a specific trace file and give information regarding the procedure to generate the desired metrics. Using the metafiles TRAFIL can match any trace file that belongs to each of the 2 forth mentioned categories. Each metafile comes with a set of sub-metafiles in order to support the extra header fields that NS-2 logs for each of the different trace file formats. The metafiles and sub-metafiles are located in the Resources/Metafiles path of TRAFIL and a user can construct his own metafile that will describe a new trace file format and store it there. This way TRAFIL will support this new trace file format. If this new trace file format has extra header fields the user can create in the same path a folder named after the metafile he created and inside that folder place all the sub-metafiles who will encode the structure of these new header fields. Since Evalvid-RA is a quite popular plugin for NS-2, TRAFIL was expanded so that it makes the process of video streaming simulation easier. The user can set which video file he wants to use as well as the parameters of the simulation via menus, and watch the results of the simulation. Should the user require a quick way to construct a new network topology, he can use the Tcl Design feature. There the network is designed graphically, while its details are set using menus. TRAFIL generates the tcl script file, which can be loaded again anytime in TRAFIL to further enhance it. All popular, and almost all known NS-2 options are supported. The features of TRAFIL include:
- Storage of each trace file that is loaded to a local MySQL database whose name is given when TRAFIL starts. This way the user can reload each trace file from the database rather than re-opening it from the disk.
- Create various metrics and QoS statistics for each trace file.
- Create various Charts regarding the communication between nodes of the simulation scenario or Charts for only one node.
- Combine multiple Charts into one, with the option to include data from other trace files as well.
- Execute SQL queries to the database to extract specific information.
- Export each measurement or chart.
- Execute NS-2 tcl files via TRAFIL. The tool enables the user to insert a tcl file which will be executed and the resulting trace file will be opened by TRAFIL, analyzed and processed as if the user opened it. This way TRAFIL aims to fully automate the simulation procedure.
- Simulate video streaming using NS-2 Evalvid-RA plugin in a quick and easy manner.
- Design new network topologies, or load previously TRAFIL-generated topologies only using a graphical user interface.
Extensions to TFRC code for Power Management
Wireless transmission differs in an important way from wired communication, in that the notion of the link is not as fixed and can vary depending on the movement of the communicating nodes, the intermediate interferences and the transmission characteristics of the communicating nodes, most notably their transmission power. Moreover mobile users usually have various problems using multimedia applications due to the channel characteristics, which tend to change rapidly causing the link to be unstable. The Transmission Control Protocol (TCP) is the dominant and the most widely used protocol at the transport layer. However , when our transmission is about real time multimedia application, TCP has characteristics that make it insufficient for this kind of delivery.
- TCP congestion control produces high fluctuations in the transmission rate which are not suitable for the current audio-video codecs which expect predictive and stable bandwidth allocation.
Therefore, the development of protocols such as TCP friendly control protocol (TFRC) can be seen as a step to improve multimedia transmission.
- TFRC aims to be reasonably fair when competing for bandwidth with TCP flows.
- TFRC achieves a much lower variation of throughput over time compared with TCP.
Considering the TFRC mechanism compared to TCP we conclude it is more suitable for applications such as telephony or streaming media where a relative smooth sending rate is important , because for multimedia application smooth and steady transmission rates and low delay are more important attributes than guaranteed and on order delivery of data packets.
The target is when the channel characteristics increase packet drops , which can result to important reduction of multimedia quality in the end user, to adjust the transmission power so that packets are received by the end user properly. The ns-2 code provides the framework for wireless and mobile simulation scenarios. Our motivation is to implement the proposed mechanism for power adaptation in the TFRC code and then experiment on various simulation scenarios.
Extensions to TFRC code to use SNR
The impact of MANET's dynamic topology on multimedia applications and especially on video streaming applications is high latency when a wireless link breaks, and as a result routing protocols should find alternate paths to serve applications. Therefore, under these constrains there should be in place additional mechanisms to minimize latency in video streaming applications. On the other hand, video streaming applications use UDP as the transport protocol for video packets. Although this is an obvious solution to avoid latency caused by the retransmission and congestion control mechanisms of TCP, it may cause two major problems. The first one has to do with possible bandwidth limitations in which uncontrolled video transmission without any congestion or flow control may lead to increased packet losses. The second issue relates to TCP-friendliness. Under some conditions uncontrolled video transmission may lead to possible starvation of TCP-based applications running in the same network.
To this direction, we have designed a cross-layer mechanism that:
- Provides priority to video packets against other data packets.
- Implements TFRC to provide congestion and transmission rate control to video applications.
- Enhances routing operation with additional wireless medium-related metrics in order to improve the wireless transmission performance.
This was achived with modifications to the existing TFRC and Evalvid Rate Adaptive implementations in ns-2.34. More specifically two major modifications were applied:
- TFRC feedback handling algorithm.
- Packets' structure in order to be able to retrieve and store the SNR information that is provided by the physical and MAC layers of NS2.
The cross-layer mechanism and the modification were tesetd in extensive simulations.
Simulations in MANETS using Multiple Interfaces and Multiple Channels per node
The impact of MANET's dynamic topology on multimedia applications and especially on video streaming applications is generally inadequate performance, which results in the ability of the MANET to service only a few video streams. In order to overcome this reduced performance one can use nodes with multiple interfaces than can utilize multiple channels at the same time and thus transmit even if some other neighboring nodes make use of some of the channels. To this end we have performed simulations comparing the performance enhancements that cab be achieved when the MANET uses the DRDV, the AODV and the AOMDV routing protocols. In this simulation we use the multiple interface support added to ns-2 by Aguero Calvo and R., Perez Campo, J., (2007).
Based on this work we prepared the following patch that apply the necessary changes to v 2.35 of ns-2.
For the simulations we used the following scripts:
Simulations on Power Management and Rate Control Mechanism for Wireless Infrastructures Networks
The advances in wireless networks have encouraged the use of mobile devices in everyday life. Lately, there is a great increase in use of mobile devices, such as smartphones and laptops, due to their mobility advantages. Commonly these devices are connected to access points to gain internet access. However, one of the main problems of these devices is the limited amount of energy they have available to use in order to function and the extended energy consumption of wireless adapters. A lot of research has been done to reduce the amount of energy spent on wireless communications. On the other hand, the extended use of wireless networks causes interference problems in communications, which affect the overall performance of each network. A common way to mitigate interference is rate adaptation, in which the data rate is reduced in order to avoid a high amount of packet errors. The purpose of this work is to provide a power control mechanism which can reduce the power consumption on the station side and increase the mobile devices’ operation time, and in combination with a rate adaptation mechanism on the access point side, to improve the overall performance of the network.
The scripts for the simulation are included in link below:
A GPSR Enhancement Mechanism for Routing in VANETS
Vehicular Ad Hoc Networks (VANETs) are considered as a special case of mobile Ad Hoc Networks (MANETs) and recently are gaining a great attention from the research community. The need for improved road safety, traffic efficiency and direct communication along with the great complexity in routing makes VANETs a very challenging field. In this paper, we propose an enhancement mechanism for the GPSR routing protocol and present its performance for urban and highway scenarios. Its performance is compared to the performance of the most common MANET routing protocols adopted in VANETs. The proposed enhancement is shown to be beneficial in most occasions as it outperforms the rest of the tested routing protocols.
The implementation of the proposed mechanism can be found here:
A GPSR routing enhancement mechanism for VANETs in urban areas with a realistic propagation model
Vehicular Ad Hoc Networks (VANETs) are a special class of mobile Ad Hoc Networks (MANETs) with unique characteristics. Similar to MANETs, VANETs are an autonomous and self-configured wireless network that allows communications with out any dependency on infrastructures or a central coordinator. A great challenge in VANETs is the routing performance. Importing existing MANET routing protocols directly into VANETs may lead to unsatisfactory network performance. Compared to MANETs, the node movement in VANETs is more predictable allowing more effective position allocation algorithms and routing protocolsthat benefit from GPS and electronic maps. However, the node density may vary a lot due to traffic conditions. An important issue in the environment of VANETs is the presence of buildings in rural areas which adds signal weakening and noise. In this work, an implementation of a proposed mechanism for integration with the GPSR routing protocol is provided below:
The modified code for NS-3.21, the pyviz extension and the scripts for the simulation are included in link below: