Network emulation

Network emulation is a technique where the properties of an existing, planned and/or non-ideal network are simulated using emulation of specific routers and other network equipment, as opposed network simulation where simplified mathematical models of data sources, channels and protocols are applied. The aim is educational, to develop skills in configuring network equipment, or scientific, to in order to assess performance, predict the impact of change, or otherwise optimize technology decision-making.

Methods of emulation

Network emulation is the act of introducing a device to a test network (typically in a lab environment) that alters packet flow in such a way as to mimic the behavior of a production, or live, network such as a LAN or WAN. This device may be either a general-purpose computer running software to perform the network emulation or a dedicated emulation device. Devices incorporate a varying amount of standard network attributes into their designs including: the round-trip time across the network (latency), the amount of available bandwidth, a given degree of packet loss, duplication of packets, reordering packets, corruption and modification of packets, and/or the severity of network jitter. Higher-end network emulators can also mimic typical Layer 1 physical errors such as Bit Error Rate, Loss of Signal, Output Bit Rotation, and others.

It is commonly known that networks are imperfect private or public. They introduce delay and errors. They go down. They drop packets. The primary goal of network emulation is to create an environment whereby users can connect up their devices, applications, products and/or services and evaluate their performance, stability, or functionality against real-world network scenarios. Once tested in a controlled environment against actual network conditions, users can have confidence that the item being tested will perform as expected.

Emulation, simulation and traffic generation

Emulation differs from simulation in that a network emulator appears to be a network; end-systems such as computers can be attached to the emulator and will behave as if they are attached to a network. A network emulator emulates the network which connects end-systems, not the end-systems themselves.

Systems which emulate the end-systems are called traffic generators.

Network simulators are typically programs which run on a single computer, take an abstract description of the network traffic (such as a flow arrival process) and yield performance statistics (such as buffer occupancy as a function of time).

As with all products, network emulators come in different forms and provide different capabilities.

Network emulation hardware

Hardware-based network emulation products are purpose-built products using dedicated components for processing the various network conditions (a.k.a. impairments) that comprise an emulated network. These network emulators offer the greatest performance and precision in test accuracy and results as their processing power is dedicated to the function of network impairments.

Hardware-based network emulators differ from other products in that these are not simply products with emulation software running on an "off-the-shelf" PC or appliance. The entire platform, hardware and software, has been purpose-built for network emulation.

These products are typically found in the Development and QA environments of Service Providers, Network Equipment Manufacturers, and Enterprises.

Network emulation software

Software developers typically want to analyze the response time and sensitivity to packet loss of client-server applications, and emulate specific network access (wifi / 3G / 4G / transatlantic communication etc.) with different round-trip-time, throughput, bit error rate, network drop outs and application dropouts . Emulators for this purpuse come in many different forms including browser-based or integrated development inveronment appliances. They lack the precision and performance found in hardware-based emulators but can be found at a lower price point. Examples of Software/Appliance-based network emulators found in application testing environments are:

The most popular network simulation software packages are OPNET and NetSim but those are not considered to be network emulators for application testing.

Traffic generation software

The network performance under maximum throughput conditions can be analysed by network traffic measurement in a testbed network, using a network traffic generator such as iperf, bwping and Mausezahn. The traffic generator sends dummy packets, often with a unique packet identifier, making it possible to keep track of the packet delivery in the network using a network analyzer .

Router emulation software

See also

References

     2. Introduction to Network Emulation