CN114726797A - 加速传输方法、装置、设备、系统和存储介质 - Google Patents

加速传输方法、装置、设备、系统和存储介质 Download PDF

Info

Publication number
CN114726797A
CN114726797A CN202210168369.8A CN202210168369A CN114726797A CN 114726797 A CN114726797 A CN 114726797A CN 202210168369 A CN202210168369 A CN 202210168369A CN 114726797 A CN114726797 A CN 114726797A
Authority
CN
China
Prior art keywords
data packet
tcp
mac
receiving end
port
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.)
Granted
Application number
CN202210168369.8A
Other languages
English (en)
Other versions
CN114726797B (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.)
Cloudminds Shanghai Robotics Co Ltd
Original Assignee
Cloudminds Shanghai Robotics Co Ltd
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 Cloudminds Shanghai Robotics Co Ltd filed Critical Cloudminds Shanghai Robotics Co Ltd
Priority to CN202210168369.8A priority Critical patent/CN114726797B/zh
Publication of CN114726797A publication Critical patent/CN114726797A/zh
Application granted granted Critical
Publication of CN114726797B publication Critical patent/CN114726797B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明实施例提供一种加速传输方法、装置、设备、系统和存储介质,该方法包括:捕获向接收端发送的原始传输控制协议TCP数据包,原始TCP数据包是通过发送端和接收端建立的第一TCP连接进行传输的;切断第一TCP连接;基于原始TCP数据包,确定第一数据包;基于第一数据包向接收端发起TCP连接请求,以和接收端建立第二TCP连接;用发送端的I P、指定端口以及MAC依次替换第一数据包中的网络设备的I P、随机端口以及MAC,且用接收端的MAC替换第一数据包中的下一跳设备的MAC,得到第二数据包;通过第二TCP连接,基于预设的拥塞控制算法,向接收端发送第二数据包。TCP数据包中携带的数据包信息不变。

Description

