1 / 14

MSR Tutorial: Traffic Generator Utilities for use with the MSR

MSR Tutorial: Traffic Generator Utilities for use with the MSR. John DeHart Washington University, Applied Research Lab jdd@arl.wustl.edu http://www.arl.wustl.edu/arl/. Two Traffic Generators. sendpkts More IP protocol field control Good packet/sec control

nelia
Download Presentation

MSR Tutorial: Traffic Generator Utilities for use with the MSR

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MSR Tutorial:Traffic Generator Utilitiesfor use with theMSR John DeHartWashington University, Applied Research Labjdd@arl.wustl.eduhttp://www.arl.wustl.edu/arl/

  2. Two Traffic Generators • sendpkts • More IP protocol field control • Good packet/sec control • Better control of exact number of packets sent • Batch and period controls • Not great for high packet and bit rates • AAL5Generator • Uses APIC pacing to control rates • Control of source and destination address only • No support for UDP or TCP • Uses an ICMP ping packet as base packet to send • Good control of packet/sec and bits/sec rates • Excellent for high packet and bit rates • No control for exact number of packets sent • e.g. cannot send 10 packets • Neither is MSR specific

  3. sendpkts • Uses IP sockets • Supports UDP and TCP • Companion serv utility to receive packets • Incorporates support for MSR shim space • Multiple instances can run at same time on same machine

  4. Source and Executables • source location: wu_arl/utilities/IP/sendpkts • binary location: • wu_arl/utilities/bin/$OSTYPE/sendpkts • wu_arl/utilities/bin/$OSTYPE/serv

  5. Sample Usage • sendpkts -S -n 10 -a 1 –l 192.168.216.2 192.168.211.2 • Leave room for MSR Shim • Send 10 Packets • send 1 cell packets • use local interface 192.168.216.2 • send to destination address 192.168.211.2

  6. sendpkts Usage > ./sendpkts ./sendpkts <arguments> targethost -c : Continuous operation, Default Off -S : Include space for an 8 Byte shim if size calculations -e sz : Set socket buffer size (Endpoint) -x rate : Set the packet per second sending rate, must also set period -a cells : Overall size of AAL5 Frame in cells, Default = 1 -b bytes : Size of IP data in bytes, Default = 0 -r (0|1) : Wait for a reply packet (1 = wait). Default = No Wait -p period : Specifies period for sending a batch of pkts(msec).Default=0 msec -B num : Number of packets to send in a batch, Default = 1 -R rx_timeout : (msec) how long to wait for reply packet. Default = 100 msec

  7. sendpkts Usage (continued) -h : This help message -P (udp|tcp) : transport protocol (can abbreviate as u or t)). Default = UDP -l host : Host name/ip to use, that is the interface to use. -v : Verbose mode -n n : Total number of packets to send. Default = 10 -s port : Source port to use, default same as destination -d port : Destination port number to use. Default = 5050 Note: batch (-B) is only meaningful if a period (-p) is specified, since it specifies the number of packets to send each period. Further, if continuous operation (-c) is selected, then the packet sent count is reset each time nsample (-n) packets are sent. So, if continuous operation is desired then set -n to an integer multiple of the batch size. In general it is a good idea to set -n <nsamples> to am multiple of -b <batch>. nsamples = i * batch, i = an integer

  8. AAL5Generator • Uses APIC User Mode Library • Configures one APIC descriptor/buffer pair • Sets descriptor to point to itself and be Read-Only • INFINITE LOOP!! (but it’s a good infinite loop) • APIC will transmit the buffer until descriptor is turned off • After a given length of time (approximate!!) • Turns descriptor off • Uses APIC global pacer and per VC pacing • controls bit/sec rate and packet/sec rate • Intended for high performance test and analysis • Multiple instances can run at same time on same machine • Companion sendCommand utility • to change characteristics on the fly • Need to add control for APIC Batch size • APIC batches cells transmitted. Controlled by an APIC register • easy to add control, just has not been done yet.

  9. sendCommand • Provides remote control of AAL5Generator • changes the charateristics of a running AAL5Generator • What can be changed: • Packet Rate • Kbit Rate • Destination Address • Run State: • Quit • Stop • Start

  10. sendCommand • Sample Commands: • Sends the command to AAL5Generator on tabby which is listening on port 4444 for incoming commands: • Change the packet per second rate to 10000: • sendCommand –p 4444 tabby “Packet Rate 10000” • Change the Kbit per second rate to 10000: • sendCommand –p 4444 tabby “Kbit Rate 10000” • Change the Destination IP Address to 192.168.212.2: • sendCommand –p 4444 tabby “DestAddr 192.168.212.2” • Stop sending packets: • sendCommand –p 4444 tabby “Stop” • Restart sending packets: • sendCommand –p 4444 tabby “Start” • Quit: causes AAL5Generator to Stop sending and exit: • sendCommand –p 4444 tabby “Quit”

  11. Source and Executables • source location: • wu_arl/utilities/APIC/AAL5Generator • binary location: • wu_arl/utilities/bin/$OSTYPE/AAL5Generator • wu_arl/utilities/bin/$OSTYPE/sendCommand

  12. AAL5Generator Usage Most Used Command Line Options: [-svci #] (VCI for local sending of AAL5 Frames) [-kbits #] (xmit rate using paced link rate) [-frate #] (Frames/sec) [-seconds #] (running time, 0 means run forever) [-packet #] (20 <= X <=1912) pkt size (bytes) includes IP hdr [-port #] (UDP port on which to receive ctrl commands) [-src #] (IP Source address to put in packet IP Header) [-dst #] (IP Destination address to put in packet IP Hdr)

  13. AAL5Generator Usage (cont’d) Less Used Command Line Options: [-pacer #] (0:88Mb/S <= X <= 255:3.5Mb/S pacer clock) [-svpi #] (VPI for local sending of AAL5 Frames (0)) [-rate #] (16 bit divisor whole) [-frac #] (8 bit divisor fractional) [-fsize #] (0<=X<=7) (40,136,232,520,760,1192,1480,1912) [-descr #] (0 < X < 64K initial descr) [-debug ] (print debug info) [-swap ] (htonl() byte swap output) [-apic #] (Linux: Apic Id (0 <= X <= 3))

  14. Summary • Use sendpkts when you want to send 1 or a fixed number of packets. • Use sendpkts when you have per packet debugging turned on in the MSR!!!! • Use sendpkts when you want to test specific TCP or UDP functions • for instance, testing MSR filters • Use AAL5Generator when you are doing performance tests.

More Related