Understanding IMIX in Networking and Testing Tools
IMIX, or Internet Mix, refers to a mixture of packet sizes used to simulate real-world network conditions for testing networking devices. Various tools and methods, such as Genome Reporting, Moongen, T-Rex, and Spirent TestCenter, implement IMIX with specific packet size distributions and characteristics, tailored for different testing scenarios. IMIX specifications and configurations play a crucial role in evaluating the performance and suitability of networking devices under different traffic conditions.
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
Internet Mix: Mixture of packet sizes. Assumed to resemble real-world conditions. Maybe used to augment the fixed size tests. An IMIX suited for one networking device and deployment will not be appropriate for another. RFC6985: Defines a way to specify the exact repeating sequence of packet sizes from the usual set of fixed sizes and from other forms of mixed-size specification
IMIX: Genome Reporting Long or Pseudorandom Packet Sequences: run-length encoding: IMIX aaafg Table of proportions CUSTOM IMIX - AAAGG Deterministic algorithm. deterministic packet-size generation method. monotonic increase by 1 octet from start value to MTU. Pseudorandom Length Algorithm. Pseudorandom Sequence algorithm
Imix-Specification in pktgen (snabbswitch packetblaster) Similar to Genome. --size SIZES : A comma separated list of numbers. Send packets of SIZES bytes. The size specifies the lengh of the IPv4 packet. The actual packet size on the wire is 14 Bytes longer (Ethernet header). Smallest allowed IPv4 packet size is 28 (20 Bytes for IPv4 header, 8 Bytes payload for packet loss detection) Default: 64,64,64,64,64,64,64,594,594,594,594,1500 (IMIX)
IMIX Specification in Moongen Mixture of frame-sizes in a ratio to each other that approximates the overall makeup of frame sizes observed in real Internet traffic Packet sizes of 64 bytes, 512 bytes, and 1518 bytes are supported. These packet sizes are forwarded in the ratio 7:4:1. 7:4:1 IMIX profile with packet sizes of 1514, 570, or 64, respectively. -- mustImix : If IMIXing must be used to determine packet sizes.
Imix in T-Rex # IMIX profile - involves 3 streams of UDP packets # 1 - 60 bytes # 2 - 590 bytes # 3 - 1514 bytes Pps: Packets per second. Isg: Inter-Stream Gap, Phase. self.imix_table = [ {'size': 60, 'pps': 28, 'isg':0 }, {'size': 590, 'pps': 20, 'isg':0.1 }, {'size': 1514, 'pps': 4, 'isg':0.2 } ]
IMIX Specification for Spirent TestCenter. Property Display Name Description Value ImixSlotTable iMIX Distribution Definition List of slots for iMIX distribution "Fixed", "64", 64", 1518", "1" ImixSlotFrameLengthMode iMIX Frame Length mode Specifies the frame length mode for the frame length distribution slot "Fixed", "Random" ImixSlotFixedFrameLength iMIX IP Total Length Specifies Fixed IP Packet Length for iMIX Distribution Slot "minimum":"64", maximum":"16352", ImixSlotMinFrameLength iMIX Slot Minimum IP Total Length Specifies minimum IP frame length when frame length mode is random "minimum":"64", maximum":"16352", ImixSlotMaxFrameLength iMIX Slot Maximum IP Total Length Specifies maximum IP frame length when frame length mode is random "minimum":"64", maximum":"16352", ImixSlotWeight iMIX Slot Weight Specifies a weight value for the distribution slot "minimum": 1", maximum":"16352",
Summary Imix is used for packet-size determination. In Vsperf, IMIX is part of L4 Traffic-Type (UDP|TCP|IMIX). Packet size: Include imix as option. Imix configuration: Ratio of packet sizes specification [ Moongen] Packet-Size, PPS and ISG specification [ T-Rex] ImixDistributionList. We can start with default IMIX configuration of 7:4:1 as the configuration from VSPERF. Additional configuration can be traffic-generator specific.
TRAFFIC = { imix = { proportions :{ pkt_size_1 :proportion_1, pkt_size_2 :proportion_2, pkt_size_3 :proportion_3, .. pkt_size_n :proportion_n}} EX: imix = { proportions :{ 64 :10, 128 :40, 1024 :50}} OPTION-A. Simpler, Provides scope to add new imix definition types. such as genome apart from proportions TRAFFIC = { imix = [{ pkt_size : pkt_size_1, proportion : proportion_1} { pkt_size : pkt_size_2, proportion : proportion_2} { pkt_size : pkt_size_n, proportion : proportion_n}] EX: imix = [{ pkt_size :64, proportion :10}, { pkt_size :128, proportion :40}, { pkt_size :1024, proportion :50}] Option-B Similar to ones used in Yardstick. Provides scope to add additional parameters within proportion definitions OPTION-C. TRAFFIC = { imix = [(pkt_size_1,proportion_1), (pkt_size_2,proportion_2) (pkt_size_n,proportion_n)] EX: imix = [(64,10), (128,40), (1024,50)] Generic, It can cover both A and B. This array of key-value tuples can hold any key and any value .