19
RAN TPE Parameter Description Issue 01 Date 2009-03-30 Huawei Proprietary and Confidential Copyright © Huawei Technologies Co., Ltd.

Tcp performance enhancer(tpe) pd

Embed Size (px)

Citation preview

Page 1: Tcp performance enhancer(tpe) pd

RAN

TPE Parameter Description

Issue 01

Date 2009-03-30

Huawei Proprietary and Confidential Copyright © Huawei Technologies Co.,

Ltd.

Page 2: Tcp performance enhancer(tpe) pd

Huawei Technologies Co., Ltd. provides customers with comprehensive technical support and service. For any assistance, please contact our local office or company headquarters.

Huawei Technologies Co., Ltd.

Address: Huawei Industrial Base

Bantian, Longgang

Shenzhen 518129

People's Republic of China

Website: http://www.huawei.com

Email: [email protected]

Copyright © Huawei Technologies Co., Ltd. 2009. All rights reserved.

No part of this document may be reproduced or transmitted in any form or by any means without prior written consent of Huawei Technologies Co., Ltd.

Trademarks and Permissions

and other Huawei trademarks are trademarks of Huawei Technologies Co., Ltd.All other trademarks and trade names mentioned in this document are the property of their respective holders.

Notice

The information in this document is subject to change without notice. Every effort has been made in the preparation of this document to ensure accuracy of the contents, but all statements, information, and recommendations in this document do not constitute the warranty of any kind, express or implied.

Huawei Proprietary and Confidential Copyright © Huawei Technologies Co.,

Ltd.

Page 3: Tcp performance enhancer(tpe) pd

RANTPE Parameter Description About This Document

About This Document

Author

Prepared by Zhao Fangming, Liao Junhua Date 2008-12-19

Edited by Cheng Xiaoli Date 2009-01-06

Reviewed by Zhao Fangming Date 2009-01-10

Translated by Fang Qin Date 2009-01-15

Tested by Hu Zengqiang Date 2009-03-20

Approved by Duan Zhongyi Date 2009-03-30

Issue 01 (2009-03-30) Huawei Proprietary and Confidential Copyright © Huawei Technologies Co.,

Ltd.

iii

Page 4: Tcp performance enhancer(tpe) pd

RANTPE Parameter Description Contents

Contents

1 Change History...........................................................................1-2

2 TPE Introduction.........................................................................2-2

3 TPE Algorithm.............................................................................3-23.1 Background Information................................................................................................................................3-2

3.1.1 Terms.....................................................................................................................................................3-2

3.1.2 Procedures.............................................................................................................................................3-2

3.2 TPE Algorithm Description............................................................................................................................3-2

3.2.1 Modification of the Offered Window....................................................................................................3-2

3.2.2 Split ACK..............................................................................................................................................3-2

3.2.3 Split ACK Monitor................................................................................................................................3-2

3.2.4 Duplicate DupACK...............................................................................................................................3-2

3.2.5 Local Retransmission............................................................................................................................3-2

3.2.6 Packet Sorting.......................................................................................................................................3-2

3.2.7 Active Construction of WS Identifier....................................................................................................3-2

3.2.8 Active Construction of ACK.................................................................................................................3-2

4 TPE Parameters..........................................................................4-2

5 Reference Documents.................................................................5-2

Issue 01 (2009-03-30) Huawei Proprietary and Confidential Copyright © Huawei Technologies Co.,

Ltd.

v

Page 5: Tcp performance enhancer(tpe) pd

RANTPE Parameter Description 1 Change History

1 Change History

The change history provides information on the changes in different document versions.

Document and Product Versions

Document Version RAN Version

01 (2009-03-30) 11.0

Draft (2009-03-10) 11.0

Draft (2009-01-15) 11.0

This document is based on the BSC6810 and 3900 series NodeBs.

The available time of each feature is subject to the RAN product roadmap.

There are two types of changes, which are defined as follows:

Feature change: refers to the change in the TPE feature.

Editorial change: refers to the change in the information that was inappropriately described or the addition of the information that was not described in the earlier version.

