You are on page 1of 20

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Subject: LTE Translation Application Note:


High Level Protocol Stack Parameter Optimization for LTE Data Networks. Version 1.0 Date: 10th June 2010

Abstract
The purpose of this translation application note is to present the TCP/IP Protocol Stack parameter optimizations on the client machines. There are a number of TCP/IP Protocol Stack parameters that have an effect on the operation of LTE Data. The values and settings of these parameters must be set correctly for best experience and operation of the system. The purpose of this note is to explain the functions of the important protocol parameters and their inter-relationship. Recommended values for these parameters are also presented.

Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 1 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

16

Version History Version Changes 1.0 Original Document: Li Zhu (Voice and Data Quality and Application Performance Group)

17

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 2 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62

Table of Contents
1 2 3 4 GLOSSARY OF TERMS AND ABBREVIATIONS........................................................................ 5 REFERENCES .................................................................................................................................... 6 INTRODUCTION ............................................................................................................................... 7 TCP/IP PROTOCOL STACK............................................................................................................ 8 4.1 IP LAYER ...................................................................................................................................... 8 4.2 TRANSPORT LAYER ....................................................................................................................... 9 4.2.1 Transmission Control Protocol (TCP) .................................................................................... 9 4.2.2 User Datagram Protocol (UDP) ........................................................................................... 10 4.3 APPLICATION LAYER ................................................................................................................... 10 5 SERVER SPECIFIC TCP/IP PROTOCOL STACK FEATURES ............................................... 11 5.1 5.2 5.3 5.4 5.5 5.6 6 IP LAYER MTU .......................................................................................................................... 11 TCP TIME STAMPING .................................................................................................................. 12 LARGE TCP WINDOWS ............................................................................................................... 12 WINDOWS SCALING .................................................................................................................... 12 TCP SENDING WINDOW .............................................................................................................. 13 SELECTIVE ACKNOWLEDGEMENT (SACK).................................................................................. 13

CLIENT SPECIFIC TCP/IP PROTOCOL STACK FEATURES ................................................ 13 6.1 6.2 6.3 6.4 6.5 OPERATING SYSTEM ................................................................................................................... 13 IP LAYER MTU .......................................................................................................................... 13 TCP WINDOW SIZE ..................................................................................................................... 14 TIME STAMPING .......................................................................................................................... 14 SELECTIVE ACKNOWLEDGEMENT (SACK).................................................................................. 14

WINDOWS TCP/IP REGISTRY ENTRIES................................................................................... 14 7.1 EDIT REGISTRY FOR CLIENT PC RUNNING WINDOWS XP ........................................................... 14 7.1.1 Install IPv6 ............................................................................................................................ 15 7.1.2 Set IP MTU............................................................................................................................ 15
7.1.2.1 7.1.2.2 Set IPv4 MTU............................................................................................................................. 15 Set IPv6 MTU............................................................................................................................. 15 Set TCP Window Size for IPv4 .................................................................................................. 16 Set TCP Window Size for IPv6 .................................................................................................. 16

7.1.3

Set TCP Window Size ............................................................................................................ 15

7.1.3.1 7.1.3.2

7.1.4 Set TCP Window Scaling....................................................................................................... 16 7.1.5 Set Time Stamping ................................................................................................................. 16 7.2 EDIT REGISTRY FOR APPLICATION SERVER................................................................................. 16 7.2.1 Set IP MTU............................................................................................................................ 17
7.2.1.1 7.2.1.2 Set IPv4 MTU............................................................................................................................. 17 Set IPv6 MTU............................................................................................................................. 17

7.2.2 7.2.3 7.2.4 8

Set TCP Window Size ............................................................................................................ 17 Set TCP Window Scaling....................................................................................................... 18 Set Time Stamping ................................................................................................................. 18

CLIENT-SPECIFIC FEATURES FOR HTTP WEB BROWSING.............................................. 18 8.1 8.2 INTERNET EXPLORER........................................................................................................... 19 NETSCAPE 8.0.X...................................................................................................................... 20

SUMMARY OF TCP/IP PROTOCOL STACK PARAMETER RECOMMENDATIONS ....... 20

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 3 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

63

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 4 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

64

Glossary of Terms and Abbreviations


