Colt help

Network support: An overview of traffic shaping

What is traffic shaping?

Traffic shaping is a method of limiting the bandwidth going through an interface. Typically, traffic shaping will have a committed information rate (CIR) measured in bits/second (bps). For example, if you purchase a 100Mbps circuit, the CIR is 100,000,000 bps. With traffic shaping, any traffic that exceeds the average bit rate will be buffered, the size of the buffer is referred to as queue-limit in Cisco terms, but other vendors may call it something else. With traffic policing, any traffic that exceeds the average bit rate will be dropped or re-marked for discard eligibility, depending on how the policer is configured. Most Metro Ethernet providers will configure their policers to drop the traffic that exceeds the policer rate.

 

The average traffic shaping rate is achieved by sending small chunks of data at defined intervals. For example, say you are a baseball pitcher who can throw 10 baseballs per second (Bbps). You can achieve this rate in more than one way. If you throw 2 baseballs every 200ms (milliseconds), that will achieve 10 Bbps. Intervals of 200ms means there will be 5 intervals in one second (1000ms/200ms). Two baseballs times 5 intervals = 10 Bbps. Another way of achieving the same rate is to throw 5 baseballs every 500ms. This leaves us with 2 intervals in one second (1000ms/500ms). Five baseballs times 2 intervals = 10 Bbps.

 

In the first example our Tc = 200ms, our Bc = 2 baseballs and our CIR was 10 Bbps

 

In the second example our Tc = 500ms, our Bc = 5 baseballs and our CIR was 10 Bbps
 

  • Tc = Time between throwing baseballs
  • Bc = number of baseballs thrown
  • CIR = average number of baseballs over one second
     

This example shows that we achieve the same average rate over one second whether we throw 5 baseballs every 500ms or 2 baseballs every 200ms; either way we will reach the same rate (10 Bbps).

 

In networking, we just replace the baseballs with bits.

 

The equation for traffic shaping: Tc = Bc/CIR
 

  • Tc is measured in seconds
  • Bc is measured in bits
  • CIR is measured in bits/sec (bps)

 

First example: .200 seconds = 2 bits/10bps

 

Second example: .500 seconds = 5 bits/10bps

 

The image below illustrates this analogy. We can split up the baseballs in different ways to achieve the same rate over one second. We can send more baseballs (bits) less often or we can send fewer baseballs more often.

traffic shaping baseball example

The rate at which the pitcher throws baseballs is important to the catcher. The catcher can only catch 2 baseballs every 200ms, if 5 baseballs are thrown to the catcher every 500ms, the catcher will likely drop baseballs. In our analogy the catcher is the policer controlled by the local Metro Ethernet provider and the pitcher is the shaper at the CE WAN interface, which is either controlled by the end user or Colt (if you purchased managed equipment).

 

  • Adding traffic shaping with the default burst sizes is better than not having traffic shaping
  • When it comes to traffic shaping there is no one size fits all, the burst sizes and queue-limit may need to be tweaked to obtain the best performance
  • Some vendors will represent the burst sizes in different formats (bytes vs. bits)

Do I need traffic shaping?

  • Yes: When purchasing Metro Ethernet service
  • Yes: When the purchased CIR is less than port speed
  • No: If you have a DS1, DS3, or OCcircuit
  • No: If the purchased CIR is equal to the port speed
     

Follow these rules anytime a new circuit is installed or an existing circuit is upgraded:

Port Speed
CIR Traffic shaping needed?
100Mbps 50Mbps Yes
100Mbps 100Mbps No
1Gbps 100Mbps Yes
1Gbps 1Gbps No

 

Who needs to configure traffic shaping?

If you are providing your own CPE, then you would need to configure traffic shaping on your WAN interface facing Colt. If you purchased a managed CPE device from Colt, then we would configure traffic shaping for you on the managed CPE.

Where should I apply traffic shaping?

Metro Ethernet providers will police traffic ingress at the User Network Interface (UNI). The UNI is also known as the demarcation between the CPE and the Metro Ethernet provider. Traffic shaping should be applied egress at the CPE-WAN interface.

where to apply traffic shaping

Why is traffic shaping important?

The IPERF results below show the importance of traffic shaping. The last line (in bold) shows the average rate over the full test, each line in the middle represents the rate at one-second intervals. The column on the left shows the rate fluctuating around 7–10Mbps. These poor results and fluctuation are due to drops in a policer, this is because TCP will react to the packet loss and slow down as a result. The column on the right shows a more steady rate around 43–44Mbps. This is the result after adding 50Mbps traffic shaping which resolved the policer drops.

 

Missing or misconfigured traffic shaping can degrade any application (voice, video, data, etc).

Without traffic shaping

> iperf -c 10.10.10.10 -i 1 -t 30 -w 825K

------------------------------------------------------------

Client connecting to 10.10.10.10, TCP port 5001

TCP window size:  825 KByte (WARNING: requested  825 KByte)

------------------------------------------------------------

[  3] local 10.20.20.20 port 54039 connected with 10.10.10.10 port 5001

