Internet DRAFT - draft-breit-network-perf-throughput

draft-breit-network-perf-throughput





April 5, 2003
Louis Breit


               Network Throughput and Performance Calculations

                  draft-breit-network-perf-throughput-00.txt

                     Status of This Document

 

This document is an Internet-Draft and is NOT offered in accordance with 
Section 10 of RFC2026, and the author does not provide the IETF with any 
rights other than to publish as an Internet-Draft Task Force (IETF), its 
areas, and its working groups.  Note that other groups may also distribute 
working documents as Internet-Drafts.

Internet-Drafts are draft documents valid for a maximum of six months and may 
be updated, replaced, or obsoleted by other documents at any time.  It is 
inappropriate to use Internet- Drafts as reference material or to cite them 
other than as "work in progress."


     The list of current Internet-Drafts can be accessed at
     http://www.ietf.org/1id-abstracts.html


     The list of Internet-Draft Shadow Directories can be accessed at
     http://www.ietf.org/shadow.html


Abstract

This memo provides an overview and summary of the mathematical calculations 
and formulas which can be used to determine network throughput and performance.

Body

Since TCP/IP is one of the most commonly used protocols, we examine some basic 
calculations to determine estimated throughput.

1) First, examine the TCP window size.  The maximum value is 65535, though it 
may be much less in practice.

2) Next, examine the average data segment size.  This can range anywhere from 
64 bytes to 1460 bytes, a bit more or less based on overhead, etc.

3) Next, see how many packets can fit into the window.  For example, a total 
number of 44 packets of 1460 bytes each can fit into a 65535 window:

44 (X) 1460 = 64240

The receiving station will likely send an ACK before the window is 
completely filled, perhaps at the 50% point.  Examining the trace data will 
help to determine the actual time of ACK.

Assume (for our example) the receiver sends an ACK for every 22 segments.
The LAN is Ethernet 10mbps.

4) Now we need to determine the actual total packet size for a DATA packet and 
an ACK packet.

Add 78 bytes to the DATA segment for actual packet size.
Add 84 bytes for the size of an ACK packet.

Why?

Because the Ethernet addressing and TCP/IP Headers need to also be included.

See Below:

FIELD			DATA BYTES	ACK BYTES
Ethernet Preamble	8		8
Eth Dest Address	6		6
Eth Source Address	6		6
Eth Type		2		2
IP Header		20		20
TCP Header		20		20
User Data		1460		0
Pad to Minimum		0		6
Eth CRC			4		4
Interpacket Gap		12		12
TOTAL			1538		84

So a data size of 1460 bytes yields a total packet size of 1538 bytes.
An ACK always yields an 84 byte packet.

5) Now letÆs do the math! 


22 (X) 1460 bytes = 32,120
22 (X) 1538 bytes (+) 84 bytes = 33,920

Next:
32,120 / 33,920 = 0.9469

Next:
10,000,000 bits/sec (divided by) 8 bits/byte = 1,250,000

Next:
0.9469 (X) 1,250,000 = 1,183,625 bytes/sec maximum throughput.

Note these are approximate numbers, but useful when analyzing performance 
potential when TCP data is transferred over a specific WAN/LAN connection.

Another example using a 536 byte data size, a 65,535 TCP window, and an ACK 
ever 128th segment over a 10Mb Ethernet LAN:

128 (X) 256 bytes = 32,768
128 (X) 334 bytes (+) 84 bytes = 42,836

Next:
32,768 / 42,836 = 0.7649

Next:
10,000,000 bits/sec (divided by) 8 bits/byte = 1,250,000

Next:
0.7649 (X) 1,250,000 = 956,125 bytes/sec maximum throughput

Note that other factors which may affect throughput, particularly the round 
trip time delays over long haul or WAN circuits, are not included in this 
calculation.

However, this can be assumed to be the ôbest possibleö bytes per second speed, 
which is critical for determining ôminimum time to completionö for data 
transfer over network connections.

Conclusion

The calculation of ôminimum time to completionö for data transfers over a 
local or wide area network connection can be achieved through the use of trace 
data review and basic analysis.


Author's Contact Information

Lou Breit
Seaford, NY 11783
Email:	l.breit@att.net

END DRAFT