传输控制协议在移动通信系统中的优化方法

文档序号:7557381阅读:120来源:国知局
专利名称:传输控制协议在移动通信系统中的优化方法
技术领域
本发明涉及传输控制技术,特别是指一种传输控制协议(TCP)在移动通信系统中的优化方法。
背景技术
TCP是一种基于IP网络的传输层协议,它为应用层提供一个有连接的、可靠的、字节流传输通道。TCP协议不仅可用于有线网络,还可适用于无线网络,但由于TCP协议制订和应用较早,该协议中很多算法、技术的应用都是基于有线网络开发的,当其应用于无线网络,比如传输承载由宽带码分多址(WCDMA)网络来承担时,因为在传输特性上发生了巨大的变化,会导致原有TCP协议无法和WCDMA网络很好的配合。
对于一个传输协议来说,是否能与当前承载网络良好配合的一个标准就是该传输协议是否能在承载网络提供的传输特性下最大限度的发挥承载网络提供的服务能力。在TCP协议中,主要使用的算法技术包括慢启动、确认机制、窗口机制等等,根据所述这些算法技术的实现来看,承载网络特性对TCP协议的使用主要存在两方面影响一方面是丢包;另一方面就是时延、时延抖动,移动网作为承载网络时该影响尤为明显。
以WCDMA作为承载网络为例,图1为一个TCP数据流在WCDMA网络中传输的典型实例,WCDMA网络为从移动终端接入的客户端提供系统网络承载,使客户端从服务器得到数据业务。由于数据业务主要集中在下行流量上,也就是说,数据流以下行为主,服务器要经过WCDMA网络的核心网和空口发送大量TCP数据包到达移动终端,再将这些TCP数据包经由移动终端最终到达客户端,所以通常会在WCDMA网络中建立一个上、下行不对称的通道,比如建立一个带宽分别为上行64Kbps、下行384Kbps的传输通道。
通常,在只进行正常的下行数据传输时,目前的TCP协议和WCDMA网络配合不会有太大的问题;但如果进行上下行数据同时传输,就会产生严重的问题。如图2所示,当客户端和服务器侧同时进行上下行数据传输时,下行TCP传输将会出现严重的时延抖动问题,这个时延抖动就是由上行通道中传输TCP数据包对下行数据确认消息的阻塞导致的。比如图2所示上行通道中的大方块表示大数据包,小方块表示诸如确认消息的传输信令,由于当前正在传输的大数据包在较窄的带宽中传输速度迟缓,那么就会导致排在后面的信令受到影响不能传输。
一般,可以根据对TCP传输机制的分析确定在时延抖动出现时,为保证传输吞吐量不受影响,需要在传输通道的吞吐量瓶颈处使用多少缓存来进行抑制。举个例子来说,假定时延抖动为X秒、瓶颈通道吞吐量为Y bps,瓶颈通道的缓存量为Z Bits,则为保证传输吞吐量不下降,存在公式(1)所示关系Z>Y*X (1)假设上行TCP通道的窗口为A Bits,往返时延为B秒,上行TCP通道吞吐量为C bps,则根据TCP慢启动算法特点,在上行通道上阻塞的数据量D、上行TCP通道的窗口A、往返时延B之间有如下关系D=A-B*C (2)根据阻塞的数据量D,可以知道它引起的时延抖动T为T=D/C=A/C-B (3)将公式(3)计算的时延抖动T带入公式(1)中的X,可以得到Z>Y*(A/C-B) (4)根据上下行的波动特点,Z较大时,B可以忽略,则公式(4)可以简化为Z>Y*A/C (5)在常见场景下,如果A=32Kbytes,Y=384Kbps,C=64Kbps,则可根据公式(5)计算出Z的范围
Z>32K*384K/64K=32K*6=192Kbytes或Z/A=Y/C=6那么,如果忽略B,则根据公式(3),引起的时延抖动T为T=A/C=32Kbytes/64kbps=4秒根据上述分析可以看出,为上行数据设置的TCP通道窗口要是下行TCP通道窗口的6倍,达到192Kbytes,且该数值是由上下行通道速率比例和上行TCP通道窗口大小来决定的。这里的上下行通道速率比例指的是上下行TCP通道吞吐量的比例。
通常,瓶颈通道的缓存量主要由下行TCP通道的窗口大小决定,但在TCP协议中,TCP窗口大小不会区分上下行,上下行TCP通道的窗口大小通常是一样的,且服务器通常只对发送窗口,即下行TCP通道窗口的大小进行限制,过大的缓存量对空口接入设备也会造成巨大压力,并很可能出现缓存溢出。当无法提供足够大的下行缓存时,下行吞吐量就会因为上行TCP通道数据的发送而大大下降,如果下行TCP通道窗口和上行TCP通道窗口一样为32Kbytes,则按最理想的情况,下行吞吐量也只能达到Z/(A/C)=32Kbytes/(32kbytes/8Kbytes)=8Kbytes与上行吞吐量一致。
如此就会造成空口资源的大量浪费,并且,在上下行数据同时传输的情况下,无法让下行使用高速率业务。而且,如此大的时延抖动会导致TCP协议处理认为出现丢包现象而进行数据重传,从而进一步浪费资源。