01 (2009-03-30)

This is the document for the first commercial release of RAN11.0.

Compared with issue draft (2009-03-10) of RAN11.0, this issue incorporates the following changes:

Change Type

Change Description Parameter Change

Feature change None. None.

Editorial change The description of modification of the Offered Window is added.

None.

Issue 01 (2009-03-30) Huawei Proprietary and Confidential Copyright © Huawei Technologies Co., Ltd.

1

Page 6: Tcp performance enhancer(tpe) pd

RANTPE Parameter Description 1 Change History

Draft (2009-03-10)

This is the second draft of the document for RAN11.0.

Compared with draft (2009-01-15) of RAN11.0, draft (2009-03-10) incorporates the following changes:

Change Type

Change Description Parameter Change

Feature change None. None.

Editorial change The description of background information is optimized.

The description of active construction of ACK is added.

None.

Draft (2009-01-15)

This is the initial draft of the document for RAN11.0.

This is a new document.

Issue 01 (2009-03-30) Huawei Proprietary and Confidential Copyright © Huawei Technologies Co., Ltd.

2

Page 7: Tcp performance enhancer(tpe) pd

RANTPE Parameter Description 3 TPE Algorithm

2 TPE Introduction

The Transmission Control Protocol (TCP) is a reliable transport layer protocol for the Internet. It provides reliable end-to-end stream of bytes for the Internet. It is widely used in email and file transfer services. The TCP is initially designed for wired communications. The performance optimization of the TCP is based on the assumption that the transmission network is a wired network.

With the development of wireless communications technologies, the wireless network will play a very important role in the future Internet. Wireless communications will extend to larger space and unpredictable meteorological environments. Considering the characteristics of wireless communications such as high bit error rate, long delay, and environmental changes, the TCP Performance Enhancer (TPE) technology is introduced into the wireless communications system to improve the performance of wireless IP network.

The TPE is a functional entity in the RNC. The TPE processes TCP/IP packets. In downlink transmission, it implements technologies such as data buffer sorting, modification of the Offered Window, split ACK, split ACK monitor, duplicate DupACK, local retransmission, active construction of Window Scaling (WS) identifier and active construction of ACK to improve transmission performance. In uplink transmission, the TPE processes data according to the normal TCP procedure.

The TPE algorithm is mainly oriented to downlink data transmission. It works independent of other network elements (NEs).

Intended Audience

This document is intended for:

System operators who need a general understanding of TPE.

Personnel working on Huawei products or systems.

Impact Impact on system performance

− The TPE eliminates the negative effect of packet loss, delay, and delay variation in downlink TCP data transmission at the wireless network side. It accelerates the slow start and congestion avoidance of the server in downlink data transmission. In addition, the TPE substantially reduces the impact of delay in downlink TCP data transmission at the wired network side.

Issue 01 (2009-03-30) Huawei Proprietary and Confidential Copyright © Huawei Technologies Co.,

Ltd.

1

Page 8: Tcp performance enhancer(tpe) pd

RANTPE Parameter Description 3 TPE Algorithm

− The TPE optimizes the performance of uplink TCP data transmission by adopting the uplink data buffer sorting technology, optimizes the simultaneous transmission of uplink and downlink data, and effectively improves the downlink data transmission rate.

Impact on other features

The TPE must be implemented before the PDCP header compression.

Network Element Involved

Table 2-1 lists the NEs involved in TPE.

Table 2-1 NEs involved in TPE

UE NodeB

RNC MSC Server

MGW SGSN GGSN HLR

– – √ – – – – –

–: not involved √: involved

UE = User Equipment, RNC = Radio Network Controller, MSC Server = Mobile Service Switching Center Server, MGW = Media Gateway, SGSN = Serving GPRS Support Node, GGSN = Gateway GPRS Support Node, HLR = Home Location Register

Issue 01 (2009-03-30) Huawei Proprietary and Confidential Copyright © Huawei Technologies Co.,

Ltd.

2

Page 9: Tcp performance enhancer(tpe) pd

RANTPE Parameter Description 3 TPE Algorithm

