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