Acknowledgment Enhanced Node B File Transfer Protocol Hyper-Text Transfer Protocol Internet Mail Access Protocol version 4 Internet Protocol Medium Access Control Maximum Segment Size Negative ACK Non Access Stratum Packet Data Convergence Protocol Protocol Data Unit Packet Data Network Gateway Post Office Protocol Version 3 Request For Comment (internet Draft) Radio Link Control Radio Resource Control Retransmission Timeout Round-trip Time Round-Trip Time Measurement Selective Acknowledgment Service Access Point Serving Gateway Simple Mail Transfer Protocol Transmission Control Protocol User Datagram Protocol User Equipment

ACK eNodeB FTP HTTP IMAP4 IP MAC MSS NAK NAS PDCP PDU PGW POP3 RFC RLC RRC RTO RTT RTTM SACK SAP SGW SMTP TCP UDP UE 65

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 5 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

66 67 68 69 70 71 72 73 74 75 76 77 78

References

[1] A. Rodriguez, J. Gatrell, J. Karas, R. Peschke, TCP/IP Tutorial and Technical Overview, Redbook, Aug. 2000. [2] W.R. Stevens, TCP/IP Illustrated, Volume I: The Protocols, Addison Wesley, Jan. 1994. [3] Internet Protocol Standard STD number 7, Transmission Control Protocol, 1981. [4] RFC-793, Transmission Control Protocol, 1981. [5] Internet Protocol Standard STD number 6, User Datagram Protocol, 1980. [6] RFC-793, User Datagram Protocol, 1980. [7] RFC-1323, TCP Extensions for High Performance, May 1992. [8] RFC-2018, TCP Selective Acknowledgment Options, Oct. 1996. [9] RFC-2068, Hypertext Transfer Protocol -- HTTP/1.1, Jan. 1997. [10] Microsoft Support, How to Configure Internet Explorer to Have More Than Two Download Sessions, (http://support.microsoft.com/default.aspx?scid=kb;en-us;Q282402), Dec. 2000.

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 6 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

Introduction

The Application Note for High-Level Protocol Stack [1][2]. Parameters for LTE are introduced to meet the needs of Alcatel-Lucent customers and optimization teams as Alcatel-Lucent products are being deployed around the world. The performance of our products is being studied continuously, and our recommendations for new and existing parameters are updated as needed. Section 4 of this Application Note introduces the TCP/IP Protocol Stack and shows the different Layers and its relationship to the ISO Networking Layers. Then client-specific TCP/IP Protocol layers are described in details in subsequent sub-sections. In section 5 we describe some server-specific TCP/IP Protocol stack features. These features, which include TCP Time Stamping, Large TCP Windows and Selective Acknowledgment, are then described in separate sub-sections in more details. Section 6 describes the Clientspecific TCP/IP Protocol Stack Features. Each feature is described in detail in a separate sub-section with specific reference to the relation between each feature and the TCP/IP Protocol stack. The recommended value for each feature is also described. Section 9 summarizes a list of Client TCP/IP Protocol Stack parameters and their recommended values

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 7 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

100 101 102 103

TCP/IP Protocol Stack

Like most networking software, TCP/IP is modeled in layers. This layered representation leads to the term protocol stack, which is synonymous with protocol suite. As shown in Figure 1, the Internet protocols are modeled in layers. Applications Web Browsing, Email, FTP etc.

Transport

TCP

UDP

Internetwork

IP

PDCP

Data Link Layer (L2)

RLC

MAC

Physical Layer (L1) 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120

OFDMA, SC-FDMA

Figure 1: The TCP/IP Protocol Stack The Application Layer consists of various applications e.g. web browsers, email clients, ftp clients etc. The Transport Layer consists of TCP and UDP. The Internetwork layer consists of IP. The Data Link Layer consists of the PDCP, RLC and MAC Layers. The Physical Layer consists of the OFDMA/SC-FDMA Layer. The focus of this document is client-related TCP/IP protocol stacks, including Internetwork, transport and Application layers), the following sections will describe the function of each of these three layers.

4.1

IP LAYER

The most important IP layer parameter addressed in this document is the MTU (maximum transmission unit) of IP layer, which is the size (in bytes) of the largest IP packet that IP layer can pass. MTU is usually a per interface parameter. If the size of an egress IP packet is larger than the interface MTU, that IP packet will be fragmented into smaller packets if fragmentation is supported on that interface. The fragmented IP packets will be reassembled by the recipient of original IP packet.

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 8 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

4.2

TRANSPORT LAYER

