Export to GitHub

exports - NetworkingBenchmarks.wiki


Marcelo Araujo, Copyright

Copyright 2010 Marcelo Araujo. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY Marcelo Araujo ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Marcelo Araujo OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of Marcelo Araujo.

Additional notes

This research are based in some technologies existing in the market, all papers and documents used in this study are available on the Internet and are referenced in this document. If you want to use this document how reference in some project, please don't forget the credits.

Related Softwares

Here are some softwares related with networking benchmarks: * NutTcp * NetPipe * NetPerf * Thrulay * PathLoad * TcpBlast * pathChirp

Related RFC

Here are some RFCs related with networking benchmarks: * RFC1242 * RFC2544 * Benchmarking Methodology (bmwg)

Some aspects to cover the networking behavior

The most complicated subject when we talk about networking benchmark is that we don't know what should be better if we don't have a reference to compare with our currently tests. How you could measure a device and how you could tell that it's good or bad if you haven't any other reference to compare?

Availability and Response time

The first topic treat about availability of a device or more than one device at the same time. You could use a common application called as ping, to check the availability of a device. By default you will transfer packages with 64bytes(56 bytes of data and 8 bytes of ICMP header). You could use an option to change the size till 1500 bytes, but with 64bytes is enough to detect some loss packets and networking congestion. When you've a collision inside a network(common on Ethernet) the device will try to retransmitting that packet and it could overload your network.

A lot of situations are involved in large and small networks and some of them is out of your control, but when you test just an end-to-end some of them could be controlled by you.

Basically what you need know before start a ping to test a end-to-end device is:

  • For internal LAN connections: The response times should be OK within 1 or 2 milliseconds.
  • For WLAN connections: The response times can often be 100 or 150 milliseconds in the maximum.
  • For WAN connections: The response times can often be over 200 or 300 milliseconds.

But, before would be proper if you've any idea about the application that will work over your network, if the response time is OK for your VOIP application or if you need to choose another codec to improve the packet size and transfer faster.

Another important thing that you need to take care is the processor overload also on the device tested as well as the computer that you using to make the test.

Network utilization Network throughput Network bandwidth capacity