An Ethernet network is subject to various network impairments which can include duplicate, dropped, and delayed packets. Rigorously testing a network device or distributed service requires complex, realistic network test environments.
To facilitate evaluating system software networking behavior under impaired conditions, we developed a network impairment software application. It provides the solution to create an impairment node that simulates such networks. This application executes on an embedded or desktop Linux platform and forms the cornerstone of a network impairment test lab. This application allows precise control of Ethernet packet duplication, drops, and delays to evaluate how legacy and currently being developed system software with networking aspects reacts to network impairments.
NetImpair is an IP network emulator software that can generate impairments over IP networks (IPv4 and IPv6) such as: latency, delay, jitter, bandwidth limitation, loss, and duplications of the packets. NetImpair allows you to disturb flows over an IP network helping to study the behavior of applications, devices or services in a disturbed network environment.
NetImpair is inserted between two Ethernet segments acting as a bridge and operates bidirectional packet transfer on Ethernet, Fast Ethernet and Gigabit network interface cards as shown in Figure 1. There is no need to buy expensive hardware. NetImpair operates under desktop or embedded Linux on a hardware platform with two network interface RJ45 connections. When used on a laptop with a single network interface card, it may be required to use a commonly available inexpensive USB to Ethernet 3 adapter.
Figure 1: NetImpair Network Diagram
Network Impairment Support
NetImpair supports the following types of network impairments:
- Latency and jitter
- Packet loss
- Duplication and corruption
Configuring a single impairment is useful for debugging, but to emulate real networks, multiple impairments often need to be active at the same time. Multiple impairments can be combined.
Typical uses of NetImpair are:
- Performance & Acceptance Tests: Qualify and evaluate the behavior of IP equipments (phone, fax, gateway, set-top box, IMS core, call server, application server, residential gateway, ADSL wireless router, etc.) and applications (audio and video streaming) on IP networks.
- Applications test: test applications such as Voice over IP, Fax over IP, streaming audio and video, IPTV, VoD, real time applications and services, and other distributed applications.
- Emulation of symmetric or asymmetric network conditions found on the Internet and enterprise networks (LAN, MAN, WAN): latency, jitter, packet loss, bandwidth limitations, and more… to test IP applications (VoIP, streaming audio & video, etc.), services and products sensitive to various real conditions.