在非对称传输速率下提高数据传输效率的方法和装置制造方法及图纸

技术编号:5915746 阅读:273 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种在非对称传输速率下提高数据传输效率的方法和装置。该方法包括以下步骤:在接收数据包后,识别数据包的类型是数据报文还是控制报文,然后将类型为控制报文的数据包放入一控制队列中,且将类型为数据报文的数据包放入一数据队列中。在处理数据包时,首先处理并发送控制队列中的数据包,然后处理并发送数据队列中的数据包。通过赋予控制报文高优先级,能够使诸如ACK报文这样的控制报文尽早发送出去,从而避免因上、下行速率不对称造成的传输瓶颈。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其是涉及涉及在上下行非对称速率下的网络中提高数据 传输效率的方法。
技术介绍
移动终端和网络设备作为底层的承载,可以为应用程序提供传输链路,来完成数 据的传输。对于使用TCP/IP协议的应用程序,终端和网络设备之间传递的数据就是IP包。 FTP就是应用程序的一种,在终端和网络之间可以进行两个方向的数据传输,终端向网络传 输数据称为上行数据传输,网络向终端方向的数据传输称为下行数据传输。在基于TCP/IP 的有线或无线网络中,往往会给上、下行数据传输配置不同的速率。举例来说,在电信运营 商所提供的有线宽带业务中,一般下行方向数据速率较快,而上行的速率较慢。在无线网络 中,对于终端与无线设备之间的无线信道来说,每时每刻分配给某个终端的上行和下行资 源都可能是变化的,这也会导致上行速率与下行速率不相等的情况。总体而言,无论在有线 网络还是无线网络中,都会出现上行数据传输速率和下行数据传输速率不对称的情况。这 种非对称传输速率的情况会导致数据传输速率趋向速率较小的那一个,从而无法充分利用 信道资源。下面以无线网络为例来分析这一问题。如图1所示,终端(MQ本身包括非接入层、接入层和物理层,TCP/IP以及应用层 则属于应用程序的范畴,应用程序可以位于诸如个人计算机的计算设备侧。进行上行数据 传输的时候,TCP/IP数据包经过终端的非接入层、接入层和物理层,通过无线信道到达基站 子系统(BSS),后来又经过有线网络和互联网,最终到达应用服务器。下行数据传输则是相 反的过程。在图2所示的现有数据传输方案下,进行对上行数据传输的时候,在终端的协议 层完全是透明的。也就是说,终端根据收到的TCP/IP报文的先后顺序,进行拆包、组包的 操作,然后存放于缓存队列,如果得到物理层的获得上行无线资源的通知,表明可以发送数 据,则从缓存队列中取出数据,经过编码、调制过程,然后通过无线链路发送到网络一侧,在 网络一侧,经过有线网络传输,最终到达应用服务器。在下行数据传输的时候,终端的协议 层对于接收到的数据也完全是透明的,即终端接收到来自空口的消息,经过解调、解码、拆 包、组包的过程,然后依照接收到这些数据块的顺序递交给终端的应用层。而对终端一侧的应用程序和网络一侧的应用程序来说,将根据拥塞窗口和通告窗 口来进行流量控制。其中拥塞窗口是发送方用来进行流量控制的,通告窗口则是接收方用 来进行流量控制的。发送方根据拥塞窗口来决定是否需要继续发送TCP报文给对端,接收方则通过通 告窗口来告诉发送方是否可以继续接收TCP报文,这是TCP/IP协议所规定的。接收方是否 回复确认信息,一方面取决于收到的TCP报文段的个数,另一方面取决于接收方的周期定 时器,这两个条件符合其中一个,就会触发确认信息的传递。以拥塞窗口是两个报文段的大小为例,拥塞窗口 = 2920字节,通告窗口 =8192字节,报文段长度(LEN) = 1460字节最常见的就是隔一个包确认的情况,这个意思是接收方每收到两个TCP包就回复 一个ACK类型的确认信息。在只有一个方向上有数据传输的情况下,这个过程如图3所示。 可以看到,发送方在发送了两个报文段之后,因为达到了拥塞窗口,停止发送,而在接收方 一侧,在周期性定时器超时之前接收方就收到了两个TCP数据报文段,于是接收方会立即 回复确认报文给发送方,表明收到了这两个TCP数据报文,发送方在收到这个确认信息之 后,继续发送后面的TCP报文段。如果上行和下行FTP是同时进行的,那么在上下行空口速率基本对称的情况下, 发送方和接收方的消息序列如图4所示,上行FTP的数据传输标记为连接1,下行FTP数据 传输标记为连接2。由图中可以看到,在上行方向上,不仅有连接1的上行TCP数据报文段, 还有连接2下行报文的上行确认报文,而数据报文一般来说较长,需要较长的时间才能够 传递到另一端,而确认信息报文较短,传递时间相对较短,在上下行无线资源基本对称的情 况下,从应用层看到的数据传输速率也基本是对称的,无线资源基本上是被充分利用的。而在上下行无线资源不对称的情况下,传输就会出现瓶颈。仍以前述的上行FTP 和下行FTP的TCP参数为例,在一个FTP下载和FTP上传同时存在的情况,在无线资源的分 配上,下行无线资源是上行无线资源的两倍(这一般是通过时隙数的多少来实现的,例如 在GSM系统,上行分配一个时隙,下行分配两个时隙,就会出现下行无线资源是上行无线资 源两倍的情况)。从应用程序来说,只要拥塞窗口没有满,那么就会连续发送TCP数据报文 给承载,这里的承载就是用来发送数据的终端和无线网络子系统,从图5可以看出,由于在 空中接口上,上行方向的速率要比下行方向的速率慢,终端收到了两个下行方向的TCP数 据报文,只发送了一个上行方向的TCP数据报文,虽然收到了两个报文之后,可以产生一个 上行方向的TCP确认报文(ACK)。但是因为上行方向的数据早已从终端一侧的应用程序发 送到了终端承载,进入了缓存队列,ACK报文只能在第二个数据报文之后发送,网络侧在时 间点1和时间点2分别收到了终端发送的TCP数据报文,直到时间点3才收到了 ACK报文, 这使得网络侧因为不能够及时收到ACK报文,拥塞窗口无法移动,就不能继续发送TCP数据 报文,在时间点1和时间点2之间的下行无线资源就被浪费了,直到时间点3之后才能继续 向终端发送TCP数据报文。在上行无线资源是下行无线资源的两倍的情况下,也会发生同 样的问题。在上述现有方案下,虽然上下行的速率都是一直保持着,但是从应用层来看,上行 和下行的速率是基本相同的。从图5可以看出,上下行应用层的数据速率实际上都趋近于 两个方向上较小的一个无线资源的速率。于是整个网络的TCP数据传输效率就降低了。
技术实现思路
本专利技术所要解决的技术问题是提供一种在非对称传输速率下提高数据传输效率 的方法和装置。本专利技术为解决上述技术问题而采用的技术方案是提出一种在非对称传输速率下提高数据传输效率的方法,包括以下步骤在接收数据包后,识别数据包的类型是数据报文 还是控制报文,然后将类型为控制报文的数据包放入一控制队列中,且将类型为数据报文 的数据包放入一数据队列中。在处理数据包时,首先处理并发送控制队列中的数据包,然后 处理并发送数据队列中的数据包。在本专利技术一实施例中,识别数据包的类型是数据报文还是控制报文的步骤包括 解析数据包的包头部分。在本专利技术一实施例中,处理控制或数据队列中的数据包的步骤包括拆包和组包。在本专利技术一实施例中,数据包是TCP/IP协议包。本专利技术另提供一种在非对称传输速率下提高数据传输效率的装置,包括非接入层 模块、控制缓存、数据缓存、报文解析模块以及接入层处理模块。非接入层模块,用以接收数 据包。控制缓存和数据缓存分别用以存放控制队列和数据队列。报文解析模块可包含在非 接入层模块中,用以识别数据包的类型是数据报文还是控制报文。非接入层模块将类型为 控制报文的数据包放入控制缓存的控制队列中,并且将类型为数据报文的数据包放入数据 缓存的数据队列中。接入层处理模块可处理控制和数据队列中的数据包以生成待发送的数 据包,其中接入层处理模块优先处理控制队列中的数据包,然后处理数据队列中的数据包。在本专利技术一实本文档来自技高网
...

【技术保护点】
1.一种在非对称传输速率下提高数据传输效率的方法,包括:接收数据包;识别所述数据包的类型是数据报文还是控制报文;将类型为控制报文的数据包放入一控制队列中,且将类型为数据报文的数据包放入数据队列中;处理并发送控制队列中的数据包;以及处理并发送数据队列中的数据包。

【技术特征摘要】
1.一种在非对称传输速率下提高数据传输效率的方法,包括 接收数据包;识别所述数据包的类型是数据报文还是控制报文;将类型为控制报文的数据包放入一控制队列中,且将类型为数据报文的数据包放入数 据队列中;处理并发送控制队列中的数据包;以及 处理并发送数据队列中的数据包。2.如权利要求1所述的方法,其特征在于,识别所述数据包的类型是数据报文还是控 制报文的步骤包括解析所述数据包的包头部分。3.如权利要求1所述的方法,其特征在于,处理控制或数据队列中的数据包的步骤包括拆包和组包。4.如权利要求1所述的方法,其特征在于,所述数据包是TCP/IP协议包。5.一种在非对称传输速率下提高数据传输效率的装置,包括非接入层模块,用以接收数据包,所述非接入层模块包括报文解析模块,用以识别所述 数据包的类型是数据报文还是控制报文,...

【专利技术属性】
技术研发人员:李引新朱健安陈加明
申请(专利权)人:联芯科技有限公司
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1