3 TPE Algorithm

3.1 Background Information

3.1.1 TermsTable 3-1 lists the TCP-related terms.

Table 3-1 TCP-related terms

Term Definition

MSS The Maximum Segment Size (MSS) is the largest amount of data, excluding the TCP headers, which TCP sends from the source end to the peer end in a single segment. When a TCP connection is established between two parties, the maximum packet size, that is, the MSS, is negotiated.

Receive Window

The Receive Window refers to the largest amount of data received by the receiver.

Congestion Window

The Congestion Window (cwnd for short) is used to limit the total amount of data that can be sent by a TCP connection. The Congestion Window frequently changes throughout the communication process of the TCP connection.

Offered Window

The Offered Window is the largest amount of data that the receiver can receive at this moment. It is used to limit the largest amount of unacknowledged data allowed by the sender.

Send Window The Send Window is the actual amount of data that can be sent currently. It is the smaller value between Congestion Window and Offered Window.

Slow Start Threshold

The Slow Start Threshold uses ssthresh for short. When cwnd is larger than or equal to ssthresh, the TCP connection enters the congestion avoidance phase.

RTT The round trip time (RTT) is the time during which the sender sends a packet to the receiver and the receiver returns an acknowledgement message.

DupACK The DupACK is the ACK packet whose sequence number is the same as

Issue 01 (2009-03-30) Huawei Proprietary and Confidential Copyright © Huawei Technologies Co.,

Ltd.

1

Page 10: Tcp performance enhancer(tpe) pd

RANTPE Parameter Description 3 TPE Algorithm

Term Definition

that of the previous ACK packet. If packet disorder or packet loss occurs during the transmission, the receiver sends DupACK packets to the sender.

WS The Window Scaling (WS) represents the window scaling factor. Its length is 32 bits. If the TCP window size field in the TCP header does not carry the WS option, the maximum value of the Receive Window is 65,535 bytes (64 kbytes); if it carries the WS option, the value of the Receive Window is greater than 64 kbytes. For example, WS = 1 indicates that the value of the Receive Window is 64 kbytes x 21, namely, 128 kbytes.

3.1.2 ProceduresIt is well known that data is transmitted in sequence only after a TCP connection is established through a three-way handshake. During transmission, congestion is controlled by adjusting the transmission rate. This involves three variables: Congestion Window (cwnd), Receive Window, and Slow Start Threshold (ssthresh). Once the sender detects packet loss due to retransmission timer timeout or repeated reception of ACK signaling, it adjusts the transmission rate. The TCP Reno is the most widely used TCP protocol version. It consists of four phases: slow start, congestion avoidance, fast recovery, and fast retransmission, as shown in Figure 3-1 and Figure 3-2. Here, assume that ssthresh is 64 kbytes.

Figure 3-1 Procedures of slow start and congestion avoidance

Issue 01 (2009-03-30) Huawei Proprietary and Confidential Copyright © Huawei Technologies Co.,

Ltd.

2

Page 11: Tcp performance enhancer(tpe) pd

RANTPE Parameter Description 3 TPE Algorithm

Figure 3-2 Procedures of fast retransmission and fast recovery

The end-to-end TCP connection goes through two phases: slow start and congestion avoidance. In the slow start phase, the Congestion Window is initialized to the length of two MSSs. Each time an ACK packet is received, the value of the Congestion Window is incremented by one MSS (unit: byte). In addition, the TCP connection maintains a Slow Start Threshold (ssthresh). When the value of cwnd reaches this threshold, the TCP connection enters the congestion avoidance phase.

In the congestion avoidance phase, the sender reduces the increment speed of the Congestion Window to avoid triggering network congestion. In this situation, the following congestion may occur:

RTT timeout: Set ssthresh to max {cwnd/2, 2 x MSS} and cwnd to 2 x MSS. The TCP connection enters the slow start phase again.

