To evaluate the performance
of a large-scale network, for example, an IP network that
consists of thousands of nodes, one
can take two major approaches, namely, physical
test and computational simulation. Either
approach has its advantages and disadvantages.
For a physical test, the network
nodes under test operate in a
real testbed and their
performance is
evaluated under various
testing conditions. This approach features the
highest accuracy of the performance measures
obtained in the experiments due to using
real networks and real
physical environments.
However, this approach is not scalable
because a large-scale real-world experiment requires a large number of hardware
units and considerable resources, resulting in a prohibitive cost.
In contrast, computational simulation is a more cost-effective alternative that
supports flexible and controlled experimentation of arbitrary network
scenarios. However, a simulator is always implemented based on some
degree of abstraction and simplification of the network protocols and
real applications, and thus may miss important
characteristics of a real-world system. Therefore, it is appealing
to construct a hybrid system which can combine the advantages of both
approaches and provide a balanced solution to accomplish the needed
tests and performance evaluation.
In our proposed hybrid system, there are at least one software-implemented
virtual network (SVN) and at least one live network (LN) interacting with
each other. The most widely adopted method to implement an SVN is
to use an off-the-shelf network simulator, such as NS-3, OPNET and QualNet,
and then an interface is developed to connect the LNs with the SVN(s).
While the live applications run on the live hosts at real time, the
simulator is responsible for modeling and generating the discrete events in
the protocol layers and the environmental scenarios
such as terrain and movement of mobile nodes. Live packets
generated by the live applications are injected into and extracted from
the SVN(s) in real time.
In this project, we intend to develop a large-scale real-time
hybrid network emulator. The number of nodes in this hybrid network
emulator only depends on the number of computers used in the hybrid network
emulation. Hence, the number of nodes in this hybrid network emulator can
be extremely large. For example, if one million computers are used and
each computer can emulate 2000 nodes, then our hybrid network emulator can
emulate 2 billion nodes, which is the real Internet scale.
Our real-time hybrid network emulator is similar to a flight simulator, which allows a person to fly a real aircraft in a virtual environment. In our network emulation case, we run experiments with real nodes in virtual networking environments.
The use of our real-time hybrid network emulator includes, but is not limited to:
Some of the key features of our network emulator are:
¡¡
It is known that there is a gap between the communication area and the networking area.
In the communication area, the focus is on the performance analysis/study of the physical layer; when it comes to the interaction between the physical layer and the upper layers, a communication researcher usually simplifies the upper layers, e.g., simplifies the MAC, routing, or Layer 4 protocols, to be able to obtain closed-form performance measures.
In contrast, the networking area focuses on the performance analysis of upper layers; when it comes to the interaction between the physical layer and the upper layers, a networking researcher usually simplifies the physical layer components, e.g., replaces actual channel coding of packets by adding the coding gain of the given channel coding scheme to the physical layer, and uses the simplified physical layer to obtain the performance measures of a network. Another simplification which is popular in the wireless networking community, is the use of (deterministic) transmission range, interference range, and sensing range. Actually, a wireless channel usually experiences (random) fading and (random) interference due to frequency re-use; hence transmission range, interference range, and sensing range are usually random. In fact, in the communication area, transmission range, interference range, and sensing range are usually not used; instead, signal-to-interference-plus-noise ratio (SINR) is typically used. However, the use of (deterministic) transmission range, interference range, and sensing range significantly simplifies the network performance study, which will otherwise be too difficult to solve.
To fill the gap between the communication area and the networking area, it is imperative to have a simulator/emulator that can simulate/emulate communication networks for all the OSI 7 layers as authentic as possible, so that we can study the interactions among the physical layer, the MAC layer, the routing layer, the transport layer and the application layer. We borrow the idea of Turing test in artificial intelligence (AI) to design a network emulator, which is indistinguishable from the real network in the sense of network¡¯s Turing Test. In the AI area, the Turing test is a test of a machine's ability to exhibit intelligent behavior equivalent to, or indistinguishable from, that of a human; in other words, an AI entity passes the Turing Test if its performance is indistinguishable from the real entity (i.e., human brain). Next, we give the formal definition of Network's Turing test.
Definition: Network¡¯s Turing Test: For a simulated network system X simulating live network system Y, we define that X passes Network¡¯s Turing Test in terms of a set of network protocol PXY if any third-party network members cannot differentiate X from Y by running any protocol in the set PXY. We say that X runs under Turing-indistinguishable mode if X passes Network¡¯s Turing Test.

Figure 1: Replace any connected subgraphs of an LN by SVNs
In our approach, as shown in Figure 1, in an IP-based live network of any size, we use a software-simulated SVN running on a simulation server to replace a set of live nodes in a connected subgraph of the entire network topology. In the ideal form shown in Figure 2, the SVN is Turing-indistinguishable from its live counterpart. In other words, other live nodes can interact with the virtual nodes inside SVN using the protocols such as ARP, routing, or ICMP, as if they were interacting with the SVN¡¯s live equivalent. This way, the indistinguishability is satisfied between LNs and SVNs at the granularity of network protocols. Unlike other existing schemes, the ideal Turing-indistinguishable mode can seamlessly integrate LN¡¯s and SVN¡¯s protocol stacks.

