Professional Documents
Culture Documents
TCP/IP Settings
Application Note July 2012
SwissQual License AG Allmendweg 8 CH-4528 Zuchwil Switzerland t +41 32 686 65 65 f +41 32 686 65 66 e info@swissqual.com www.swissqual.com
SwissQual has made every effort to ensure that eventual instructions contained in the document are adequate and free of errors and omissions. SwissQual will, if necessary, explain issues which may not be covered by the documents. SwissQuals liability for any errors in the documents is limited to the correction of errors and the aforementioned advisory services. Copyright 2000 - 2012 SwissQual AG. All rights reserved. No part of this publication may be copied, distributed, transmitted, transcribed, stored in a retrieval system, or translated into any human or computer language without the prior written permission of SwissQual AG. Confidential materials. All information in this document is regarded as commercial valuable, protected and privileged intellectual property, and is provided under the terms of existing Non-Disclosure Agreements or as commercial-in-confidence material. When you refer to a SwissQual technology or product, you must acknowledge the respective text or logo trademark somewhere in your text. SwissQual, Seven.Five, SQuad, QualiPoc, NetQual, VQuad, Diversity as well as the following logos are registered trademarks of SwissQual AG.
Diversity Explorer, Diversity Ranger, Diversity Unattended, NiNA+, NiNA, NQAgent, NQComm, NQDI, NQTM, NQView, NQWeb, QPControl, QPView, QualiPoc Freerider, QualiPoc iQ, QualiPoc Mobile, QualiPoc Static, QualiWatch-M, QualiWatch-S, SystemInspector, TestManager, VMon, VQuad-HD are trademarks of SwissQual AG. SwissQual acknowledges the following trademarks for company names and products: Adobe, Adobe Acrobat, and Adobe Postscript are trademarks of Adobe Systems Incorporated. Apple is a trademark of Apple Computer, Inc. DIMENSION, LATITUDE, and OPTIPLEX are registered trademarks of Dell Inc. ELEKTROBIT is a registered trademark of Elektrobit Group Plc. Google is a registered trademark of Google Inc. Intel, Intel Itanium, Intel Pentium, and Intel Xeon are trademarks or registered trademarks of Intel Corporation. INTERNET EXPLORER, SMARTPHONE, TABLET are registered trademarks of Microsoft Corporation. Java is a U.S. trademark of Sun Microsystems, Inc. Linux is a registered trademark of Linus Torvalds. Microsoft, Microsoft Windows, Microsoft Windows NT, and Windows Vista are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries U.S. NOKIA is a registered trademark of Nokia Corporation. Oracle is a registered US trademark of Oracle Corporation, Redwood City, California. SAMSUNG is a registered trademark of Samsung Corporation. SIERRA WIRELESS is a registered trademark of Sierra Wireless, Inc. TRIMBLE is a registered trademark of Trimble Navigation Limited. U-BLOX is a registered trademark of u-blox Holding AG. UNIX is a registered trademark of The Open Group.
Contents
1 2 Introduction .......................................................................................................................................... 1 Registry Settings ................................................................................................................................. 2 Description of Registry Keys ................................................................................................................. 2 GlobalMaxTcpWindowSize .............................................................................................................. 2 SackOpts .......................................................................................................................................... 2 Tcp1323Opts .................................................................................................................................... 3 TcpMaxDupAcks .............................................................................................................................. 3 TcpWindowSize ................................................................................................................................ 3 Window Size and Achievable Bandwidth .............................................................................................. 4 3 Device Settings .................................................................................................................................... 5 Sierra Wireless AirCard 880 .................................................................................................................. 5 Novatel Merlin X950D ............................................................................................................................ 5 Huawei E270 ......................................................................................................................................... 5 Sierra Wireless USB 306 ....................................................................................................................... 5 4 Test Results ......................................................................................................................................... 6 FTP Download Tests With HSDPA ....................................................................................................... 6
Figures
Figure 4-1 Comparison of best values in test series ......................................................................................... 6
ii
Introduction
The TCP/IP Settings Application Note provides background information about the TCP/IP settings which you can use to optimize the performance of mobile data services.
Registry Settings
This chapter describes the following Windows registry keys that influence the behavior of the TCP/IP stack. These keys are usually installed by the software that is provided with a mobile phone or device. "GlobalMaxTcpWindowSize"=dword: "SackOpts"=dword: "Tcp1323Opts"=dword: "TcpMaxDupAcks"=dword: "TcpWindowSize"=dword:
As the default values for these keys are not set when you install Windows, the values are instead taken from the TCP/IP stack. To edit these keys, open the Registry Editor and go to the following location:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/SERVICES/Tcpip/Parameters
Important: If you edit the registry, you need to restart Windows for the changes to take effect. These keys can also be set per Interface. Such definitions will overwrite the common settings described above. Please check the sub-directories as well if you want to influence the values configured.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
Important: It was seen that some data cards configure different values for the network interface (NDIS) and the normal dial-up approach. Especially the TcpWindowSize was set to different values.
GlobalMaxTcpWindowSize
Key: Tcpip\Parameters Value Type: REG_DWORDNumber of bytes Valid Range: 00x3FFFFFFF (1073741823 decimal; however, values greater than 64 KB can only be achieved when connecting to other systems that support RFC 1323 window scaling, which is discussed in the TCP section of this document. Additionally, window scaling must be enabled using the Tcp1323Opts registry parameter.) Default: This parameter does not exist by default. Description: The TcpWindowSize parameter can be used to set the receive window on a per-interface basis. This parameter can be used to set a global limit for the TCP window size on a system-wide basis. This parameter is new in Windows 2000.
SackOpts
Key: Tcpip\Parameters Value Type: REG_DWORDBoolean Valid Range: 0, 1 (false, true) Default: 1 (true) Description: This parameter controls whether or not Selective Acknowledgment (SACK, specified in RFC
Chapter 2 | Registry Settings CONFIDENTIAL MATERIALS 2
Tcp1323Opts
Key: Tcpip\Parameters Value Type: REG_DWORDnumber (flags) Valid Range: 0, 1, 2, 3 0 (disable RFC 1323 options) 1 (window scale enabled only) 2 (timestamps enabled only) 3 (both options enabled) Default: No value; the default behaviour is as follows: do not initiate options but if requested provide them. Description: This parameter controls RFC 1323 time stamps and window-scaling options. Time stamps and window scaling are enabled by default, but can be manipulated with flag bits. Bit 0 controls window scaling, and bit 1 controls time stamps.
TcpMaxDupAcks
Key: Tcpip\Parameters Value Type: REG_DWORDnumber Valid Range: 13 Default: 2 Description: This parameter determines the number of duplicate ACKs that must be received for the same sequence number of sent data before fast retransmit is triggered to resend the segment that has been dropped in transit..
TcpWindowSize
Key: Tcpip\Parameters, Tcpip\Parameters\Interface\interface Value Type: REG_DWORDnumber of bytes Valid Range: 00x3FFFFFFF (1073741823 decimal). In practice the TCP/IP stack will round the number set to the nearest multiple of maximum segment size (MSS). Values greater than 64 KB can be achieved only when connecting to other systems that support RFC 1323 Window Scaling. Default: The smaller of the following values: 0xFFFF GlobalMaxTcpWindowSize (another registry parameter) The larger of four times the maximum TCP data size on the network 16384 rounded up to an even multiple of the network TCP data size The default can start at 17520 for Ethernet, but may shrink slightly when the connection is established to another computer that supports extended TCP head options, such as SACK and TIMESTAMPS, because these options increase the TCP header beyond the usual 20 bytes, leaving slightly less room for data. Description: This parameter determines the maximum TCP receive window size offered. The receive window specifies the number of bytes that a sender can transmit without receiving an acknowledgment. In general, larger receive windows improve performance over high-delay, high-bandwidth networks. For greatest efficiency, the receive window should be an even multiple of the TCP Maximum Segment Size (MSS). This parameter is both a per-interface parameter and a global parameter, depending upon where the registry key is located. If there is a value for a specific interface, that value overrides the system-wide value. See also
Chapter 2 | Registry Settings CONFIDENTIAL MATERIALS 3
GobalMaxTcpWindowSize. Important: If you want to use a value greater than 64 K for the TcpWindowSize, you need to enable the window scaling feature in the Tcp132Opts parameter.
Bandwidth <
Based on the input values, this formula estimates a maximum achievable bandwidth of approximately 950 kbps. Note: This formula only produces an estimate of the maximum achievable bandwidth (assuming best conditions) and is based on the following formula, which yields an exact result.
Bandwidth =
Device Settings
This chapter describes which Windows TCP/IP registry keys are installed by third-party software. Most operators provide a Windows application with the phone or data card to configure Internet access and to handle phone books and SMSs. Some of these applications also manipulate the TCP/IP related registry keys. In general, SwissQual does not install these applications for the following reasons: Application only works with a specific device, for example, Vodafone or T-Mobile devices Some applications block the serial ports that Diversity uses during normal operation
SwissQual has checked the settings the applications would enter into the Windows Registry.
Huawei E270
The Huawei software does not add TCP/IP keys to the registry.
Test Results
This chapter provides the results of a series of FTP download tests where only the TcpWindowSize value was changed.
6000 5000 4000 3000 2000 1000 0 16560 32120 64240 TcpWindowSize AirCard 880 Theoretical (based on 140 ms RTT) Huawei E270 Theoretical (based on 90 ms RTT) 128480 192720