加速传输方法、装置、设备、系统和存储介质
技术领域
本发明涉及网络技术领域,尤其涉及一种加速传输方法、装置、设备、系统和存储介质。
背景技术
相关技术中,为了实现对传输控制协议(Transmission Control Protocol,简写为TCP)数据包传输的加速,会在发送端和接收端的中间接入一个网络设备。通过该网络设备可以捕获发送给接收端的TCP数据包,在该网络设备内部需要对捕获的TCP数据包进行处理,以实现TCP数据包的加速传输。
在网络设备对TCP数据包处理的过程中,不可避免地会改变捕获的TCP数据包中原本携带的数据包信息,虽然网络设备也尽可能地会尝试在将处理后的TCP数据包发出之前对修改过的数据包信息进行还原,但实际发出的TCP数据包中携带的数据包信息也和原始的TCP数据包中携带的数据包信息存在差别。其中,数据包信息包括源网际互连协议地址(Internet Protocol,简写为IP)、源端口、源物理地址(Media Access Control Address,简写为MAC)、目的IP、目的端口以及目的MAC。
对于接收端来说,可以基于接收端接收到的TCP数据包中的数据包信息进行大数据分析。而如果由于上述网络设备的存在导致接收端接收到的TCP数据包中的数据包信息已不是原始的TCP数据包中携带的数据包信息,则进而会导致分析错误。因此,亟需一种在能够实现TCP数据包的加速传输的同时,还能保证接收端接收到与原始的TCP数据包中携带的数据包信息相一致的技术方案。
发明内容
本发明实施例提供一种加速传输方法、装置、设备、系统和存储介质,用以在能够实现TCP数据包的加速传输的同时,还能保证接收端接收到与原始的TCP数据包中携带的数据包信息相一致。
第一方面,本发明实施例提供一种TCP数据包的加速传输方法,应用于网络设备,该方法包括:
捕获向接收端发送的原始传输控制协议TCP数据包,所述原始TCP数据包是通过发送端和所述接收端建立的第一TCP连接进行传输的,所述原始TCP数据包中的源互联网协议地址IP、源端口以及源物理地址MAC依次为所述发送端的IP、指定端口以及MAC,所述原始TCP数据包中的目的IP、目的端口以及目的MAC依次为所述接收端的IP、指定端口以及MAC;
切断所述第一TCP连接;
基于所述原始TCP数据包,确定第一数据包,所述第一数据包中的源IP、源端口以及源MAC依次为所述网络设备的IP、随机端口以及MAC,所述第一数据包中的目的IP、目的端口以及目的MAC依次为所述接收端的IP、指定端口以及所述网络设备的下一跳设备的MAC,所述第一数据包的IP Options字段中携带有所述发送端的IP、指定端口以及MAC、和所述接收端的IP、指定端口以及MAC;
基于所述第一数据包向所述接收端发起TCP连接请求,以和所述接收端建立第二TCP连接;
从所述第一数据包的所述IP Options字段中解析出所述发送端的IP、指定端口以及MAC、和所述接收端的MAC,用所述发送端的IP、指定端口以及MAC依次替换所述第一数据包中的所述网络设备的IP、随机端口以及MAC,且用所述接收端的MAC替换所述第一数据包中的所述下一跳设备的MAC,得到第二数据包;
通过所述第二TCP连接,基于预设的拥塞控制算法,向所述接收端发送所述第二数据包。
可选地,所述拥塞控制算法为BBR拥塞控制算法。
可选地,所述基于所述原始TCP数据包,确定第一数据包的过程是由所述网络设备中设置的TCP加速模块实现;
所述基于所述原始TCP数据包,确定第一数据包,包括:
对所述TCP加速模块进行配置,以使得所述TCP加速模块监听目的IP和目的端口依次为所述网络设备的IP和指定端口的TCP数据包;
用所述网络设备的IP替换所述原始TCP数据包中的所述接收端的IP,且用所述网络设备的指定端口替换所述原始TCP数据包中的所述接收端的指定端口,得到第三数据包,以使得配置后的TCP加速模块获取所述第三数据包;
将所述发送端的IP、指定端口以及MAC、和所述接收端的IP、指定端口以及MAC,添加到所述第三数据包的IP Options字段;
通过所述配置后的TCP加速模块,基于所述第三数据包确定第一数据包。
可选地,所述通过所述配置后的TCP加速模块,基于所述第三数据包确定第一数据包,包括:
通过所述配置后的TCP加速模块,用所述网络设备的IP和随机端口依次替换所述第三数据包中的所述发送端的IP和指定端口,且用所述接收端的IP和指定端口依次替换所述第三数据包中的所述网络设备的IP和指定端口,得到第一数据包。
可选地,在获得所述第三数据包之后,所述方法还包括:
基于所述第三数据包向所述发送端发起TCP连接请求,以和所述发送端建立第三TCP连接。
可选地,所述TCP加速模块是基于Nginx正向代理技术实现的。
可选地,所述用所述网络设备的IP替换所述原始TCP数据包中的所述接收端的IP,且用所述网络设备的指定端口替换所述原始TCP数据包中的所述接收端的指定端口,得到第三数据包,以使得配置后的TCP加速模块获取所述第三数据包,包括:
若所述原始TCP数据包中的所述发送端的IP为预设加速IP集合中的任一IP,则用所述网络设备的IP替换所述原始TCP数据包中的所述接收端的IP,且用所述网络设备的指定端口替换所述原始TCP数据包中的所述接收端的指定端口,得到第三数据包,以使得配置后的TCP加速模块获取所述第三数据包;
若所述原始TCP数据包中的所述发送端的IP不属于所述预设加速IP集合中的IP,则向所述接收端转发所述原始TCP数据包。
第二方面,本发明实施例提供一种TCP数据包的加速传输装置,设置于网络设备,该装置包括:
捕获模块,用于捕获向接收端发送的原始传输控制协议TCP数据包,所述原始TCP数据包是通过发送端和所述接收端建立的第一TCP连接进行传输的,所述原始TCP数据包中的源互联网协议地址IP、源端口以及源物理地址MAC依次为所述发送端的IP、指定端口以及MAC,所述原始TCP数据包中的目的IP、目的端口以及目的MAC依次为所述接收端的IP、指定端口以及MAC;
切断模块,用于切断所述第一TCP连接;
TCP加速模块,用于基于所述原始TCP数据包,确定第一数据包,所述第一数据包中的源IP、源端口以及源MAC依次为所述网络设备的IP、随机端口以及MAC,所述第一数据包中的目的IP、目的端口以及目的MAC依次为所述接收端的IP、指定端口以及所述网络设备的下一跳设备的MAC,所述第一数据包的IPOptions字段中携带有所述发送端的IP、指定端口以及MAC、和所述接收端的IP、指定端口以及MAC;
重连模块,用于基于所述第一数据包向所述接收端发起TCP连接请求,以和所述接收端建立第二TCP连接;
替换模块,用于从所述第一数据包的所述IP Options字段中解析出所述发送端的IP、指定端口以及MAC、和所述接收端的MAC,用所述发送端的IP、指定端口以及MAC依次替换所述第一数据包中的所述网络设备的IP、随机端口以及MAC,且用所述接收端的MAC替换所述第一数据包中的所述下一跳设备的MAC,得到第二数据包;
发送模块,用于通过所述第二TCP连接,基于预设的拥塞控制算法,向所述接收端发送所述第二数据包。
可选地,所述拥塞控制算法为BBR拥塞控制算法。
可选地,所述TCP加速模块,用于:
对所述TCP加速模块进行配置,以使得所述TCP加速模块监听目的IP和目的端口依次为所述网络设备的IP和指定端口的TCP数据包;
用所述网络设备的IP替换所述原始TCP数据包中的所述接收端的IP,且用所述网络设备的指定端口替换所述原始TCP数据包中的所述接收端的指定端口,得到第三数据包,以使得配置后的TCP加速模块获取所述第三数据包;
将所述发送端的IP、指定端口以及MAC、和所述接收端的IP、指定端口以及MAC,添加到所述第三数据包的IP Options字段;
通过所述配置后的TCP加速模块,基于所述第三数据包确定第一数据包。
可选地,所述TCP加速模块,用于:
通过所述配置后的TCP加速模块,用所述网络设备的IP和随机端口依次替换所述第三数据包中的所述发送端的IP和指定端口,且用所述接收端的IP和指定端口依次替换所述第三数据包中的所述网络设备的IP和指定端口,得到第一数据包。
可选地,所述重连模块,还用于:
基于所述第三数据包向所述发送端发起TCP连接请求,以和所述发送端建立第三TCP连接。
可选地,所述TCP加速模块是基于Nginx正向代理技术实现的。
可选地,所述TCP加速模块,用于:
若所述原始TCP数据包中的所述发送端的IP为预设加速IP集合中的任一IP,则用所述网络设备的IP替换所述原始TCP数据包中的所述接收端的IP,且用所述网络设备的指定端口替换所述原始TCP数据包中的所述接收端的指定端口,得到第三数据包,以使得配置后的TCP加速模块获取所述第三数据包;
若所述原始TCP数据包中的所述发送端的IP不属于所述预设加速IP集合中的IP,则向所述接收端转发所述原始TCP数据包。
第三方面,本发明实施例提供了一种TCP数据包加速传输系统,所述系统包括服务器、第一网络设备以及终端,其中,所述第一网络设备包括第二方面提供的TCP数据包的加速传输装置,所述第一网络设备串接于所述服务器的数据出口;
所述服务器,用于向所述第一网络设备发送第一TCP数据包;
所述第一网络设备,用于将所述第一TCP数据包加速传输至所述终端;
所述终端,用于接收经过所述第一网络设备加速传输的第一TCP数据包。
可选地,所述系统还包括第二网络设备,其中,所述第二网络设备包括第二方面提供的TCP数据包的加速传输装置,所述第二网络设备串接于所述终端的数据出口;
所述终端,还用于向所述第二网络设备发送第二TCP数据包;
所述第二网络设备,用于将所述第二TCP数据包加速传输至所述服务器;
所述服务器,还用于接收经过所述第二网络设备加速传输的第二TCP数据包。
第四方面,本发明实施例提供一种网络设备,其中包括处理器和存储器,其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现第一方面中的TCP数据包的加速传输方法。
第五方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被网络设备的处理器执行时,使所述处理器至少可以实现第一方面中的TCP数据包的加速传输方法。
采用本发明,可以将发送端与接收端之间的长TCP连接终结,然后重新发起网络设备与接收端、网络设备与发送端之间的TCP连接。通过这样的方式,网络设备可以分别与发送端和接收端进行交互,把原本的发送端与接收端之间的长TCP连接切分成两部分,进而可以根据各部分内部的丢包、数据包传输延时情况进行各自的优化,以达到提高TCP数据包传输速度的目的。
同时,结合拥塞控制算法实现合理设置拥塞窗口的值,以使得数量与网络的容量适配的数据包能够注入到网络中,以充分利用当前网络的容量,实现提高TCP数据包传输速度的目的。
且与此同时,通过将原始TCP数据包中携带的数据包信息添加到TCP数据包中的IPOptions字段,以保留原始TCP数据包中携带的数据包信息。即使后续根据需要对原始TCP数据包中携带的数据包信息进行了相应修改,但在TCP数据包实际发出之前,通过解析IPOptions字段中记录的原始TCP数据包中携带的数据包信息,对修改后的TCP数据包中携带的数据包信息进行还原,最终使得发出的TCP数据包与原始TCP数据包中携带的数据包信息是相一致的。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种TCP数据包的加速传输方法的流程示意图;
图2为本发明实施例提供的一种设备连接示意图;
图3为本发明实施例提供的一种TCP连接示意图;
图4为本发明实施例提供的一种数据处理示意图;
图5为本发明实施例提供的一种单侧部署场景示意图;
图6为本发明实施例提供的一种双侧部署场景示意图;
图7为本发明实施例提供的一种TCP数据包的加速传输装置的结构示意图;
图8为本发明实施例提供的一种网络设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
图1为本发明实施例提供的一种TCP数据包的加速传输方法的流程图,该方法可以应用于网络设备。如图1所示,该方法包括如下步骤:
101、捕获向接收端发送的原始TCP数据包,原始TCP数据包是通过发送端和接收端建立的第一TCP连接进行传输的,原始TCP数据包中的源IP、源端口以及源MAC依次为发送端的IP、指定端口以及MAC,原始TCP数据包中的目的IP、目的端口以及目的MAC依次为接收端的IP、指定端口以及MAC。
102、切断第一TCP连接。
103、基于原始TCP数据包,确定第一数据包,第一数据包中的源IP、源端口以及源MAC依次为网络设备的IP、随机端口以及MAC,第一数据包中的目的IP、目的端口以及目的MAC依次为接收端的IP、指定端口以及网络设备的下一跳设备的MAC,第一数据包的IPOptions字段中携带有发送端的IP、指定端口以及MAC、和接收端的IP、指定端口以及MAC。
104、基于第一数据包向接收端发起TCP连接请求,以和接收端建立第二TCP连接。
105、从第一数据包的IP Options字段中解析出发送端的IP、指定端口以及MAC、和接收端的MAC,用发送端的IP、指定端口以及MAC依次替换第一数据包中的网络设备的IP、随机端口以及MAC,且用接收端的MAC替换第一数据包中的下一跳设备的MAC,得到第二数据包。
106、通过第二TCP连接,基于预设的拥塞控制算法,向接收端发送第二数据包。
实际应用中,当发送端需要向接收端发送TCP数据包时,发送端可以与接收端建立第一TCP连接,然后通过该第一TCP连接向接收端传输TCP数据包。在该过程中,可以通过技术手段实现TCP数据包的加速传输,也就是提高设备的数据包吞吐量。
具体来说,如图2所示,可以在发送端的数据出口串接网络设备,该网络设备可以起到对发送端发出的TCP数据包进行加速传输的作用。以客户端与服务器传输TCP数据包的应用场景来说,如果在客户端的数据出口串接网络设备,可以提高上行数据传输速度,如果在服务器的数据出口串接网络设备,可以提高下行数据的传输速度。一般来说,需要传输的下行数据的数据量要远大于上行数据的数据量,因此在考虑节约部署成本的情况下,可以仅在服务器的数据出口设置网络设备,以此提高客户端从服务器中下载数据的速度。
在通过网络设备对TCP数据包进行加速传输的过程中,期望网络设备能够实现TCP数据包的加速传输的同时,还能保证网络设备发出的TCP数据包与原始TCP数据包中携带的数据包信息相一致。这样网络设备可以视为是透明加速装置,对于用户来说是完全感知不到网络设备的存在的。其中,数据包信息至少可以包括源IP、源端口、源MAC、目的IP、目的端口以及目的MAC,此外数据包信息还可以包括数据传输所采用的通讯协议。数据包信息包括了七种信息元素,因此数据包信息也可以称为七元组。本发明实施例提供的方法目的在于,在实现TCP数据包的加速传输的同时,不改变网络设备发出的TCP数据包中的七元组。
由于接收端和网络设备是串接在一起的,因此发送端发向接收端的TCP数据包都可以经过网络设备,进而网络设备可以捕获向接收端发送的原始TCP数据包。该原始TCP数据包是通过第一TCP连接进行传输的。该原始TCP数据包中的源IP、源端口以及源MAC依次为发送端的IP、指定端口以及MAC,原始TCP数据包中的目的IP、目的端口以及目的MAC依次为接收端的IP、指定端口以及MAC。
网络设备捕获到该原始TCP数据包之后,可选地,可以判断原始TCP数据包中的发送端的IP是否属于预设加速IP集合中的IP。若原始TCP数据包中的发送端的IP为预设加速IP集合中的任一IP,则可以对该原始TCP数据包进行加速传输处理。若原始TCP数据包中的发送端的IP不属于预设加速IP集合中的IP,则可以不对该原始TCP数据包进行任何处理,直接从网络设备的数据出口向接收端转发该原始TCP数据包。
举例来说,假设预先设置仅对服务器A发送出来的TCP数据包进行加速传输处理,该服务器A对应的IP为IPA。当前接收到服务器B发送的TCP数据包,通过解析该TCP数据包确定出发送端的IP为IPB,则可以直接通过数据出口向客户端转发该TCP数据包。而如果接收到服务器A发送的TCP数据包,通过解析该TCP数据包确定出发送端的IP为IPA,则可以对该TCP数据包进行加速传输处理。
在进行加速传输处理的过程中,如图3所示,首先可以切断第一TCP连接,以重新建立第二TCP连接,通过新建立的第二TCP连接传输TCP数据包,以实现对TCP数据包的加速传输。
在建立第二TCP连接之前,可以对原始TCP数据包进行相应处理,以获得第一数据包,然后基于第一数据包来建立第二TCP连接。
可选地,网络设备可以包括多个功能模块,其中一个功能模块可以是TCP加速模块,该TCP加速模块可以用于对原始TCP数据包进行相应处理,以获得第一数据包。相应地,对原始TCP数据包进行相应处理,以获得第一数据包的过程可以实现为:对TCP加速模块进行配置,以使得TCP加速模块监听目的IP和目的端口依次为网络设备的IP和指定端口的TCP数据包;用网络设备的IP替换原始TCP数据包中的接收端的IP,且用网络设备的指定端口替换原始TCP数据包中的接收端的指定端口,得到第三数据包,以使得配置后的TCP加速模块获取第三数据包;将发送端的IP、指定端口以及MAC、和接收端的IP、指定端口以及MAC,添加到第三数据包的IP Options字段;通过配置后的TCP加速模块,基于第三数据包确定第一数据包。
实际应用中,可以预先对TCP加速模块进行配置,以使得TCP加速模块监听目的IP和目的端口依次为网络设备的IP和指定端口的TCP数据包。通过该配置,可以使得目的IP为网络设备的IP且目的端口为网络设备的指定端口的TCP数据包能够导入到TCP加速模块中。对于其他目的IP不是网络设备的IP或者目的端口不是网络设备的指定端口的TCP数据包,这类TCP数据包不会导入到TCP加速模块中,这类TCP数据包会直接从网络设备的数据出口向接收端转出。只有导入到TCP加速模块中的TCP数据包才会进行加速传输处理。
举例来说,假设配置TCP加速模块监听目的IP为2.2.2.2且目的端口为30080的TCP数据包,该2.2.2.2是网络设备的IP,则当某个TCP数据包P的目的IP为2.2.2.2且目的端口为30080时,该TCP数据包P会被导入到TCP加速模块中。需要说明的是,该目的端口是可以自由配置的,也可以配置为监听其他的目的端口。
在某些可选实施例中,可以通过以下代码来配置TCP加速模块:
Figure BDA0003517538790000111
在网络设备捕获到原始TCP数据包之后,由于该原始TCP数据包中的目的IP为接收端的IP且目的端口为接收端的指定端口,导致该原始TCP数据包无法导入到TCP加速模块中,因此可以用网络设备的IP替换原始TCP数据包中的接收端的IP,且用网络设备的指定端口替换原始TCP数据包中的接收端的指定端口,得到第三数据包,以使得能够将该第三数据包导入到TCP加速模块中。
需要说明的是,第三数据包中设置有IP Options字段,由于需要对原始TCP数据包中携带的数据包信息进行修改,因此可以将原始TCP数据包中携带的数据包信息添加到该IP Options字段中,以通过第三数据包中的IP Options字段记录原始TCP数据包中携带的数据包信息,进而可以避免由于后续修改操作导致原始TCP数据包中携带的数据包信息丢失。
在将第三数据包导入到TCP加速模块之后,在TCP加速模块中,可以基于第三数据包确定第一数据包。可选地,通过TCP加速模块,基于第三数据包确定第一数据包的过程可以实现为:通过TCP加速模块,用网络设备的IP和随机端口依次替换第三数据包中的发送端的IP和指定端口,且用接收端的IP和指定端口依次替换第三数据包中的网络设备的IP和指定端口,得到第一数据包。
需要说明的是,后续需要通过第一数据包来建立网络设备与接收端之间的第二TCP连接,且网络设备是作为连接建立的发起端的,此时第一数据包中的源IP需要设置成网络设备的IP、源端口需要设置成网络设备的端口,该端口可以是随机端口,且第一数据包中的目的IP需要设置成接收端的IP、目的端口需要设置成接收端的指定端口。
基于此,在TCP加速模块中,可以用网络设备的IP和随机端口依次替换第三数据包中的发送端的IP和指定端口,且用接收端的IP和指定端口依次替换第三数据包中的网络设备的IP和指定端口,得到第一数据包。同时,第一数据包可以保留第三数据包中的IPOptions字段携带的信息,即发送端的IP、指定端口以及MAC、和接收端的IP、指定端口以及MAC。
另外,需要说明的是,网络设备可以在Linux操作系统下运行。在发起第二TCP连接时,Linux操作系统自动将第一数据包的源MAC设置为网络设备的MAC,且将第一数据包的目的MAC设置为网络设备的下一跳设备的MAC。只有这样设置第一数据包中的数据包信息,第一数据包才是合法的,才能基于第一数据包正确建立网络设备与接收端之间的第二TCP连接。
可选地,在获得第三数据包之后,本发明实施例提供的方法还可以包括:基于第三数据包向发送端发起TCP连接请求,以和发送端建立第三TCP连接。
通过网络设备可以将发送端与接收端之间的长TCP连接终结,然后重新发起网络设备与接收端、网络设备与发送端之间的TCP连接。通过这样的方式,网络设备可以分别与发送端和接收端进行交互,把原本的发送端与接收端之间的长TCP连接切分成两部分,进而可以根据各部分内部的丢包、数据包传输延时情况进行各自的优化,以达到提高TCP数据包传输速度的目的。
可选地,上述TCP加速模块可以是基于Nginx正向代理技术实现的。Nginx是一种高性能的HTTP和正向代理技术,同时也提供了IMAP/POP3/SMTP服务。
由于前面根据需要对原始TCP数据包中携带的数据包信息进行了相应修改,在将TCP数据包实际从网络设备发出之前,可以将第一数据包中携带的数据包信息还原成原始TCP数据包中携带的数据包信息。由于第一数据包中的IPOptions字段中记录了原始TCP数据包中携带的数据包信息,基于此,可以从第一数据包的IP Options字段中解析出发送端的IP、指定端口以及MAC、和接收端的MAC。然后用发送端的IP、指定端口以及MAC依次替换第一数据包中的网络设备的IP、随机端口以及MAC,且用接收端的MAC替换第一数据包中的下一跳设备的MAC,得到第二数据包。
第二数据包中携带的数据包信息是与原始TCP数据包相一致的。可以通过前面介绍的建立的第二TCP连接,基于预设的拥塞控制算法,向接收端发送第二数据包。
可选地,上述拥塞控制算法可以是BBR拥塞控制算法。
需要说明的是,TCP通过维护一个拥塞窗口来进行拥塞控制,拥塞控制的原理是:只要网络中没有出现数据包传输拥塞,那么拥塞窗口的值就可以继续增大,以便把更多的数据包发送出去。但只要网络中出现了数据包传输拥塞,那么就会将拥塞窗口的值减小,以减少注入到网络中的数据包数量。
BBR拥塞控制算法不将网络中出现的丢包或数据包传输延时增加作为提示拥塞的信号,而是认为当网络中的数据包总量大于瓶颈链路带宽和数据包传输延时的乘积时才出现了数据包传输拥塞。采用BBR拥塞控制算法可以交替测量一段时间内的带宽极大值和时延极小值,将其乘积作为拥塞窗口的值,最终使得拥塞窗口的值始终与网络的容量保持一致。
由于采用BBR拥塞控制算法确定出的拥塞窗口是经过精确测量的,不会无限制的增加拥塞窗口,也就不会将网络设备的缓冲区填满,避免出现缓冲区膨胀(bufferbloat)的问题,使得数据包传输延时大大降低。
如图4所示,假设某个原始TCP数据包从网络设备的LAN口进入网络设备,该原始TCP数据包中携带的数据包信息包括:源IP为src1_ip,源端口为src1_port,源MAC为src1_mac,目的IP为dst1_ip,目的端口为dst1_port,目的MAC为dst1_mac。IP Options字段中没有设置信息。
在原始TCP数据包进入到网络设备内部之后,网络设备将其携带的目的IP修改为2.2.2.2,且将目的端口修改为30080。同时,将原始TCP数据包中携带的数据包信息添加到IP Options字段中。
网络设备中TCP加速模块正在监听2.2.2.2:30080,这样上述修改后的TCP数据包可以导入到该TCP加速模块中。
在TCP加速模块中,将上述修改后的TCP数据包携带的源IP修改为2.2.2.2、将源端口修改为网络设备中的随机端口、将目的IP修改为dst1_ip、且将目的端口修改为dst1_port。同时,上述修改后的TCP数据包携带的源MAC被Linux操作系统自动修改为网络设备的MAC,且目的MAC被修改为下一跳设备的MAC。
在TCP数据包从网络设备的WAN口发出之前,从IP Options字段中解析出原始TCP数据包中携带的数据包信息,将修改后的TCP数据包中携带的数据包信息还原为原始TCP数据包中携带的数据包信息,同时将IP Options字段中记录的原始TCP数据包中携带的数据包信息删除。
以图5所示的单边部署应用场景为例来说,服务器一般会部署在公网,该服务器可以是WEB服务器、TCP应用服务器等类型的服务器,该服务器的IP可以表示为IP1。可以将网络设备部署在该服务器的数据出口之后,且与该服务器直连。在不对服务器配置做任何改动的情况下,客户端可以通过IP1访问该服务器,访问过程可以通过该网络设备进行加速。
再以图6所示的双边部署应用场景来说,企业组网可以使用IPSec。IPSec与分支1、分支2连接,分支1和分支2之间可以通过IPSec进行数据传输。各分支中都部署有文件服务器、网络设备,不同客户端可以接入不同分支。接入分支1的客户端从分支2中部署的文件服务器下载文件或者将文件上传至分支2部署的文件服务器时,文件都会经过文件服务器前面部署的网络设备,由网络设备对上传和下载过程进行提速。同理,接入分支2的客户端从分支1中部署的文件服务器下载文件或者将文件上传至分支1部署的文件服务器时,文件都会经过文件服务器前面部署的网络设备,由网络设备对上传和下载过程进行提速。
采用本发明,可以将发送端与接收端之间的长TCP连接终结,然后重新发起网络设备与接收端、网络设备与发送端之间的TCP连接。通过这样的方式,网络设备可以分别与发送端和接收端进行交互,把原本的发送端与接收端之间的长TCP连接切分成两部分,进而可以根据各部分内部的丢包、数据包传输延时情况进行各自的优化,以达到提高TCP数据包传输速度的目的。
同时,结合拥塞控制算法实现合理设置拥塞窗口的值,以使得数量与网络的容量适配的数据包能够注入到网络中,以充分利用当前网络的容量,实现提高TCP数据包传输速度的目的。
且与此同时,通过将原始TCP数据包中携带的数据包信息添加到TCP数据包中的IPOptions字段,以保留原始TCP数据包中携带的数据包信息。即使后续根据需要对原始TCP数据包中携带的数据包信息进行了相应修改,但在TCP数据包实际发出之前,通过解析IPOptions字段中记录的原始TCP数据包中携带的数据包信息,对修改后的TCP数据包中携带的数据包信息进行还原,最终使得发出的TCP数据包与原始TCP数据包中携带的数据包信息是相一致的。
以下将详细描述本发明的一个或多个实施例的TCP数据包的加速传输装置。本领域技术人员可以理解,这些TCP数据包的加速传输装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图7为本发明实施例提供的一种TCP数据包的加速传输装置的结构示意图,如图7所示,该装置包括:
捕获模块71,用于捕获向接收端发送的原始传输控制协议TCP数据包,所述原始TCP数据包是通过发送端和所述接收端建立的第一TCP连接进行传输的,所述原始TCP数据包中的源互联网协议地址IP、源端口以及源物理地址MAC依次为所述发送端的IP、指定端口以及MAC,所述原始TCP数据包中的目的IP、目的端口以及目的MAC依次为所述接收端的IP、指定端口以及MAC;
切断模块72,用于切断所述第一TCP连接;
TCP加速模块73,用于基于所述原始TCP数据包,确定第一数据包,所述第一数据包中的源IP、源端口以及源MAC依次为所述网络设备的IP、随机端口以及MAC,所述第一数据包中的目的IP、目的端口以及目的MAC依次为所述接收端的IP、指定端口以及所述网络设备的下一跳设备的MAC,所述第一数据包的IP Options字段中携带有所述发送端的IP、指定端口以及MAC、和所述接收端的IP、指定端口以及MAC;
重连模块74,用于基于所述第一数据包向所述接收端发起TCP连接请求,以和所述接收端建立第二TCP连接;
替换模块75,用于从所述第一数据包的所述IP Options字段中解析出所述发送端的IP、指定端口以及MAC、和所述接收端的MAC,用所述发送端的IP、指定端口以及MAC依次替换所述第一数据包中的所述网络设备的IP、随机端口以及MAC,且用所述接收端的MAC替换所述第一数据包中的所述下一跳设备的MAC,得到第二数据包;
发送模块76,用于通过所述第二TCP连接,基于预设的拥塞控制算法,向所述接收端发送所述第二数据包。
可选地,所述拥塞控制算法为BBR拥塞控制算法。
可选地,所述TCP加速模块73,用于:
对所述TCP加速模块73进行配置,以使得所述TCP加速模块73监听目的IP和目的端口依次为所述网络设备的IP和指定端口的TCP数据包;
用所述网络设备的IP替换所述原始TCP数据包中的所述接收端的IP,且用所述网络设备的指定端口替换所述原始TCP数据包中的所述接收端的指定端口,得到第三数据包,以使得配置后的TCP加速模块73获取所述第三数据包;
将所述发送端的IP、指定端口以及MAC、和所述接收端的IP、指定端口以及MAC,添加到所述第三数据包的IP Options字段;
通过所述配置后的TCP加速模块73,基于所述第三数据包确定第一数据包。
可选地,所述TCP加速模块73,用于:
通过所述配置后的TCP加速模块73,用所述网络设备的IP和随机端口依次替换所述第三数据包中的所述发送端的IP和指定端口,且用所述接收端的IP和指定端口依次替换所述第三数据包中的所述网络设备的IP和指定端口,得到第一数据包。
可选地,所述重连模块74,还用于:
基于所述第三数据包向所述发送端发起TCP连接请求,以和所述发送端建立第三TCP连接。
可选地,所述TCP加速模块73是基于Nginx正向代理技术实现的。
可选地,所述TCP加速模块73,用于:
若所述原始TCP数据包中的所述发送端的IP为预设加速IP集合中的任一IP,则用所述网络设备的IP替换所述原始TCP数据包中的所述接收端的IP,且用所述网络设备的指定端口替换所述原始TCP数据包中的所述接收端的指定端口,得到第三数据包,以使得配置后的TCP加速模块73获取所述第三数据包;
若所述原始TCP数据包中的所述发送端的IP不属于所述预设加速IP集合中的IP,则向所述接收端转发所述原始TCP数据包。
图7所示装置可以执行前述图1至图6所示实施例中提供的TCP数据包的加速传输方法,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
本发明实施例还提供一种TCP数据包加速传输系统,该系统包括服务器、第一网络设备以及终端,其中,第一网络设备包括图7对应的实施例中提供的TCP数据包的加速传输装置,第一网络设备串接于服务器的数据出口;
服务器,用于向第一网络设备发送第一TCP数据包;
第一网络设备,用于将第一TCP数据包加速传输至终端;
终端,用于接收经过第一网络设备加速传输的第一TCP数据包。
可选地,上述系统还包括第二网络设备,其中,第二网络设备包括图7对应的实施例中提供的TCP数据包的加速传输装置,第二网络设备串接于终端的数据出口;
终端,还用于向第二网络设备发送第二TCP数据包;
第二网络设备,用于将第二TCP数据包加速传输至服务器;
服务器,还用于接收经过第二网络设备加速传输的第二TCP数据包。
在一个可能的设计中,图7所示TCP数据包的加速传输装置的结构可实现为一网络设备,如图8所示,该网络设备可以包括:处理器91、存储器92。其中,所述存储器92上存储有可执行代码,当所述可执行代码被所述处理器91执行时,使所述处理器91至少可以实现如前述图1至图6所示实施例中提供的TCP数据包的加速传输方法。
可选地,该网络设备中还可以包括通信接口93,用于与其他设备进行通信。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被网络设备的处理器执行时,使所述处理器至少可以实现如前述图1至图6所示实施例中提供的TCP数据包的加速传输方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例提供的TCP数据包的加速传输方法可以由某种程序/软件来执行,该程序/软件可以由网络侧提供,前述实施例中提及的网络设备可以将该程序/软件下载到本地的非易失性存储介质中,并在其需要执行前述TCP数据包的加速传输方法时,通过CPU将该程序/软件读取到内存中,进而由CPU执行该程序/软件以实现前述实施例中所提供的TCP数据包的加速传输方法,执行过程可以参见前述图1至图6中的示意。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (18)