The transport layer provides the end-to-end data transfer between application processes. Multiple applications can be supported simultaneously. The main transport layer protocol is TCP (Transmission Control Protocol), which provides the reliable exchange of information. Another transport layer protocol is UDP (User Datagram Protocol) provides a connectionless service in comparison to TCP, which provides a connection-oriented service. That means that applications using UDP as the transport protocol have to provide their own end-to-end flow control and their own error detection/recovery. Usually, UDP is used by applications that need a fast transport mechanism.

4.2.1

Transmission Control Protocol (TCP)

TCP is a standard protocol with STD number [3]. TCP is described by RFC 793Transmission Control Protocol [4]. TCP provides considerably more facilities for applications than UDP, notably error recovery, flow control and reliability. TCP is a connection-oriented protocol unlike UDP which is connectionless. Most of the user application protocols, such as Web Browsing, Email and FTP, use TCP. TCP can be characterized by the following facilities it provides for the applications using it: Data Transfer: From the application's viewpoint, TCP transfers a contiguous stream of bytes through the network. The application does not have to bother with chopping the data into basic blocks or datagrams. TCP does this by grouping the bytes in TCP segments, which are passed to IP for transmission to the destination. Also, TCP itself decides how to segment the data and it can forward the data at its own convenience. Reliability: TCP assigns a sequence number to each packet transmitted and expects a positive acknowledgment (ACK) from the receiving TCP. If the ACK is not received within a timeout interval, the data is retransmitted. Since the data is transmitted in blocks (TCP segments) only the sequence number of the first data byte in the segment is sent to the destination host. The receiving TCP uses the sequence numbers to rearrange the segments when they arrive out of order, and to eliminate duplicate segments. Flow Control: The receiving TCP, when sending an ACK back to the sender, also indicates to the sender the number of bytes it can receive beyond the last received TCP segment, without causing overrun and overflow in its internal buffers. This is sent in the ACK. The ACK includes an Acknowledgement number and the window size. The combination of which gives the last received in-order TCP segment and the advertised TCP window size, providing the highest sequence number it (the receiving TCP) can receive without problems. Multiplexing: This section introduces the concepts of port and socket, which are necessary to exactly determine which local process at a given host actually communicates with which process at which remote host using which protocol. Each process that wants to communicate with another process identifies itself to the TCP/IP protocol suite by one or more ports. A port is a 16-bit number, used by the host-to-host protocol to identify to which higher level protocol or application program (process) it must deliver incoming

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 9 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190

messages. On the other hand, a socket is a special type of file handle, which is used by a process to request network services from the operating system. Each side of a TCP connection has a socket that can be identified by the triple <TCP, IP address, port number>. Therefore, multiplexing is achieved through the use of ports, just as with UDP. Logical Connections: The reliability and flow control mechanisms described above require that TCP initializes and maintains certain status information for each data stream. The combination of this status, including sockets, sequence numbers and window sizes, is called a logical connection. Each connection is uniquely identified by the pair of sockets used by the sending and receiving processes. Full Duplex: TCP provides for concurrent data streams in both directions.

4.2.2

User Datagram Protocol (UDP)

UDP is a standard protocol with STD number 6 [5]. UDP is described by RFC 768 - User Datagram Protocol [6]. UDP is basically an application interface to IP. It adds no reliability, flow-control or error recovery to IP. It simply serves as a multiplexer/demultiplexer for sending and receiving datagrams. It is also important to note that Proxy caches in general, and some firewalls limit or block UDP streams. In addition, due to the fact that UDP does not provide any flow-control, some network elements can enforce UDP bandwidth limits to conserve backhaul capacity. UDP streams that violate bandwidth limits are throttled via packet discards. 4.3 APPLICATION LAYER

The application layer is provided by the program that uses TCP/IP for communication. An application is a user process cooperating with another process on the same or a different host. Few examples of popular applications are Web Browsing (which uses HTTP), Email (which uses SMTP, POP3 or IMAP4) and file transfer based on the File Transfer Protocol (FTP).

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 10 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

191

Server Specific TCP/IP Protocol Stack Features

192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215

Figure 2: U-plane Server Vs Client Protocol Stack Figure 2 shows the locations of the Server and the Client. Both have a TCP/IP protocol stack. There are some parameters in this protocol stack that are related and controlled by the server, and others that can be set on the Client. This section describes some of the TCP features related to the server-side of the network. (In the figure shown, L1 and L2 representation at the mobile and laptop interface may vary based on the type of LTE terminal device used. This example uses a laptop connected to a mobile via a USB port).

5.1

IP LAYER MTU

The default IP layer MTU on most of Windows operating system is 1500 bytes, and the Starent PGW S5/8 downlink can only support 1500 layer 3 MTU at the time this document is being written. When a 1500 bytes IP packet from application server is transmitted by Starent PGW into S5/8 interface, it is encapsulated into GTP tunnel, and the layer 3 overhead makes the IP packet size larger than Starent PGW MTU size. The encapsulated IP packet is fragmented into two smaller IP packets, which will enter the S5/8 interface of ALU 7750 SGW. At the time this document is being written, handling fragmented IP packets on S5/8 interface is not a feature of ALU 7750 SGW. As a result, it will cause significant performance degradation for downlink traffic. Therefore, it is recommended to set layer 3 MTU to a smaller size on application server.

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 11 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254

5.2

TCP TIME STAMPING

TCP time stamping is a TCP extension for high performance that is described in RFC1323 [7]. TCP implements reliable data delivery by retransmitting segments that are not acknowledged within some retransmission timeout (RTO) interval. Accurate dynamic determination of an appropriate RTO is essential to TCP performance. RTO is determined by estimating the mean and variance of the measured round-trip time (RTT), i.e., the time interval between sending a segment and receiving an acknowledgment for it. Using TCP Time Stamping option, the sender places a timestamp in each data segment, and the receiver reflects these timestamps back in ACK segments. Then a single subtract gives the sender an accurate RTT measurement for every ACK segment (which will correspond to every other data segment, with a sensible receiver). This is called the RTTM (Round-Trip Time Measurement) mechanism. Theoretically, it is expected that servers supporting RFC-1323 (TCP Time Stamping) can slightly enhance the performance of the TCP by preventing accidental reuse of TCP sequence numbers in an old data segment that was delayed due to RLC retransmissions over the air interface. For LTE, TCP time stamping does not provide significant gain in performance. Moreover, TCP time stamping introduces additional overhead. However, leaving time stamping enabled will not deteriorate the performance significantly. Based on these reasons, our recommendation is to disable the RFC-1323 (TCP time stamping) option.

5.3

LARGE TCP WINDOWS

A TCP window is the amount of outstanding (unacknowledged by the recipient) data a sender can send on a particular connection before it gets an acknowledgment back from the receiver. Large TCP Windows is a TCP extension for high performance that is also described in RFC-1323 [7] (bundled with the TCP Time Stamping). The TCP header uses a 16 bit field to report the receive window size to the sender. Therefore, the largest window that can be used is 2**16 - 1 = 65535 bytes. To circumvent this problem, RFC1323 defines a new TCP option that enables larger TCP window sizes. 5.4 WINDOWS SCALING

The TCP Window Size registry entry is a 16 bit value, supporting a max value of 0xFFFF (65535). To increase the efficiency of the use of higher bandwidth pipes, this TCP window size could be increased with the use of a feature, TCP Windows Scaling. By enabling the TCP Windows Scaling feature and selecting an appropriate scale factor the TCP window can be increased from a value of 655,535 bytes to 1 Gigabyte size. The window scale option is used only during the TCP 3-way handshake. The window scale value represents the number of bits to left-shift the 16-bit window size field. The window scale value can be set from 0 (no shift) to 14. For implementation detail please refer to RFC-1323.

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 12 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289

For LTE mobiles, it is necessary to enable and set this TCP Windows Scaling feature to achieve the high peak throughputs. 5.5 TCP SENDING WINDOW

Some servers have default TCP maximum sending window sizes. The TCP window is limited by both receiver advertised window size and the server sending window size. For servers under control, it is recommended that the server TCP sending window size be properly set such that it is no less than the receiver advertised window size in the client setting (see 5.3).

5.6

SELECTIVE ACKNOWLEDGEMENT (SACK)

Selective Acknowledgment (SACK) is described in RFC-2018 [8]. SACK allows the receiver to inform the sender about all the segments that are received successfully. Thus, the sender will only send the segments that actually got lost. SACK is a TCP option that can help improve the performance of the TCP. It is recommended to have this TCP option enabled at the server as well as at the client. Not all operating systems support SACK options.

Client Specific TCP/IP Protocol Stack Features

