CN110213167A - 一种传输控制协议在网络拥塞时的处理方法和装置 - Google Patents

一种传输控制协议在网络拥塞时的处理方法和装置 Download PDF

Info

Publication number
CN110213167A
CN110213167A CN201810166093.3A CN201810166093A CN110213167A CN 110213167 A CN110213167 A CN 110213167A CN 201810166093 A CN201810166093 A CN 201810166093A CN 110213167 A CN110213167 A CN 110213167A
Authority
CN
China
Prior art keywords
message
ack
data
serial number
server
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.)
Pending
Application number
CN201810166093.3A
Other languages
English (en)
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.)
Yanan University
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201810166093.3A priority Critical patent/CN110213167A/zh
Publication of CN110213167A publication Critical patent/CN110213167A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1854Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1864ARQ related signaling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0284Traffic management, e.g. flow control or congestion control detecting congestion or overload during communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage

Abstract

本发明公开了一种传输控制协议在网络拥塞时的处理方法和装置,该方法包括:在基站设备的应用层开辟处理模块,用于临时存放下行数据,特指传输控制协议TCP数据包,当网络拥塞时,在处理模块复制缓存TCP数据报文,构造ACK报文向服务器确认,将缓存后的数据报文由统一接口分发;当收到所述TCP数据报文的ACK报文后,删除当前TCP数据及之前数据报文,释放所述ACK报文,涉及网络通信协议技术领域。该传输控制协议在网络发生拥塞时的处理方法及装置,通过采用在基站设备应用层开辟独立处理模块,用于缓存TCP数据,提前向服务器回复ACK以及在需要的时候主动向用户重传数据报文,节省时间,加速数据传输速率,缓解网络拥塞,防止断流。

Description

