IP Network - Troughput Test Tools

18
IP networks - throughput Magnus Abrahamsson 2010-02-17 Mid Sweden University The Department of Information Technology and Media (ITM) Author: Magnus Abrahamsson E-mail address: [email protected] Scope: 2223 words inclusive of appendices Date: 2010-02-16

description

Short description of IP througput and comparing iperf with ntop.

Transcript of IP Network - Troughput Test Tools

Page 1: IP Network - Troughput Test Tools

IP networks - throughput

Magnus Abrahamsson

2010-02-17

Mid Sweden University The Department of Information Technology and Media (ITM) Author: Magnus Abrahamsson E-mail address: [email protected] Scope: 2223 words inclusive of appendices Date: 2010-02-16

Page 2: IP Network - Troughput Test Tools

IP networks - throughput

Magnus Abrahamsson

2010-02-17

Report Computer A, Computer networks, 7.5 points,

DT024G (distance)

IP networks - throughput Test tools

Magnus Abrahamsson

Page 3: IP Network - Troughput Test Tools

IP networks - throughput

Magnus Abrahamsson

2010-02-17

Foreword This is a short technical report written as an assignment in the course

Datornätverk. The report is actually an extension to the one of the topics

we studied in this course. I have chosen write a report that you could

say is a mix of the subject “Test and compare two types of software in the

area of data communication” and “Compare two data communication stan-

dards”. I will look closer on test tools to measure IP network perform-

ance with focus on throughput, and describe their advantages and

disadvantages.

It has been quit a challenge for me, but a good one. I hope you enjoy

reading it as much as I liked writing and working with it.

Kind regards

Magnus Abrahamsson

Page 4: IP Network - Troughput Test Tools

IP networks - throughput

Magnus Abrahamsson

2010-02-17

Table of Contents

Foreword.......................................................................................................... iii

1 Introduction............................................................................................5

1.1 Scope .............................................................................................5

1.2 Outline ..........................................................................................5

1.3 Contributions ...............................................................................5

2 Network throughput introduction.....................................................6

2.1 Throughput ..................................................................................6

2.2 Goodput (data transfer rate)......................................................7

3 Network tools.........................................................................................8

3.1 iperf ...............................................................................................8

3.2 jperf................................................................................................8

3.3 ntop................................................................................................9

4 Test tool measurements......................................................................11

4.1 Testbed........................................................................................11

4.2 iperf .............................................................................................12

4.2.1 TCP throughput test.......................................................12

4.2.2 Testing UDP ....................................................................12

4.2.3 Simulate application data traffic ..................................13

4.2.4 Bi-directional test ............................................................14

4.3 ntop..............................................................................................15

4.3.1 Network traffic historical view.....................................15

4.3.2 Network Throughput ....................................................16

5 Conclusions / Discussion...................................................................17

6 References.............................................................................................18

Page 5: IP Network - Troughput Test Tools

IP networks - throughput

Magnus Abrahamsson

Introduction

2010-02-17

1 Introduction How to measure throughput and if it’s really delivered is one of the

topics both end-users and network operators are discussing right now.

As networks become larger, more complex, and more heterogeneous

network management turns into an increasingly complex task. It re-

quires different types of network monitoring and diagnostic tools then

ping and traceroute, how are suitable just for tackling simple connectivity

problems. Both automated tools and special performance tools will be

necessary in the future to support the human effort.

This document is intended to provide valuable information and

examples for network managers or operators on the use of two different

network tools; iperf and ntop.

1.1 Scope

There are several different network monitoring and diagnostic tools and

ways to measure the network performance in an IP network. This study

has its focus on how to measure of bandwidth/throughput with iperf and

ntop.

1.2 Outline

Chapter 2 gives you a description of different IP network performance

terms.

Chapter 3 gives you information about network test & measurement

tools

Chapter 4 gives you more hands-on examples of about the tools.

Chapter 5 gives you conclusions and more comments on the subject.

1.3 Contributions

Special big thanks to all colleagues at work which have been very sup-

portive during the whole process.

Page 6: IP Network - Troughput Test Tools

IP networks - throughput

Magnus Abrahamsson

Network throughput introduction

2010-02-17

2 Network throughput introduction

Before we look into what kind of data the different test tools can provide