发明内容
有鉴于此,本发明的主要目的在于提供一种TCP协议在移动通信系统中的优化方法,能使TCP协议在移动通信系统的上下行不对称通道中同时进行传输时,减小下行吞吐量的下降幅度。
为达到上述目的,本发明的技术方案是这样实现的
一种传输控制协议TCP在移动通信系统中的优化方法,该方法包括在移动通信系统的发端将要传输的数据和传输层信令分别存储;进行上行TCP传输时,判断是否存在未发送的传输层信令,如果存在,则先将要发送的传输层信令通过空口发送给服务器侧,然后再将要发送的数据通过空口发送给服务器侧,否则,直接将要发送的数据通过空口发送给服务器侧。
该方法进一步包括在移动通信系统的发端设置两个队列,将要传输的数据和传输层信令分别存储于不同的队列中。
上述方案中,所述发端包括客户端和移动终端,所述队列设置于移动通信系统发端的移动终端上,则该方法进一步包括移动终端收到客户端发来的数据包后,判断当前所收到的数据包是否为传输层协议信令,如果是,则存放于传输层信令队列中,否则,存放于数据队列中。
其中,所述判断为移动终端解析当前所收到数据包的应用层协议头,根据协议头中的消息种类信息确定是否为传输层信令。或者,该方法进一步包括客户端在当前向移动终端发送的数据包IP头的服务类型域中设置信令属性标志,则所述判断为移动终端根据当前所收到数据包IP头的服务类型域中的信令属性标志确定是否为传输层信令。
上述方案中,所述发端包括客户端和移动终端,所述队列设置于移动通信系统发端的客户端上,则该方法为a1.客户端在向移动终端发送数据包之前,按照数据包的类别将要发送的数据和信令分别存放于不同的队列中;a2.客户端向移动终端发送数据包时,判断是否存在未发送的传输层信令,如果存在,则将要发送的传输层信令经过流量整形后发给移动终端,否则,将要发送的数据经过流量整形后发给移动终端;a3.移动终端收到客户端发来的数据包后,依次通过空口发送给服务器侧。
其中,该方法进一步包括客户端随时或定时从移动终端获取当前的空口传输速率,并按照所获取的空口传输速率进行流量整形。
上述方案中,所述发端包括客户端和移动终端,该方法进一步包括在移动终端和服务器之间、或移动终端和客户端之间设置TCP代理,所述队列设置于TCP代理上,TCP代理判断当前所收到的数据包是否为传输层协议信令,如果是,则存放于传输层信令队列中,否则,存放于数据队列中。
该方法进一步包括根据底层带宽和预测的时延抖动计算出数据包的分片长度,并按计算出的分片长度对要发送的数据进行动态分片后发送。
上述方案中,所述移动通信系统为宽带码分多址网络。所述传输层信令为TCP信令。
本发明所提供的TCP协议在移动通信系统中的优化方法,通过对TCP协议以及相关的传输技术进行一定的改造,使TCP协议与移动通信系统,如WCDMA网络,两者可以顺利的融合。按照本发明的实现方法,在上行通道上引起的最大时延抖动仅与一个数据包的长度相关,按IP包最大传输单元(MTU)通常为1500bytes计算,根据公式(5),将公式中的上行TCP通道窗口A改为IP包的MTU,则可以得到Z=1500bytes*6=9Kbytes,这是现有技术需要缓存量192kbytes的1/21;同时,可计算出引起的时延抖动为T=1500bytes/64kbps=187.5ms,该时延抖动也远远小于现有技术中4秒的时延抖动。可见,本发明的方法不仅能支持TCP协议在上下行不对称通道中的同时传输,同时还能解决上下行数据同传时,下行吞吐量大幅下降的问题。


