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

RAN

TPE Parameter Description

Issue01

Date2009-03-30

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 BaseBantian, LonggangShenzhen 518129People'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.

NoticeThe 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.

Huawei Proprietary and Confidential Copyright Huawei Technologies Co., Ltd.

About This DocumentAuthorPrepared byZhao Fangming, Liao JunhuaDate2008-12-19

Edited byCheng XiaoliDate2009-01-06

Reviewed byZhao FangmingDate2009-01-10

Translated byFang QinDate2009-01-15

Tested byHu ZengqiangDate2009-03-20

Approved byDuan ZhongyiDate2009-03-30

RANTPE Parameter DescriptionAbout This Document

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

Contents1 Change History1-22 TPE Introduction2-23 TPE Algorithm3-23.1 Background Information3-23.1.1 Terms3-23.1.2 Procedures3-23.2 TPE Algorithm Description3-23.2.1 Modification of the Offered Window3-23.2.2 Split ACK3-23.2.3 Split ACK Monitor3-23.2.4 Duplicate DupACK3-23.2.5 Local Retransmission3-23.2.6 Packet Sorting3-23.2.7 Active Construction of WS Identifier3-23.2.8 Active Construction of ACK3-24 TPE Parameters4-25 Reference Documents5-2

RANTPE Parameter Description

RANTPE Parameter DescriptionContents

ivHuawei Proprietary and Confidential Copyright Huawei Technologies Co., Ltd. Issue ()

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

Change HistoryThe change history provides information on the changes in different document versions.Document and Product VersionsDocument VersionRAN 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 TypeChange DescriptionParameter Change

Feature changeNone.None.

Editorial changeThe description of modification of the Offered Window is added.None.

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 TypeChange DescriptionParameter Change

Feature changeNone.None.

Editorial changeThe 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.

1 Change HistoryRANTPE Parameter Description

RANTPE Parameter Description1 Change History

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

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

TPE IntroductionThe 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 AudienceThis document is intended for: System operators who need a general understanding of TPE.Personnel working on Huawei products or systems.ImpactImpact on system performanceThe 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.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 featuresThe TPE must be implemented before the PDCP header compression.Network Element InvolvedTable 2-1 lists the NEs involved in TPE.NEs involved in TPEUENodeBRNCMSC ServerMGWSGSNGGSNHLR

: not involved: involvedUE = 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

3 TPE AlgorithmRANTPE Parameter Description

RANTPE Parameter Description3 TPE Algorithm

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

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

TPE AlgorithmBackground InformationTermsTable 3-1 lists the TCP-related terms.TCP-related termsTermDefinition

MSSThe 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 WindowThe Receive Window refers to the largest amount of data received by the receiver.

Congestion WindowThe 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 WindowThe 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 WindowThe 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 ThresholdThe Slow Start Threshold uses ssthresh for short. When cwnd is larger than or equal to ssthresh, the TCP connection enters the congestion avoidance phase.

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

DupACKThe DupACK is the ACK packet whose sequence number is the same as that of the previous ACK packet. If packet disorder or packet loss occurs during the transmission, the receiver sends DupACK packets to the sender.

WSThe 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.

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.Procedures of slow start and congestion avoidance

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.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 WindowSplit ACKSplit ACK monitorDuplicate DupACKLocal retransmissionPacket sortingActive construction of WS identifierActive 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.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.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.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. 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.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.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.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 packetsTo 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 packetsThe 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.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.The TPE actively adds the WS identifier to the SYN packet so that the receiver can send the actual value of the Receive Window.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 serverProviding sufficient data for the air interfaceImproving the utilization of the air interface resourcesImproving the downlink data transmission performance during the uplink and downlink simultaneous data transmission Enhancing user experience

TPE ParametersNone.

RANTPE Parameter Description5 Reference Documents

Reference DocumentsThe following lists the reference document related to the feature:RFC793Basic Feature Description of Huawei UMTS RAN11.0 V1.5Optional Feature Description of Huawei UMTS RAN11.0 V1.5