一种传输控制协议在网络拥塞时的处理方法和装置
技术领域
本发明涉及网络通信协议技术领域,尤指一种传输控制协议(TCP,TransmissionControl Protocol)在网络拥塞时的处理方法和装置。
背景技术
近年来,互联网技术得到广泛推广和应用,用户浏览、下载网络数据等业务量急剧上升,如何对网络资源及通信协议自身的特点进行合理利用从而缓解由于业务量过大而引起的网络拥塞成了每个互联网商家乃至每个用户所关注和研究的焦点。
在获取网络数据时,为了确保数据的完整可靠,主要使用的是传输控制协议TCP,TCP主要特点是对发送的每个数据报文段都必须得到接收方的应答才认为这个报文段传输成功,在当前的处理流程中,服务器发送数据报文后等待用户的确认,在得到确认后,方认为该数据发送成功,即对每个数据报文都按部就班的走完每层协议的处理。
在互联网通信技术中,网络带宽是固定的,用户数不确定,当网络用户数较少时,浏览网页,下载数据均反应快,响应及时;但是当用户较多时,则会出现网络拥塞,网络响应不及时,甚至出断流现象。
发明内容
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种传输控制协议在网络拥塞时的处理方法和装置,解决了当用户较多时所出现的网络拥塞、网络响应不及时、甚至会出现断流现象的问题。
(二)技术方案
为实现以上目的,本发明通过以下技术方案予以实现:第一方面,本发明提供了一种传输控制协议在网络拥塞时的处理方法,该方法包括:在基站设备的应用层开辟独立的处理模块,即网络拥塞处理模块,用于在网络拥塞时临时存放从服务器下发TCP数据报文的副本;
当统计周期内所有类型报文的总速率大于预设的阙值ST,且所述统计周期内下发的TCP报文的数据速率对所有类型报文的总速率的比率超过预设的占比阙值RT,认为存在网络拥塞风险,开启网络拥塞缓解功能,按照预设策略对所述TCP报文进行处理;
当网络拥塞缓解功能开启时对TCP数据缓存,具体包括:
对服务器所下发数据进行解析处理,将不同链接的数据报文根据序号进行由小到大排序进而将剥掉IP头的数据部分临时复制存储在处理模块,对于序号较小但迟来的报文,与已储存的报文序号依次比较,直到找到第一个比所述报文序号大的报文,并在所述较大序号报文之前存储;
收到并复制存储所述TCP数据报文后,在处理模块进行组包封装所述ACK报文,由所述处理模块直接向服务器进行回复确认;
将存储后的所述TCP数据报文向用户通过统一接口原封不动转发出去,在数据包发送的同时开启定时器,所述定时器时长符合TCP协议超时重传时长;
当收到用户发送的ACK,具体包括:
解析ACK报文,获取确认报文所属链接及序号,删除所属链接中所述确认序号对应的当前数据及之前数据报文,并释放所述ACK报文,不再向服务器发送;
当收到三次及以上同一序号ACK报文,查找并重传所述序号数据报文,或将所述ACK报文转发给服务器,要求服务器重传所述数据报文;
当超时发生,查找并重传所述确认报文携带序号对应的数据报文,或将所述确认报文转发给服务器,要求服务器重传所述数据报文,
对于不同链接的数据报文,链接是由IP地址+端口号来唯一确定:发送方的链接是由源IP地址+源主机端口号确定;接收方链接是由目的IP地址+目的主机端口号来确定。
在上述方案中,收到三次及以上同一序号确认报文,在处理模块查找并重传所述数据报文,具体包括:
收到ACK报文,对所述ACK报文解析获取所述报文序号并进行计数统计,当收到所述序号的ACK报文的统计计数大于等于三时,在处理模块依次查找所述序号对应的数据报文:如找到所述数据报文,对所述数据报文进行封装打包后重新发往用户;如找不到所述数据报文,将所述ACK报文向服务器连发三次,请求服务器重新发送所述数据报文,
所述ACK报文计数未达到三次,报文重传定时器超时,对超时数据报文进行封装重传。
在上述方案中,将所述ACK报文向服务器连发三次,具体包括:
当要求重传时,在缓存区查找所述序号数据报文而未能找到时,即缓存区没有缓存服务器发送的所述序号报文,这时要将所述ACK报文转发给服务器,服务器在收到三次该ACK报文后,会重传所述序号数据报文;
当超时定时器超时时,需要重传,具体包括:
在规定时间内,未收到所述数据报文的确认报文,在缓存区查找对应数据报文,封装并重发至用户,
当在服务器与基站设备之间发生丢包现象时,也由该处理模块直接激发超时重传或快速重传,要求服务器向所述处理模块重传所述数据报文。
在上述方案中,快速重传,具体包括:
当对端收到连续数据报文后,会回复一个包含期望下一次所收到数据报文序号的ACK报文;如收到的数据报文序号并非期望报文时,会重复回复期望序号的ACK报文,本端收到ACK报文进行统计计数,收到三次以上同一序号ACK报文时,触发快速重传;
第二方面,本发明提供了一种缓解网络拥塞的装置,所述装置包括:判定单元、缓存单元、转发单元、ACK处理单元,其中:
所述判定单元,用于判定统计周期内相关报文数是否达到门限值,并且在满足条件时开启网络拥塞缓解功能,按照所述预设策略对所述TCP报文进行处理;
所述缓存单元,用于复制缓存服务器下发数据报文剥掉IP头的部分;
所述转发单元,用于将服务器下发数据缓存之后向用户转发出去;
所述ACK处理单元,是指在收到用户发送的ACK报文时,删除所述ACK序号对应的数据报文并释放所述ACK;当收到重传指示时,查找所述数据报文并封装后发往用户。
在上述方案中,所述判定单元,具体用于:当统计周期内所有类型报文的总速率大于预设的阙值ST,且所述统计周期内下发的TCP报文的数据速率对所有类型报文的总速率的比率超过预设的占比阙值RT,认为存在网络拥塞风险,开启网络拥塞缓解功能,按照所述预设策略对所述TCP报文进行处理。
在上述方案中,所述缓存单元,具体用于将服务器所下发数据进行解析处理,根据数据报文序号进行由小到大排序进而临时复制存储;
所述缓存单元还包括排序单元,用于将所述缓存数据按从小到大的序号进行排序,对于序号较小但迟来的报文,与已储存的报文序号依次比较,直到找到第一个比所述报文序号大的报文,并在所述较大序号报文之前存储;
所述缓存单元还包括确认单元,用于在缓存数据后,主动向服务器回复所述序号数据报文的ACK报文。
在上述方案中,所述转发单元,用于将所述已缓存的TCP数据报文通过统一的发送接口原封不动向用户转发出去,同时开启该数据报文超时定时器。
在上述方案中,所述ACK处理单元,具体用于在收到用户ACK报文时,解析ACK报文,获取所属链接及确认序号,删除所属链接中所述确认序号对应的当前数据及之前数据报文,并释放所述ACK报文,不再向服务器发送,同时对同一序号的ACK报文进行计数统计;
当ACK报文统计计数大于等于3时,在缓存单元查找所述序号数据报文并进行封装重传给用户;
若在缓存区找不到所述数据报文,将所述ACK报文向服务器连发三次,请求服务器重新发送所述数据报文。
在上述方案中,当所述超时定时器超时,所述缓存模块主动在缓存区查找并封装重传超时数据报文;
在所述缓存区未找到所述数据报文,构造所述序号ACK报文向服务器连发三次,要求服务器重传所述数据报文。
(三)有益效果
本发明提供了一种传输控制协议在网络拥塞时的处理方法和装置。具备以下有益效果:
(1)、该传输控制协议在网络发生拥塞时的处理方法及装置,通过采用在基站设备应用层开辟独立处理模块,用于缓存TCP数据,提前向服务器回复ACK以及在需要的时候主动向用户重传数据报文,由此来节省时间,加速数据传输速率,缓解网络拥塞,防止断流。
(2)、该传输控制协议在网络发生拥塞时的处理方法及装置,通过对TCP数据在处理模块进行提前向服务器回复确认来提升流量,缓存数据用于在收到对端多次ACK或超时定时器超时后提前主动进行重传来加速重传进程,从而使得基站设备处理能力和处理速度得以提高,节省时间,缓解网络拥塞。
(3)、该传输控制协议在网络发生拥塞时的处理方法及装置,通过在服务器与用户之间开辟处理模块,用于处理用户应答和服务器重传等功能,具有很好的适用性,可应用于任何一种支持TCP协议的基站设备及相关设备。
(4)、该传输控制协议在网络发生拥塞时的处理方法及装置,通过使用判定单元、缓存单元、转发单元和ACK处理单元能较好的配合软件处理大量的数据,使得该方法能在实体的结构中运行,使得对数据的处理平台更加简单,节约了成本,提高了网络基础建设效益,使得数据传输的速率大幅度提升。
(5)、该传输控制协议在网络发生拥塞时的处理方法及装置,通过采用在基站设备应用层开辟独立处理模块,用于缓存TCP数据,提前向服务器回复ACK以及在需要的时候主动向用户重传数据报文,改善了网路数据传输的环境,有利于网路工程的建设,利国利民,使得广大网民能更舒适的享受网上冲浪,由于解决网络数据加载拥挤和堵塞的问题,还能带动互联网经济快速发展,促进社会的发展,增加了社会效益。
附图说明
图1为本发明实施例提供的一种传输控制协议在网络拥塞时处理方法的整体规划图。
图2为本发明实施例提供的一种传输控制协议在网络拥塞时的拥塞处理模块整体示意图。
图3为本发明实施例提供的一种传输控制协议在网络拥塞时处理方法开启示意图。
图4为本发明实施例提供的一种传输控制协议在网络拥塞时处理下行数据的具体流程示意图。
图5为本发明实施例提供的一种传输控制协议在网络拥塞时处理上行ACK的具体流程示意图。
图6为本发明实施例提供的一种传输控制协议在网络拥塞时的处理装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-6,本发明实施例提供一种技术方案:一种传输控制协议在网络拥塞时的处理方法和装置,考虑到造成网络拥塞主要原因是业务量大、且可靠的传输控制协议TCP需要必须得到接收方的应答才认为这个报文段传输成功,因此,本发明实施例的基本思想是:在服务器与用户之间开辟处理模块,用于处理用户应答和服务器重传等功能,达到缩短应答时间,加快重传速度的目的,从而节省时间,加速数据传输速率,缓解网络拥塞,防止断流,基于本发明实施例的基本思想,参见图1和图2,展示了本发明实施例提供的一种传输控制协议在网络拥塞时的处理方法,该方法可应用于任何一种支持TCP协议的基站设备及相关设备,该方法可以包括:
S101:进入处理模块;
S102:复制缓存TCP数据报文,构造ACK报文向服务器确认同时将已缓存数据报文由统一接口分发;
S103:当收到所述TCP数据报文的ACK报文后,删除该确认序号对应的当前TCP数据及之前数据报文,并释放所述ACK报文;
S104:收到三次及以上同一序号ACK报文,查找并重传所述序号ACK报文对应数据报文,若查找不到对应数据报文,将该ACK报文转给服务器,要求服务器重传所述TCP数据报文。
示例性地,对于步骤S101来说,是否开启网络拥塞缓解功能进入处理模块流程可以如图3所示;
对报文速率进行统计,S1011:对所有类型报文进行周期统计;S1012:对TCP报文速率进行周期统计;
S1013:判断所有类型报文速率是否大于阙值ST;如果大于阙值ST,转至S1014;若果不大于阙值,则转至S1016。
S1014:判断周期内下发的TCP报文的数据速率对所有类型报文的总速率的比率超过预设的占比阙值RT;若果大于阙值RT,转至S1015;若果不大于阙值RT,则转至S1016;
S1015:进入缓解网络拥塞处理模块;
S1016:按原流程直接分发数据报文;
可以理解地,当统计周期内所有类型报文的速率不大于阙值ST或TCP报文的数据速率对所有类型报文的总速率的比率不超过预设的占比阙值RT,则无需进入网络拥塞缓解处理模块,按原流程进行处理。
示例性地,对于步骤S102来说,当接收到下行数据报文,复制缓存TCP数据报文;构造ACK报文向服务器确认;将缓存数据报文由统一接口分发;如图4所示:
S201:解析下行数据报文是否为TCP数据报文;对于TCP数据报文,转至S203;对于非TCP数据报文,则转至S202;
S202:按原流程直接分发数据报文;
S203:解析TCP数据报文,将TCP数据报文剥掉IP头的部分按不同链接复制缓存至处理模块对应的缓存区,缓存时需根据数据报文携带序号进行由小到大的顺序缓存;
进一步地,在缓存数据报文之前,需要首先对该报文进行解析处理,获取该报文属哪个链接的数据流,链接是由IP地址+端口号唯一确定;
可以理解地,处理模块的缓存区是专门用于存储TCP数据部分的空间,需要在处理模块开辟时提前预留的一块较大的内存,因为在收到对端确认后即可删除,因此一般情况下该条件可以满足;另外,如果由于资源紧张问题,也可优先考虑对VIP用户满足该发明功能。
S204:判断缓存数据序号是否连续,以构造携带不同序号的ACK报文向服务器确认;如果序号不连续,转至S205;如果序号连续,则转至S206;
S205:序号有间断,构造期望序号的ACK报文;
S206:序号连续,则构造下一个序号的ACK报文;
S207:无论是期望序号的ACK,还是下一个序号的ACK,在构造之后都要发往服务器;
可以理解地,期望序号的ACK以便服务器在收到一定次数该序号ACK报文后,重传该序号报文;下一个序号的ACK发往服务器向服务器确认前期报文均已收到,要求服务器发送新的数据包。
S208:将缓存数据报文由统一发送接口分发;
进一步地,在按序缓存数据时,可以通过字节偏移来获取报文序号进而进行依次比较,直到找到第一个比需要缓存数据报文序号大的报文,在大序号之前将需缓存的数据报文缓存;
步骤S208是将已经缓存且向服务器确认的数据报文由统一发送接口向下分发,统一发送接口用原流程的发送接口即可。具体地讲,处理模块与原流程在缓存单元下行处理的差异在于:在原流程向下分发数据之前将数据剥掉IP头的部分复制缓存,并主动向服务器回复ACK确认。
示例性地,对于步骤S103来说,当收到用户发送的ACK报文后,删除对应的当前TCP数据及之前数据报文并释放所述ACK报文,可以包括:
当接收到用户发送的报文后,S201:首先进行解析处理,判断是否为TCP ACK报文;对于TCP ACK报文,转至S303;对于非TCP ACK报文,转至S302;
S302:按原流程将报文向上投递;
S303:解析TCP ACK报文获取所属链接及确认序号;
S304:判断本次ACK确认序号与上次收到ACK确认序号是否相等;如果相等转至S308;如果不相等,则转至S305;
具体地,定义两个变量用来记录属于同一链接当前次ACK确认序号和上次ACK确认序号;将两个变量的初始值均设为无效值;收到第一个ACK后,将该ACK确认序号赋值当前次变量并与上次确认无效值的序号进行比较,不相等,将该当前次序号赋值上次确认序号变量,当前次序号变量重置为无效值;收到第二个ACK时,将新收到ACK确认序号赋值当前次ACK确认序号变量,与上次ACK确认序号变量进行比较,如果相等,不进行赋值;不相等,将当前次确认序号赋值上次确认序号变量;以此类推;
S305:将上次ACK确认序号重新赋值为当前ACK确认序号,并将ACK统计计数值置为1;
S306:在缓存区查找对应序号的数据报文,将序号小于该序号的缓存数据报文全部删除;
S307:释放该TCP ACK报文,不再向服务器转发。
示例性地,对于步骤S104来说,是对收到用户发送的同一确认序号的ACK后所做的处理,具体包括:
S308:当前次ACK确认序号与上次确认序号相同,将ACK统计计数变量值++;
S309:判断ACK统计计数变量值是否大于等于三次;如果不大于三次,转至S306,进行查询删除操作;如果大于等于三次,转至S310;
S310:判断在缓存区查是否找到对应序号的数据报文;如果找到对应序号数据报文,转至S311;如果找不到对应序号数据报文,转至S312;
S311:封装并重传对应序号数据报文;
S312:将该TCP ACK向服务器连续转发三次。
进一步地,处理模块收到同一序号的ACK报文未达到三次,但超时定时超时时,处理模块主动重传超时的数据报文。
可以理解地,本端在收到三次以上同一序号的ACK报文,即认为用户没有收到该序号对应的数据报文,需要本端对该序号的数据报文进行重传。在这种情况下,首先在缓存区中所属链接中查找该序号的数据报文,如果找到,将该数据报文提出并封装IP头部后进行重传;如果在缓存区中找不到,需要服务器进行重传。服务器进行重传分为两种情况:一、收到三次以上同一序号的ACK;二、超时重传。考虑有效性,一般进行快速重传,即收到三次以上同一序号的ACK后立刻进行重传。因此,在本方案中,将该序号的TCP ACK向服务器连续转发三次,触发服务器快速重传。
基于签署实施例相同的技术构思,参考图6,其示出了本发明实施例提供的一种传输控制协议在网络拥塞时的处理装置,所述装置包括:判定单元101、缓存单元102、转发单元103、ACK处理单元104,其中:
判定单元101,用于判定统计周期内相关报文数是否达到门限值,并且在满足条件时开启所述拥塞缓解功能,按照预设策略对所述TCP报文进行处理,进入缓存单元102;
缓存单元102,用于复制缓存服务器下发数据报文剥掉IP头的部分,并构造ACK向服务器确认,之后实施转发单元103;
转发单元103,用于将服务器下发数据缓存之后向用户转发出去;
ACK处理单元104,在收到用户发送的ACK报文时,删除所述ACK序号对应的数据报文及之前的数据报文并释放所述ACK;当收到重传指示时,查找所述数据报文并封装后发往用户。
进一步地,判定单元101,用于判定网络是否拥塞,在所有报文类型统计值大于阙值ST且TCP统计值与所有报文类型统计值比值大于阙值RT时,开启网络拥塞缓解功能,按照预设策略对所述TCP报文进行处理,进入处理模块。
进一步地,缓存单元102,具体用于:
根据TCP数据所属链路,将数据剥掉IP头的部分复制缓存至处理模块的缓存区;
向服务器主动回复ACK确认;
将所述已缓存的TCP数据报文通过统一的发送接口原封不动向用户转发出去,同时开启该数据报文超时定时器;
可以理解地,TCP数据在缓存区是按链路来分别缓存的;需要进行缓存的是TCP数据剥掉IP头的部分;缓存需按序缓存,方便后续重传时查找对应序号数据报文。缓存单元带来的优势是提前向服务器确认,提升数据流量;缓存数据,可在需要重传时节省时间。
进一步地,转发单元103,是对原流程的延续,用原流程接口在数据复制缓存后将数据报文原样转发给用户。
进一步地,ACK处理单元104,是对上行ACK的处理单元,具体用于:
判定上行报文是否为TCP ACK,如果是进入ACK处理单元;
解析ACK报文,获取所属链接及序号;以及,
判断当前ACK序号与上一次ACK确认序号是否相等:
当前ACK序号与上一次序号不相等,查找小于该序号的缓存数据并删除,释放该ACK;或者
当前ACK序号与上次序号相等,判断该序号统计值是否大于等于三次,如果大于等于三次,进行重传;小于三次,查找小于该序号的缓存数据并删除,释放该ACK。
进一步地,ACK处理单元104,具体用于:
当收到三次及以上同一序号ACK时,需要重传,重传包括:
在链路所属缓存区进行查找对应序号的数据报文,如果找到对应序号数据报文,对该数据报文封装IP头后进行重传;或者
在所属链路对应缓存区中找不到对应序号的数据报文,需要请求服务器进行重传,这就要满足服务器重传条件,即向服务器连续发送三次请求序号的ACK,触发服务器快速重传;
进一步地,处理模块收到同一序号的ACK报文未达到三次,但超时定时超时时,处理模块主动重传超时的数据报文。
可以理解地,从节省时间角度,优先考虑触发服务器快速重传,不提倡超时重传;
在定时器规定的时间内没有触发服务器的快速重传,那么将由超时定时器来触发超时重传,重传数据进入各处理单元进行与首次下发数据同样的处理。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (10)

