Internet Draft INTERNET-DRAFT Louis Breit Expires: July 22,1997 January 22, 1997 Network Tuning for Efficiency and Throughput <draft-breit-ntwrk-tuning-00.txt> Status of this Memo This document is an Internet Draft. Internet Drafts are working documents of the Internet Engineering 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. Internet Drafts may be updated, replaced, or obsoleted by other documents at any time. It is not appropriate to use Internet Drafts as reference material or to cite them other than as a "working draft" or "work in progress." To learn the current status of any Internet-Draft, please check the "1id-abstracts.txt" listing contained in the internet-drafts Shadow Directories on: ftp.is.co.za (Africa) nic.nordu.net (Europe) ds.internic.net (US East Coast) ftp.isi.edu (US West Coast) munnari.oz.au (Pacific Rim) Abstract Network tuning is usually performed after the network design is completed, but should also be done at intervals during the life cycle of the network. There are four basic areas that directly affect the efficiency of the network and its associated throughput: Frame and packet size optimization Segmentation avoidance or limitation Minimization of device delay Window sizing to avoid degradation This draft has been written to document for the internet community a basic overview of network tuning and its benefits. Acknowledgments Much of this memo is taken from my personal experience in designing and analyzing local and wide area networks. I would also like to extend my appreciation to my colleagues at work for their time and assistance; without their daily contributions, none of the knowledge we have gathered together could be applied as effectively as it has been. Basic Network Tuning 1. Frame and Packet Size In all packet switched networks, packet or frame size has a direct effect on overhead and throughput. Smaller packets (each containing a small amount of data) have more overhead than larger ones, since the ratio of overhead (header and control information, etc. - which tend to be fixed in size) is proportionally higher to the amount of data passed. As a result, the data throughput of the line decreases (throughput being defined as the quantity of data a user can pass across a given circuit or device). However, small packets have a reduced chance of retransmission, better response time, and are less likely to contain errors. Larger packet sizes have a better ratio of overhead to data, which increases throughput. However, buffer and transmission delays and the resulting retransmissions can act to degrade throughput. This leads us to the "U" curve, where throughput increases as packet size increases but then begins to degrade. The ideal packet size is at the crest of the inverted "U". For example, an IP network suffers from low throughput with very small packet sizes, but will also degrade when packet sizes are too large (due to segmentation). The goal is to increase packet size to just below the point where segmentation is needed, and increase buffers accordingly to compensate for transmission delays. This will vary by packet service; in networks where each node must read an entire frame before transmission (frame relay, etc.), very large packets should be avoided. As always, the best approach is to "try and tune"; my suggestion is to begin with a packet size of 1500 bytes and assess performance as it is increased and decreased. 2. Segmentation Segmentation should be avoided at all points in the network to increase throughput. Keep in mind that when IP addressing is used on higher level application protocols, file sizes can exceed the maximum data unit size permitted by IP. Fragmentation or the cutting of single files into multiple packets results in additional overhead. Ethernet, with an MTU of approx. 1500 bytes is similar to IP. However, applications which routinely generate large packets (NFS, etc.) can create delays. If possible, set higher level protocols to limit their packet size to what is supported at the network (IP) layer. 3. Delay When vendors rate the PPS (or packets per second) supported by a specific device, they often do so using the minimum packet size to increase throughput. Whenever data is passed at a lower PPS than what is supported on the device, throughput is reduced by the difference. For example, if data is passed at 10,000 PPS through a device which offers a PPS of 20,000 PPS, the amount of overhead is 50%. Larger packet sizes will tend to account for some of the difference, but an attempt should be made to match the rated PPS as closely as possible for the appropriate packet size. If a packet size of 1500 bytes is ideal for the network, then the PPS rating of the device using 1500 byte packets should be the goal. 4. Windowing Window sizes can be tuned within each node of a packet switched network, or within TCP (at the user access point). The window size can be increased on reliable networks and decreased on error prone lines in a packet switched node (X.25, etc.). TCP will dynamically adjust its window size based on throughput. By examining the trending in window size, network performance problems can be isolated and additional capacity added where needed. It is important to note that window size should never be manually increased as a means to boost performance until a thorough study is done of hardware buffers, memory etc. Larger windows consume more resources. Author's Address: Louis Breit 34 Shadow Lane Staten Island, NY 10306 Phone: 718-983-8472 EMail: louis_breit@jh.com Expires: July 22, 1997