Cisco IOS IP SLA Traffic Generator

IP SLA is a great tool that you can use to make things like static routing more reliable but did you know you can also use it as a traffic generator?

When you configure IP SLA with the correct number of packets and payload sizes, you can use it to create certain traffic streams. This can be very useful when you want to practice QoS since you don’t have to mess around with traffic generator tools.

Before we look at the configuration, let’s do some calculations. Imagine we want to send 16 kbps of traffic from one router to another over Ethernet. How many packets should we send and what should the payload size be? Let’s take a look at the different header sizes first:

Ethernet Ip Udp Payload Sizes

Here is an example of a frame, an Ethernet header has 14 bytes, IP is 20 bytes and UDP is 8 bytes.

Calculate total frame size

Total frame size = L2 header + L3 header + L4 header + payload

My routers will be connected using Ethernet so that’s 14 bytes. IP adds another 20 bytes and UDP requires 8 bytes. The reason that I use UDP is that I will configure IP SLA to use UDP jitter.

14 + 20 + 8 = 42 bytes.

To keep the calculation simple, I’ll use a payload of 58 bytes so that the total packet will be 42 + 58 = 100 bytes.

Calculate Bandwidth

Bandwidth = frame size x number of packets

We know our frame size is 100 bytes so how many packets should we send per second? Our goal is to generate 16 kbps of traffic, that’s 16.000 bits per second. This is how we calculate it:

Number of packets = bandwidth / frame size

Before we can do this, we need to convert our 16.000 bits to bytes:

16.000 bits / 8 = 2000 bytes.

Our packet size is 100 bytes and we need 2000 bytes per second to reach 16 kbps:

2000 / 100 = 20

We need to send 20 packets per second with a frame size of 100 bytes to hit 16 kbps!

So far so good? Let’s start the configuration…

Configuration

To demonstrate IP SLA we will use two routers connected to each other with Ethernet, R1 and R2:

R1 R2

Let’s start with the configuration of R1:

ip sla 1
 udp-jitter 192.168.12.2 17001 num-packets 20
 request-data-size 58
 threshold 500
 timeout 500
 frequency 1
ip sla schedule 1 life forever start-time now

As calculated we will send 20 packets per second with a payload size of 58. This will be good for 16 kbps but I will show you how to verify this in a bit. I used destination port 17002 (pick whatever you like) for this instance.

Let me give you another example for a bandwidth rate of 32 kbps:

We're Sorry, Full Content Access is for Members Only...

If you like to keep on reading, Become a Member Now! Here is why:

  • Learn any CCNA, CCNP and CCIE R&S Topic. Explained As Simple As Possible.
  • Try for Just $1. The Best Dollar You've Ever Spent on Your Cisco Career!
  • Full Access to our 655 Lessons. More Lessons Added Every Week!
  • Content created by Rene Molenaar (CCIE #41726)

546 Sign Ups in the last 30 days

satisfaction-guaranteed
100% Satisfaction Guaranteed!
You may cancel your monthly membership at any time.
No Questions Asked!

Tags: , ,


Forum Replies

  1. Hi Ruben,

    If you want to see statistics with “show ip sla” then you’ll need to add the responder on the receiver. In this example, all I needed was to generate some traffic.

    Rene

  2. Hi Rene,

    I was wondering, can a test like this be used to lets say sweep a range from lets say 16k to 1M on TCP or UDP and then check up until which load it was successful?
    A test like that would be useful to have to measure the actual speed of a link like for DSL over ATM or metro ethernet.
    I have always been looking for something like that.

  3. Hi Rene,

    You use ethernet frame header for calculations. Why you not take care of FCS(4 bytes) and EtherType (2 bytes)?. Total ethernet length shoud be :

    8 bytes of preamble + 12 bytes MAC + 2 bytes ethertype/lengt + payload + 4 bytes FCS = 26 bytes + 20 bytes IP + 8 bytes udp = 54 bytes. So you shoud use a payload of 46 bytes for a total frame size of 100 bytes. Is not that right?

    Thanks to you

     

     

  4. Hi Diego,

    There’s a difference between the L2 header and the “physically” transmitted frame. Here’s what belongs to the header:

    Destination MAC: 6 bytes
    Source MAC: 6 bytes
    Ethertype: 2 bytes
    FCS: 4 bytes

    That’s 18 bytes in total.

    The preamble (7 bytes) and start of frame delimited (1 byte) are not included with the L2 header.

    Hope this helps.

    Rene

  5. IP SLA is great to generate some traffic so that you can test QoS with different traffic types and DSCP values but it really isn’t suitable for high bandwidth since it uses the CPU to generate traffic. For some more information, take a look at this article:

    https://www.cisco.com/en/US/technologies/tk648/tk362/tk920/technologies_qas0900aecd8017bd5a.html

    UDP-Jitter Probe for VoIP (G.729a) Running Eng 3-Cisco IOS Release 15.1(4)M Default Parameters: Frequency 60secs), Codec Packet Size (32bytes), Codec Interval (20ms), Codec Number of Packets (1000)

    1921 2921
    ... Continue reading in our forum

18 more replies! Ask a question or join the discussion by visiting our Community Forum