TCP Optimization Feature Description 44/221 04-LZA 701 6014/1 Uen D2 Copyright © Ericsson AB 2016. All rights reserved. No part of this document may be reproduced in any form without the written permission of the copyright owner. Disclaimer The contents of this document are subject to revision without notice due to continued progress in methodology, design and manufacturing. Ericsson shall have no liability for any error or damage of any kind resulting from the use of this document. Trademark List All trademarks mentioned herein are the property of their respective owners. These are shown in the document Trademark Information. 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 Contents Contents 1 Introduction 1 1.1 Basic Characteristics 1 1.2 TCP Optimization Summary 1 1.3 Additional Information 2 2 Feature Operation 3 2.1 Network Requirements 3 2.2 Feature Operation Sequence Diagram 3 2.3 Process Steps 4 2.4 Basic Configuration 4 2.5 TCP Congestion Control 5 2.6 PDCP SDU Timer Discard in the Uplink 6 3 Parameters 8 3.1 Feature Configuration Parameters 8 3.2 Affected Parameters 9 4 Network Impact 11 5 Associated Features and Affected Functions 12 5.1 Prerequisite Features 12 5.2 Affected Features 12 5.3 Related Features 12 5.4 Affected System Functions 13 6 Performance 14 6.1 KPIs 14 6.2 Counters 14 6.3 Events 15 7 Activate TCP Optimization 16 8 Deactivate TCP Optimization 17 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 TCP Optimization 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 Introduction 1 Introduction This document describes the TCP Optimization feature and its main benefits and impacts in the LTE RAN. It is assumed that the reader has a deep understanding of TCP and TCP congestion control. 1.1 Basic Characteristics This section describes the basic characteristics of the feature. Feature name: TCP Optimization Product identity: DU Radio Node, see Feature Overview Baseband Radio Node, see Licensed Feature Overview Replaces: N/A Dependencies This feature requires the following RAN features to be active: • This feature has no prerequisite features. This feature affects the following RAN features: 1.2 • Delay-Based Scheduling and Grant Estimation • Data Forwarding at Intra-LTE Handover • RLC in Unacknowledged Mode TCP Optimization Summary This section describes the benefits of this feature. The TCP Optimization feature is useful to provide a low queuing delay, while maintaining high link utilization and thereby improving the perceived end-user performance in terms of system responsiveness without sacrificing throughput. The feature is also capable of maintaining a more stable cell throughput under load. 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 1 TCP Optimization 1.3 Additional Information More information about this feature and related topics can be found in the following documentation: 2 • Quality of Service • 3GPP TS 36.323: Packet Data Convergence Protocol (PDCP) • 3GPP TS 36.331: Radio Resource Control (RRC); Protocol specification • 3GPP TS 23.203: Policy and charging control architecture 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 Feature Operation 2 Feature Operation This section describes the TCP Optimization feature in more detail, including network configuration requirements and operation flows. 2.1 Network Requirements This is a licensed feature. This means that for the feature to be operational, a valid license key must be installed and the feature must be explicitly activated by setting a MOM attribute. 2.2 Feature Operation Sequence Diagram The TCP Optimization feature uses a delay-based Active Queue Management (AQM) algorithm discarding packets before the buffer is full, and thus provides rapid feedback to the traffic sender for Transmission Control Protocol (TCP) traffic. Delay-based AQM has two active modes. Mode 1 is for TCP type traffic and mode 2 is for Guaranteed Bit Rate (GBR) such as Voice over LTE (VoLTE). See Figure 1. Packet source AQM Packet sink RBS UE Packet sink PDCP Packet source L0000489B Figure 1 Figure 1 Delay-based AQM Algorithm Implemented in the RBS and UL PDCP SDU Timer discard in UE. 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 3 TCP Optimization 2.3 Process Steps This section describes the main process steps for the feature flow. The delay-based AQM algorithm makes use of the TCP congestion avoidance Algorithm, see TCP Congestion Control on page 5. TCP assumes that a packet loss is due to congestion and therefore it will reduce the number of bytes it has in flight (congestion window). By discarding a packet we can reduce the TCP congestion window which results in a shorter queue. In LTE RAN, the AQM algorithm is implemented in RBS for the downlink only. However, the UE is configured to use PDCP Service Data Unit (SDU) timer discard in the uplink. The delay-based AQM algorithm makes use of parameters based on the type of traffic managed. For non-GBR data traffic, the algorithm discards a packet only once it reaches a threshold of age in the buffer, at the same time maintaining a minimum of packets in the buffer, ensuring that the link utilization is high while keeping the queueing delay low. For GBR traffic, the timer threshold is given by the Packet Delay Budget (PDB) value, as defined in 3GPP TS 23.203. The queues apply "drop from tail", which means that the incoming packets are dropped. This delays the congestion signal to the TCP sender which can lead to more packet loss. There are two mechanisms for packet discard, regardless whether TCP Optimization is activated: Packet discard due to full buffer This could either be due to the maximum number of PDCP SDUs per bearer or per eNodeB. The maximum number of PDCP SDUs per radio bearer is dependent of the hardware and the UE category. The maximum number of PDCP SDUs per eNodeB is dependant on the memory. Incoming packets are discarded. Stale packets discard Packets older than the maximum age threshold are discarded, see Table 3. The threshold is 1 second in AQM Mode 0. The oldest, i.e. the first, packets are discarded. 2.4 Basic Configuration The TCP Optimization feature introduces a new aqmMode parameter under the qciProfilePredefined MO in the QCI table (see Table 3). The internal configuration of the AQM algorithm depends on the AQM mode for the Quality of Service Class Indicator (QCI) of the bearer in question. Configuration is done slightly different depending on the AQM mode. There 4 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 Feature Operation are two active AQM modes; the first mode is optimized for GBR services and the second is optimized for non-GBR services assumed to use TCP. In general, these map to the resource type with some exceptions for important traffic, see Table 3. The AQM Mode can be one of the following: 2.5 AQM mode 0 No AQM is used. Packets are discarded if the maximum number of packets for each radio bearer or per eNodeB has been reached. Packets may also be discarded if they become older than 1 second. The UE is configured to not use PDCP SDU timer discard. AQM mode 1 Primarily for non-GBR bearers or bearers with TCP type traffic. The UE is configured to use PDCP SDU timer discard. A packet is discarded if it becomes older than the minimum age threshold. All packets older than the maximum age threshold are discarded. If there is packet in queue, there is a time between discards. Let minimumInterDropTime = 2*minimumAgeThreshold. Keep lower drop threshold = 5 packets in queue AQM mode 2 Used for GBR bearers. Packets older than the PDB may be discarded. Packets older than twice the PDB are discarded. The UE is configured to use PDCP SDU timer discard. Keep lower drop threshold = 5 packets in queue. TCP Congestion Control The congestion control in TCP comprises four intertwined algorithms: the slow-start, the congestion avoidance, the fast-retransmit and fast-recovery algorithms. This document focuses on the congestion avoidance phase, even though these principles are equally applicable during the whole lifetime of a connection. An end-point in the network cannot know the true Pipe Capacity (PC) for the connection; instead it has to probe for the PC and therefore the bottleneck rate. TCP uses three types of signals; if an ACK is received it is a signal that more bandwidth is available, if a packet is dropped it is a signal of light congestion, and if there are many packet drops, or, a time-out, it is a signal of serious congestion. TCP acts on these signals by changing its congestion window or by starting all over with the initial settings. Packets are lost for two reasons – they are lost in transit or the network is congested. The TCP congestion control assumes that a packet was lost due to congestion. This assumption is used by this feature. Since the congestion window is halved at a congestion event (or put in another way, the TCP sender stops sending for one RTT), the minimum age threshold is optimally set to one PC, 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 5 TCP Optimization assuming a standard compliant TCP sender and TCP New Reno. This ensures that the queue is not emptied after a packet discard. Measured in time, the optimal threshold becomes one RTT. The estimated RTT is by default 100 ms in order to prioritize throughput when PC changes suddenly. Since TCP increases the congestion window slowly, and due to the high likelihood of improved radio conditions in the target cell after handover, the minimum age threshold is set to twice the estimated RTT. This has the benefit that the link utilization will be high also after handover. The drawback is that the delay in normal operation is slightly higher. The TCP congestion control, with an IETF Standard compliant TCP sender and optimal configuration of the eNodeB queue size is shown in Figure 2. Outstanding bytes Discard 2 PC Packets in the eNB queue 1 PC Packets in the pipe Non-empty queue 0 t L0000618A Figure 2 TCP congestion control, with an IETF Standard compliant TCP sender and optimal configuration of the eNodeB queue size. The aim is to have a non-empty queue after a packet discard. 2.6 PDCP SDU Timer Discard in the Uplink If the AQM Mode is set to 1 or 2, the UE will be configured to use PDCP SDU timer discard through RRC signalling. If AQM Mode is set to 0 (effectively disabling the feature) the PDCP SDU timer discard will be configured with a value of infinity. The configured value depends on the downlink value. There are only 8 allowed values for discardTimer in the IE PDCP-Config defined in 3GPP TS 36.331: Radio Resource Control (RRC); Protocol specification, so the nearest value greater than the minimum age threshold is chosen (see Table 1). 6 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 Feature Operation Table 1 PDCP SDU timer discard values (discardTimer) in the uplink Enum Name Description 0 ms50 Packet discarded after 50 ms 1 ms100 Packet discarded after 100 ms 2 ms150 Packet discarded after 150 ms 3 ms300 Packet discarded after 300 ms 4 ms500 Packet discarded after 500 ms 5 ms750 Packet discarded after 750 ms 6 ms1500 Packet discarded after 1500 ms 7 infinity Packet never discarded 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 7 TCP Optimization 3 Parameters This section describes configuration parameters for the TCP Optimization feature and parameters affected by activating the feature. 3.1 Feature Configuration Parameters The structure of the TCP Optimization MOM is shown in Figure 3. <<MO Class>> ManagedElement 1 1 1 1 <<MO Class>> ENodeBFunction <<MO Class>> SystemFunctions 1 1 1 <<MO Class>> EUtranCellFDD 1 <<MO Class>> QciTable 1 <<MO Class>> Licensing estimatedE2ERTT 1 1 1 10 <<MO Class>> QciProfilePredefined <<MO Class>> OptionalFeatures aqmMode pdb 1 1 <<MO Class>> TCPOptimization L0000617D Figure 3 TCP Optimization MOM structure Attributes to configure AQM are described in Table 2. 8 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 Parameters Table 2 AQM Attributes of MO QciProfilePredefined and QciProfileOperatorDefined to Configure Parameter Description MO QciProfilePredefined: aqmMode MO QciProfileOperatorDefined: aqmMode Indicates the operating modes of the AQM algorithm for specific QCIprofile QCI characteristics are shown in Table 3. Table 3 QCI Characteristics Resource Type QCI AQM Mode PDB Minimum Age Threshold Maximum Age Threshold Example services GBR 1 2 100 ms PDB 2• PDB Conversational voice 2 2 150 ms PDB 2• PDB Conversational video (live streaming) 3 2 50 ms PDB 2• PDB Real time gaming 4 2 300 ms PDB 2• PDB Non-conversational video (buffered streaming) 5 0 100 ms N/A 1s IMS Signalling 6 1 300 ms 200 ms 1s Video (Buffered Streaming) TCP-based (for example, www, email, chat, ftp, p2p file sharing, progressive video, and so on) 7 1 100 ms 200 ms 1s Voice, Video (Live Streaming) Interactive Gaming 8 1 200 ms 200 ms 1s Video (Buffered Streaming),TCP-based (for example, www, email, chat, ftp, p2p file sharing, progressive video, and so on) 9 1 200 ms 200 ms 1s Video (Buffered Streaming), TCP-based (for example, www, email, chat, ftp, p2p file sharing, progressive video, and so on) NonGBR 3.2 Affected Parameters The Packet Delay Budget from the pdb parameter in MO QciProfilePredefined and QciProfileOperatorDefined is used in AQM Mode 2 as the minimum age threshold. The maximum age threshold is twice the PDB. The pdb parameter is described in Table 4. 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 9 TCP Optimization Table 4 Affected parameters in MO QciProfilePredefined and QciProfileOperatorDefined Parameter Description MO QciProfilePredefined: pdb MO QciProfileOperatorDefined: pdb The contribution from eNodeB to the Packet Delay Budget (PDB) for a QCI. Packet delays outside eNodeB, for example in the transport network, are excluded. For more information about PDB, see 3GPP TS 23.203: Policy and charging control architecture. 10 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 Network Impact 4 Network Impact This section describes how the TCP Optimization feature impacts the network functions and capabilities. This is a feature that impacts the end-to-end behavior, especially TCP behavior. The TCP Optimization feature has an impact on ULPacketLossRate. This happens because UE discards the PDCP packet, resulting in a discontinuous sequence number in eNodeB. Also, retainability is improved. 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 11 TCP Optimization 5 Associated Features and Affected Functions This section describes how the TCP Optimization feature affects other features and functions. 5.1 Prerequisite Features This feature has no prerequisite features. 5.2 Affected Features This section provides information on features that are affected by TCP Optimization. 5.2.1 Delay-Based Scheduling and Grant Estimation The feature Delay-Based Scheduling and Grant Estimation delays packets so that TCP Optimization discards are triggered for GBR bearers if AQM Mode 2 is selected and SchedulingAlgorithm MO in QciProfilePredefined or QciProfileOperatorDefined is set to DELAY_BASED. In case AQM Mode 0 is selected there is no dependency for the QCI in question. 5.2.2 Data Forwarding at Intra-LTE Handover Packets that are forwarded over S1 or X2 are rejuvenated when they arrive in the target eNodeB, since their age is unknown to the receiving side. Packets are timestamped when they are arriving in PDCP, and TCP Optimization acts on the age only when these packets have been sent to RLC. Due to the improved radio conditions in the target cell, a higher PC is needed to have high link utilization. The minimum age threshold is therefore doubled at the expense of higher delay in normal operation. The gain is higher throughput after handover. 5.3 Related Features This feature is not related to any other feature. 12 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 Associated Features and Affected Functions 5.4 Affected System Functions This feature affects no system functions. 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 13 TCP Optimization 6 Performance This section describes performance indicators, counters, and events associated with the TCP Optimization feature. 6.1 KPIs This feature has no associated Key Performance Indicators (KPIs). 6.2 Counters Table 5 lists the counters associated with the TCP Optimization feature. Note: Table 5 The counters exist in the following MO classes: • EUtranCellFDD • EUtranCellTDD Counters Counter Description pmPdcpPktDiscDlAqm Number of discarded PDCP (Packet Data Convergence Protocol) packets in downlink due to the AQM algorithm This is a PEG counter that is incremented by one for each discarded packet. pmPdcpPktDiscDlAqmQci The number of discarded PDCP packets in downlink due to AQM algorithm for each specific QCI This is a Probability Density Function (PDF) counter where each QCI interval is incremented by one for each discarded packet for that QCI. More information about counters can be found in Managed Object Model (MOM). Impacted counters are listed in Table 6. Note: 14 The counters exist in the following MO classes: • EUtranCellFDD • EUtranCellTDD 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 Performance Table 6 Impacted counters Counter Description pmRlcDelayTimeDl Aggregated time for the downlink RLC delay measure. The time for each sample is the time difference between reception of a PDCP SDU until it is scheduled and sent to the MAC layer for transmission over the air. Only applicable to DRB packets. pmRlcDelayPktTransDl Number of samples for RLC delay measurements. pmRlcDelayTimeDlQci Aggregated DL RLC delay for a measurement period per QCI. The time for each sample is the time difference between reception of a PDCP SDU until it is scheduled and sent to the MAC layer for transmission over the air. Only applicable to DRB packets. pmRlcDelayPktTransDlQci Number of samples for DL RLC delay measurements during a measurement period per QCI. pmPdcpPktLostUI Total number of DRB packets (PDCP SDUs) lost in the uplink. 6.3 Events Table 7 lists the events associated with the TCP Optimization feature. Table 7 Events Event Event Parameter Description INTERNAL_PER_UE_RB_TRAFFI C_REP EVENT_PARAM_PER_DRB_PACKET_DISC_A QM_DL Total number of packets (PDCP SDUs) for which no part has been transmitted over the air in the downlink direction that are discarded due to AQM algorithm For a full list with detailed information about PM events, see the list files in the List Files library folder. 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 15 TCP Optimization 7 Activate TCP Optimization Prerequisites • The license key is installed in the node. • Continuous Cell Trace Recording (CCTR) is activated since at least one week. This ensures there is troubleshooting data available if something goes wrong. Steps 1. Set the attribute featureState to ACTIVATED in the applicable MO instance, depending on node type: Node Type License Control MO DU Radio Node OptionalFeatureLicense=TcpOptimizat ion Baseband-based Node FeatureState=CXC4011050 After This Task Let the CCTR be active for one week, for continued collection of troubleshooting data. 16 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 Deactivate TCP Optimization 8 Deactivate TCP Optimization Prerequisites Continuous Cell Trace Recording (CCTR) is activated since at least one week. This ensures there is troubleshooting data available if something goes wrong. Steps 1. Set the attribute featureState to DEACTIVATED in the applicable MO instance, depending on node type: Node Type License Control MO DU Radio Node OptionalFeatureLicense=TcpOptimizat ion Baseband-based FeatureState=CXC4011050 After This Task Let the CCTR be active for one week, for continued collection of troubleshooting data. 44/221 04-LZA 701 6014/1 Uen D2 | 2016-11-30 17