CN102130756B - 数据传输方法和装置 - Google Patents
数据传输方法和装置 Download PDFInfo
- Publication number
- CN102130756B CN102130756B CN201110052890.7A CN201110052890A CN102130756B CN 102130756 B CN102130756 B CN 102130756B CN 201110052890 A CN201110052890 A CN 201110052890A CN 102130756 B CN102130756 B CN 102130756B
- Authority
- CN
- China
- Prior art keywords
- packet
- sequence number
- ack
- receiving
- tcp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例公开了一种数据传输方法和装置。其中,数据传输方法主要包括:接收发送端发送的数据包,并记录接收到的数据包的信息;将接收到的数据包经由某协议层发送给接收端;在所述某协议层接收到所述接收端对发送端发送的数据包确认信息后,根据生成的数据包映射关系,查找记录的数据包的信息,其中,所述数据包映射关系为所述记录的数据包与所述某协议层接收到的数据包的对应关系;根据查找到的数据包的信息,构造发送到发送端的应答消息ACK。本发明实施例提供的方法和装置,通过主动构造ACK发送至发送端,从而提高了上、下行同时数传的传输速率。
Description
本申请是对申请日为2008年7月17日,申请号为200810141665.9的发明创造名称为数据传输方法和装置的发明专利申请的分案申请。
技术领域
本发明实施例涉及移动通信领域,尤指一种数据传输技术。
背景技术
对于无线领域的分组PS业务,一般采用传输控制协议TCP。在无线网络中,无线网络的特性如高时延、可变的数据速率、不对称性、时延尖峰以及带宽抖动都会影响TCP的性能。随着数据业务使用的不断发展,用户需求的业务质量QoS也会越来越高,如何提升TCP在无线承载中的传输性能就显得尤为重要。
对于上、下行同时进行数据传输,其传输过程包括上传过程和下传过程。上行过程是由终端发送数据包给服务器,在收到服务器的应答消息ACK包后,终端滑动窗口发送新的数据包;下行过程是由服务器发送数据包给终端,在收到终端的ACK包后,服务器滑动窗口发送新的数据包。服务器发送数据包时,也会发送上行数据包的ACK包,终端发送数据包时,也会发送下行数据包的ACK包。
上、下行同时进行数据传输的吞吐量性能是评价无线系统重要的性能指标。然而,在实现本发明的过程中,发明人发现现有技术的方法至少存在如下问题:在现网测试中,上、下行同时进行数据传输的下行过程速率低且波动大,这是由于在终端的TCP层,下行数据包的ACK通常会排在上行数据包的后面,导致下行数据包的ACK被延时,严重影响下行数传性能,用户感受度较差。
发明内容
本发明实施例解决的主要技术问题是提供了一种数据传输方法,对于上、下行同时进行数传时,可以提高下行数传的性能,增强用户感受。
本发明实施例提供了一种数据传输方法,主要包括:
TCP功能增强实体接收发送端发送的数据包,并记录接收到的数据包的信息,其中所述TCP功能增强实体为部署在发送端和接收端的数据传输过程中的中间一个节点上的实体;
所述TCP功能增强实体将接收到的数据包经由某协议层发送给接收端,其中,所述某协议层与所述接收端之间存在确认机制;
在所述某协议层接收到所述接收端对发送端发送的数据包确认信息后,所述TCP功能增强实体根据生成的数据包映射关系,查找数据包的信息,其中,所述数据包映射关系为所述TCP功能增强实体接收的数据包与所述某协议层接收到的数据包的对应关系,所述数据包映射关系存储在所述TCP功能增强实体或者所述某协议层;
所述TCP功能增强实体根据查找到的数据包的信息,构造发送到发送端的ACK。
本发明实施例还提供了一种数据传输装置,所述数据传输装置为部署在发送端和接收端数据传输过程中的中间一个节点上的传输控制协议(TCP)功能增强实体,所述装置包括:接收单元,用于接收发送端发送的数据包,并记录接收到的数据包的信息;发送单元,用于将所述接收单元接收到的数据包经由某协议层发送给接收端,其中,所述某协议层与所述接收端之间存在确认机制;查找单元,用于在所述某协议层接收到所述接收端对发送端发送的数据包确认信息后,根据生成的数据包映射关系,查找记录的接收到的数据包的信息,其中,所述数据包映射关系为所述接收单元记录的数据包与所述某协议层接收到的数据包的对应关系,所述数据包映射关系存储在所述TCP功能增强实体或者所述某协议层;构造单元,根据所述查找单元查找到的数据包的信息,构造发送到发送端的应答消息ACK。
本发明实施例还提供了一种中间网元,主要包括上述实施例中的数据传输装置和某协议层,所述某协议层为所述中间网元的任意一个协议层,和接收端存在确认机制,接收端接收到数据包给某协议层反馈确认信息;
所述某协议层和所述数据传输装置之间共享数据包映射关系,在所述某协议层接收到所述接收端反馈的确认信息后,所述数据传输装置根据所述数据包映射关系,构造ACK发送至所述发送端。
综上,本发明实施例提供的方法和装置,在某协议层接收到接收端反馈的确认信息后,通过主动构造ACK发送至发送端,可以一定程度上避免数据包的ACK受阻于接收端的TCP层,加快发送端滑动窗口,为空口提供比较充足的数据,避免空口没有数据可发送的现象产生,从而提高空口利用率、提升上下行同时数传的下行数传性能,并增强用户感受。
附图说明
图1为本发明一实施例提供的数据传输方法流程图;
图2为本发明另一实施例提供的数据传输方法流程图;
图3为本发明一实施例提供的数据传输装置结构示意图;
图4为本发明另一实施例提供的数据传输装置结构示意图;
图5为本发明一实施例提供的中间网元结构示意图。
具体实施方式
本发明一实施例提供了一种数据传输方法,该数据传输过程可以由在发送端和接收端的数据传输过程中的中间一个节点上增加的TCP功能增强实体,如TCP代理来完成。如图1所示,该方法可以包括:
S101,接收发送端发送的数据包,并记录接收到的数据包的信息;
当接收到发送端发送的数据包后,按照接收到的数据包的顺序依次记录其序号,序号可以采用递增方式,如收到的第一个数据包可将其序号记为1,收到的第二个数据包则记为2......依此类推。为了避免序号位数过大,可以加到一定数值后再重新进行循环编号,例如,当序号达到65535后,再从1重新进行编号,如此循环往复,以满足大量数据包的要求。如果收到的数据包为TCP包,还需要记录该TCP的包长和TCP序列号。
S102,将接收到的数据包经由某协议层发送给接收端;
接收到的数据包可以通过某协议层发送给接收端,某协议层可以为无线链路控制RLC层。该协议层也可以对其接收到的数据包进行相关记录,如按照接收到的顺序,记录数据包的序号。
S103,在某协议层接收到接收端对发送端发送的数据包确认信息后,根据生成的数据包映射关系查找记录的数据包的信息;
其中,数据包映射关系反映的是所述记录的数据包与所述某协议层接收到的数据包的对应关系,可以为一个映射表。该数据包映射关系的生成过程可以为:由于S101中,对接收到的数据包信息进行了记录,某协议层也会对收到的数据包的序号进行记录,这个序号和TCP代理记录的数据包序号是一一对应的。也就是说TCP代理收到第一个数据包记序号为1,则某协议层将收到的第一个数据包也记序号为1,依此类推,则某协议层和TCP代理的数据包顺序是一一对应的,可以将这种一一对应的关系称为数据包映射关系。
需要说明的是,此处的TCP功能增强实体可以部署在网络中多个不同的位置,例如,包括但不限于:互联网中,核心网侧,无线接入网侧等。同样地,某协议层,也可以部署在网络中多个不同的位置。
其中,此处的某协议层和接收端之间存在确认机制,接收端接收到发送端的数据包后,会给某协议层反馈确认信息。
当某协议层收到接收端反馈的确认信息后,就可以知道哪些数据包被接收端正确接收了。那么结合生成的数据包映射关系查找到对应的数据包的信息,也就知道TCP代理处转发的哪些数据包被接收端正确接收了。
此外,该数据包映射关系可以存储在某协议层,也可以存储在TCP代理中。TCP代理和某协议层之间对该数据包映射关系是共享的。
需要说明的是,本发明实施例中,仅是对于如何记录接收到的数据包的方式进行举例说明,还可以有其他的记录方式,只要能根据记录的序号或者编号通过数据包映射关系查找到对应的数据包信息即可。
S104,根据查找到的数据包的信息,构造发送到发送端的ACK;
由于发送端在接收到接收端的ACK后,才会继续向接收端发送发送数据包,为了避免ACK受阻于接收端,可以通过TCP功能增强实体,如TCP代理构造ACK发送至发送端。
当TCP代理还未收到接收端的对某一数据包的TCPACK,但是某协议层已经收到了接收端对该数据包的确认信息时,也就可以确认接收端已经正确接收到了发送端发送的数据包,则可以由TCP代理构造ACK发送至发送端。构造该ACK的方法可以为:根据由数据包映射关系查找到的数据包信息构造ACK,该数据包信息可以包括序号、TCP包的序列号和包长等,则构造的ACK的序列号为将TCP包的序列号加上包长。TCP代理将构造的ACK发送给发送端,并记录该构造的ACK的序列号。
综上,本发明实施例提供的数据传输方法,通过由在发送端和接收端的数据传输过程中的中间一个节点上增加的TCP功能增强实体,如TCP代理,主动构造ACK发送至发送端,从而提高了上、下行同时数传的传输速率。
当在发送端和接收端的数据传输过程中的中间一个节点上增加的TCP功能增强实体,如TCP代理,在构造ACK前,可以判断是否收到过接收端反馈的对应数据包的TCPACK,如果没有,就构造ACK发送给发送端;此外,收到接收端反馈的TCPACK后,也可以判断是否已经构造过相应的ACK发送至发送端,如果没有,才将其转发至发送端,如果已经构造过,则将接收端反馈的TCPACK丢弃。这是由于如果发送端后收到的ACK的序列号小于之前收到的ACK的序列号的话,会将序列号小的ACK丢弃。下面将通过具体的实施例进行说明:
本发明另一实施例提供了一种数据传输方法,用于上、下行同时数传,该实施例中,以发送端为服务器,接收端为终端,发送端和接收端的数据传输过程中的中间一个节点上增加的TCP功能增强实体为TCP代理,某协议层为无线链路控制层RLC为例进行说明,如图2所示,该方法可以包括:
S201,TCP代理接收服务器发送的数据包,并记录接收到数据包的信息;
对于下行传输过程,服务器发送给终端的数据包,需要通过TCP代理转发,因此数据包都会经过TCP代理,则可以按照接收到的数据包的顺序依次记录其序号,序号可以采用递增方式,如收到的第一个数据包可将其序号记为1,收到的第二个数据包则记为2......依此类推。如果收到的数据包为TCP包,还需要记录该TCP的包长和序列号。包长和序列号信息可以从TCP的包头的信息获取。
S202,将接收到的数据包经由RLC层发送给终端;
接收到的数据包可以通过RLC层发送给终端,RLC层也可以对其接收到的数据包进行相关记录,如按照接收到的顺序,记录数据包的序号。
S203,根据记录的数据包信息,生成数据包映射关系;
其中,生成的数据包映射关系可以以数据包映射表的形式保存。
需要说明的是,该数据包映射关系可以存储在TCP代理,也可以存储在RLC层。TCP代理和RLC层之间共享该数据包映射关系。本实施例中,以TCP代理生成数据包映射关系为例进行说明。
RLC层也会记录接收到的数据包的序号,也就是说TCP代理收到第一个数据包记序号为1,则RLC层收到的第一个数据包也记序号为1,依此类推,RLC层和TCP代理的数据包顺序是一一对应的,可以将这种一一对应的关系称为数据包映射关系。
S204,在RLC层接收到终端的确认信息后,根据数据包映射关系查找对应的数据包信息;
需要说明的是,此处的终端是一个广义的概念,包括终端设备及其协议层。
RLC层可以有确认/非确认两种工作模式,此处利用的是RLC层和终端之间的数据传输确认机制。业务数据单元SDU经过RLC层被拆分成协议数据单元PDU发送给终端,终端接收到PDU后,会给RLC层反馈确认信息,表示终端接收到了服务器的数据包。RLC层根据接收到的终端的确认信息,就可以知道哪些数据包被终端正确接收了,从而通过查找S202中的数据包映射关系,也就知道TCP代理处的哪些数据包被终端接收到了,由于TCP代理也同时记录了TCP包的包长和TCP序列号等数据包信息,从而也就查找到了对应的数据包的信息。
S205,根据查找到的数据包的信息,判断是否需要构造ACK;
对于终端发送给TCP代理的TCPACK,TCP代理也会记录该TCPACK的序列号。
其中,数据包信息可以包括数据包的序号、TCP包的包长和TCP序列号等,根据查找到的数据包信息,可以知道将要构造的ACK的序列号,例如,第一个数据包的序列号为1,包长为1460,那么将要构造的ACK的序列号为1461,第二个数据包的序列号为1461,将要构造的ACK序列号为2921......依此类推。
通过比较TCP代理中记录的终端反馈的TCPACK的序列号和将要构造的ACK序列号的大小,就可以判断是否需要构造ACK。TCP代理中可能会记录有至少一个终端反馈的TCPACK的序列号,将TCP代理中记录的最大的TCPACK的序列号与将要构造的ACK序列号进行比较,如果TCP代理中记录的终端反馈的最大的TCPACK的序列号大于或等于将要构造的ACK序列号,说明TCP代理已经接收到过终端发送的TCPACK,不需要构造ACK,重复执行S201及其后续步骤;如果TCP代理中记录的终端反馈的最大的TCPACK的序列号小于将要构造的ACK序列号,说明TCP代理没有接收到过终端反馈的TCPACK,需要构造ACK,执行S205。
S206,构造ACK,并发送给服务器。
TCP代理没有接收到过终端反馈的TCPACK,则由TCP代理主动构造ACK发送给服务器。服务器接收到ACK后,就可以滑动窗口发送新的数据。
构造的ACK的序列号为TCP包的包长加上序列号,例如,第一个数据包的序列号为1,包长为1460,那么构造的ACK的序列号为1461,第二个数据包的序列号为1461,包长为1460,构造的ACK序列号为2921......依此类推。在TCP代理可以记录构造的ACK的序列号。
此外,如果TCP代理接收到终端反馈的TCPACK,也需要将终端反馈的TCPACK序列号和TCP代理中记录的构造的ACK序列号进行比较。TCP代理中会记录有多个构造的ACK,可以将终端反馈的TCPACK序列号与记录的最大的构造的ACK序列号进行比较,如果终端反馈的TCPACK序列号小于或等于记录的最大的构造的ACK序列号,说明TCP代理已经给服务器发送过相应的ACK了,则TCP代理不需要将终端发送的ACK发往服务器,可以将其丢弃,否则,将其发往服务器,并记录接收到终端反馈的TCPACK序列号。
由此可见,通过本发明实施例提供的数据传输方法,通过TCP代理构造ACK发往服务器,可以一定程度上避免下行数据包的ACK受阻于终端的TCP层,加快服务器滑动窗口,为空口提供比较充足的数据,避免空口没有数据可发送的现象产生,从而提高空口利用率、提升上下行同时数传的下行数传性能,并增强用户感受。
本发明一实施例提供了一种数据传输装置,如图3所示,该装置可以包括:
接收单元301,用于接收发送端发送的数据包,并记录接收到的数据包的信息;
当接收到发送端发送的数据包后,按照接收到的数据包的顺序依次记录其序号,序号可以采用递增方式,如收到的第一个数据包可将其序号记为1,收到的第二个数据包则记为2......依此类推。为了避免序号位数过大,可以加到一定数值后再重新进行循环编号,例如,当序号达到65535后,再从1重新进行编号,如此循环往复,以满足大量数据包的要求。如果收到的数据包为TCP包,还需要记录该TCP的包长和序列号。
发送单元302,用于将接收到的数据包经由某协议层发送给接收端;
接收到的数据包可以通过某协议层发送给接收端,某协议层可以为无线链路控制RLC层。该协议层也可以对其接收到的数据包进行相关记录,如按照接收到的顺序,记录数据包的序号。
查找单元303,用于在某协议层接收到接收端对发送端发送的数据包确认信息后,根据生成的数据包映射关系,通过接收单元301查找对应的数据包的信息;
此处,某协议层和接收端之间存在确认机制,接收端接收到发送端的数据包后,会给某协议层反馈确认信息。
数据包映射关系反映的是数据传输装置和某协议层之间数据包的对应关系,可以为一个映射表。该数据包映射关系的生成过程可以为:由于接收单元301对接收到的数据包信息进行了记录,而某协议层也会对收到的数据包的序号进行记录,这个序号和TCP代理记录的数据包序号是一一对应的。也就是说TCP代理收到第一个数据包记序号为1,则某协议层收到的第一个数据包也记序号为1,依此类推,则某协议层和接收单元301记录的数据包顺序是一一对应的,可以将这种一一对应的关系称为数据包映射关系。
当某协议层收到接收端反馈的确认信息后,就可以知道哪些数据包被接收端正确接收了。那么结合生成的数据包映射关系查找到对应的数据包的信息,也就知道该数据传输装置处的哪些数据包被接收端正确接收了。
构造单元304,根据查找单元303查找到的数据包的信息,构造发送到发送端的确认信息。
当该数据传输装置还未收到接收端的对某一数据包的ACK,但是某协议层已经收到了接收端对该数据包的确认信息时,也就可以确认接收端已经正确接收到了发送端发送的数据包,则可以由构造单元304构造ACK发送至发送端。构造该ACK的方法可以为:根据查找单元303查找到的数据包信息构造ACK,该数据包信息可以包括序号、TCP包的序列号和包长等,则构造的ACK的序列号为将TCP包的序列号加上包长。构造单元304将构造的ACK发送给发送端,并记录该构造的ACK的序列号。
需要说明的是,该数据传输装置可以为在发送端和接收端的数据传输过程中的中间一个节点上增加的TCP功能增强实体,如TCP代理。
综上,本发明实施例提供的数据传输装置,通过主动构造ACK发送至发送端,从而提高了上、下行同时数传的传输速率。
进一步地,在构造ACK前,该数据传输装置可以判断是否收到过接收端反馈的TCPACK,如果没有,就构造ACK发送给发送端;此外,收到接收端反馈的TCPACK后,此外,收到接收端反馈的TCPACK后,也可以是否已经构造过ACK发送至发送端,如果没有,才将其转发至发送端,如果已经构造过,则将接收端反馈的TCPACK丢弃。本发明又一实施例提供了另一种数据传输装置,如图4所示,该装置可以包括:
接收单元401,用于接收发送端发送的数据包,并记录接收到的数据包的信息;
该接收单元的功能和执行过程与上述实施例中的接收单元301基本一致,此处不再赘述。
发送单元402,用于将接收单元401接收到的数据包经由某协议层发送给接收端;
该发送单元的功能和执行过程与上述实施例中的发送单元302基本一致,此处不再赘述。
生成单元403,用于根据接收单元401记录的数据包信息,生成数据包映射关系;
需要说明的是,该数据包映射关系可以存储在该数据传输装置,也可以存储在某协议层。某协议层和接收端存在确认机制,即接收端接收到发送端的数据包后,会给某协议层反馈确认信息。该数据传输装置和某协议层之间共享该数据包映射关系。本实施例中,以该数据传输装置生成数据包映射关系为例进行说明。
某协议层也会记录接收到的数据包的序号,也就是说接收单元401收到第一个数据包记序号为1,则某协议层收到的第一个数据包也记序号为1,依此类推,RLC层和TCP代理的数据包顺序是一一对应的,可以将这种一一对应的关系称为数据包映射关系。
查找单元404,在某协议层接收到接收端对发送端发送的数据包确认信息后,根据生成单元403生成的数据包映射关系,通过接收单元401查找对应的数据包的信息;
此处的查找单元404和上述实施例中的查找单元303功能基本一致,此处不再赘述。
判断单元405,用于根据查找单元404查找的数据包的信息,判断是否需要构造ACK;
对于接收端发送给该数据传输装置的TCPACK,该数据传输装置的判断单元405也会记录该ACK的序列号。
其中,数据包信息可以包括数据包的序号、TCP包的包长和序列号等,根据查找到的数据包信息,可以知道将要构造的ACK的序列号,例如,第一个数据包的序列号为1,包长为1460,那么将要构造的ACK的序列号为1461,第二个数据包的序列号为1461,将要构造的ACK序列号为2921......依此类推。
通过比较该判断单元中记录的接收端反馈的TCPACK的序列号和将要构造的ACK序列号的大小,就可以判断是否需要构造ACK。判断单元中可能会记录有至少一个终端反馈的TCPACK的序列号,将判断单元中记录的最大的TCPACK的序列号与将要构造的ACK序列号进行比较,如果该判断单元中记录的接收端反馈的最大的TCPACK的序列号大于或等于将要构造的ACK序列号,说明该数据传输装置已经接收到过接收端反馈的TCPACK,不需要构造ACK;如果该判断单元中记录的接收端反馈的最大的TCPACK的序列号小于将要构造的ACK序列号,说明该数据传输装置没有接收到过接收端反馈的TCPACK,需要构造ACK。
构造单元406,当判断单元405判断需要构造ACK时,用于构造ACK,发送给发送端。
该数据传输装置没有接收到过接收端反馈的TCPACK,则由该数据传输装置的构造单元406主动构造ACK发送给发送端。发送端接收到ACK后,就可以滑动窗口发送新的数据。
构造的ACK的序列号为TCP包的包长加上序列号,例如,第一个数据包的序列号为1,包长为1460,那么构造的ACK的序列号为1461,第二个数据包的序列号为1461,包长为1460,构造的ACK序列号为2921......依此类推。在该数据传输装置可以记录构造的ACK的序列号。
此外,如果该数据传输装置接收到接收端反馈的TCPACK,也可以判断构造单元406是否已经构造过相应的ACK发送至发送端,如果没有,才将其转发至发送端,如果已经构造过,则将接收端反馈的TCPACK丢弃。则该数据传输装置还可以包括:
比较单元407,用于将接收端反馈的TCPACK序列号和该数据传输装置中记录的构造的ACK序列号进行比较。
如果接收端反馈的TCPACK序列号小于或等于记录的最大的构造的ACK序列号,说明该数据传输装置已经给发送端发送过确认信息了,则该数据传输装置不需要将接收端发送的ACK发往发送端,可以将其丢弃,否则,将其发往发送端,并记录接收到接收端反馈的TCPACK序列号。
本发明再一实施例还提供了一种中间网元,如图5所示,该中间网元可以包括:数据传输装置501和某协议层502,某协议层可以是中间网元的任意一个协议层,只要可以和接收端存在确认机制即可,也就是说接收端接收到数据包会给某协议层反馈确认信息。数据传输装置501可以为附图3或者附图4所对应的实施例所描述的任意一种装置。某协议层502和数据传输装置共享数据包映射关系,对于数据包映射关系的生成方式可以参考上述方法实施例中的相关描述。在某协议层502接收到接收端的确认信息后,数据传输装置501可以构造ACK发送至发送端,也可以在判断是否需要构造ACK后,再构造ACK发送至发送端,具体的判断方法可以参考上述方法实施例中的相关描述。对于接收端发送给数据传输装置501的ACK,也需要判断是否需要转发给发送端,其判断方法也可以参考上述方法实施例中的相关描述。
需要说明的是,上述的中间网元可以为RNC,则数据传输装置可以为TCP代理,某协议层可以为RLC层。
此外,上述实施例中,数据传输装置和某协议层位于一个中间网元中,可以理解的是,数据传输装置也可以不和某协议层位于一个中间网元中,只要数据传输装置能够根据和某协议层数据包映射关系构造ACK即可。
由此可见,通过本发明实施例提供的数据传输装置构造ACK发往发送端,可以一定程度上避免下行数据包的ACK受阻于接收端的TCP层,加快发送端滑动窗口,为空口提供比较充足的数据,避免空口没有数据可发送的现象产生,从而提高空口利用率、提升上下行同时数传的下行数传性能,并增强用户感受。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种数据传输方法,其特征在于,所述方法包括:
传输控制协议(TCP)功能增强实体接收发送端发送的数据包,并记录接收到的数据包的信息,其中所述TCP功能增强实体为部署在发送端和接收端的数据传输过程中的中间一个节点上的实体;
所述TCP功能增强实体将接收到的数据包经由无线链路控制层发送给接收端,其中,所述无线链路控制层与所述接收端之间存在确认机制;
在所述无线链路控制层接收到所述接收端对发送端发送的数据包确认信息后,所述TCP功能增强实体根据生成的数据包映射关系,查找数据包的信息,其中,所述数据包映射关系为所述TCP功能增强实体接收的数据包与所述无线链路控制层接收到的数据包的对应关系,所述数据包映射关系存储在所述TCP功能增强实体或者所述无线链路控制层;
当所述TCP功能增强实体还未收到所述接收端对所述数据包的TCP应答消息(ACK)且所述无线链路控制层接收到所述接收端对发送端发送的数据包确认信息时,所述TCP功能增强实体根据查找到的数据包的信息,构造发送到发送端的ACK;
其中,所述记录接收到的数据包的信息包括:按照接收到的数据包的顺序,记录所述数据包的序号;如果所述数据包是传输控制协议TCP包,所述记录接收到的数据包的信息还包括记录所述TCP包的包长和TCP序列号;
所述方法还包括:
所述TCP功能增强实体记录所述接收端反馈的TCPACK的序列号;
其中,所述TCP功能增强实体根据查找到的数据包的信息,构造发送到发送端的ACK,包括:
将所述TCP功能增强实体记录的接收端反馈的最大的TCPACK序列号与将要构造的ACK序列号进行比较,所述将要构造的ACK序列号为所述包长加上所述TCP序列号得到的ACK的序列号;
如果所述最大的TCPACK的序列号小于所述将要构造的ACK的序列号,则构造发送到发送端的ACK。
2.根据权利要求1所述的方法,其特征在于,所述对应关系为:所述记录的数据包的序号与所述无线链路控制层记录的接收到的数据包的序号一一对应。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述TCP功能增强实体记录构造的发送到发送端的ACK的序列号。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:当所述TCP功能增强实体接收到所述接收端反馈的TCPACK时,比较所述接收端反馈的TCPACK的序列号与记录的最大的构造的ACK的序列号的大小;
如果所述接收端反馈的TCPACK的序列号大于所述记录的最大的构造的ACK的序列号,则将接收到的接收端反馈的TCPACK发送至发送端。
5.一种数据传输装置,其特征在于,所述数据传输装置为部署在发送端和接收端数据传输过程中的中间一个节点上的传输控制协议(TCP)功能增强实体,所述装置包括:
接收单元,用于接收发送端发送的数据包,并记录接收到的数据包的信息;
发送单元,用于将所述接收单元接收到的数据包经由无线链路控制层发送给接收端,其中,所述无线链路控制层与所述接收端之间存在确认机制;
查找单元,用于在所述无线链路控制层接收到所述接收端对发送端发送的数据包确认信息后,根据生成的数据包映射关系,查找记录的接收到的数据包的信息,其中,所述数据包映射关系为所述接收单元记录的数据包与所述无线链路控制层接收到的数据包的对应关系,所述数据包映射关系存储在所述TCP功能增强实体或者所述无线链路控制层;
构造单元,用于在当所述TCP功能增强实体还未收到所述接收端对所述数据包的TCP应答消息(ACK)且所述无线链路控制层接收到所述接收端对发送端发送的数据包确认信息时,根据所述查找单元查找到的数据包的信息,构造发送到发送端的应答消息ACK;
所述接收单元记录的数据包信息包括:反映接收的数据包顺序的序号,如果所述数据包为TCP包,所述数据包信息还包括包长和序列号;
所述装置还包括:判断单元,用于根据所述查找单元查找的数据包的信息,判断是否需要构造ACK;
所述判断单元还用于记录接收端反馈的TCPACK的序列号;
所述判断是否需要构造ACK包括:
比较所述包长加上所述对应数据包的序列号得到的ACK的序列号与记录的接收端反馈的最大的TCPACK的序列号的大小;
如果所述记录的接收端反馈的最大的TCPACK的序列号小于所述得到的ACK的序列号,则构造发送到发送端的ACK。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
生成单元,用于根据所述接收单元记录的数据包信息,生成所述数据包映射关系;
则所述生成的数据包映射关系为:所述记录的数据包的序号与所述无线链路控制层记录的接收到的数据包的序号一一对应;
所述无线链路控制层和所述数据传输装置共享所述数据包映射关系。
7.根据权利要求5所述的装置,其特征在于,所述构造单元还用于记录构造的ACK的序列号。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
比较单元,用于将接收端反馈的TCPACK序列号和所述构造单元记录的构造的ACK序列号进行比较;
如果所述接收端反馈的TCPACK的序列号大于所述记录的最大的构造的ACK的序列号,则将接收到的接收端反馈的TCPACK发送至发送端。
9.一种中间网元,用于发送端和接收端之间的数据传输,其特征在于,所述中间网元包括:如权利要求5-8任一项所述的数据传输装置和无线链路控制层;
所述无线链路控制层和接收端存在确认机制,接收端接收到数据包,给所述无线链路控制层反馈确认信息;
所述无线链路控制层和所述数据传输装置之间共享数据包映射关系,在所述无线链路控制层接收到所述接收端反馈的确认信息后,所述数据传输装置根据所述数据包映射关系,构造ACK发送至所述发送端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110052890.7A CN102130756B (zh) | 2008-07-17 | 2008-07-17 | 数据传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110052890.7A CN102130756B (zh) | 2008-07-17 | 2008-07-17 | 数据传输方法和装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810141665.9A Division CN101335603B (zh) | 2008-07-17 | 2008-07-17 | 数据传输方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102130756A CN102130756A (zh) | 2011-07-20 |
CN102130756B true CN102130756B (zh) | 2016-05-25 |
Family
ID=44268656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110052890.7A Active CN102130756B (zh) | 2008-07-17 | 2008-07-17 | 数据传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102130756B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103684708B (zh) * | 2012-09-03 | 2018-11-23 | 南京中兴新软件有限责任公司 | Ces数据发送方法、装置及ces数据接收方法、装置 |
WO2014117359A1 (zh) * | 2013-01-31 | 2014-08-07 | 华为技术有限公司 | 反馈丢包的消息处理方法及装置 |
WO2016026128A1 (en) | 2014-08-21 | 2016-02-25 | SZ DJI Technology Co., Ltd. | Unmanned aerial vehicle communications methods and systems |
CN107465625A (zh) * | 2016-06-06 | 2017-12-12 | 普天信息技术有限公司 | 传输控制协议的传输方法和装置 |
CN108886713B (zh) * | 2016-08-11 | 2020-10-09 | 华为技术有限公司 | 一种数据传输方法、数据接收设备及数据发送设备 |
JP2020507963A (ja) * | 2017-01-24 | 2020-03-12 | 華為技術有限公司Huawei Technologies Co.,Ltd. | データ送信方法および装置、ならびに顧客宅内機器 |
WO2020010511A1 (zh) * | 2018-07-10 | 2020-01-16 | 华为技术有限公司 | 数据传输方法及基站 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1512377A (zh) * | 2002-12-31 | 2004-07-14 | 联想(北京)有限公司 | 基于内核中套接字对接的第七层负载均衡的方法 |
-
2008
- 2008-07-17 CN CN201110052890.7A patent/CN102130756B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1512377A (zh) * | 2002-12-31 | 2004-07-14 | 联想(北京)有限公司 | 基于内核中套接字对接的第七层负载均衡的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102130756A (zh) | 2011-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101335603B (zh) | 数据传输方法和装置 | |
CN102130756B (zh) | 数据传输方法和装置 | |
Balakrishnan et al. | A comparison of mechanisms for improving TCP performance over wireless links | |
Gurtov et al. | Modeling wireless links for transport protocols | |
CN105471549B (zh) | 基于a-mpdu子帧位置信息控制的块确认系统及方法 | |
WO2018205688A1 (zh) | 一种数据传输的方法、装置和系统 | |
CN108270682A (zh) | 一种报文传输方法、终端、网络设备及通信系统 | |
CN101010913A (zh) | 在无线个域网中应答发送的数据流的接收的方法和系统 | |
US8532142B2 (en) | System and method for delivery of packets | |
CN105187175B (zh) | 基站下行传输控制方法和系统 | |
JP2009509432A (ja) | 通信システムにおけるパケットの分割および連結をシグナリングする方法および装置 | |
CN101924625A (zh) | 数据包重传控制的方法和网络侧设备 | |
US7876679B2 (en) | Connection-oriented data transfer over wireless transmission paths | |
CN109194452A (zh) | 数据重传方法、装置、存储介质及其网络设备 | |
EP1873994A1 (en) | Quality of service securing method and apparatus | |
CN102299777B (zh) | 数据重传方法及装置 | |
CN101001131B (zh) | 一种分割级联方法 | |
Sidelnikov et al. | Fragmentation/aggregation scheme for throughput enhancement of IEEE 802.11 n WLAN | |
Melnyk et al. | A cross-layer analysis of session setup delay in IP multimedia subsystem (IMS) with EV-DO wireless transmission | |
CN104426638A (zh) | 一种数据递交方法和装置 | |
US8971310B2 (en) | Apparatus and method for end-to-end adaptive frame packing and redundancy in a heterogeneous network environment | |
US20090257377A1 (en) | Reducing buffer size for repeat transmission protocols | |
ElAarag et al. | Performance evaluation of TCP connections in ideal and non-ideal network environments | |
CN107959947A (zh) | 一种数据传输方法、装置和基站 | |
CN102484820B (zh) | 用于控制在尽力而为通信链路中提供服务的应用的参数的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |