提高无线网络传输性能的方法

文档序号:7959913阅读:317来源:国知局
专利名称:提高无线网络传输性能的方法
技术领域
本发明涉及无线网络传输技术,尤其涉及一种提高无线网络传输性能的方法。
背景技术
用户使用CDMA等无线网络提供的数据业务功能主要有Ftp、Telnet和Www-access(http)等形式。这些程序的传输层都采用了传输控制协议(TransmissionControl Protocol,TCP)。而TCP协议假定数据传输是在一个高可靠的链路上(有线网络),数据包的丢失主要是因为拥塞引起的,其比特误码率(bit error rate,BER)小于10(-9)。而无线网络提供的是一个不可靠的链路,其BER可以达到5%~50%,甚至100%,其原因主要有各种各样的干扰(如,噪声)、空中资源受限等等,而不是简单的拥塞。
TCP的拥塞主要表现为数据包的丢失和等待确认超时。对于拥塞,TCP会启动慢启动算法和拥塞避免算法。拥塞避免算法和慢启动算法主要维持两个变量,一个拥塞窗口cwnd和一个慢启动门限ssthresh。
具体的算法工作过程如下(参阅RFC 2001)1、对一个给定的连接,初始化拥塞窗口cwnd为1个报文段,慢启动门限ssthresh为65535个字节。
2、TCP输出例程的输出不能超过拥塞窗口cwnd和接收方通告窗口的大小。拥塞避免是发送方使用的流量控制,而通告窗口则是接收方进行的流量控制。前者是发送方感受到的网络拥塞的估计,而后者则与接收方在该连接上的可用缓存大小有关。
3、当拥塞发生时(超时或收到重复确认),慢启动门限ssthresh被设置为当前窗口大小的一半(拥塞窗口cwnd和接收方通告窗口大小的最小值,但最少为2个报文段)。此外,如果是超时引起了拥塞,则拥塞窗口cwnd被设置为1个报文段(这就是慢启动)。
4、当新的数据被对方确认时,就增加拥塞窗口cwnd,但增加的方法依赖于是否正在进行慢启动或拥塞避免。如果拥塞窗口cwnd小于或等于慢启动门限ssthresh,则正在进行慢启动,否则正在进行拥塞避免。慢启动一直持续到回到当拥塞发生时所处位置的时候才停止,然后转为执行拥塞避免。慢启动算法初始设置拥塞窗口cwnd为1个报文段,此后每收到一个确认就加1,这会使窗口按指数方式增长发送1个报文段,然后是2个,接着是4个...。拥塞避免算法要求每次收到一个确认时将拥塞窗口cwnd增加1/cwnd。与慢启动的指数增加比起来,这是一种加性增长(additive increase)。我们希望在一个往返时间内最多为cwnd增加1个报文段(不管在这个RTT中收到了多少个ACK),然而慢启动将根据这个往返时间中所收到的确认的个数增加拥塞窗口cwnd。
拥塞发生后,TCP进行丢失数据包的重传,TCP的重传之间不同的时间差是一个“指数退避”的倍乘关系,它们取整后分别为1、3、6、12、24、48和多个64。
从上面可知,当拥塞发生时,在无线链路上传输的数据包将会减少,严重情况下可以没有数据传输。
在无线网络中,由于无线环境的不稳定,干扰引起的误帧和丢帧必然频繁发生TCP拥塞,从而导致数据传输低谷,甚至无法传输。而在无线环境的稳定期间,由于慢启动算法、拥塞避免算法以及重传定时器的影响,不能及时进行丢失数据包的重传,导致TCP传输性能的下降。
Balakrishnan在基站的传输层采用一个叫snoop agent的方法来提高无线链路TCP的传输性能。Snoop agent解析上下行的TCP包,当发现上行有重复的ACK包或者等待ACK超时后,对未收到ACK包的TCP包进行重传。但是,在TCP包的发送方,等待ACK的定时器仍会超时,拥塞控制、慢启动算法仍会启动,所以snoop agent在空中口误帧较大的情况下并不能保证TCP的传输性能。
总之,现有技术在数据包的丢失的情况下TCP发送方的重传定时器仍会超时,仍会启动慢启动算法和拥塞避免算法;而且在空口误帧较大的情况下效果不明显,只在有突发误帧的情况下有些效果。

发明内容
本发明的目的在于提供一种提高无线网络传输性能的方法,以解决现有技术中存在不能及时重传丢失的数据包而导致TCP传输性能的下降的问题。
为解决上述问题,本发明提供以下技术方案一种提高无线网络传输性能的方法,该方法在接入设备的数据处理单元和无线接入单元之间设置传输控制协议(TCP)代理,并包括下述步骤TCP代理从字节流中分解出点到点协议(PPP)包,并至少从该PPP包中分解出TCP包;TCP代理将收到的下行TCP包以PPP包的形式存入下行发送缓冲区,并向发送端返回响应包;TCP代理将下行发送缓冲区的PPP包标上重传标记并发送给无线接收单元,由无线接收单元将该PPP包分成数据帧通过无线链路协议传送给终端;以及当无线链路协议无法传送PPP包中的数据帧时,无线接入单元丢弃该PPP包分成的所有数据帧并由无线接入单元重传该PPP包。
其中所述下行发送缓冲区大于收到的上行TCP包通告的最大通告窗口。
TCP代理根据上行TCP包中的通告窗口大小更新下行发送缓冲区的大小。
TCP代理在向发送端返回响应包时将下行发送缓冲区中空闲区的大小作为通告窗口的大小,并记录该响应包的确认序号。
TCP代理根据上行TCP包中的确认序号清除下行发送缓冲区内被无线终端确认的TCP包。
当所述上行TCP包中包含有上行数据时,TCP代理将该TCP包中的确认序号修改为记录的响应包的确认序号,将通告窗口大小修改为下行发送缓冲区中空闲区的大小后继续发送。
TCP代理还对无线终端发送的携带同步序号(SYN)标志的TCP包中的最大传输单元(MTU)选项进行修改。
TCP代理还从PPP包中分解出链路控制协议(LCP)包,记录该包中的最大接收单元和/或其他相关参数。
TCP代理还从PPP包中分解出网络控制协议(NCP)包,并记录IP报头压缩选项。
TCP代理对所述IP报头压缩选项进行修改,以启动IP报头压缩。
本发明具有以下有益效果1、通过下行TCP数据包的提前确认和通过窗口更新来对发送方的字节流进行控制,解决了由于无线口丢帧引起的TCP层的慢启动和拥塞避免问题;2、数据的重发无需等待发送方的重发定时器的超时,提高了TCP在通过无线链路传输的性能;3、能够最快速发现无线层丢帧,及时唯一的重传丢失的包,因而能最大化使用无线资源。