1.一种传输控制协议在网络拥塞时的处理方法,其特征在于,所述方法包括:
在基站设备的应用层开辟独立的处理模块,即网络拥塞处理模块,用于在网络拥塞时临时存放从服务器下发的TCP数据报文;
当统计周期内所有类型报文的总速率大于预设的阙值ST,且所述统计周期内下发的TCP报文的数据速率对所有类型报文的总速率的比率超过预设的占比阙值RT,认为存在网络拥塞风险,开启网络拥塞缓解功能,按照预设策略对所述TCP报文进行处理;
当网络拥塞缓解功能开启时对TCP数据缓存,具体包括:
对服务器所下发数据进行解析处理,将不同链接的数据报文根据序号进行由小到大排序进而将剥掉IP头的数据部分临时复制存储在处理模块,对于序号较小但迟来的报文,与已储存的报文序号依次比较,直到找到第一个比所述报文序号大的报文,并在所述较大序号报文之前存储;
收到并存储所述TCP数据报文后,在处理模块进行组包封装ACK报文,由所述处理模块直接向服务器进行回复确认;
将复制存储后的所述TCP数据报文向用户通过统一接口原封不动转发出去,在数据包发送的同时开启定时器,所述定时器时长符合TCP协议超时重传时长;
当收到用户发送的ACK,具体包括:
解析ACK报文,获取确认报文所属链接及序号,删除所属链接中所述确认序号对应的当前数据及之前数据报文,并释放所述ACK报文,不再向服务器发送;
当收到三次及以上同一序号ACK报文,查找并重传所述序号数据报文,或将所述ACK报文转发给服务器,要求服务器重传所述数据报文;
当超时发生,查找并重传所述确认报文携带序号对应的数据报文,或将所述确认报文转发给服务器,要求服务器重传所述数据报文;
对于不同链接的数据报文,链接是由IP地址+端口号来唯一确定:发送方的链接是由源IP地址+源主机端口号确定;接收方链接是由目的IP地址+目的主机端口号来确定。
2.根据权利要求1所述的方法,其特征在于,收到三次及以上同一序号确认报文,在处理模块查找并重传所述数据报文,具体包括:
收到ACK报文,对所述ACK报文解析获取所述报文序号并进行计数统计,当收到所述序号的ACK报文的统计计数大于等于3时,在处理模块依次查找所述序号对应的数据报文:如找到所述数据报文,对所述数据报文进行封装打包后重新发往用户;如找不到所述数据报文,将所述ACK报文向服务器连发三次,请求服务器重新发送所述数据报文,
所述ACK报文计数未达到三次,报文重传定时器超时,对超时数据报文进行封装重传。
3.根据权利要求2所述方法,其特征在于,将所述ACK报文向服务器连发三次,具体包括:
当要求重传时,在缓存区查找所述序号数据报文而未能找到时,即缓存区没有缓存服务器发送的所述序号报文,这时要将所述ACK报文转发给服务器,服务器在收到三次该ACK报文后,会重传所述序号数据报文;
当超时定时器超时时,需要重传,具体包括:
在规定时间内,未收到所述数据报文的确认报文,在缓存区查找对应数据报文,封装并重发至用户,
当在服务器与基站设备之间发生丢包现象时,也由该处理模块直接激发超时重传或快速重传,要求服务器向所述处理模块重传所述数据报文。
4.根据权利要求3所述的方法,其特征在于,快速重传,具体包括:
当对端收到连续数据报文后,会回复一个包含期望下一次所收到数据报文序号的ACK报文;如收到的数据报文序号并非期望报文时,会重复回复期望序号的ACK报文,本端收到ACK报文进行统计计数,收到三次以上同一序号ACK报文时,触发快速重传。
5.一种传输控制协议在网络拥塞时的处理装置,其特征在于,所述装置包括:判定单元、缓存单元、转发单元、ACK处理单元,具体包括:
所述判定单元,用于判定统计周期内相关报文数是否达到门限值,并且在满足条件时开启网络拥塞缓解功能,按照预设策略对所述TCP报文进行处理;
所述缓存单元,用于复制缓存服务器下发数据报文剥掉IP头的部分,并构造ACK向服务器确认;
所述转发单元,用于将服务器下发数据复制缓存之后向用户转发出去;
所述ACK处理单元,是指在收到用户发送的ACK报文时,删除所述ACK序号对应的数据报文并释放所述ACK;当收到重传指示时,查找所述数据报文并封装后发往用户。
6.根据权利要求5所述装置,其特征在于,所述判定单元,具体用于当统计周期内所有类型报文的总速率大于预设的阙值ST,且所述统计周期内下发的TCP报文的数据速率对所有类型报文的总速率的比率超过预设的占比阙值RT,认为存在网络拥塞风险,开启网络拥塞缓解功能,按照预设策略对所述TCP报文进行处理;所述缓存单元,具体用于将服务器所下发数据进行解析处理,将不同链接的数据报文根据序号进行由小到大排序进而临时复制存储,然后由统一接口向用户发送。
7.根据权利要求6所述装置,其特征在于,所述缓存单元还包括排序单元,用于将所述缓存数据按从小到大的序号进行排序,对于序号较小但迟来的报文,与已储存的报文序号依次比较,直到找到比所述报文序号大的报文,并在所述较大序号报文之前存储;所述装置设有链接识别单元,用于区分不同链接的数据流,将TCP数据报文按不同流进行分别存储;所述装置设有确认单元,用于在缓存数据后,主动向服务器回复所述序号数据报文的ACK报文。
8.根据权利要求5所述装置,其特征在于,所述转发单元,具体用于:
将所述已缓存的TCP数据报文通过统一的发送接口原封不动向用户转发出去,同时开启该数据报文超时定时器。
9.根据权利要求8所述装置,其特征在于,超时定时器,具体用于:
在超时定时器超时时,主动向用户封装重传超时数据报文。
10.根据权利要求5所述装置,其特征在于,所述ACK处理单元,具体用于:
在收到用户ACK报文时,解析ACK报文,获取所属链接及确认序号,删除所属链接中小于所述确认序号的所有数据报文,并释放所述ACK报文,不再向服务器发送,同时对所述序号ACK报文进行计数统计;
当同一序号的所述ACK报文统计计数大于等于3时,在缓存单元查找所述序号数据报文并进行封装重传给用户;若在缓存区找不到所述数据报文,将所述ACK报文向服务器连发三次,请求服务器重传所述数据报文。
CN201810166093.3A 2018-02-28 2018-02-28 一种传输控制协议在网络拥塞时的处理方法和装置 Pending CN110213167A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810166093.3A CN110213167A (zh) 2018-02-28 2018-02-28 一种传输控制协议在网络拥塞时的处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810166093.3A CN110213167A (zh) 2018-02-28 2018-02-28 一种传输控制协议在网络拥塞时的处理方法和装置