Figure 2: Network¡¯s Turing Test: SVN and its equivalent LN are indistinguishable by black-boxed protocol interactions
¡¡
Video demo
Answer: Yes, the emulator can emulate a network consisting of wired links and wireless links. Each real node and each virtual node are allowed to choose any type of link (wired or wireless).
Answer: It mainly depends on the MAC layer. For wireless, if IEEE 802.11b is used, the link capacity is 11 Mb/s; then the network emulator can emulate 11 Mb/s per link. For wired, if IEEE 802.3-2008 (Gigabit Ethernet) is used, the link capacity is 1 Gb/s; then the network emulator can emulate 1 Gb/s per link. For pure simulation, the simulator provides a myriad of wireless and wired link types with identical computational overhead in simulation (e.g., transmitting a 1500byte packet on a 10Gb/s link and a 1Gb/s link will result in different transmission delay, but it takes the SAME number of CPU cycles for the simulator to compute the transmission delay). For hybrid simulation, the underlying Linux kernel supports a large number of wireless and wired network interfaces including 10Gb/s Ethernet and 54Mb/s 802.11a/g Wi-Fi. In the future, we will conduct experiments to find the maximum traffic volume (in bps) and the maximum number of flows that the server can emulate under various conditions (various MAC layers, various routing protocols, etc.).
Answer: It mainly depends on the MAC layer. Due to the nature of discrete event simulation, the simulation workload (characterized by delay) is proportional to the number of discrete events incurred by a given simulation scenario. The maximum traffic volume (in bps) is determined by two factors: (1) the link speed of transceivers' network interfaces and (2) the packet sending rate at the transmitter. For (1), increasing network interfaces' link speed does increase traffic volume, but does not generate more discrete event, thus causes no extra overhead to the simulator. For (2), the discrete events generated are proportional to the sending rate, thus doubling the sending rate will slow down the simulator to half speed (if it causes a chain reaction in discrete event generation, then it becomes even slower). Regarding the maximum number of flows, the discrete events generated are proportional to the number of flows and the sending rate of each flow. The precise answer can only be obtained from testbed experiments, not by theoretical analysis. In the future, we will conduct experiments to find the relationship between the maximum traffic volume (in bps) and the maximum number of flows that the server can emulate.
Answer: Each server that simulates a virtual network can be connected to about 100 real nodes/routers. Thus the total number of real nodes/routers in a hybrid network is equal to 100 times the number of servers used in the hybrid network emulation.
Answer: A real node/router can be connected to a virtual network by any type of connection including wired and wireless links. For simplicity and convenience, an Ethernet cable is usually used to connect a real node/router to the server that emulates a virtual network.
Answer: The capacity limit depends on the type of connection that links a real node/router to the server that emulates a virtual network. If a 10 Gigabit Ethernet link is used to connect a real node/router to the server that emulates a virtual network, the capacity will be 10 Gb/s. If an IEEE 802.11b Wi-Fi link is used to connect a real node/router to the server that emulates a virtual network, the capacity will be 11 Mb/s. If a 12X EDR InfiniBand link is used to connect a real node/router to the server that emulates a virtual network, the capacity will be 300 Gb/s.
Answer: A virtual network can be emulated by multiple servers if the virtual network is too large. But we need to configure the servers so that each server only emulates a sub-network (i.e., a sub-graph of the whole topology).
In a server farm/cluster consisting of hundreds of servers, we need to re-configure the topology of these servers so that the overall topology reflects the emulated network topology. This can be easily achieved since servers are connected by switches/routers, which allow us to re-configure the network topology as desired.
One simulated virtual network (SVN), which is emulated by one server, corresponds to a CONNECTED sub-graph of the entire actual topology, i.e., the entire topology of the hybrid network. On the simulation server of the SVN, it must have physical network interfaces corresponding to the CUT links in the actual topological graph. For example, if there are 5 cut links between the connected sub-graph and the remaining part of the entire topology, the emulation server must have 5 physical network interfaces, each of which represents the corresponding cut link.
Answer: Any routing protocol (including existing and new) can be supported. We have tested OSPF, RIP and AODV routing protocols.
Answer: Yes, it is easy to implement new routing protocols on the emulator.
Answer: Yes, you can easily obtain the state of each node and each link in the virtual network inside the simulator, and in the live network inside the operating system of each live network node.
Answer: Yes, this can be done. We can implement a mechanism for transporting the node/link state to the control center.
Answer: The traffic between real nodes is real packets. The traffic between virtual nodes is virtual/simulated packets (or dummy packets). The traffic between a real node and a virtual node is real packets.
Answer: The network emulation can run on one or multiple computers. Two emulation computers cannot be directly connected and have to be connected by a router in the middle, i.e., the first emulation computer is connected to a real router and the real router is connected to the second emulation computer. The interface between a real node and a virtual network is called real-virtual interface pair (RVIP). The key challenge is how to implement RVIP so that one cannot distinguish a virtual node and a real node.
¡¡
A large-scale real-time network simulation study using PRIME, Jason Liu, Yue Li, and Ying He, Proceedings of the 2009 Winter Simulation Conference (WSC'09).
@inproceedings{cowie1999towards,
title={Towards realistic million-node internet simulations},
author={Cowie, James and Liu, Hongbo and Liu, Jason and Nicol, David and
Ogielski, Andy},
booktitle={in International Conference on Parallel and Distributed Processing
Techniques and Applications},
year={1999},
organization={Citeseer}
}