Saturday, June 25, 2011

Real-Time IP Network Simulation at Gigabit Data Rates

Abstract
In many of the network research or development projects, as well as in teaching / academia, network simulators today play an important role. Network simulation tools can be generally classified as those performing simulations off-line in form of batch-type tasks, and those operating in real-time, often with the ability to interact with the real network hardware and traffic. However, limited performance remains
one of the main issues associated with most of the current realtime simulator implementations. In this article we present a novel framework for constructing high performance real-time IP network simulators, capable of operating at gigabit speeds while using commodity PC hardware. Our implementation, based on a modified 4.4BSD operating system (OS) kernel, permits complex simulated network configurations to be constructed using basic building components: virtual nodes and links. Each virtual node can act as an entirely independent but completely functional OS image, allowing standard unmodified UNIX services and utilities to be used in the experiments, while retaining nearly the same performance properties as in the original OS.

Index Terms — Computer networks, modeling, operating systems, simulation software


I. INTRODUCTION

etwork simulation tools are today extensively used in many areas of network protocol research and development, in academia and teaching, or for predicting the behavior and characteristics of complex network installations under different operating conditions. There are many driving factors in favor of using simulators, most notably simulations being much more economical than doing similar experiments with the real hardware. However, the cost factor alone is not the only advantage: in many cases (such as teaching in labs) each workplace can be presented with its own simulated network environment, which would be in most cases impossible to achieve with real network equipment, even with unlimited financial
resources. Simulation results are also usually easier to collect, correlate and analyze, as information at all critical points in the observed network configuration is being logged and accessible on a single machine.
Most of the network simulation tools and products currently available fall into one of the following two categories: 1) Offline simulators are usually highly configurable and extensible tools designed to simulate processes in a network in virtual timescale, which is not linearly related to the real time. The simulations are executed in form of scheduled tasks, which results can be analyzed upon the simulation completion. Typical examples of such tools are Berkeley network simulator [6] and OPNet [19].
2) Real-time simulators are tools capable of creating virtual network topologies and simulating traffic processing effects in real or scaled timeframes. Such products are generally less flexible and extensible than their offline counterparts; however the major advantage of many such tools lies in their potential to interact with real network infrastructure and traffic. Therefore these types of network simulators are often referred to as emulators. Some tools falling in this category, such as ENTRAPID [1], Alpine [2] and Harvard NS [3], are discussed later in text.
In this article we present a framework for constructing high performance real-time IP network simulators, based on a modified 4.4BSD [4] operating system kernel and network stack [5]. Our modifications allow simultaneous operation of multiple independent network stack instances within a single kernel. Each network stack instance can act as an independent virtual node, connected either to other virtual
nodes via simulated links, or directly to the outside world via standard network interfaces. This allows complex simulated IP network configurations to be set up on a single machine and observed and analyzed at the level of each independent virtual node, link, or network interface. The simulator can easily interact with real networks through standard physical interfaces at up to gigabit speeds, depending on simulated network complexity and simulator hardware capabilities, such as CPU speed and caching efficiency, memory and peripheral bus bandwidth etc.
The rest of the article is organized as follows. Section II explains the basic implementation concepts behind clonable network stack architecture, which presents the foundation for building our network simulation configurations. In section III, as an example, we present a simple simulation scenario that can be achieved using the clonable network stack framework. Section IV discusses the performance aspects of our real-time simulation environment. Previous and related work is outlined in section V, followed by a conclusion and directions for future research outlined in section VI.

Marko Zec and Miljenko Mikuc
 Faculty of Electrical Engineering and Computing
University of Zagreb
zec@tel.fer.hr, miljenko.mikuc@fer.hr

No comments:

Post a Comment