[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  1.00 MBytes  8.39 Mbits/sec
[  3]  1.0- 2.0 sec   768 KBytes  6.29 Mbits/sec
[  3]  2.0- 3.0 sec   896 KBytes  7.34 Mbits/sec
[  3]  3.0- 4.0 sec  1.00 MBytes  8.39 Mbits/sec
[  3]  4.0- 5.0 sec  1.00 MBytes  8.39 Mbits/sec
[  3]  5.0- 6.0 sec   896 KBytes  7.34 Mbits/sec
[  3]  6.0- 7.0 sec  1.00 MBytes  8.39 Mbits/sec
[  3]  7.0- 8.0 sec  1.00 MBytes  8.39 Mbits/sec
[  3]  8.0- 9.0 sec  1.00 MBytes  8.39 Mbits/sec
[  3]  9.0-10.0 sec  1.00 MBytes  8.39 Mbits/sec
[  3] 10.0-11.0 sec  1.12 MBytes  9.44 Mbits/sec
[  3] 11.0-12.0 sec  1.00 MBytes  8.39 Mbits/sec
[  3] 12.0-13.0 sec  1.12 MBytes  9.44 Mbits/sec
[  3] 13.0-14.0 sec  1.12 MBytes  9.44 Mbits/sec
[  3] 14.0-15.0 sec  1.00 MBytes  8.39 Mbits/sec
[  3] 15.0-16.0 sec  1.12 MBytes  9.44 Mbits/sec
[  3] 16.0-17.0 sec  1.12 MBytes  9.44 Mbits/sec
[  3] 17.0-18.0 sec  1.12 MBytes  9.44 Mbits/sec
[  3] 18.0-19.0 sec  1.25 MBytes  10.5 Mbits/sec
[  3] 19.0-20.0 sec  1.12 MBytes  9.44 Mbits/sec
[  3] 20.0-21.0 sec  1.12 MBytes  9.44 Mbits/sec
[  3] 21.0-22.0 sec  1.25 MBytes  10.5 Mbits/sec
[  3] 22.0-23.0 sec  1.25 MBytes  10.5 Mbits/sec
[  3] 23.0-24.0 sec  1.25 MBytes  10.5 Mbits/sec
[  3] 24.0-25.0 sec  1.12 MBytes  9.44 Mbits/sec
[  3] 25.0-26.0 sec  1.25 MBytes  10.5 Mbits/sec
[  3] 26.0-27.0 sec  1.25 MBytes  10.5 Mbits/sec
[  3] 27.0-28.0 sec  1.25 MBytes  10.5 Mbits/sec
[  3] 28.0-29.0 sec  1.25 MBytes  10.5 Mbits/sec
[  3] 29.0-30.0 sec  1.38 MBytes  11.5 Mbits/sec
[  3]  0.0-30.1 sec  33.0 MBytes  9.20 Mbits/sec

With traffic shaping

> iperf -c 10.10.10.10 -i 1 -t 30 -w 825K

------------------------------------------------------------

Client connecting to 10.10.10.10, TCP port 5001

TCP window size:  825 KByte (WARNING: requested  825 KByte)

------------------------------------------------------------

[  3] local 10.20.20.20 port 49581 connected with 10.10.10.10 port 5001

[ ID] Interval       Transfer     Bandwidth
[  3]  0.0- 1.0 sec  1.50 MBytes  12.6 Mbits/sec
[  3]  1.0- 2.0 sec  4.88 MBytes  40.9 Mbits/sec
[  3]  2.0- 3.0 sec  5.12 MBytes  43.0 Mbits/sec
[  3]  3.0- 4.0 sec  5.25 MBytes  44.0 Mbits/sec
[  3]  4.0- 5.0 sec  5.25 MBytes  44.0 Mbits/sec
[  3]  5.0- 6.0 sec  5.12 MBytes  43.0 Mbits/sec
[  3]  6.0- 7.0 sec  5.25 MBytes  44.0 Mbits/sec
[  3]  7.0- 8.0 sec  5.12 MBytes  43.0 Mbits/sec
[  3]  8.0- 9.0 sec  5.25 MBytes  44.0 Mbits/sec
[  3]  9.0-10.0 sec  5.25 MBytes  44.0 Mbits/sec
[  3] 10.0-11.0 sec  5.12 MBytes  43.0 Mbits/sec
[  3] 11.0-12.0 sec  5.25 MBytes  44.0 Mbits/sec
[  3] 12.0-13.0 sec  5.25 MBytes  44.0 Mbits/sec
[  3] 13.0-14.0 sec  5.12 MBytes  43.0 Mbits/sec
[  3] 14.0-15.0 sec  5.25 MBytes  44.0 Mbits/sec
[  3] 15.0-16.0 sec  5.12 MBytes  43.0 Mbits/sec
[  3] 16.0-17.0 sec  5.25 MBytes  44.0 Mbits/sec
[  3] 17.0-18.0 sec  5.25 MBytes  44.0 Mbits/sec
[  3] 18.0-19.0 sec  5.12 MBytes  43.0 Mbits/sec
[  3] 19.0-20.0 sec  5.25 MBytes  44.0 Mbits/sec
[  3] 20.0-21.0 sec  5.12 MBytes  43.0 Mbits/sec
[  3] 21.0-22.0 sec  5.25 MBytes  44.0 Mbits/sec
[  3] 22.0-23.0 sec  5.12 MBytes  43.0 Mbits/sec
[  3] 23.0-24.0 sec  5.25 MBytes  44.0 Mbits/sec
[  3] 24.0-25.0 sec  5.25 MBytes  44.0 Mbits/sec
[  3] 25.0-26.0 sec  5.12 MBytes  43.0 Mbits/sec
[  3] 26.0-27.0 sec  5.25 MBytes  44.0 Mbits/sec
[  3] 27.0-28.0 sec  5.12 MBytes  43.0 Mbits/sec
[  3] 28.0-29.0 sec  5.25 MBytes  44.0 Mbits/sec
[  3] 29.0-30.0 sec  5.12 MBytes  43.0 Mbits/sec
[  3]  0.0-30.0 sec   152 MBytes  42.5 Mbits/sec