us with, it’s impotent to be able to distinguish between some network

terms associated with throughput. Therefore I will try to walk you

through some of them in this chapter.

2.1 Throughput

How fast we actually can send data through a network. It’s usually

measured bit per second (bps).

You have to keep in mind that the value of “maximum throughput” could

have four different meanings depending of its context. They are:

Type of throughput Description

Maximum theoretical throughput Based on ideal circumstances.

Primarily used as a rough

calculated value to determining

bounds in a design phase.

Maximum Achievable throughput Maximum data rate of successful

data transfer through a communica-

tion path.

Peak measured throughput (peek) Measured on real transaction for a

short period of time. Useful for

system that relies on burst data

transactions. For system with high

duty time it less likely of interest.

Maximum sustained throughput

(avg)

The average or integrated over long

time throughput. God for high duty

networks to measure the perform-

ance. Could be misleading if pack-

age shaping are used.

Current measured throughput Real transaction in progress meas-

Page 7: IP Network - Troughput Test Tools

IP networks - throughput

Magnus Abrahamsson

Network throughput introduction

2010-02-17

(current) ured throughput.

Table 1: Type throughputs

Keep an eye on the lowest value link in the series, it’s referred to as the

bottleneck.

2.2 Goodput (data transfer rate)

Goodput or data transfer rate refers to the achieved average net bit rate

that is delivered to the application layer, exclusive of all protocol

overhead, data packets retransmissions, etc.

For example, in the case of file transfer, the goodput corresponds to the achieved

file transfer rate. The file transfer rate in bit/s can be calculated as the file size

(in bytes), divided by the file transfer time (in seconds), and multiplied by eight.

If no data compression is provided by the network equipment or

protocols, we have the following relation:

Goodput ≤ Throughput ≤ Maximum throughput ≤ Net bit rate

Page 8: IP Network - Troughput Test Tools

IP networks - throughput

Magnus Abrahamsson

Network tools

2010-02-17

3 Network tools We will in this chapter look deeper into two different tools, and see

what kind of network performance they actually measures.

3.1 iperf

iperf is a nifty little program for measuring TCP and UDP performance

between end points. It has both client and server pieces, so it requires

installation at both ends of the connection you're measuring. Via this

tool you then could measure throughput on your various network

segments, and collect jitter and datagram loss statistics. [4]

Primarily Measured Throughput:

Maximum Achievable throughput

iperf Advantages

+ Easy to install

+ Possible to simulate application traffic

+ Could be running directional or bi-directional

+ Measures jitter on simulated traffic (UDP)

+ Measures packet lost.

+ Free (Open-source)

iperf Disadvantages

- lack of documentation

3.2 jperf

It’s possible to use a Java based GUI for iperf called jperf. I not going into

any further detail regarding this tool, only show you a screenshot from

it.

Page 9: IP Network - Troughput Test Tools

IP networks - throughput

Magnus Abrahamsson

Network tools

2010-02-17

Picture – jperf GUI

3.3 ntop

ntop is a wonderful hybrid packet analyzer that generates nice clickable

HTML reports that show you what's happening on your network. It

slices and dices network traffic all kinds of ways: by protocol, host, local

or remote network, network load, network flow, what Web sites your

users are visiting, how much traffic is coming from or going to remote

sites, throughput and loads more. It supports virtually all network

protocols over both IP networks and Fibre Channel. [5]

Primarily Measured Throughputs:

Maximum sustained throughput (avg)

Peak measured throughput (peek)

Current measured throughput (current)

ntop Advantages

+ Easy to install

+ Simple application traffic

+ Free(Open-source)

+ Traffic measurement

+ Traffic monitoring

+ Network optimization and planning

Page 10: IP Network - Troughput Test Tools

IP networks - throughput

Magnus Abrahamsson

Network tools

2010-02-17

+ Detection of network security violations

ntop Disadvantages

- (sampling period)

Page 11: IP Network - Troughput Test Tools

IP networks - throughput

Magnus Abrahamsson

Test tool measurements

2010-02-17

4 Test tool measurements In this chapter we will give actual examples on how the two test tools,

iperf and ntop, worked in a live environment.

4.1 Testbed

Server1

Redhat HP server, 2 Dual-Core AMD Opteron(tm) Processor 2218