1.一种TCP数据包的加速传输方法,其特征在于,应用于网络设备,所述方法包括:
捕获向接收端发送的原始传输控制协议TCP数据包,所述原始TCP数据包是通过发送端和所述接收端建立的第一TCP连接进行传输的,所述原始TCP数据包中的源互联网协议地址IP、源端口以及源物理地址MAC依次为所述发送端的IP、指定端口以及MAC,所述原始TCP数据包中的目的IP、目的端口以及目的MAC依次为所述接收端的IP、指定端口以及MAC;
切断所述第一TCP连接;
基于所述原始TCP数据包,确定第一数据包,所述第一数据包中的源IP、源端口以及源MAC依次为所述网络设备的IP、随机端口以及MAC,所述第一数据包中的目的IP、目的端口以及目的MAC依次为所述接收端的IP、指定端口以及所述网络设备的下一跳设备的MAC,所述第一数据包的IP Options字段中携带有所述发送端的IP、指定端口以及MAC、和所述接收端的IP、指定端口以及MAC;
基于所述第一数据包向所述接收端发起TCP连接请求,以和所述接收端建立第二TCP连接;
从所述第一数据包的所述IP Options字段中解析出所述发送端的IP、指定端口以及MAC、和所述接收端的MAC,用所述发送端的IP、指定端口以及MAC依次替换所述第一数据包中的所述网络设备的IP、随机端口以及MAC,且用所述接收端的MAC替换所述第一数据包中的所述下一跳设备的MAC,得到第二数据包;
通过所述第二TCP连接,基于预设的拥塞控制算法,向所述接收端发送所述第二数据包。
2.根据权利要求1所述的方法,其特征在于,所述拥塞控制算法为BBR拥塞控制算法。
3.根据权利要求1所述的方法,其特征在于,所述基于所述原始TCP数据包,确定第一数据包的过程是由所述网络设备中设置的TCP加速模块实现;
所述基于所述原始TCP数据包,确定第一数据包,包括:
对所述TCP加速模块进行配置,以使得所述TCP加速模块监听目的IP和目的端口依次为所述网络设备的IP和指定端口的TCP数据包;
用所述网络设备的IP替换所述原始TCP数据包中的所述接收端的IP,且用所述网络设备的指定端口替换所述原始TCP数据包中的所述接收端的指定端口,得到第三数据包,以使得配置后的TCP加速模块获取所述第三数据包;
将所述发送端的IP、指定端口以及MAC、和所述接收端的IP、指定端口以及MAC,添加到所述第三数据包的IP Options字段;
通过所述配置后的TCP加速模块,基于所述第三数据包确定第一数据包。
4.根据权利要求3所述的方法,其特征在于,所述通过所述配置后的TCP加速模块,基于所述第三数据包确定第一数据包,包括:
通过所述配置后的TCP加速模块,用所述网络设备的IP和随机端口依次替换所述第三数据包中的所述发送端的IP和指定端口,且用所述接收端的IP和指定端口依次替换所述第三数据包中的所述网络设备的IP和指定端口,得到第一数据包。
5.根据权利要求3所述的方法,其特征在于,在获得所述第三数据包之后,所述方法还包括:
基于所述第三数据包向所述发送端发起TCP连接请求,以和所述发送端建立第三TCP连接。
6.根据权利要求3所述的方法,其特征在于,所述TCP加速模块是基于Nginx正向代理技术实现的。
7.根据权利要求3所述的方法,其特征在于,所述用所述网络设备的IP替换所述原始TCP数据包中的所述接收端的IP,且用所述网络设备的指定端口替换所述原始TCP数据包中的所述接收端的指定端口,得到第三数据包,以使得配置后的TCP加速模块获取所述第三数据包,包括:
若所述原始TCP数据包中的所述发送端的IP为预设加速IP集合中的任一IP,则用所述网络设备的IP替换所述原始TCP数据包中的所述接收端的IP,且用所述网络设备的指定端口替换所述原始TCP数据包中的所述接收端的指定端口,得到第三数据包,以使得配置后的TCP加速模块获取所述第三数据包;
若所述原始TCP数据包中的所述发送端的IP不属于所述预设加速IP集合中的IP,则向所述接收端转发所述原始TCP数据包。
8.一种TCP数据包的加速传输装置,其特征在于,设置于网络设备,所述装置包括:
捕获模块,用于捕获向接收端发送的原始传输控制协议TCP数据包,所述原始TCP数据包是通过发送端和所述接收端建立的第一TCP连接进行传输的,所述原始TCP数据包中的源互联网协议地址IP、源端口以及源物理地址MAC依次为所述发送端的IP、指定端口以及MAC,所述原始TCP数据包中的目的IP、目的端口以及目的MAC依次为所述接收端的IP、指定端口以及MAC;
切断模块,用于切断所述第一TCP连接;
TCP加速模块,用于基于所述原始TCP数据包,确定第一数据包,所述第一数据包中的源IP、源端口以及源MAC依次为所述网络设备的IP、随机端口以及MAC,所述第一数据包中的目的IP、目的端口以及目的MAC依次为所述接收端的IP、指定端口以及所述网络设备的下一跳设备的MAC,所述第一数据包的IP Options字段中携带有所述发送端的IP、指定端口以及MAC、和所述接收端的IP、指定端口以及MAC;
重连模块,用于基于所述第一数据包向所述接收端发起TCP连接请求,以和所述接收端建立第二TCP连接;
替换模块,用于从所述第一数据包的所述IP Options字段中解析出所述发送端的IP、指定端口以及MAC、和所述接收端的MAC,用所述发送端的IP、指定端口以及MAC依次替换所述第一数据包中的所述网络设备的IP、随机端口以及MAC,且用所述接收端的MAC替换所述第一数据包中的所述下一跳设备的MAC,得到第二数据包;
发送模块,用于通过所述第二TCP连接,基于预设的拥塞控制算法,向所述接收端发送所述第二数据包。
9.根据权利要求8所述的装置,其特征在于,所述拥塞控制算法为BBR拥塞控制算法。
10.根据权利要求8所述的装置,其特征在于,所述TCP加速模块,用于:
配置监听目的IP和目的端口依次为所述网络设备的IP和指定端口的TCP数据包;
用所述网络设备的IP替换所述原始TCP数据包中的所述接收端的IP,且用所述网络设备的指定端口替换所述原始TCP数据包中的所述接收端的指定端口,得到第三数据包,以使得配置后的TCP加速模块获取所述第三数据包;
将所述发送端的IP、指定端口以及MAC、和所述接收端的IP、指定端口以及MAC,添加到所述第三数据包的IP Options字段;
基于所述第三数据包确定第一数据包。
11.根据权利要求10所述的装置,其特征在于,所述TCP加速模块,用于:
用所述网络设备的IP和随机端口依次替换所述第三数据包中的所述发送端的IP和指定端口,且用所述接收端的IP和指定端口依次替换所述第三数据包中的所述网络设备的IP和指定端口,得到第一数据包。
12.根据权利要求10所述的装置,其特征在于,所述重连模块,还用于:
基于所述第三数据包向所述发送端发起TCP连接请求,以和所述发送端建立第三TCP连接。
13.根据权利要求10所述的装置,其特征在于,所述TCP加速模块是基于Nginx正向代理技术实现的。
14.根据权利要求10所述的装置,其特征在于,所述TCP加速模块,用于:
若所述原始TCP数据包中的所述发送端的IP为预设加速IP集合中的任一IP,则用所述网络设备的IP替换所述原始TCP数据包中的所述接收端的IP,且用所述网络设备的指定端口替换所述原始TCP数据包中的所述接收端的指定端口,得到第三数据包,以使得配置后的TCP加速模块获取所述第三数据包;
若所述原始TCP数据包中的所述发送端的IP不属于所述预设加速IP集合中的IP,则向所述接收端转发所述原始TCP数据包。
15.一种TCP数据包加速传输系统,其特征在于,所述系统包括服务器、第一网络设备以及终端,其中,所述第一网络设备包括权利要求8-14中任一项所述的TCP数据包的加速传输装置,所述第一网络设备串接于所述服务器的数据出口;
所述服务器,用于向所述第一网络设备发送第一TCP数据包;
所述第一网络设备,用于将所述第一TCP数据包加速传输至所述终端;
所述终端,用于接收经过所述第一网络设备加速传输的第一TCP数据包。
16.根据权利要求15所述的系统,其特征在于,所述系统还包括第二网络设备,其中,所述第二网络设备包括权利要求8-14中任一项所述的TCP数据包的加速传输装置,所述第二网络设备串接于所述终端的数据出口;
所述终端,还用于向所述第二网络设备发送第二TCP数据包;
所述第二网络设备,用于将所述第二TCP数据包加速传输至所述服务器;
所述服务器,还用于接收经过所述第二网络设备加速传输的第二TCP数据包。
17.一种网络设备,其特征在于,包括:存储器、处理器;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-7中任一项所述的TCP数据包的加速传输方法。
18.一种非暂时性机器可读存储介质,其特征在于,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被网络设备的处理器执行时,使所述处理器执行如权利要求1-7中任一项所述的TCP数据包的加速传输方法。
CN202210168369.8A 2022-02-23 2022-02-23 加速传输方法、装置、设备、系统和存储介质 Active CN114726797B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210168369.8A CN114726797B (zh) 2022-02-23 2022-02-23 加速传输方法、装置、设备、系统和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210168369.8A CN114726797B (zh) 2022-02-23 2022-02-23 加速传输方法、装置、设备、系统和存储介质