图1为本发明的网络传输结构示意图;图2为PPP包主要组成示意图;图3为本发明的流程图。
具体实施例方式
参阅图1所示,在无线链路上传输的字节流中的PPP包主要由链路控制协议(LCP)、网络控制协议(NCP)和传输控制协议(TCP)三种数据包组成。
参阅图2所示,本发明在接入设备的无线接入单元和数据处理单元之间增加一个传输控制协议(TCP)代理。
数据处理单元将服务器Server传送来的IP包封装为PPP包;TCP代理从字节流中分解出PPP包,对该PPP包中的LCP、NCP、IP包进行处理,并透传其他的数据包;无线接入单元主要透传PPP包组成的字节流,即无线接入单元把PPP包分成数据帧在通过无线链路传给无线终端。当发现数据帧丢失时,由无线接入单元重传丢失的PPP包。
参阅图3所示,TCP代理对TCP包的具体处理过程如下步骤10TCP代理从接收的字节流中分解出PPP包,并从PPP包中分解出TCP包。
步骤20TCP代理有序的接收下行TCP包,并将收到的每一个下行TCP包以PPP包的形式存入下行发送缓冲区,并给发送方回一个此PPP包中TCP包的响应(ACK)包。
在TCP代理中建立有下行发送缓冲区,该缓冲区的大小为收到的上行TCP包通告的最大通告窗口的N倍,其中N为大于1的整数。
TCP代理将ACK包中的16位通告窗口大小设置为下行发送缓冲区的空闲区大小idleWnd,通过此通告窗口的更新来对发送方的数据发送进行流控;当空闲区大小(即窗口大小)为零时可以只让发送方只发送1个字节的窗口探测包。TCP代理并记录该ACK包的32位确认序号m_Ackseq。ACK包可以采用类似于TCP协议中的延迟发送原则。
步骤30TCP代理将下行发送缓冲区的PPP包打上需要重传的重传标志(其他包都不重传)发送给无线接入单元。
TCP代理不负责TCP包的重传,只是把有序的TCP包构成的PPP包以整个包为一个单位传给无线接入单元。
步骤40无线接入单元把PPP包分成数据帧再通过无线链路传给无线终端,无线终端的PPP层再把数据帧组成PPP包交给上层处理。
TCP代理以PPP包为一个单位代替以字节为一个单位把包含TCP包的PPP包传给无线接入单元,无线接入单元以PPP包为单位处理字节流。
步骤50当发现无线链路协议因为重传超过次数等原因无法再重传某个PPP包中的某个数据帧时,无线接入单元丢弃整个PPP包分成的所有数据帧,然后重传此整个PPP包直到达到规定的重传次数。
步骤60接收到上行的TCP包,根据该TCP包中通告的通告窗口大小更新下行发送缓冲区的大小,并根据包中的有效32位确认序号清除下行发送缓冲区内被无线终端确认的TCP包。
如果该上行TCP包中包含有上行数据,则修改此包中的32位确认序号为响应包中的确认序号rn_Ackseq、修改16位窗口大小为下行发送缓冲区的空闲区大小idleWnd(无线终端的窗口更新被屏蔽了),更新效验和后继续发送,上行包不进行缓冲。
对于上行(无线终端发送的)TCP包中的SYN包,可以根据需要进行最大传送单元(MTU)的修改。修改目的主要是把TCP包的最大长度限定在某一个范围之内,因为TCP包长度越长,在无线链路因为丢帧无法重传时,重传的代价越大,相反如果限定TCP包的长度为一个适合的值(小于等于原值),相应的重传代价就比较小。
从上述可看出,对下行TCP包的提前确认和上行TCP包的通告窗口更新向数据发送方隐藏了无线链路,使其认为在有线网络上进行传输。
对TCP包的处理中,把PPP包的重传放在无线接入单元主要有如下好处1、无线接入单元能最早发现数据帧的丢失,在最短的时间内进行重传。由于空中口资源的限制,TCP计算往返时间(RTT)的范围将变化很大,不能在适当的时间进行PPP包的重传。
2、在无线接入单元重传,重传的PPP包永远只有一份,而放在TCP代理重传,一个PPP包可能会被重传多次,造成空中口资源的浪费。
3、由于无线接入单元确切的知道是哪个PPP包丢失了,基本上重传是有序的,不会造成无线终端的TCP层产生过多的重复ACK,从而触发拥塞避免。
TCP代理对LCP包的处理主要是记录包中的最大接收单元(Maximum-ReceiveUnit)、AsyncControlCharacterMap等参数,
TCP对NCP包的处理主要是记录IP报头压缩选项(IPCompressionProtocol),并可按照需要决定是否启动IP报头压缩。比如MA配置禁止启动IP报头压缩,那么MA则分别跟PPP的两端协商,拒绝IP报头压缩选项。
权利要求
1.一种提高无线网络传输性能的方法,其特征在于,在接入设备的数据处理单元和无线接入单元之间设置传输控制协议(TCP)代理,所述方法包括下述步骤TCP代理从字节流中分解出点到点协议(PPP)包,并至少从PPP包中分解出TCP包;TCP代理将收到的下行TCP包以PPP包的形式存入下行发送缓冲区,并向发送端返回响应包;TCP代理将下行发送缓冲区的PPP包标上重传标志并发送给无线接收单元,由无线接收单元将该PPP包分成数据帧通过无线链路协议传送给终端;以及当无线链路协议无法传送具有重传标志的PPP包中的数据帧时,无线接入单元丢弃该PPP包分成的所有数据帧并由无线接入单元重传该PPP包。
2.如权利要求1所述的方法,其特征在于,所述下行发送缓冲区大于收到的上行TCP包通告的最大通告窗口。
3.如权利要求2所述的方法,其特征在于,TCP代理根据上行TCP包中的通告窗口大小更新下行发送缓冲区的大小。
4.如权利要求1所述的方法,其特征在于,TCP代理在向发送端返回响应包时将下行发送缓冲区中空闲区的大小作为通告窗口的大小,并记录该响应包的确认序号。
5.如权利要求1或4所述的方法,其特征在于,TCP代理根据上行TCP包中的确认序号清除下行发送缓冲区内被无线终端确认的TCP包。
6.如权利要求5所述的方法,其特征在于,当所述上行TCP包中包含有上行数据时,TCP代理将该TCP包中的确认序号修改为记录的响应包的确认序号,将通告窗口大小修改为下行发送缓冲区中空闲区的大小后继续发送。
7.如权利要求1所述的方法,其特征在于,TCP代理还对无线终端发送的携带同步序号(SYN)标志的TCP包的最大传输单元(MTU)选项进行修改,以限定TCP包的最大长度。
8.如权利要求1所述的方法,其特征在于,TCP代理以PPP包为一个单位向无线接入单元发送数据包。
9.如权利要求1所述的方法,其特征在于,TCP代理还从PPP包中分解出链路控制协议(LCP)包,记录该包中的最大接收单元和/或其他相关参数。
10.如权利要求1或9所述的方法,其特征在于,TCP代理还从PPP包中分解出网络控制协议(NCP)包,并记录IP报头压缩选项。
11.如权利要求10所述的方法,其特征在于,TCP代理对所述IP报头压缩选项进行修改,以启动或禁止IP报头压缩。
全文摘要
本发明公开了一种提高无线网络传输性能的方法,该方法在接入设备的数据处理单元和无线接入单元之间设置传输控制协议代理,TCP代理从字节流中分解出PPP包并从该包中分解出TCP包;TCP代理将收到的下行TCP包以PPP包的形式存入下行发送缓冲区并向发送端返回响应包;TCP代理将下行发送缓冲区的PPP包标上重传标记并发送给无线接收单元,由无线接收单元传送给终端;当无线链路协议无法传送PPP包中的数据帧时,由无线接入单元重传该PPP包。
文档编号H04L29/06GK1592299SQ0315768
公开日2005年3月9日 申请日期2003年9月5日 优先权日2003年9月5日
发明者李卫星 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1