Repeated reception of DupACK packets: The TCP connection enters the fast retransmission and fast recovery phases. Set ssthresh and cwnd to max {cwnd/2, 2 x MSS}. Then, each time a DupACK packet is received, the value of cwnd is incremented by one MSS. This process is accomplished until the retransmitted packets are received. Set cwnd to ssthresh. The TCP connection enters the congestion avoidance phase again.

3.2 TPE Algorithm DescriptionThe TPE module functions in the RNC. When establishing a TCP connection, the TPE module sets up a TPE entity for the TCP connection to buffer the TCP data. The TPE improves the transmission performance based on the following technologies:

Modification of the Offered Window

Split ACK

Split ACK monitor

Duplicate DupACK

Local retransmission

Packet sorting

Issue 01 (2009-03-30) Huawei Proprietary and Confidential Copyright © Huawei Technologies Co.,

Ltd.

3

Page 12: Tcp performance enhancer(tpe) pd

RANTPE Parameter Description 3 TPE Algorithm

Active construction of WS identifier

Active construction of ACK

The TPE is an optional function, which is controlled by a license. The telecom operators can purchase and activate the license to enable the TPE function.

3.2.1 Modification of the Offered WindowBecause the Send Window is the smaller value between Congestion Window and Offered Window, if the Offered Window which is carried by the uplink ACK sent by UE is small, the data that the server can send is small too. In this case, if the quality of signals on the Uu interface becomes good, the buffer in the TPE entity will be emptied, and there will be no data to send.

To solve this problem, the TPE entity can modify the Offered Window carried by the uplink ACK to expedite data transmission from the server. Thus, the TPE entity can obtain and buffer more packets.

3.2.2 Split ACKIn the TCP mechanism, the sender (server) updates the Congestion Window according to the number of received ACK packets. If the number of ACK packets increases, the Congestion Window also increases.

Split ACK means that multiple ACKs are generated in response to the received packet. This function can be performed to generate more ACK packets.

According to the TCP protocol, when the sender receives an ACK packet in the slow start phase, the value of the Congestion Window is incremented by one MSS (unit: byte). After receiving the ACK from the receiver, the TPE determines whether to perform the split ACK function according to the conditions for triggering split ACK. If the conditions are met, the TPE performs the split ACK function to split one ACK into several ACKs and sends them to the sender to accelerate the increment of the Congestion Window at the sender and shorten the time of slow start.

The conditions for triggering split ACK are as follows:

The conditions for Split ACK Monitor are met.

If the packet requested by the TCP ACK sent by the UE does not exist in the TPE buffer, the TCP ACK cannot be split regardless of whether the conditions for split ACK monitor are met.

During the TCP link establishment, the third ACK in the three-way handshake is not split.

The ACK or DupACK with the same sequence number as the previous one, including the Offered Window update packet, is not split.

3.2.3 Split ACK MonitorSplit ACK monitor means that the TPE estimates the change of the Congestion Window at the sender and determines whether to perform split ACK according to the monitoring results.

ACK splitting can accelerate the increase of the Congestion Window. When the Congestion Window is greater than the Offered Window, the Send Window at the sender does not increase though the Congestion Window increases. The number of ACKs in the reverse direction, however, may increase. The purpose of split ACK monitor is to prevent unnecessary splitting.

Issue 01 (2009-03-30) Huawei Proprietary and Confidential Copyright © Huawei Technologies Co.,

Ltd.

4

Page 13: Tcp performance enhancer(tpe) pd

RANTPE Parameter Description 3 TPE Algorithm

Thus, the TPE needs to estimate the value of the Congestion Window (assume that the value is TPE_cwnd) and the Slow Start Threshold (assume that the value is TPE_ssthresh) and determines whether to perform split ACK according to the following rules:

When TPE_cwnd is smaller than the Receive Window at the UE side (the Receive Window is sent by the TPE to the sender, and its value is 64 kbytes x 2WS), perform split ACK.

Otherwise, the TPE does not perform split ACK.

3.2.4 Duplicate DupACKIn the TCP mechanism, after receiving three DupACKs, the sender retransmits the lost packets. After receiving the ACK from the UE, the TPE duplicates three DupACKs immediately to the sender to trigger retransmission if the TPE detects that packets requested by the ACK do not exist in the buffer. This shortens the time of packet retransmission.