Publications (2)

Publication Number Publication Date
CN114726797A true CN114726797A (zh) 2022-07-08
CN114726797B CN114726797B (zh) 2023-05-12

Family

ID=82235489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210168369.8A Active CN114726797B (zh) 2022-02-23 2022-02-23 加速传输方法、装置、设备、系统和存储介质

Country Status (1)

Country Link
CN (1) CN114726797B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040177152A1 (en) * 2001-08-08 2004-09-09 Sharon Aviran System and a method for accelerating communication of TCP/IP based content
US7673074B1 (en) * 2002-10-24 2010-03-02 Emulex Design & Manufacturing Corporation Avoiding port collisions in hardware-accelerated network protocol
US20100054123A1 (en) * 2008-08-30 2010-03-04 Liu Yong Method and device for hign utilization and efficient flow control over networks with long transmission latency
CN105681265A (zh) * 2014-11-20 2016-06-15 华为软件技术有限公司 单边传输控制协议加速方法及装置
CN112913170A (zh) * 2019-10-01 2021-06-04 柏思科技有限公司 发送和接收互联网协议分组上的传输控制协议段的改进方法和系统
CN113890824A (zh) * 2021-10-21 2022-01-04 北京天融信网络安全技术有限公司 网络加速方法、装置、网关设备及计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040177152A1 (en) * 2001-08-08 2004-09-09 Sharon Aviran System and a method for accelerating communication of TCP/IP based content
US7673074B1 (en) * 2002-10-24 2010-03-02 Emulex Design & Manufacturing Corporation Avoiding port collisions in hardware-accelerated network protocol
US20100054123A1 (en) * 2008-08-30 2010-03-04 Liu Yong Method and device for hign utilization and efficient flow control over networks with long transmission latency
CN105681265A (zh) * 2014-11-20 2016-06-15 华为软件技术有限公司 单边传输控制协议加速方法及装置
CN112913170A (zh) * 2019-10-01 2021-06-04 柏思科技有限公司 发送和接收互联网协议分组上的传输控制协议段的改进方法和系统
CN113890824A (zh) * 2021-10-21 2022-01-04 北京天融信网络安全技术有限公司 网络加速方法、装置、网关设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN114726797B (zh) 2023-05-12