processors (4 cpu cores) (version 2.00.00-rhel4), 4Gb memory

1000 Mbps full duplex, receive & transmit flow control ON

Broadcom NetXtreme II BCM5708 1000Base-T (B2) PCI-X 64-bit 133MHz

Client1

Ubuntu 9.10 desktop, Pentium 4 3Ghz, 1Gb memory

100 Mbps, full duplex. Flow control is off for TX and off for RX.

Tigon3 [partno(BCM95751) rev 4001 PHY(5750)] (PCI Express)

10/100/1000Base-T Ethernet

Client1 Server1

R Sw Sw Subnet A Subnet B

ntop

server

iperf

server Iperf

client

Page 12: IP Network - Troughput Test Tools

IP networks - throughput

Magnus Abrahamsson

Test tool measurements

2010-02-17

4.2 iperf

First start up iperf in server mode with this command: admin@server1# iperf -s

Run the client with this command: guest@client1:~$ iperf -c server1

4.2.1 TCP throughput test

By default iperf uses TCP port 5001, so make sure it's not blocked. This

is the result of a run without tcpdump running:

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

---

Server listening on TCP port 5001

TCP window size: 85.3 KByte (default)

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

---

[ 3] 0.0-10.0 sec 113 MBytes 94.6 Mbits/sec

Pretty nice- that's as good as you can get on Fast Ethernet. This is what

happens when tcpdump is running on server side:

[ 4] 0.0-10.0 sec 110 MBytes 92.0 Mbits/sec

4.2.2 Testing UDP

Stop the server with Ctrl+C, then run these commands to start iperf

server in UDP mode.

admin@dserver1:~$ iperf -su

from the client run the following:

guest@client1:~$ iperf -c deneb –u [ ID] Interval Transfer Bandwidth

[ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec

[ 3] Sent 893 datagrams

[ 3] Server Report:

[ 3] 0.0-10.0 sec 5638046520444870 bits 0.00

(null)s/sec 0.007 ms 0/ 893 (0%)

[ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec

0.003 ms 0/ 893 (0%)

Page 13: IP Network - Troughput Test Tools

IP networks - throughput

Magnus Abrahamsson

Test tool measurements

2010-02-17

That's quite a difference. Why is UDP so slow? Because iperf's default is

1.05 Mbits/second, so it's not a network problem. We can try some

different values to see what happens. Let's tell it to use all available

bandwidth:

admin@server1# iperf -su

guest@client1# iperf -c server1 -u -b 100m Client connecting to server1, UDP port 5001

Sending 1470 byte datagrams

UDP buffer size: 110 KByte (default)

----

[ ID] Interval Transfer Bandwidth

[ 3] 0.0-10.0 sec 114 MBytes 95.6 Mbits/sec

[ 3] Sent 81314 datagrams

[ 3] Server Report:

[ 3] 0.0-10.0 sec 513169564593235200 bits 0.00

(null)s/sec 0.009 ms 33/81313 (0.041%)

[ 3] 0.0-10.0 sec 1 datagrams received out-of-

order

That's very good speed, and 0.041% datagram loss is insignificant. That's

a good clean connection. VoIP call can tolerate as much as 10% UDP

datagram loss.

4.2.3 Simulate application data traffic

Applications determine how many TCP or UDP packets are sent, and

what size. To get a more real-world idea of performance, you can set the

size of the UDP datagram to the same size that your applications use.

This example whales on your line by sending 200-byte datagrams at 100

Mbits/second:

admin@server1:~$ iperf -su -i 1

guest@client1:~$ iperf -c server1 -u -l 200 -b 100m [ID] Interval Transfer Bandwidth

[3] 0.0-10.0 sec 89.0 MBytes 74.7 Mbits/sec 0.054

ms 4728/466661 (1%)

The -i option generates a progress display every second.

Page 14: IP Network - Troughput Test Tools

IP networks - throughput

Magnus Abrahamsson

Test tool measurements

2010-02-17

4.2.4 Bi-directional test

By default, iperf flings TCP packets over your wires as fast as possible.

A bi-directional test, which is the -d option, runs both ways:

guest@client1:~$ iperf -c server1 -d [ ID] Interval Transfer Bandwidth

client1 -> server1

[ 5] 0.0-10.0 sec 48.8 MBytes 40.9 Mbits/sec

Server1 -> client1

[ 4] 0.0-10.0 sec 110 MBytes 91.8 Mbits/sec

As you can see the Client1 machine has big troubles with sending

packages to the server during bidirectional testing. Why kind of

bottleneck is this

?

- This is because Clinet1 hasn’t flow control turn on?

- Or is it because of the 1000Base-T and 100Base-T differ?

- Or could it be the swiches on subnet A?

Let do a bi-directional UDP test and see what happens:

guest@client1:~$ iperf -c server1 -u -b 100m –d [ 4] 131.116.248.17 > 131.115.4.164 port 5001

[ 3] 131.115.4.164 > 131.116.248.17 port 5001

[ ID] Interval Transfer Bandwidth

[ 4] 0.0-10.0 sec 114 MBytes 95.6 Mbits/sec

[ 3] 0.0-10.1 sec 114 MBytes 95.1 Mbits/sec

0.029 ms 3891/85459 (4.6%)

We can see that we now have almost no jitter (0.029ms) but a lot of

package lost (4.6%) in the other direction, server -> client

communication.

Page 15: IP Network - Troughput Test Tools

IP networks - throughput

Magnus Abrahamsson

Test tool measurements

2010-02-17

4.3 ntop

We will only look at the ntop in web-mode.

You can start the ntop server with:

#/etc/init.d/ntop start

You can access the ntop server webpage on default port 3000. http://hostname:3000

4.3.1 Network traffic historical view

The network traffic historical view gives you a lot of information about

the network traffic. It’s easy to see what kind of traffic there is in the

network and its average/peek values during the period.

Table3 - Historical View per service

Page 16: IP Network - Troughput Test Tools

IP networks - throughput

Magnus Abrahamsson

Test tool measurements

2010-02-17

4.3.2 Network Throughput

Those are graphs that show the evolution of the total throughput

observed in the network. They are presented in different time scales,

showing the throughput in the last 10 minutes up to last month. This

sort of statistics is valuable to determine peek and low usage periods. In

this way the administrator will be able to better schedule traffic

intensive or network disruptive activities (physical network

maintenance, switch configuration, data traffic with low priority, etc.). It

might also be interesting to detect unexpected throughput peeks, which

could indicate excessive use of the network resources by a user or group

of users. [5]

It’s important to understand that ntop use minimum sampling period of

a minute. This means that the throughput peak value actually is the

peak average of a minute during the measurement period. In the most

cases this is accurate enough for network monitoring.

Table4 – Network Throughput : Data sent + revceived

Table5 –Last hour Network Throughput (1 min sampling period)

Page 17: IP Network - Troughput Test Tools

IP networks - throughput

Magnus Abrahamsson

Conclusions / Discussion

2010-02-17

5 Conclusions / Discussion Measuring the throughput, delay, jitter and packet loss only gives you a

hint of where you could have performance issues or the bottleneck in

the network. Finding network problems does not necessarily lead to

instant solutions. Correct interpretation is still needed. Sometimes it can

be frustrating to have a lot of information without finding the answer to

your problems. However, network monitoring can truly be an asset to

your corporation as a whole.

Page 18: IP Network - Troughput Test Tools

IP networks - throughput

Magnus Abrahamsson

References

2010-02-17

6 References

[1] By Behrouz A. Forouzan; Data Communications and Networking, 4th

edition; McGraw-Hill, 2007. ISBN 007-125442-0.

[2] By Craig Hunt; TCP/IP Network Administration. O’Reilly. ISBN 0-

937175-82, s257-300, May 1994

[3] By Gian-Paolo D. Musumeci & Mike Loukides; System Perform-

ance Tuning, 2nd edition ; O’Reilly, Feb 2002, s86-91. ISBN 0-201-

41979-3

[4] By Carla Schroder, Linux Network cookbook, O’Reilly. ISBN 10: 0-

596-10607-6. November 2007

[5] [Deri98] Deri, L. NTOP User’s Guide - Network Usage Monitor for

Unix Systems.Centro Serra, University of Pisa, Italy. Available at

http://www.ntop.org/ntop-overview.pdf. Fetched 2010-02-16

Front page Illustration: IPv4 INTERNET TOPOLOGY MAP, By UC

Regents 2008, AS level Internet graph.