Publications (1)

Publication Number Publication Date
CN110213167A true CN110213167A (zh) 2019-09-06

Family

ID=67778671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810166093.3A Pending CN110213167A (zh) 2018-02-28 2018-02-28 一种传输控制协议在网络拥塞时的处理方法和装置

Country Status (1)

Country Link
CN (1) CN110213167A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111866947A (zh) * 2020-07-08 2020-10-30 中国科学院计算机网络信息中心 一种基于mec的无线网络传输优化方法和系统
CN112333281A (zh) * 2020-11-16 2021-02-05 中国联合网络通信集团有限公司 一种数据传输方法及装置
CN112511377A (zh) * 2020-11-16 2021-03-16 成都云智天下科技股份有限公司 一种基于arq和udp协议的tcp网络加速方法
CN113726681A (zh) * 2020-05-26 2021-11-30 华为技术有限公司 一种网络拥塞控制方法及网络设备
CN113791901A (zh) * 2021-08-31 2021-12-14 上海弘积信息科技有限公司 一种高效的负载均衡设备tcp重传实现方法
WO2022078517A1 (zh) * 2020-10-15 2022-04-21 展讯通信(上海)有限公司 数据传输方法、设备和存储介质

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004015556A (ja) * 2002-06-07 2004-01-15 Sony Corp 通信方法、通信装置及び通信システム
CN1753354A (zh) * 2005-10-25 2006-03-29 华中科技大学 基于arq信息的基站tcp代理确认方法及其系统
WO2006056880A2 (en) * 2004-11-29 2006-06-01 Bob Tang Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgentcp (square wave form) tcp friendly san
CN101945341A (zh) * 2010-09-16 2011-01-12 西北大学 一种无线传感器网络点对点传输协议
CN102143078A (zh) * 2011-03-29 2011-08-03 华为技术有限公司 一种报文处理方法、转发设备及系统
WO2011093835A1 (en) * 2010-01-28 2011-08-04 Thomson Licensing A method and apparatus for parsing a network abstraction-layer for reliable data communication
CN103840917A (zh) * 2014-03-28 2014-06-04 北京邮电大学 一种基于网络编码的多路并行传输方案
CN104038436A (zh) * 2014-06-10 2014-09-10 重庆金美通信有限责任公司 一种解决有线网络拥塞的路由选择方法
CN104093170A (zh) * 2014-06-10 2014-10-08 北京创毅视讯科技有限公司 基于tcp的数据传输方法和tcp代理装置
CN105791239A (zh) * 2014-12-24 2016-07-20 中国科学院声学研究所 一种tcp中间人处理方法
CN105991629A (zh) * 2015-03-26 2016-10-05 杭州迪普科技有限公司 Tcp连接建立方法及装置
CN106209325A (zh) * 2015-04-30 2016-12-07 中兴通讯股份有限公司 一种tcp ack报文处理方法及装置
WO2016201904A1 (zh) * 2015-06-16 2016-12-22 中兴通讯股份有限公司 一种基于tcp的数据传输方法及装置
WO2017185353A1 (zh) * 2016-04-29 2017-11-02 华为技术有限公司 一种传输控制协议tcp报文的传输方法、设备及系统
CN107592185A (zh) * 2017-07-19 2018-01-16 西南交通大学 一种适用于网络编码传输控制协议的前向重传方法

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004015556A (ja) * 2002-06-07 2004-01-15 Sony Corp 通信方法、通信装置及び通信システム
WO2006056880A2 (en) * 2004-11-29 2006-06-01 Bob Tang Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgentcp (square wave form) tcp friendly san
CN1753354A (zh) * 2005-10-25 2006-03-29 华中科技大学 基于arq信息的基站tcp代理确认方法及其系统
WO2011093835A1 (en) * 2010-01-28 2011-08-04 Thomson Licensing A method and apparatus for parsing a network abstraction-layer for reliable data communication
CN101945341A (zh) * 2010-09-16 2011-01-12 西北大学 一种无线传感器网络点对点传输协议
CN102143078A (zh) * 2011-03-29 2011-08-03 华为技术有限公司 一种报文处理方法、转发设备及系统
CN103840917A (zh) * 2014-03-28 2014-06-04 北京邮电大学 一种基于网络编码的多路并行传输方案
CN104038436A (zh) * 2014-06-10 2014-09-10 重庆金美通信有限责任公司 一种解决有线网络拥塞的路由选择方法
CN104093170A (zh) * 2014-06-10 2014-10-08 北京创毅视讯科技有限公司 基于tcp的数据传输方法和tcp代理装置
CN105791239A (zh) * 2014-12-24 2016-07-20 中国科学院声学研究所 一种tcp中间人处理方法
CN105991629A (zh) * 2015-03-26 2016-10-05 杭州迪普科技有限公司 Tcp连接建立方法及装置
CN106209325A (zh) * 2015-04-30 2016-12-07 中兴通讯股份有限公司 一种tcp ack报文处理方法及装置
WO2016201904A1 (zh) * 2015-06-16 2016-12-22 中兴通讯股份有限公司 一种基于tcp的数据传输方法及装置
WO2017185353A1 (zh) * 2016-04-29 2017-11-02 华为技术有限公司 一种传输控制协议tcp报文的传输方法、设备及系统
CN107592185A (zh) * 2017-07-19 2018-01-16 西南交通大学 一种适用于网络编码传输控制协议的前向重传方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
叶敏华等: "无线链路的TCP性能问题及其改善", 《电子科技大学学报》 *
吕建宁等: "TCP友好的分布式可靠组播协议的设计与实现", 《计算机应用研究》 *
铁玲等: "一种能处理无线链路拥塞的TCP/ARQ改进算法", 《高技术通讯》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113726681A (zh) * 2020-05-26 2021-11-30 华为技术有限公司 一种网络拥塞控制方法及网络设备
CN113726681B (zh) * 2020-05-26 2023-07-11 华为技术有限公司 一种网络拥塞控制方法及网络设备
CN111866947A (zh) * 2020-07-08 2020-10-30 中国科学院计算机网络信息中心 一种基于mec的无线网络传输优化方法和系统
WO2022078517A1 (zh) * 2020-10-15 2022-04-21 展讯通信(上海)有限公司 数据传输方法、设备和存储介质
CN112333281A (zh) * 2020-11-16 2021-02-05 中国联合网络通信集团有限公司 一种数据传输方法及装置
CN112511377A (zh) * 2020-11-16 2021-03-16 成都云智天下科技股份有限公司 一种基于arq和udp协议的tcp网络加速方法
CN112511377B (zh) * 2020-11-16 2022-02-01 成都云智天下科技股份有限公司 一种基于arq和udp协议的tcp网络加速方法
CN113791901A (zh) * 2021-08-31 2021-12-14 上海弘积信息科技有限公司 一种高效的负载均衡设备tcp重传实现方法
CN113791901B (zh) * 2021-08-31 2023-12-26 上海弘积信息科技有限公司 一种高效的负载均衡设备tcp重传实现方法