Similar Documents

Publication Publication Date Title
US10305904B2 (en) Facilitating secure network traffic by an application delivery controller
EP3364603B1 (en) Flow and time based reassembly of fragmented packets by ip protocol analyzers
US7636305B1 (en) Method and apparatus for monitoring network traffic
JP4829896B2 (ja) データ破壊を避けることによる改善されたネットワーク性能のための方法、システム及び物品
EP2557754B1 (en) Method for inserting and unloading tcp proxy and service gateway device
US9088494B2 (en) Packet fragmentation prevention
CN108601043B (zh) 用于控制无线接入点的方法和设备
CN110022264B (zh) 控制网络拥塞的方法、接入设备和计算机可读存储介质
US8694651B2 (en) Method and system for implementing network proxy
CN107645409B (zh) 一种确定数据的传输故障原因方法及装置
US20170026224A1 (en) Resilient segment routing service hunting with tcp session stickiness
CN106688209B (zh) 用于传输广播数据的方法和系统
EP3089435A1 (en) Service processing method and network device
WO2015063538A1 (en) Methods and systems for transmitting broadcast data
CN109120540B (zh) 传输报文的方法、代理服务器和计算机可读存储介质
US9917925B2 (en) Method for determining maximum segment size
CN111314179A (zh) 网络质量检测方法、装置、设备和存储介质
US10374826B2 (en) Methods and systems for transmitting broadcast data
CA2668611A1 (en) Selective session interception method
JP6968990B2 (ja) サービス品質を決定するための方法および装置、ならびにプログラム
WO2024060408A1 (zh) 网络攻击检测方法和装置、设备及存储介质
US8769121B2 (en) Multi-session web acceleration
EP3820088A1 (en) Method and network device for multi-path communication
CN114726797B (zh) 加速传输方法、装置、设备、系统和存储介质
JP4285101B2 (ja) リアルタイムデータ通信システム、リアルタイムデータ通信装置およびリアルタイムデータ通信方法

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
GR01 Patent grant
GR01 Patent grant