Contact Us

Is your app or device ready for deployment?
It can be.

Uncover performance, compliance, and operational issues prior to deployment.


Watch Overview



network emulation, Test you apps under all network conditions


Network Emulation


Test your app under all network conditions—3G/4G, satellite, WAN, cloud—in your lab.

network protocol testing,


Protocol Testing


Are the network protocols implemented properly and securely, conforming to the specs, in your app or device?




Test your app or device under all network conditions – from the routine to the extreme. Automate a wide variety of network conditions from 3G/4G to Cloud to WAN to Satellite to Internet. Uncover performance and operational issues prior to deployment.

Learn More



Finding and fixing software defects constitutes the largest expense for the software industry. Learn why line speed testing isn’t enough and the importance of functional testing!

Learn More



Trial deployments are expensive and yield limited data. Learn how to properly characterize your application or device performance prior to deployment.

Learn More

View More Papers


"Apple uses Maxwell to emulate all varieties of customer networks and access points — from limited network bandwidth to extreme latency to packet drops.

By testing our products with Maxwell prior to deployment, we ensure that customers have a solid experience when they get new Apple software or hardware in their hands."

— Dmitry Halavin, Apple Inc.

Create Your Own Scenario

Emulate the real world in your test network by setting basic and advanced parameters for these impairments:

  • Packet Drop/Loss: Add “burst mode” for a realistic emulation.
  • Packet Delay/Latency: From zero to 10 seconds, with microsecond precision.
  • Packet Jitter, with or without reordering. Specify a custom jitter distribution: Uniform, Gaussian, Pareto, or Pareto-Normal:
  • Packet Duplication, with rapid back-to-back transmission.
  • Packet Corruption: Specify packet-centric or bit-centric probabilities of corruption.
  • Rate limiting: Choose From several queue management algorithms.

Then model worst-case situations:

  • Turn on burst mode for any impairment, to simulate back-to-back real-world stochastic bursts.
  • Add time-varying expressions to any parameter

Regardless of the production environment – anything from the routine to the extreme to legacy – KMAX permits customization to precisely emulate that world.

Incorporate Real or Simulated Traffic

KMAX accommodates all forms of real or simulated network traffic:

  • Use real devices to generate packets, then impair only selected packets and protocols under consideration, while filtering out the rest.
  • Or, use a packet generator to create simulated network traffic for the device under test, then apply impairments only to those packets, leaving the rest of the network unaffected.

Let Us Help

Classify Network Traffic

Create filters for the packet classifier using the Classifier Filter Library, or create your own filter, then apply different impairments to different filter outputs.


Examples of filter criteria include:

  • IEEE 802 header fields: MAC source/ destination addresses, Ethernet type/ length, MPLS criteria, VLAN tags.
  • IPv4 or IPv6 header fields, including chained headers, fragment status, and QoS.
  • Higher level protocols: UDP or TCP port numbers.
  • Data within the payload, for any layer.

The KMAX Smart Classifier Filter System puts you in charge to use intelligent criteria for packet classification:

  • Specify flexible value/mask comparisons: useful for matching addresses, QoS criterion, and payload bytes:
  • Specify lists of values and ranges for comparison: useful for port numbers, VLAN IDs, and payload sizes:


Add Time-varying Impairments to your Emulation

Real world networks change their behavior over time: excessive jitter, dropouts, or reductions in bandwidth can vary smoothly, or jump from one value to another, over the course of minutes, or days. Create a network emulation that varies the impairment parameters over any time period:

  • Specify a time-varying expression for any metric, using equations, piecewise curves, or shaped pulses:

expression-1Equationexpresson-2Piecewise Linearexpression-3Shaped pulses

Use Time-Varying Impairments to:

  • Test your streaming clients: The device under test should handle time-varying impairments, and perform flawlessly, for days.
  • Run your protocols continuously, while the time-varying impairments cover all corner cases – perfect for overnight stress testing.


Charts, Graphs and Tables

View network emulation statistics in tables and charts (graphs). Add any number of tables or graphs to one or more browser windows, then monitor the values while you change impairment settings. You have the flexibility to see everything going on in the KMAX server:

  • Display packet rates and packet counts at all points in the KMAX impairment process, such as interface ports and flow inputs, for precise analysis.
  • Display individual impairment statistics: packets dropped / duplicated / jittered / delayed, etc: A total of 17 metrics.
  • Select any unit of representation: bytes/sec, bits/sec, packets/sec, total bytes, total bits, and total packets.

Graph highlights:

  • Each graph can chart two parameters, for side-by-side comparison.
  • Switch between linear or semi-log axes: essential for analyzing metrics that vary over many orders of magnitude.


Table highlights:

  • The table can display dozens of parameters simultaneously
  • The table allows quick identification of many correlated metrics, for enhanced troubleshooting and understanding.



RESTful interface for Programmatic Access

The KMAX web server exposes a REST API that provides remote control over all aspects of KMAX, including the impairment engine and statistics gathering. The KMAX REST API Programmer’s Guide describes the commands that you can use to insert KMAX directly into your testing pipeline:

  • Plug KMAX into your existing diagnostics tools, for custom statistics collection and display.
  • Automate KMAX reconfiguration, to run different configurations for different tests - essential for overnight testing.
  • Add a fully custom user interface, by using any scripting language with an HTTP client.

The KMAX REST API adheres closely to all “RESTful” principles, which means you get scalability, discoverability, and manageability for free.

Consult with an Expert

Over 1,000 organizations and 6,500 network professionals trust IWL.