图1为TCP数据流在WCDMA网络中的正常传输示意图;图2为TCP数据流在WCDMA网络中上下行同时传输的示意图;图3为本发明一实施例实现方案的示意图;图4为本发明另一实施例实现方案的示意图。
具体实施例方式
本发明的主要思想是针对上行传输,在移动通信系统的发端将要发送的数据与传输层协议信令分开存放,并设置信令的发送优先级大于数据的发送优先级,然后按优先级顺序优先发送信令消息,以此提高TCP在移动通信系统中不对称通道上进行上下行数据同时传输时高吞吐量的通道传输能力。这里,所述传输层协议信令可以是TCP信令;移动通信系统可以是WCDMA网络;可设置队列用于存放要发送的数据和传输层协议信令,也可以用其它方式存放。
由于上行传输是从客户端经由移动终端向服务器侧发送的,所以本发明思想中提到的发端包括客户端和移动终端两部分,因此本发明的方法可通过两种下面结合附图及具体实施例对本发明再作进一步详细的说明。这里,仅以队列方式分别存放数据和信令为例。
实施例一在移动终端上进行TCP协议优化。
如图3所示,在移动终端上设置两个不同优先级的队列上行数据队列和上行信令队列,其中,上行数据队列专门用于缓存数据包,上行信令队列专门用于缓存信令。这里,所述的信令是指应用层中的信令消息,如TCP的同步、释放、纯确认等消息。同时,设定上行信令队列的优先级高于上行数据队列的优先级。这样,就可以使信令消息具有高优先级别,在有上行TCP数据需要发送时,如果是TCP信令消息需要通过,则移动终端可以优先发送TCP信令消息。也就是说,每次在进行上行传输时,先判断上行信令队列是否为空,如果是,则发送上行数据队列中的数据包;如果不为空,则先将上行信令队列中的信令消息发送走,然后再发送上行数据队列中的数据包。
那么,如何识别当前需要通过的TCP数据为TCP信令消息,有两种方式第一种方式是,移动终端通过解析当前接收到的IP包的应用层协议头,来获取该消息的种类,因为每个IP包都有自己的标识,通过该标识就可以区分不同种类的IP包。如果是TCP信令消息,则将当前收到的IP包放置在上行信令队列中;否则,将当前收到的IP包放置在上行数据队列中。该方式仅仅需要对移动终端的处理流程稍加修改,增加解析获取消息种类、将数据包分类放置的步骤,实现简单易行。
第二种方式是客户端根据不同数据包的种类在IP包头的服务类型(TOS)域中设置信令属性标志,移动终端收到IP包后,只需根据IP包头TOS中的信令属性标志来决定按哪一种优先级来处理。比如对于需要放置在上行信令队列中的IP包,将其TOS中的信令属性标志设置为1,如果移动终端收到IP包后,发现TOS中的信令属性标志为1,则将当前收到的IP包放置在上行信令队列中;否则,将当前收到的IP包放置在上行数据队列中。或者是,仅对需要放置在上行信令队列中的IP包设置信令属性标志,其它IP包不设置。该方式需要对客户端和移动终端的处理流程分别进行相应的修改。
实施例二在客户端实现TCP协议优化。
在客户端优化方式下,移动终端不需要了解数据包的属性,只需要提供一个数据缓存,对数据包的分类全部在客户端完成,即客户端建立分别用于存储数据和存储信令的上行数据队列和上行信令队列,然后,客户端根据不同的数据包属性将数据包放入不同的缓存队列中,如图4所示。这里,由于客户端自身在发送数据包就知道所要封装的数据包的属性,所以很容易就可将要发送的数据包按照属性放入对应的缓存队列。同样,发送时也要先发送上行信令队列中的数据包,再发送上行数据队列中的数据包,可通过查询队列是否空确定当前要发送的数据包。
由于客户端与移动终端之间不存在带宽的限制,所以客户端需要进行TCP通道的流量整形,以限制流量的突发、保证数据包能以均匀的速率从客户端向移动终端发送。也就是说,客户端需要通过整形机制对不规则或不符合预定流量特性的报文流进行整形,控制发送到移动终端的数据包速率,以保证客户端的发送速度与移动终端的空口速率匹配。具体实现时,客户端还需要动态获取移动终端当前的空口传输速率,根据所获得的传输速率进行流量整形。比如客户端获知移动终端当前空口的传输速率为64kbps,则需要将自身要发送的数据包通过流量整形,基本控制在以64kbps速率进行传送。这里,所述的流量整形方法为现有技术,不再详细描述;至于传输速率的获取,只要客户端和移动终端之间相互配合,比如客户端以发请求的方式随时或定时从移动终端获取移动终端当前的空口传输速率。该方式也需要对客户端和移动终端的处理流程分别进行相应的修改,需要客户端与移动终端之间的配合。
在实际应用中,可根据不同情况使用以上两种方案中的任意一种,由于信令消息被优先处理,不会因为排在前面的大数据包发送缓慢而堵塞信令的发送,因此,本发明可以解决移动通信系统如WCDMA网中,不对称通道同传时上下行通道间的相互影响。
从上述两个实施例可以看出,上行通道的最大时延抖动只与一个数据包的长度相关,因为在每次传输完一个数据包后,都可以优先发送信令消息,可见,控制数据包的长度就可以更好的控制上行通道的最大时延抖动。因此,在上述两个实施例的基础上,本发明还可进一步采用动态分片技术,也就是将要传输的数据包根据需要划分为固定长度的数据包进行发送,以此来调节发送数据包的长度,从而控制尽量减少一个完整数据包在空口引起的时延抖动。具体的分片方法是先根据当前所提供的底层带宽和预先估计的时延抖动,计算出一个适当的分片长度,然后将要传输的数据包按计算出的分片长度进行划分后传输。这里,所述的底层带宽就相当于上行TCP通道的吞吐量,时延抖动的估计可以根据经验值或试验数据得到。比如如果当前提供的底层带宽为1Kbyte,预先估计的时延抖动为500ms,则分片长度一般为底层带宽与时延抖动之积,即分片长度应为1Kbyte*500ms=500byte。
在实际应用中,还可以通过在移动终端和服务器之间、或是移动终端和客户端之间增加一个TCP代理(PROXY)的方式来实现TCP协议的优化,该TCP代理完成的功能和优化处理过程与实施例一中移动终端完成的功能和处理流程类似。
总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种传输控制协议TCP在移动通信系统中的优化方法,其特征在于,该方法包括在移动通信系统的发端将要传输的数据和传输层信令分别存储;进行上行TCP传输时,判断是否存在未发送的传输层信令,如果存在,则先将要发送的传输层信令通过空口发送给服务器侧,然后再将要发送的数据通过空口发送给服务器侧,否则,直接将要发送的数据通过空口发送给服务器侧。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括在移动通信系统的发端设置两个队列,将要传输的数据和传输层信令分别存储于不同队列中。
3.根据权利要求2所述的方法,其特征在于,所述发端包括客户端和移动终端,所述队列设置于移动通信系统发端的移动终端上,则该方法进一步包括移动终端收到客户端发来的数据包后,判断当前所收到的数据包是否为传输层协议信令,如果是,则存放于传输层信令队列中,否则,存放于数据队列中。
4.根据权利要求3所述的方法,其特征在于,所述判断为移动终端解析当前所收到数据包的应用层协议头,根据协议头中的消息种类信息确定是否为传输层信令。
5.根据权利要求3所述的方法,其特征在于,该方法进一步包括客户端在当前向移动终端发送的数据包IP头的服务类型域中设置信令属性标志,则所述判断为移动终端根据当前所收到数据包IP头的服务类型域中的信令属性标志确定是否为传输层信令。
6.根据权利要求2所述的方法,其特征在于,所述发端包括客户端和移动终端,所述队列设置于移动通信系统发端的客户端上,则该方法为a1.客户端在向移动终端发送数据包之前,按照数据包的类别将要发送的数据和信令分别存放于不同的队列中;a2.客户端向移动终端发送数据包时,判断是否存在未发送的传输层信令,如果存在,则将要发送的传输层信令经过流量整形后发给移动终端,否则,将要发送的数据经过流量整形后发给移动终端;a3.移动终端收到客户端发来的数据包后,依次通过空口发送给服务器侧。
7.根据权利要求6所述的方法,其特征在于,该方法进一步包括客户端随时或定时从移动终端获取当前的空口传输速率,并按照所获取的空口传输速率进行流量整形。
8.根据权利要求2所述的方法,其特征在于,所述发端包括客户端和移动终端,该方法进一步包括在移动终端和服务器之间、或移动终端和客户端之间设置TCP代理,所述队列设置于TCP代理上,TCP代理判断当前所收到的数据包是否为传输层协议信令,如果是,则存放于传输层信令队列中,否则,存放于数据队列中。
9.根据权利要求3、6或8所述的方法,其特征在于,该方法进一步包括根据底层带宽和预测的时延抖动计算出数据包的分片长度,并按计算出的分片长度对要发送的数据进行动态分片后发送。
10.根据权利要求1所述的方法,其特征在于,所述移动通信系统为宽带码分多址网络。
11.根据权利要求1、3、6或8所述的方法,其特征在于,所述传输层信令为TCP信令。
全文摘要
本发明公开了一种传输控制协议TCP在移动通信系统中的优化方法,该方法包括在移动通信系统的发端将要传输的数据和传输层信令分别存储;进行上行TCP传输时,判断是否存在未发送的传输层信令,如果存在,则先将要发送的传输层信令通过空口发送给服务器侧,然后再将要发送的数据通过空口发送给服务器侧,否则,直接将要发送的数据通过空口发送给服务器侧。采用该方法能使TCP协议在移动通信系统的上下行不对称通道中同时进行传输时,减小下行吞吐量的下降幅度。
文档编号H04L29/06GK1625173SQ200310118209
公开日2005年6月8日 申请日期2003年12月5日 优先权日2003年12月5日
发明者蒋铭 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1