Similar Documents

Publication Publication Date Title
CN110213167A (zh) 一种传输控制协议在网络拥塞时的处理方法和装置
CN102006283B (zh) 数据传输的方法和装置
CN104093170B (zh) 基于tcp的数据传输方法和tcp代理装置
CA2604898C (en) System and method of message traffic optimization
CN101521683B (zh) 一种网络游戏系统及其接入方法、客户端通讯方法
US20030023738A1 (en) Enhanced multicast-based web server
CN1909507B (zh) 一种报文转发方法和系统
CN107276910A (zh) 视频码率实时调整装置及系统、视频服务器
CN107070990A (zh) 数据资源传输的方法和设备
CN107204834A (zh) 一种基于udt协议的高速网络可靠传输的控制方法
CN1964348A (zh) 一种数据传输方法和系统
CN108933735A (zh) 一种报文发送的方法、装置及设备
CN101651526A (zh) 一种网络设备间的消息传递方法
CN102394925A (zh) 远程监测诊断中心与地区调度中心的通讯方法及装置
CN101977358A (zh) 一种数据短信的传输方法、装置及设备
CN107733813A (zh) 报文转发方法及装置
CN106209325A (zh) 一种tcp ack报文处理方法及装置
CN100461882C (zh) 一种短消息系统中对网元进行重试的方法
CN109525376A (zh) 快速重传方法、装置及终端设备
CN103944880B (zh) 一种ZigBee数据传输的方法
CN104753629B (zh) 一种数据递交方法和装置
CN102263618B (zh) 无线网络拥塞控制方法、装置及系统
CN102801692A (zh) 一种基于分裂连接的传输控制协议优化方法及系统
CN102457986A (zh) 终端的上行数据传输方法及终端
CN103647622A (zh) 一种实现跨机房数据传输的方法、装置和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
DD01 Delivery of document by public notice
DD01 Delivery of document by public notice

Addressee: Chang Yali

Document name: Notice of Conformity

CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Yang Pengju

Inventor after: Wu Rui

Inventor before: Wu Rui

Inventor before: Yang Pengju

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230113

Address after: 716000 Yangjialing, Baota District, Yan'an City, Shaanxi Province

Applicant after: YAN'AN University

Address before: No. 725, Yangwan Village, Sanchuankou Town, Zizhou County, Shaanxi Province, 718400

Applicant before: Wu Rui

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190906