CN102546832B - 基于tcp协议的报文发送方法 - Google Patents

基于tcp协议的报文发送方法 Download PDF

Info

Publication number
CN102546832B
CN102546832B CN201210050535.0A CN201210050535A CN102546832B CN 102546832 B CN102546832 B CN 102546832B CN 201210050535 A CN201210050535 A CN 201210050535A CN 102546832 B CN102546832 B CN 102546832B
Authority
CN
China
Prior art keywords
tcp
information
time length
historical time
message
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.)
Expired - Fee Related
Application number
CN201210050535.0A
Other languages
English (en)
Other versions
CN102546832A (zh
Inventor
姜和平
郝冲
刘再德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING FASTWEB Tech Inc
Original Assignee
BEIJING FASTWEB Tech Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING FASTWEB Tech Inc filed Critical BEIJING FASTWEB Tech Inc
Priority to CN201210050535.0A priority Critical patent/CN102546832B/zh
Publication of CN102546832A publication Critical patent/CN102546832A/zh
Application granted granted Critical
Publication of CN102546832B publication Critical patent/CN102546832B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种基于TCP协议的报文发送方法,通过对TCP链路历史状态、当前网络状态以及待发送报文特性的综合分析,能够动态的调整TCP报文发送速率,从而在避免网络拥塞的情况下,以最佳的速度发送TCP报文,既提高了TCP连接的链路带宽利用率,同时也提高了TCP数据的发送速度,是一种TCP单边加速技术。

Description

基于TCP协议的报文发送方法
技术领域
本发明属于通信技术领域,具体涉及一种基于TCP协议的报文发送方法。
背景技术
随着网络技术的快速发展,网络带宽不断提升,网络应用的性能需求主要表现为高吞吐量、低延迟和高带宽等特点。对于高速网络,网络协议处理已成为网络可靠传输的性能瓶颈,所以,TCP(Transmission Control Protocol,传输控制协议)加速技术一直是近年来研究热点。
现有TCP加速技术仍然存在着以下缺陷:无法充分利用TCP链路,导致TCP发送端向TCP接收端发送报文时,报文的传输速率有限。
发明内容
针对现有技术存在的缺陷,本发明提供一种基于TCP协议的报文发送方法,通过对TCP链路历史状态、当前网络状态以及待发送报文特性的分析,能够动态的调整TCP报文发送速率,从而在避免网络拥塞的情况下,以最佳的速度发送TCP报文。
本发明提供的技术方案如下:
本发明提供一种基于TCP协议的报文发送方法,应用于包括TCP发送端和TCP接收端的系统中,包括以下步骤:
S1,在所述TCP发送端和所述TCP接收端建立TCP连接后,所述TCP发送端获取所述TCP连接所在的TCP链路的链路历史状态信息、所述TCP连接所在网络的网络可用带宽信息以及与待发送报文相关的应用场景信息;
S2,所述TCP发送端根据所述链路历史状态信息、所述网络可用带宽信息以及所述应用场景信息制定报文发送控制策略;
S3,所述TCP发送端使用所述报文发送控制策略调整拥塞窗口的大小,得到新的拥塞窗口,并根据所述新的拥塞窗口将所述待发送报文发送给所述TCP接收端。
优选的,S1中,所述应用场景信息包括:在预设历史时间长度内连续发送的报文的大小。
优选的,所述在预设历史时间长度内连续发送的报文的大小通过以下方式获取:
S101,获取所述预设历史时间长度内所述TCP发送端向所述TCP接收端第一次发送的首次发送报文中携带的发送序列号,以及所述TCP接收端向所述TCP发送端最后一次发送的末次确认报文中携带的确认序列号;
S102,将所述发送序列号与所述确认序列号作相减运算,得到所述在预设历史时间长度内连续发送的报文的大小。
优选的,S1中,所述链路历史状态信息包括在预设历史时间长度内的链路延时信息、在预设历史时间长度内的丢包次数信息、在预设历史时间长度内的丢包频率信息和在预设历史时间长度内的丢包权重信息中的一种或几种。
优选的,所述在预设历史时间长度内的链路延时信息通过以下方式获取:
如果所述TCP连接支持时间戳,则:在所述预设历史时间长度内,通过分析所述TCP接收端向所述TCP发送端发送的TCP确认报文中的时间戳获得所述链路延时信息;
如果所述TCP连接不支持时间戳,则:在所述预设历史时间长度内,通过分析所述TCP接收端向所述TCP发送端发送的TCP确认报文获得所述链路延时信息;
所述在预设历史时间长度内的丢包次数信息通过以下方式获得:通过所述TCP发送端内置的计数器计算所述丢包次数信息;
所述在预设历史时间长度内的丢包频率信息通过以下方式获得:在所述预设历史时间长度内,所述丢包次数信息除以所述预设历史时间长度得到所述丢包频率信息;
所述在预设历史时间长度内的丢包权重信息通过以下方式获得:根据相邻丢包的时间间隔计算丢包权重。
优选的,S1中,所述网络可用带宽信息通过以下方式获取:
根据所述链路历史状态信息以及所述TCP连接所在网络的当前拥塞状态预估所述网络可用带宽信息。
本发明的有益效果如下:
本发明提供的基于TCP协议的报文发送方法,通过对TCP链路历史状态、当前网络状态以及待发送报文特性的综合分析,能够动态的调整TCP报文发送速率,从而在避免网络拥塞的情况下,以最佳的速度发送TCP报文,既提高了TCP连接的链路带宽利用率,同时也提高了TCP数据的发送速度,是一种TCP单边加速技术。
附图说明
图1为本发明实施例提供的基于TCP协议的报文发送方法的流程示意图。
具体实施方式
以下结合附图对本发明进行详细说明。
如图1所示,为本发明提供的一种基于TCP协议的报文发送方法,应用于包括TCP发送端和TCP接收端的系统中,包括以下步骤:
S1,在所述TCP发送端和所述TCP接收端建立TCP连接后,所述TCP发送端获取所述TCP连接所在的TCP链路的链路历史状态信息、所述TCP连接所在网络的网络可用带宽信息以及与待发送报文相关的应用场景信息;
下面分别介绍TCP发送端获取TCP连接所在的TCP链路的链路历史状态信息、TCP连接所在网络的网络可用带宽信息以及与待发送报文相关的应用场景信息的具体内容以及获取方式。
(一)与待发送报文相关的应用场景信息
应用场景信息包括:在预设历史时间长度内连续发送的报文的大小。其具体获取方式可以包括以下步骤:
S101,获取所述预设历史时间长度内所述TCP发送端向所述TCP接收端第一次发送的首次发送报文中携带的发送序列号,和所述TCP接收端向所述TCP发送端最后一次发送的末次确认报文中携带的确认序列号;
S102,将所述发送序列号与所述确认序列号作相减运算,得到所述在预设历史时间长度内连续发送的报文的大小。
例如:(1)在13:00-13:10历史时间长度内,TCP发送端向TCP接收端第一次发送的第一发送报文中携带的第一发送序列号为1,且,该报文中包含有1460字节数据;
(2)TCP接收端返回一个没有数据的第一确认报文,其中,第一确认报文包含的第一确认序列号为1461,表示已完全收到第一发送报文并请求下一个发送报文段;
(3)TCP发送端然后向TCP接收端第二次发送第二发送报文,并且,第二发送报文中携带的第二发送序列号为1461,且,该报文中包含有1460字节数据;
(4)TCP接收端返回一个没有数据的第二确认报文,其中,第二确认报文包含的第二确认序列号为2921,表示已完全收到第二发送报文并请求下一个发送报文段。
因此,在13:00-13:10历史时间长度内,如果TCP发送端只向TCP接收端发送两次发送报文,则在该段时间长度内,连续发送的报文的大小为:第二确认序列号-第一发送序列号=2921-1=2920。
如果在某一个历史时间长度内,连续发送的报文较大,则认为是大文件传输,此时,报文发送控制策略以平稳为主;相反,如果连续发送的报文较小,则认为是小文件传输,此时,报文发送控制策略以快速为主。
(二)TCP连接所在的TCP链路的链路历史状态信息
链路历史状态信息包括在预设历史时间长度内的链路延时信息、在预设历史时间长度内的丢包次数信息、在预设历史时间长度内的丢包频率信息和在预设历史时间长度内的丢包权重信息中的一种或几种。
(1)在预设历史时间长度内的链路延时信息
在预设历史时间长度内的链路延时信息通过以下方式获取:
如果所述TCP连接支持时间戳,则:在所述预设历史时间长度内,通过分析所述TCP接收端向所述TCP发送端发送的TCP确认报文中的时间戳获得所述链路延时信息;
如果所述TCP连接不支持时间戳,则:在所述预设历史时间长度内,通过分析所述TCP接收端向所述TCP发送端发送的TCP确认报文获得所述链路延时信息。
(2)在预设历史时间长度内的丢包次数信息
在预设历史时间长度内的丢包次数信息通过以下方式获得:通过所述TCP发送端内置的计数器计算所述丢包次数信息;
(3)在预设历史时间长度内的丢包频率信息
在预设历史时间长度内的丢包频率信息通过以下方式获得:在所述预设历史时间长度内,所述丢包次数信息除以所述预设历史时间长度得到所述丢包频率信息;
(4)在预设历史时间长度内的丢包权重信息
在预设历史时间长度内的丢包权重信息通过以下方式获得:根据相邻丢包的时间间隔计算丢包权重。
(三)网络可用带宽信息
根据所述链路历史状态信息以及所述TCP连接所在网络的当前拥塞状态预估所述网络可用带宽信息。
S2,所述TCP发送端根据所述链路历史状态信息、所述网络可用带宽信息以及所述应用场景信息制定报文发送控制策略。
S3,所述TCP发送端使用所述报文发送控制策略调整拥塞窗口的大小,得到新的拥塞窗口,并根据所述新的拥塞窗口将所述待发送报文发送给所述TCP接收端。
具体的,链路历史状态信息、网络可用带宽信息以及应用场景信息对拥塞窗口的影响情况为:
检测链路延时的变化曲线,如果链路延时变化较小,则可以减小对拥塞窗口的调整幅度;如果链路延时变化较大,则可以增大对拥塞窗口的调整幅度。
如果在预设历史时间长度内的丢包次数值较大,则需要增大对拥塞窗口的调整幅度;反之,如果在预设历史时间长度内的丢包次数值较小,则需要减小对拥塞窗口的调整幅度。
如果在预设历史时间长度内的丢包频率值较大,则需要增大对拥塞窗口的调整幅度;反之,如果在预设历史时间长度内的丢包频率数值较小,则需要减小对拥塞窗口的调整幅度。
如果相邻丢包的时间间隔较大,则可以减小对拥塞窗口的调整幅度;反之,如果相邻丢包的时间间隔较小,则可以增大对拥塞窗口的调整幅度。
综上所述,本发明提供的基于TCP协议的报文发送方法,通过对TCP链路历史状态、当前网络状态以及待发送报文特性的综合分析,能够动态的调整TCP报文发送速率,从而在避免网络拥塞的情况下,以最佳的速度发送TCP报文,既提高了TCP连接的链路带宽利用率,同时也提高了TCP数据的发送速度,是一种TCP单边加速技术。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

Claims (1)

1.一种基于TCP协议的报文发送方法,应用于包括TCP发送端和TCP接收端的系统中,其特征在于,包括以下步骤:
S1,在所述TCP发送端和所述TCP接收端建立TCP连接后,所述TCP发送端获取所述TCP连接所在的TCP链路的链路历史状态信息、所述TCP连接所在网络的网络可用带宽信息以及与待发送报文相关的应用场景信息;
其中,所述应用场景信息包括:在预设历史时间长度内连续发送的报文的大小;所述在预设历史时间长度内连续发送的报文的大小通过以下方式获取:S101,获取所述预设历史时间长度内所述TCP发送端向所述TCP接收端第一次发送的首次发送报文中携带的发送序列号,以及所述TCP接收端向所述TCP发送端最后一次发送的末次确认报文中携带的确认序列号;S102,将所述发送序列号与所述确认序列号作相减运算,得到所述在预设历史时间长度内连续发送的报文的大小;
所述链路历史状态信息包括在预设历史时间长度内的链路延时信息、在预设历史时间长度内的丢包次数信息、在预设历史时间长度内的丢包频率信息和在预设历史时间长度内的丢包权重信息中的一种或几种;其中,所述在预设历史时间长度内的链路延时信息通过以下方式获取:
如果所述TCP连接支持时间戳,则:在所述预设历史时间长度内,通过分析所述TCP接收端向所述TCP发送端发送的TCP确认报文中的时间戳获得所述链路延时信息;
如果所述TCP连接不支持时间戳,则:在所述预设历史时间长度内,通过分析所述TCP接收端向所述TCP发送端发送的TCP确认报文获得所述链路延时信息;
所述在预设历史时间长度内的丢包次数信息通过以下方式获得:通过所述TCP发送端内置的计数器计算所述丢包次数信息;
所述在预设历史时间长度内的丢包频率信息通过以下方式获得:在所述预设历史时间长度内,所述丢包次数信息除以所述预设历史时间长度得到所述丢包频率信息;
所述在预设历史时间长度内的丢包权重信息通过以下方式获得:根据相邻丢包的时间间隔计算丢包权重;
所述网络可用带宽信息通过以下方式获取:
根据所述链路历史状态信息以及所述TCP连接所在网络的当前拥塞状态预估所述网络可用带宽信息;
S2,所述TCP发送端根据所述链路历史状态信息、所述网络可用带宽信息以及所述应用场景信息制定报文发送控制策略;
S3,所述TCP发送端使用所述报文发送控制策略调整拥塞窗口的大小,得到新的拥塞窗口,并根据所述新的拥塞窗口将所述待发送报文发送给所述TCP接收端。
CN201210050535.0A 2012-02-29 2012-02-29 基于tcp协议的报文发送方法 Expired - Fee Related CN102546832B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210050535.0A CN102546832B (zh) 2012-02-29 2012-02-29 基于tcp协议的报文发送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210050535.0A CN102546832B (zh) 2012-02-29 2012-02-29 基于tcp协议的报文发送方法

Publications (2)

Publication Number Publication Date
CN102546832A CN102546832A (zh) 2012-07-04
CN102546832B true CN102546832B (zh) 2014-09-24

Family

ID=46352778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210050535.0A Expired - Fee Related CN102546832B (zh) 2012-02-29 2012-02-29 基于tcp协议的报文发送方法

Country Status (1)

Country Link
CN (1) CN102546832B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103856558B (zh) * 2014-01-22 2017-07-14 北京京东尚科信息技术有限公司 一种用于终端应用的数据处理方法和装置
CN104954279B (zh) 2014-03-28 2018-04-10 华为技术有限公司 一种传输控制方法、装置及系统
CN105681265B (zh) * 2014-11-20 2019-04-05 华为软件技术有限公司 单边传输控制协议加速方法及装置
CN104734932A (zh) * 2015-04-15 2015-06-24 电信科学技术第一研究所 Ip隧道数据传输方法及装置
CN107786371B (zh) * 2017-10-09 2021-06-29 咪咕视讯科技有限公司 一种数据的加速方法、装置及存储介质
CN110381007B (zh) * 2018-04-12 2021-01-08 华为技术有限公司 Tcp加速方法及装置
CN108880938A (zh) * 2018-06-19 2018-11-23 成都网丁科技有限公司 一种端到端tcp会话测速方法
CN110875915B (zh) * 2018-09-04 2021-08-20 华为技术有限公司 数据传输方法及装置
CN109639684B (zh) * 2018-12-17 2021-11-09 北京微吼时代科技有限公司 动态应用带宽的方法及系统
CN110011967A (zh) * 2019-02-27 2019-07-12 新奥特(北京)视频技术有限公司 一种用于数据传输的方法和系统
CN110855575B (zh) * 2019-09-30 2022-05-06 荣耀终端有限公司 Tcp报文的调度方法、装置及通信设备
CN111294547A (zh) * 2020-02-20 2020-06-16 江苏齐德隆智能科技有限公司 一种远程在线询问取证的系统及其方法
CN111935025B (zh) * 2020-07-08 2023-10-17 腾讯科技(深圳)有限公司 一种tcp传输性能的控制方法、装置、设备和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184052A (zh) * 2007-12-25 2008-05-21 北京广视通达网络技术有限公司 一种实现可靠udp传输的拥塞控制方法
CN101854268A (zh) * 2009-04-04 2010-10-06 华为技术有限公司 Ip网络性能测量、服务质量控制的方法、装置和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2481255A (en) * 2010-06-18 2011-12-21 Skype Ltd Dynamically adapting network bandwidth limitations for applications on a device based on current transmission conditions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101184052A (zh) * 2007-12-25 2008-05-21 北京广视通达网络技术有限公司 一种实现可靠udp传输的拥塞控制方法
CN101854268A (zh) * 2009-04-04 2010-10-06 华为技术有限公司 Ip网络性能测量、服务质量控制的方法、装置和系统

Also Published As

Publication number Publication date
CN102546832A (zh) 2012-07-04

Similar Documents

Publication Publication Date Title
CN102546832B (zh) 基于tcp协议的报文发送方法
CN102457537B (zh) 一种传输控制协议的通信方法及服务器
CN103782534A (zh) 避免网络拥塞的方法及其装置
EP2661030A3 (en) Maximizing bandwidth utilization in networks with high latencies and packet drops using transmission control protocol
CN102084634B (zh) 与阈值有关的传输协议优化选择
CN103580966A (zh) 一种无线链路和有线链路并行传输数据的方法及系统
CN103746938A (zh) 一种发送数据包的方法及装置
US20130013731A1 (en) Devices, systems, and methods for transmitting a message
WO2013005965A3 (en) Method and system for dynamically changing upper bound on data packet size in wireless communication networks
CN101163148B (zh) 支持非标准速率的以太网传输方法及相应装置和接入设备
CN103748845A (zh) 报文发送方法、接收方法、装置及系统
EP2384073B1 (en) Transmission apparatus, communication system, and communication method
CN102469529B (zh) 一种资源分配的方法及多模控制器
EP2798881B1 (en) Shaping data packet traffic
CN109495158A (zh) 一种提高卫星通信速率的系统和方法
CN105141483A (zh) 基于can总线的多节点网络最小通信间隔测定方法
CN104579993A (zh) 一种高速通信实现方法
CN102364937B (zh) 一种网络会议音视频传输控制方法及系统
CN103441953A (zh) 一种数据流调度方法、设备及系统
JP6201208B2 (ja) 通信装置、プログラムおよび通信方法
CN209250638U (zh) 终端节点设备、中继控制装置及无线通信组网
CN101282346A (zh) 一种双控制器系统的通讯路径选择的方法
Yan et al. QoS analysis based on ACO in WMSNs
CN103313021A (zh) 一种p2p传输式的无线视音频实时传输系统
CN205039824U (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140924

Termination date: 20200229