This section describes some of the TCP/IP Protocol Stack parameters on the client-side (end-user machines connected to the mobile terminal) of the network and their recommended values. The goal is to achieve the best performance over the LTE networks by setting these values to the recommended ones. 6.1 OPERATING SYSTEM

Because UE is only extensively tested with PC installed with Windows XP Professional at the time this document is written, the current version of this document only covers PC client installed with Windows XP Professional. Later version of this document may cover other operating systems such as Vista and Windows 7 if adequate testing is done on these operating systems. 6.2 IP LAYER MTU

When a 1500 bytes IP packet from a client PC is transmitted by eNB into S1-U interface, it is encapsulated into GTP tunnel, and the layer 3 overhead makes the IP packet size larger than eNB default MTU, which is 1500. The encapsulated IP packet is fragmented by eNB into two smaller IP packets, which will enter the S1-U interface of ALU 7750 SGW. At the moment this document is being written, handling fragmented IP packets on

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 13 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324

S1-U interface is not a feature of ALU 7750 SGW. As a result, it will cause significant application performance degradation for uplink traffic. Therefore, it is desirable to set layer 3 MTU to a smaller size on client PC. 6.3 TCP WINDOW SIZE

The TCP window size is by far the most important parameter to adjust for achieving maximum bandwidth across the LTE network. Properly setting the TCP window size can often increase the throughput. A TCP window is the amount of outstanding (unacknowledged by the recipient) data a sender can send on a particular connection before it gets an acknowledgment back from the receiver that it has gotten some of it. According to Microsoft, Windows XP Professional, Windows 2003 and 2008 Server do not use a hard-coded default TCP window size. Instead, TCP adjusts to even increments of the maximum segment size (MSS), which is negotiated during connection setup. 6.4 TIME STAMPING

Disabling TCP timestamps has been proven to improve the overall end-user experience; hence it is our recommendation to disable TCP time stamping. In most Microsoft operating systems, disabling the TCP time stamping can be done through setting a value in the Windows Registry. 6.5 SELECTIVE ACKNOWLEDGEMENT (SACK)

Selective Acknowledgment (SACK, as per RFC-2018) is an available TCP option in most Microsoft platforms. According to Microsoft, Windows XP, Windows Server 2003 and 2008 all have the SACK TCP option enabled by default. Performance analysis of the current LTE network showed that enabling SACK TCP option yields the better performance. So it is our recommendation to keep the SACK option enabled.

Windows TCP/IP Registry Entries

For information about how to edit the registry, view the "Changing Keys and Values" help topic in Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit Registry Data" help topics in Regedt32.exe. Note that you should back up the registry before you edit it. 7.1 EDIT REGISTRY FOR CLIENT PC RUNNING WINDOWS XP

This section specifies how to edit IPv4 and IPv6 registry for client PC running Microsoft Windows XP professional with SP3. Procedures to edit registry for client PC running newer Windows operating system such as Vista and Windows 7 may be provided in later version of this document.

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 14 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358

7.1.1

Install IPv6

From DOS prompt, run ipv6 install 7.1.2 Set IP MTU

This section provides procedures to edit registry to change IP MTU size for IPv4 and IPv6. 7.1.2.1 Set IPv4 MTU

It is recommended to set IPv4 MTU to 1428 bytes. Step 1 Make LTE call. Step 2 From DOS prompt, run ipconfig to get IPv4 address assigned to the UE. Step 3 Under registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Inte rfaces

there are several interfaces listed under it. Go through each of them and find out the one has the IPv4 address assigned to the UE. Then, under that particular key registry, add a DWORD entry MTU with digit value 1428: MTU = 1428 7.1.2.2 Set IPv6 MTU It is recommended to set IPv6 MTU to 1408 bytes Please note that the following procedures should be performed every time the UE makes a new attachment. It is recommended to set IPv6 MTU to 1408 bytes. Step 1 Make LTE call. Step 2 From DOS prompt, run ipv6 if, and find out the interface number for the LTE call (lets denote it as N). Step 3 From DOS prompt, run ipv6 p ifc N mtu 1408
Step 4 From DOS prompt, run ipv6 if N to verify the ipv6 mtu has been changed to 1408

7.1.3

Set TCP Window Size

This section provides procedures to set TCP window size for both IPv4 and IPv6.

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 15 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389