3.2.5 Local RetransmissionWhen packet loss occurs on the air interface, the TPE performs local retransmission to the receiver (UE) instead of performing retransmission through the sender, thus reducing the retransmission time.

When the number of DupACKs received by the TPE from the UE reaches the specified threshold, the TPE performs local retransmission to retransmit the packet requested by the DupACKs to the UE.

3.2.6 Packet SortingTo prevent the TPE entity from using resources for a long time, each TPE entity has a protection timer. After receiving the first packet, the TPE starts the timer. If the TPE entity receives packets from the sender in the specified time, it restarts the protection timer; if the timer expires, all the data in the TPE buffer is delivered to the RLC layer and the corresponding TPE entity is deleted.

In addition, to improve the transmission efficiency, the TPE entity sequences the disordered packets in the uplink and the downlink:

Processing of disordered downlink packets

To prevent the retransmission caused by packet disorder and uplink transmission of unnecessary DupACKs, the TPE sorts the disordered downlink packets and then retransmits them to save transmission resources.

Processing of disordered uplink packets

The TPE sorts the uplink packets so that they can be sent to the core network in sequence. This prevents uplink packet disorder and ensures the transmission performance of uplink data.

3.2.7 Active Construction of WS IdentifierWhen the Send Window at the sender (server) is 64 kbytes, the TCP connection synchronization packet (SYN packet) does not carry the WS identifier by default. If the packet sent by the sender does not carry the WS identifier, the SYN ACK packet sent by the receiver does not carry the WS identifier, either. In this case, though the receiver capability may exceed 64 kbytes, the maximum value of the Send Window does not exceed 64 kbytes. When the receiver capability exceeds 64 kbytes, the throughput cannot be improved owing to the limitation of the Receive Window.

Issue 01 (2009-03-30) Huawei Proprietary and Confidential Copyright © Huawei Technologies Co.,

Ltd.

5

Page 14: Tcp performance enhancer(tpe) pd

RANTPE Parameter Description 3 TPE Algorithm

The TPE actively adds the WS identifier to the SYN packet so that the receiver can send the actual value of the Receive Window.

3.2.8 Active Construction of ACKWhen data is transmitted simultaneously in the uplink and the downlink, the server sends downlink ACK packets in reply to uplink packets while sending downlink packets, and the UE sends uplink ACK packets in reply to downlink packets while sending uplink packets. At the UE side, the uplink ACK packets in reply to downlink packets are arranged after the uplink packets, so do the downlink ACKs at the server side. As a result, the downlink and uplink packets are delayed when the uplink transmission and downlink transmission occur simultaneously, and the downlink and uplink rates are affected.

The TPE actively constructs uplink ACK packets in relpy to downlink packets and sends them to the server, which to some extent can prevent the uplink ACK packets from being blocked by the TCP layer. The active construction of ACK packets also has the following benefits:

Accelerating the window increment of the server

Providing sufficient data for the air interface

Improving the utilization of the air interface resources

Improving the downlink data transmission performance during the uplink and downlink simultaneous data transmission

Enhancing user experience

Issue 01 (2009-03-30) Huawei Proprietary and Confidential Copyright © Huawei Technologies Co.,

Ltd.

6

Page 15: Tcp performance enhancer(tpe) pd

RANTPE Parameter Description 5 Reference Documents

4 TPE Parameters

None.

Issue 01 (2009-03-30) Huawei Proprietary and Confidential Copyright © Huawei Technologies Co.,

Ltd.

1

Page 16: Tcp performance enhancer(tpe) pd

RANTPE Parameter Description 5 Reference Documents

5 Reference Documents

The following lists the reference document related to the feature:

1. RFC793

2. Basic Feature Description of Huawei UMTS RAN11.0 V1.5

3. Optional Feature Description of Huawei UMTS RAN11.0 V1.5

Issue 01 (2009-03-30) Huawei Proprietary and Confidential Copyright © Huawei Technologies Co.,

Ltd.

1