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.
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:
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.
- 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.
- 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.