7.1.3.1 Set TCP Window Size for IPv4 It is recommended to set TCP receive window size to 0x7ffff (524287) bytes, and TCP sent window size to 0x3ffff (262143) bytes. Under registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters

add DWORD: DefaultReceiveWindow = 0x7ffff DefaultSendWindow = 0x1ffff Note that the Windows XP will add 128Kbytes to the value set in DefaultSendWindow to make the real send window size is 0x3ffff (262143). 7.1.3.2 Set TCP Window Size for IPv6 The IPv6 implementation in Windows XP only allows maximum TCP window size of 0xffff (65535) bytes. So, under registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters add DWORD TcpWindowSize = 0xffff

7.1.4

Set TCP Window Scaling

Because of the TCP window settings in AFD addressed in section 7.1.1, window scaling is always negotiated for IPv4. Therefore, there is no additional registry need to be updated for IPv4. For IPv6, the TCP window size is set to 65535, and it does not require window scaling in TCP header. So, there is no additional registry need to be updated for IPv6 either. 7.1.5 Set Time Stamping

By default, Windows XP does not use timestamp, so there is no need to edit any registry key to disable it. . 7.2 EDIT REGISTRY FOR APPLICATION SERVER

At the time this document is being written, we have extensively tested Microsoft Windows Server 2008. Therefore, this section specifies how to edit registry for Windows 2008 server. Editing registry foe other operating system such as Windows 2003 server and Linux server may be added in later version of this document,

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 16 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426

7.2.1

Set IP MTU

This section provides procedures to edit registry to change IP MTU size for IPv4 and IPv6. 7.2.1.1 Set IPv4 MTU It is recommended to set IPv4 MTU to 1428 bytes Step 1 From DOS prompt, run ipconfig to get IPv4 address for the interface, to which you want to make MTU change. Step 2 Under registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Inte rfaces

There are several interfaces listed under it. Go through each of them and find out the one has the IPv4 address assigned to the application server interface. Then, under that particular key registry, add a DWORD entry MTU with digit value 1428: MTU = 1428 7.2.1.2 Set IPv6 MTU It is recommended to set IPv6 MTU to 1408 bytes Step 1 From DOS prompt, run netsh interface ipv6 show interface to find the interface Index. Lets denote it as N. Step 2 From DOS prompt, run netsh interface ipv6 set interface interface=N mtu=1408 to set the IPv6 MTU size to 1408. Step 3 From DOS prompt, run netsh interface ipv6 show interface to verify the IPv6 MTU is changed to 1408 for that interface. Note 1: if the server is rebooted after the above steps, the IPv6 MTU size will go back to the default 1500. Note 2: it does not work to follow similar procedure in 7.2.1.1 to add DWORD MTU = 1408 in the corresponding interface entry under registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\Int erfaces

7.2.2

Set TCP Window Size

Windows 2008 server has the auto tuning feature for TCP receive window size. Therefore, there is no need to edit any registry for TCP windows size.

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 17 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467

7.2.3

Set TCP Window Scaling

Because Windows 2008 server has auto tuning feature enabled by default, the TCP window scaling is also enabled by default. Therefore, there is no need to edit any registry for TCP window scaling. 7.2.4 Set Time Stamping

By default, Windows 2008 server does not use timestamp, so there is no need to edit any registry key to disable it.

Client-Specific Features for HTTP Web Browsing

A typical web page consists of many referenced objects. A web-browser will begin serving a users request by fetching the initial HTML page using an HTTP GET request. After receiving the page, the web-browser will parse the HTML page for additional references to embedded objects such as image files, and then these objects are requested. This represents a serialized request-response nature of HTTP. Currently two versions of HTTP, HTTP/1.0 and HTTP/1.1 [9], are widely used. These two versions differ in how the transport layer TCP connections are used for the transfer of the HTML page and the embedded objects as described below. In HTTP/1.0, a distinct TCP connection is used for each of the main and embedded objects downloaded in a web page. Most of the popular browser clients download the embedded objects using multiple simultaneous TCP connections; this is known as HTTP/1.0-burst 552 mode transfer. The maximum number of such simultaneous TCP connections, N, is configurable; most browsers use a maximum of 4 simultaneous TCP connections. If there are more than N embedded objects, a new TCP connection is initiated when an existing connection is closed. The effects of slow-start and congestion control overhead of TCP occur on a per object basis. In HTTP/1.1, persistent TCP connections are used to download the objects, which are located at the same server and the objects are transferred serially over a single TCP connection; this is known as HTTP/1.1-persistent mode transfer. The TCP overhead of slow-start and congestion control occur only once per persistent connection. It is our recommendation to use HTTP/1.1 for the client web browser. HTTP/1.1 also defines a pipelining feature. With regular HTTP/1.1 persistent connection, HTTP requests are issued sequentially, with the next request being issued only after the response to the current request has been completely received. For networks with high latency, this can result in a significant delay and impact end user experience. HTTP/1.1 pipelining allows multiple HTTP requests to be issued before receiving the corresponding responses. The client then waits for the responses to arrive in the order in which they were requested. Pipelining HTTP requests can result in a dramatic improvement in page download time, especially over high latency connections.

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 18 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510

