华为TD-SCDMA TPE功能开通指导和测试方法

华为TPE功能开通指导和测试方法

网优中心

1. TPE功能原理介绍

1.1 概述

在无线通信中引入TCP技术后,由于原有的TCP技术不能很好的适应无线通信高误码、长时延等特点,导致传输性能不够理想。因此在无线通信系统引入TPE(TCP Performance Enhance)技术,以提升无线IP传输性能。

TPE是一种提升无线网络中TCP数传性能的算法方案,由TPE功能模块对TCP/IP包进行解析和额外的处理,提升了TCP数传效率和数据业务吞吐率;面对越来越多的数据业务,最大限度地提高和保证其性能。

TPE也可被称作TCP代理,它对TCP/IP数据包进行处理,在下行数据传输中采用数据包缓存排序、本地重传、捎带包分离ACK等技术提升性能,在上行数据传输中采用了数据包缓存排序、分裂ACK(Acknowledgement)、分裂ACK监控、复制DupACK(Duplicate Acknowledgement)等技术提升性能。通过以上技术,TPE能够加速数据传输过程中的慢启动和快速重传过程,提升上下行数据传输性能。

TPE是在RNC中实现的功能实体,不需要其他网元配合。

1.2 应用场景

TPE特性适用于所有PS业务,特别是以下场景: ? 空口环境不稳定,时好时差的场景。 ? 有线侧时延较大的场景。 ? 信号条件比较差的场景。 ? 有丢包或者分组乱序的场景。

1.3 TPE功能原理

TPE模块在RNC中实现。在建立TCP连接时,TPE模块为该TCP连接建立TPE实体,以实现对TCP/IP数据包的处理。TPE建立后,TCP数据包不再透明的流过RLC,而是要经过TPE模块的代理。在上行数据传输中,Server侧为接收端,UE侧为发送端;在下行数据传输中,UE侧为接收端,Server侧为发送端。

在进行上下行数据传输时,TPE主要采用以下技术提升传输性能: ? 分裂ACK ? 分裂ACK监控 ? 复制DupACK ? 本地重传

? 上下行数据包缓存和排序

分裂ACK

在TCP机制中,发送端根据收到的ACK数目更新拥塞窗口。如果增加ACK数量,则可以加速拥塞窗口的增长。

TPE实体可以对接收端回复的ACK包进行分裂,以加快拥塞窗口的增长。

分裂ACK是指产生多个ACK以应对收到的一个数据包。根据TCP协议,在慢启动阶段,发送端每收到1个ACK包,拥塞窗口会增加1个MSS长度,单位为byte。TPE接收到接收端回复的ACK后,首先根据分裂ACK功能触发原则判决是否执行分裂ACK功能。如果满足条件,TPE执行分裂ACK功能,将1个ACK分裂成多个ACK发送至发送端,从而达到加速拥塞窗口的增长、缩短慢启动时间等目的。

拥塞窗口:(Congestion Window,简称CWND)用于限制一个TCP连接当前可以发送的数据总量,在整个连接过程中拥塞窗口是不断变化的。

MSS:(Maximum Segment Size)即最大报文段长度,表示TCP源端传到对端的最大数据块的长度,不包括TCP报文头。在通信双发建立TCP连接时,需要进行MSS协商。

慢启动:数据传输过程分为4个阶段,包括慢启动、拥塞避免、快速恢复、快速重传。当拥塞窗口大于或等于慢启动门限ssthresh后,即从慢启动阶段进入到拥塞避免阶段。

分裂ACK功能触发原则如下:

? 要触发分裂ACK功能必须先满足“分裂ACK监控”的原则。

? TCP建立链路时,用于进行三次握手的ACK不进行分裂。

? 与之前序号SEQ重复的ACK或DupACK,包括通告窗口更新包,不进行分裂 通告窗口:表示接收端目前还能接收的最大数据量,用于限制在当前发送端所允许的非确认数据传输的最大数量

分裂ACK监控

ACK分裂监控功能是指在TPE代理处估计Server侧的拥塞窗口的变化情况,并通过该窗口来确定是否执行分裂ACK。

分裂ACK技术能够加速拥塞窗口增长,但是因为发送端的发送窗口=min{拥塞窗口,通告窗口}。因此当拥塞窗口大于或等于通告窗口时,再增加拥塞窗口就没有用了。进行分裂ACK监控的目的就是为了避免不必要的分裂。为此TPE需要估计发送端拥塞窗口的大小,并根据下面的准则判断是否进行分裂ACK动作:

? 当TPE_cwnd小于TPE反馈给Server的UE侧接收窗口(64Kbytes*TPE记录的窗口

扩大因子的大小)时,那么执行分裂ACK行为。 ? 否则,不执行分裂ACK动作。

发送窗口:当前实际可以发送的数据量,取值为拥塞窗口和通告窗口的最小值。 接收窗口:接收端能够接收的最大数据量。

复制DupACK

TPE实体可以根据UE发送的上行ACK包复制DupACK包给Server侧。

在TCP机制中,如果发送端收到3个DupACK,就将重传丢失分组。在TPE收到UE的ACK后,如果检测到ACK所请求包不在缓存中,那么立即复制3个DupACK给发送端(Server)以立即触发重传,从而缩短分组重传所花费的时间,整体上提升了TCP数据传输性能。

本地重传

在进行下行数据传输时,TPE实体可以将缓存中的数据向UE重传。

服务器发送的数据包,首先在TPE中缓存,再由TPE发送给UE。当TPE到UE之间丢包后,如果该丢包还在TPE实体的缓存中时,该DupACK进行拦截。当这些DupACK达到一定次数后,TPE向UE进行本地重传,而不是通过Server的重传来进行,从而缩短了重传时间,另外也较大程度的避免了快速重传中Server拥塞窗口的减半操作。

下行数据包缓存和排序

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4