It is our recommendation to turn on HTTP/1.1 pipelining for client web browser. However, some popular web browsers (such as Internet Explorer) do not support HTTP/1.1 pipelining. For these web browsers, it is possible to use multiple simultaneous TCP connections, with each being an HTTP/1.1 persistent connection, to alleviate the delay caused by serialized request-response. It shall be noted that TCP slow-start and congestion control occur on a per persistent connection basis. So too many simultaneous connections will not only consume a lot of resources at client and server, but it may also hurt web browsing performance eventually. It is our recommendation to set the maximum number of simultaneous TCP connections to a single HTTP/1.1 server to 4 for web browsers that do not support HTTP/1.1 pipelining. For web browsers supporting pipelining, pipelining shall be used while the maximum number of simultaneous connections shall be kept as the default number, which is typically 2 in compliance to RFC 2068 [9] recommendations. It should be noted that setting the maximum number of simultaneous connections to 4 is a violation of RFC 2068, which recommends 2 simultaneous connections. However, as connection speeds increase and the number of total connections that are allowed to internet servers increase, the two-connection limit may be restrictive. This recommendation of maximum 4 simultaneous connections is for wireless applications only, with the purpose to combat the high latency induced by wireless access when HTTP/1.1 pipelining is not implemented.

8.1

INTERNET EXPLORER

Internet Explorer does not support HTTP/1.1 pipelining. This section describes how to configure Internet Explorer to have more than two simultaneous connections to a single HTTP/1.1 server [10]. Complying with RFC 2068, Internet Explorer limits the number of simultaneous connections to a single HTTP/1.1 server to two. However, as connection speeds increase and the number of total connections that are allowed to Internet servers increase, the twoconnection limit may be restrictive. One can exceed this limit by editing Windows registry. In registry key HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Int ernet Settings create and set the following registry entry: MaxConnectionsPerServer=4

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 19 of 20

Subject:

LTE Translation Application Notes: High Level Protocol Stack Parameter Optimization for LTE Data Networks

Date:

10th June 2010


1.0

Version

511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548

Sets the number of simultaneous TCP connections to a single HTTP 1.1 Server to 4. The default number is 2. This setting is made for a specific user and will have no effect on other users who log onto the machine.

8.2

NETSCAPE 8.0.X

Netscape 8.0.x supports HTTP/1.1 pipelining. This feature can be turned on through: With Netscape open type "about:config" (without quotes) in the address bar. Press Enter. You will see a new toolbar with the word "Filter:" just below your tabs. Type the word: pipe You should now have following entries: network.http.pipelining = false network.http.pipelining.maxrequests = 4 network.http.proxy.pipelining = false Double click on network.http.pipelining and the setting will change to: true (network.http.pipelining = true) Close Netscape browser to save these settings. Re-open Netscape for changes to take effect. Netscape 8.0.x has default setting of network.http.max-connections = 24 network.http.max-connections-639 per-server = 8 network.http.max-persistent-connections-per-server = 2

Summary of TCP/IP Protocol Stack Parameter Recommendations

Our recommendations for client TCP/IP protocol stack parameters are summarized as follows and are listed in the table below. IPv4 receive TCP window size: 0x7ffff (524287)Bytes IPv4 Send TCP window size: 0x3ffff (262143) Bytes IPv6 TCP window size: 0xffff (65535) Bytes TCP time stamping: Off TCP selective acknowledgment: On IPv4 MTU: 1428 IPv6 MTU: 1408

Alcatel-Lucent Technologies - Proprietary


Use pursuant to Company instructions.

Page 20 of 20

You might also like