CN112422396B - 一种基于sslvpn通道的tcp网络传输加速方法和系统 - Google Patents

一种基于sslvpn通道的tcp网络传输加速方法和系统 Download PDF

Info

Publication number
CN112422396B
CN112422396B CN202011213236.5A CN202011213236A CN112422396B CN 112422396 B CN112422396 B CN 112422396B CN 202011213236 A CN202011213236 A CN 202011213236A CN 112422396 B CN112422396 B CN 112422396B
Authority
CN
China
Prior art keywords
application
data
tcp
data message
terminal
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
Application number
CN202011213236.5A
Other languages
English (en)
Other versions
CN112422396A (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.)
Zhengzhou Xinda Jiean Information Technology Co Ltd
Original Assignee
Zhengzhou Xinda Jiean Information Technology 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 Zhengzhou Xinda Jiean Information Technology Co Ltd filed Critical Zhengzhou Xinda Jiean Information Technology Co Ltd
Priority to CN202011213236.5A priority Critical patent/CN112422396B/zh
Publication of CN112422396A publication Critical patent/CN112422396A/zh
Application granted granted Critical
Publication of CN112422396B publication Critical patent/CN112422396B/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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于SSLVPN通道的TCP网络传输加速方法和系统。该方法包括:终端应用产生一条应用数据,并发送给终端系统路由;终端系统路由通过TCP协议将应用数据发送给虚拟网卡模块;虚拟网卡模块基于接收到的TCP数据报文伪造ACK确认信息,并返回给终端应用,以触发终端应用继续发送下一条应用数据,同时虚拟网卡模块从第一TCP数据报文中剥离出应用数据并发送给VPN客户端;VPN客户端形成上行网络数据报文并通过SSL加密通道传输给VPN网关;VPN网关接收到上行网络数据报文后进行SSL协议解析得到应用数据,VPN网关将应用数据通过TCP协议发送给应用服务器。本发明可以有效提高终端应用发送应用数据的速率,提高用户体验感。

Description

一种基于SSLVPN通道的TCP网络传输加速方法和系统
技术领域
本发明涉及互联网通信技术领域,尤其涉及一种基于SSLVPN通道的TCP网络传输加速方法和系统。
背景技术
对于传统SSLVPN+TLS(Transport Layer Security,传输层安全性协议)依赖虚拟网卡实现的隧道模式VPN客户端来说,其传输原理是:通过SSL通道转发应用客户端的IP报文到内网的应用服务器,再将服务器的回复通过SSL通道返回到客户端应用。其中,SSLVPN指的是基于安全套接字层协议(Security Socket Layer,SSL)建立远程安全访问通道的VPN技术。这种情况下,对于基于TCP协议的应用客户端来说,相当于维护了双层TCP会话:内层应用TCP会话以及TLS会话。这种情况下,应用客户端以及应用服务器需要等待对端的TCPACK确认包到达后,才会发送接下来的报文。如果网络环境较差,发生丢包、乱序等异常,则会导致内外双层TCP丢包重传,从而引起的数据传输缓慢甚至业务超时等问题。
发明内容
针对现有的TCP网络数据传输方法所存在的数据传输缓慢甚至业务超时的问题,本发明提供一种基于SSLVPN通道的TCP网络传输加速方法和系统。
第一方面,本发明提供基于SSLVPN通道的TCP网络传输加速方法,包括:
步骤1,终端应用产生一条应用数据,并发送给终端系统路由;
步骤2,所述终端系统路由对所述应用数据进行TCP协议封装形成第一TCP数据报文并发送给虚拟网卡模块;
步骤3,所述虚拟网卡模块接收到第一TCP数据报文后,伪造应用服务器的ACK确认信息并通过所述终端系统路由返回给所述终端应用,以触发所述终端应用继续发送下一条应用数据;同时所述虚拟网卡模块从所述第一TCP数据报文中剥离出所述应用数据并发送给VPN客户端;
步骤4,所述VPN客户端基于SSL协议对所述应用数据进行封装形成上行网络数据报文,并通过SSL加密通道传输给VPN网关;
步骤5,所述VPN网关接收到所述上行网络数据报文后进行SSL协议解析,得到所述应用数据,然后对所述应用数据进行TCP协议封装形成第二TCP数据报文并发送给对应的应用服务器。
进一步地,在所述步骤5之后,还包括:
步骤6,所述应用服务器接收到所述第二TCP数据报文后进行TCP协议解析,得到所述应用数据,然后基于所述应用数据进行业务处理产生应用回复数据并进行TCP协议封装形成第三TCP数据报文,然后将所述第三TCP数据报文发送给所述VPN网关;
步骤7,所述VPN网关接收到所述第三TCP数据报文后,向所述应用服务器返回ACK确认消息,并从所述第三TCP数据报文剥离出所述应用回复数据,基于SSL协议对所述应用回复数据进行封装形成下行网络数据报文,并通过SSL加密通道传输给所述VPN客户端;
步骤8,所述VPN客户端接收到所述下行网络数据报文后进行SSL协议解析,得到所述应用回复数据并发送给所述虚拟网卡模块;
步骤9,所述虚拟网卡模块基于所述应用回复数据以所述应用服务器的身份伪造第四TCP数据报文,并将所述第四TCP数据报文发送给所述终端系统路由;
步骤10,所述终端系统路由从所述第四TCP数据报文中剥离出所述应用回复数据并发送给终端应用。
进一步地,在所述步骤1之前,还包括:
步骤1-1,所述终端应用请求与对应的应用服务器建立第一TCP连接,并将第一TCP连接请求发送给所述终端系统路由;
步骤1-2,所述终端系统路由基于所述第一TCP连接请求产生第一TCP握手数据并发送给虚拟网卡模块,所述虚拟网卡模块接收到所述第一TCP握手数据后,分别执行步骤1-3和步骤1-4;
步骤1-3,所述虚拟网卡模块以应用服务器的身份伪造TCP握手回复数据返回给所述终端系统路由,如果握手成功,则所述终端系统路由返回第一TCP连接成功响应给所述终端应用;
步骤1-4,所述虚拟网卡模块触发所述VPN客户端请求与所述VPN网关创建SSL加密通道,待创建成功后,产生唯一的SSL加密通道ID,所述VPN网关基于第二握手数据尝试与所述应用服务器建立第二TCP连接,如果握手成功,则所述应用服务器返回第二TCP连接成功响应信息给所述VPN网关,所述VPN网关则将所述SSL加密通道ID与所述第二TCP连接建立绑定关系。
进一步地,所述步骤4,具体还包括:
所述VPN客户端统计上行网络流量,当所述上行网络流量达到第一阈值时,则反馈上行网络流量管控指令给所述虚拟网卡模块;所述虚拟网卡模块接收到所述上行网络流量管控指令后,则停止伪造ACK确认信息。
进一步地,所述步骤7,具体还包括:
所述VPN网关统计下行网络流量,当所述下行网络流量达到第二阈值时,则反馈下行网络流量管控指令给所述应用服务器;所述应用服务器接收到所述下行网络流量管控指令后,则停止或减缓发送所述应用回复数据。
进一步地,所述方法还包括:
所述终端应用持续发送一系列有序的应用数据,每一条应用数据带有对应的序号,且将已成功发送的应用数据记录在数据库中;
当所述应用服务器接收到预设量的应用数据后,基于各个应用数据的序号关系进行整合,并对整合后的数据进行哈希计算,得到第一哈希值,然后将所述第一哈希值和所述预设量的应用数据的序号信息打包为数据报文返回给终端应用;
所述终端应用从所述数据报文中提取出所述第一哈希值和所述序号信息,并基于所述序号信息从数据库中查找对应的应用数据,待查找完成后,基于各个应用数据的序号关系进行整合,并对整合后的数据进行哈希计算,得到第二哈希值,然后比对所述第一哈希值与所述第二哈希值是否一致,如果一致,则数据完整性校验成功,如果不一致,则数据完整性校验失败。
进一步地,所述SSL加密通道支持国密SM1算法、国密SM3算法、国密SM4算法、ECC算法、ECDHE算法、IBC算法、IBSDH算法、RSA算法和SHA1算法中的至少一种。
第二方面,本发明提供一种基于SSLVPN通道的TCP网络传输加速系统,用于实现上述所述的基于SSLVPN通道的TCP网络传输加速方法,所述系统包括:终端侧和平台侧,所述终端侧包括终端应用、终端系统路由、虚拟网卡模块以及VPN客户端,所述平台侧包括VPN网关以及至少一个应用服务器;
所述终端应用,用于产生应用数据并发送给终端系统路由;
所述终端系统路由,用于对应用数据进行TCP协议封装形成第一TCP数据报文并发送给虚拟网卡模块;
所述虚拟网卡模块,用于伪造应用服务器的ACK确认信息,并通过所述终端系统路由返回给所述终端应用,以触发所述终端应用继续发送下一条应用数据;以及从所述第一TCP数据报文中剥离出应用数据并发送给VPN客户端;
所述VPN客户端,用于基于SSL协议对应用数据进行封装形成上行网络数据报文,并通过SSL加密通道传输给VPN网关;
所述VPN网关,用于对上行网络数据报文进行SSL协议解析,得到应用数据,然后对所述应用数据进行TCP协议封装形成第二TCP数据报文并发送给对应的应用服务器;
所述应用服务器,用于对第二TCP数据报文进行TCP协议解析得到应用数据,基于所述应用数据进行业务处理,产生应用回复数据并原路返回给所述终端应用。
进一步地,所述VPN客户端,还用于统计上行网络流量,当所述上行网络流量达到第一阈值时,则反馈上行网络流量管控指令给所述虚拟网卡模块;
所述虚拟网卡模块,还用于在接收到上行网络流量管控指令后,停止伪造ACK确认信息。
进一步地,所述VPN网关,还用于统计下行网络流量,当所述下行网络流量达到第二阈值时,则反馈下行网络流量管控指令给所述应用服务器;
所述应用服务器,还用于在接收到下行网络流量管控指令后,停止或减缓发送所述应用回复数据。
本发明的有益效果:
(1)本发明中,虚拟网卡模块在收到终端应用的应用数据时,可以马上伪造并回复ACK确认信息,终端应用收到ACK确认信息后可以马上发送接下来的应用数据,无需等待应用服务器的确认。因此,可以极大提高终端应用发送应用数据的速率,尤其是上传数据类的终端应用,其速率提升更加明显。
(2)本发明中,VPN网关与应用服务器之间有独立的第二TCP连接,应用服务器返回的应用回复数据可以马上被确认,无需等待终端应用,从而可以有效提高应用服务器回复数据的速率。
(3)本发明中,将传统的“长距离”TCP连接缩短为两个“短距离”的第一TCP连接和第二TCP连接,从而有效缩短了TCP数据传输的响应时间,提升了发包速率。
(4)本发明中,通过上行网络流量监控,实现对终端应用发包速率的管控,避免过快或过量发包而导致上行网络数据传输出现拥塞的问题;通过下行网络流量监控,实现对应用服务器回复速率的管控,避免过快或过量回复数据而导致下行网络数据传输出现拥塞的问题。
(5)本发明中,通过设计对应用数据进行数据完整性校验的过程,可有效确保应用数据传输的完整性,进一步避免丢包或被篡改的可能性。
综上,本发明可以提高SSLVPN隧道模式下TCP类应用的传输速度,提高用户体验。同时还可以提高在网络较差环境下(丢包乱序等比较频繁),SSLVPN通道整体方案的可用性。
附图说明
图1为本发明实施例提供的一种基于SSLVPN通道的TCP网络传输加速方法的流程示意图;
图2为本发明实施例提供的一种基于SSLVPN通道的TCP网络传输加速系统的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,本发明实施例提供一种基于SSLVPN通道的TCP网络传输加速方法,所述方法包括以下步骤:
S101,终端应用产生一条应用数据,并发送给终端系统路由;
S102,终端系统路由对所述应用数据进行TCP协议封装,将负载有应用数据的第一TCP数据报文发送给虚拟网卡模块;
S103,所述虚拟网卡模块接收到第一TCP数据报文并伪造应用服务器的ACK确认信息,并通过所述终端系统路由返回给所述终端应用,以触发所述终端应用继续发送下一条应用数据,同时所述虚拟网卡模块从所述第一TCP数据报文中剥离出应用数据并发送给VPN客户端;
S104,所述VPN客户端基于SSL协议对所述应用数据进行封装形成上行网络数据报文,并通过SSL加密通道传输给VPN网关;
所述SSL加密通道支持国密SM1算法、国密SM3算法、国密SM4算法、ECC算法、ECDHE算法、IBC算法、IBSDH算法、RSA算法和SHA1算法中的至少一种。
S105,VPN网关接收到上行网络数据报文后进行SSL协议解析,得到所述应用数据,所述VPN网关对所述应用数据进行TCP协议封装,将负载有应用数据的第二TCP数据报文发送给对应的应用服务器。
本发明实施例中,虚拟网卡模块在收到终端应用的应用数据时,可以马上伪造并回复ACK确认信息,终端应用收到ACK确认信息后可以马上发送接下来的应用数据,无需等待应用服务器的确认。因此,可以极大提高终端应用发送应用数据的速率,尤其是上传数据类的终端应用,其速率提升更加明显。
实施例2
实施例1主要是在数据的上行传输过程中加快TCP网络数据的传输,为了进一步加快TCP网络数据的传输,如图1所示,在上述实施例1的基础上,本发明实施例还提供一种基于SSLVPN通道的TCP网络传输加速方法,所述方法包括以下步骤:
S201,应用服务器接收第二TCP数据报文,进行TCP协议解析得到所述应用数据,然后基于应用数据进行业务处理产生应用回复数据并进行TCP协议封装,将负载有应用回复数据的第三TCP数据报文发送给所述VPN网关;
S202,所述VPN网关接收到第三TCP数据报文后,向所述应用服务器返回ACK确认消息以使应用服务器即刻确认VPN网关已收到应用回复数据了;同时,所述VPN网关剥离TCP负载得到所述应用回复数据,并基于SSL协议对所述应用回复数据进行封装形成下行网络数据报文,并通过所述SSL加密通道传输给VPN客户端;
所述SSL加密通道支持国密SM1算法、国密SM3算法、国密SM4算法、ECC算法、ECDHE算法、IBC算法、IBSDH算法、RSA算法和SHA1算法中的至少一种。
S203,VPN客户端接收到下行网络数据报文后进行SSL协议解析,得到所述应用回复数据并发送给所述虚拟网卡模块;
S204,所述虚拟网卡模块基于所述应用回复数据并以所述应用服务器的身份伪造出第四TCP数据报文,并将第四TCP数据报文发送给终端系统路由;
S205,所述终端系统路由从第四TCP数据报文中剥离TCP负载得到所述应用回复数据,并发送给终端应用。
本发明实施例中,VPN网关与应用服务器之间有独立的第二TCP连接,应用服务器返回的应用回复数据可以马上被确认,无需等待终端应用,从而可以有效提高应用服务器回复数据的速率。
实施例3
在上述实施例1或实施例2的基础上,本发明实施例提供的一种基于SSLVPN通道的TCP网络传输加速方法,与上述两个实施例的不同之处在于,本发明实施例中,在步骤S101之前,还包括:终端应用与应用服务器之间建立第一TCP连接和第二TCP连接的过程;具体包括以下步骤:
步骤1-1,所述终端应用请求与对应的应用服务器建立第一TCP连接,并将第一TCP连接请求发送给终端系统路由;
步骤1-2,所述终端系统路由基于第一TCP连接请求产生第一TCP握手数据并发送给虚拟网卡模块,所述虚拟网卡模块接收第一TCP握手数据后,分别执行步骤1-3和步骤1-4;
步骤1-3,所述虚拟网卡模块以应用服务器的身份伪造TCP握手回复数据返回给所述终端系统路由,如果握手成功,则所述终端系统路由返回第一TCP连接成功响应给所述终端应用;
步骤1-4,所述虚拟网卡模块触发VPN客户端请求与VPN网关创建SSL加密通道,待创建成功后,产生唯一的SSL加密通道ID,所述VPN网关基于第二握手数据尝试建立与应用服务器的第二TCP连接,如果握手成功,则所述应用服务器返回第二TCP连接成功响应信息给所述VPN网关,所述VPN网关则将SSL加密通道ID与第二TCP连接建立绑定关系。
需要说明的是,第一TCP连接请求中至少包括源地址(即终端IP地址)和目的地址(即应用服务器的IP地址),虚拟网卡模块接收到TCP连接请求时,则会仿冒应用服务器的IP地址来与终端应用之间建立TCP连接,然而对于终端应用而言始终会认为是在与应用服务器建立TCP连接。
基于上述建立好的TCP连接,对应地,步骤S202具体为:所述VPN网关接收到第三TCP数据报文后,剥离TCP负载得到所述应用回复数据,基于SSL加密通道ID与第二TCP连接的绑定关系确定出对应的SSL加密通道,然后所述VPN网关基于SSL协议对所述应用回复数据进行封装形成下行网络数据报文,并通过所述SSL加密通道传输给VPN客户端。
所述SSL加密通道支持国密SM1算法、国密SM3算法、国密SM4算法、ECC算法、ECDHE算法、IBC算法、IBSDH算法、RSA算法和SHA1算法中的至少一种。
可以理解,传统的终端应用与应用服务器之间的一次TCP连接,是指在应用服务器收到TCP数据后,则向终端应用返回ACK确认信息。而本发明实施例则是将传统的终端应用与应用服务器之间的一次TCP长连接,缩短为终端应用与虚拟网卡模块、VPN网关与应用服务器两次TCP短连接;相较于传统的一次TCP长连接,这两次TCP短连接减少了VPN客户端与VPN网关之间的长距离网络链路,换言之,本发明通过在虚拟网卡模块接收到TCP数据后即可伪造回复ACK确认,对于终端应用而言,则是将TCP连接的ACK确认消息进行提前响应了,从而提高了终端应用后续发包的速率。因此,本发明实施例将传统的“长距离”TCP连接缩短为两个“短距离”的第一TCP连接和第二TCP连接,可以有效缩短TCP数据传输的响应时间,提升发包速率。
实施例4
为了优化对网络流量的管控,避免网络数据传输出现严重拥塞情况,在上述各实施例的基础上,根据本发明实施例,步骤S104,具体还包括:
所述VPN客户端进行统计上行网络流量,当VPN客户端监控到上行网络流量达到第一阈值时,则反馈上行网络流量管控指令给虚拟网卡模块,所述虚拟网卡模块接收到上行网络流量管控指令后,则停止伪造ACK确认信息,促使所述终端应用因收不到ACK确认信息,则减慢或停止发送后续的应用数据,以实现对上行网络流量的管控。
可以理解,本发明实施例通过上行网络流量监控,实现对终端应用发包速率的管控,避免过快或过量发包而导致上行网络数据传输出现拥塞的问题。
根据本发明实施例,步骤S202,具体还包括:
所述VPN网关进行统计下行网络流量,当所述VPN网关监控到下行网络流量达到第二阈值时,则反馈下行网络流量管控指令给所述应用服务器,所述应用服务器接收到下行网络流量管控指令后,则停止发送所述应用回复数据或减缓发送所述应用回复数据的速率,以实现对下行网络流量的管控。
可以理解,本发明实施例通过下行网络流量监控,实现对应用服务器回复速率的管控,避免过快或过量回复数据而导致下行网络数据传输出现拥塞的问题。
实施例5
为了确保应用数据在传输过程中的数据完整性,在上述各实施例的基础上,本发明实施例提供的一种基于SSLVPN通道的TCP网络传输加速方法,还包括:对应用数据进行数据完整性校验的过程,具体为:
所述终端应用持续发送一系列有序的应用数据,每一条应用数据带有对应的序号,且将已成功发送的应用数据记录在数据库中;
当所述应用服务器接收预设量的应用数据后,则会基于各个应用数据的序号关系进行整合,并对整合后的数据进行哈希计算(例如,可以通过调用内置在应用服务器中的安全模块进行哈希计算),得到第一哈希值,然后将第一哈希值和预设量应用数据的序号信息打包为数据报文返回给终端应用;
所述终端应用从所述数据报文中提取出第一哈希值和序号信息,并基于序号信息从数据库中查找对应的应用数据,待查找完成后,基于各个应用数据的序号关系进行整合,并对整合后的数据进行哈希计算(例如,可以通过调用内置在终端中的安全模块进行哈希计算),得到第二哈希值;所述终端应用比对第一哈希值与第二哈希值是否一致,如果一致,则数据完整性校验成功,如果不一致,则数据完整性校验失败。
具体地,终端应用发送的应用数据带有顺序序号标识,当应用服务器接收一定量(如100条应用数据,序号1-100)的应用数据后,则会调用内置的安全模块进行哈希计算,得到第一哈希值,然后将第一哈希值和序号信息(1-100)打包为数据报文返回给终端应用;终端应用从数据报文中提取出序号信息(1-100),并基于序号信息(1-100)从数据库中查找对应的应用数据,然后找齐所有应用数据后,进行哈希计算,得到第二哈希值,比对第一哈希值和第二哈希值,如果一致,则校验成功,说明终端应用发送的序号1-100的应用数据均已准确地由应用服务器接收到;如果不一致,则校验失败,说明序号1-100中的部分或全部应用数据已被篡改,后续需要进行重新发送或修复漏洞。可以理解,本发明实施例通过上述校验过程,可有效确保应用数据传输的完整性,进一步避免丢包或被篡改的可能性。
实施例6
如图2所示,本发明实施例还提供一种基于SSLVPN通道的TCP网络传输加速系统,用于实现上述各实施例中的基于SSLVPN通道的TCP网络传输加速方法,所述系统包括:终端侧和平台侧,所述终端侧包括终端应用、终端系统路由、虚拟网卡模块以及VPN客户端,所述平台侧包括VPN网关以及至少一个应用服务器;
所述终端应用,用于产生应用数据并发送给终端系统路由;
所述终端系统路由,用于对所述应用数据进行TCP协议封装,将负载有应用数据的第一TCP数据报文发送给虚拟网卡模块;
所述虚拟网卡模块,用于伪造应用服务器的ACK确认信息,并通过所述终端系统路由返回给所述终端应用,以触发所述终端应用继续发送下一条应用数据,同时所述虚拟网卡模块从所述第一TCP数据报文中剥离出应用数据并发送给VPN客户端;
所述VPN客户端,基于SSL协议对所述应用数据进行封装形成上行网络数据报文,并通过SSL加密通道传输给VPN网关;
所述VPN网关,用于对上行网络数据报文进行SSL协议解析,得到所述应用数据,然后对所述应用数据进行TCP协议封装,将负载有应用数据的第二TCP数据报文发送给对应的应用服务器;
所述应用服务器,用于对接收的第二TCP数据报文进行TCP协议解析得到所述应用数据,基于应用数据进行业务处理,产生应用回复数据并原路返回给所述终端应用。
进一步的,所述VPN客户端还用于统计上行网络流量,当VPN客户端监控到上行网络流量达到第一阈值时,则反馈上行网络流量管控指令给虚拟网卡模块;所述虚拟网卡模块还用于在接收到上行网络流量管控指令后,停止伪造ACK确认信息,促使所述终端应用因收不到ACK确认信息,则减慢或停止发送后续的应用数据,以实现对上行网络流量的管控。
进一步的,所述VPN网关还用于统计下行网络流量,当所述VPN网关监控到下行网络流量达到第二阈值时,则反馈下行网络流量管控指令给所述应用服务器;所述应用服务器还用于在接收到下行网络流量管控指令后,停止发送所述应用回复数据或减缓发送所述应用回复数据的速率,以实现对下行网络流量的管控。
本发明实施例提供的系统可以提高SSLVPN隧道模式下TCP类应用的传输速度,提高用户体验。同时还可以提高在网络较差环境下(丢包乱序等比较频繁)的SSLVPN通道整体方案的可用性。
需要说明的是,本发明实施例提供的系统是为了实现上述各方法实施例的,其功能具体可参考上述方法实施例,此处不再赘述。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种基于SSLVPN通道的TCP网络传输加速方法,其特征在于,包括:
步骤1,终端应用产生一条应用数据,并发送给终端系统路由;
步骤2,所述终端系统路由对所述应用数据进行TCP协议封装形成第一TCP数据报文并发送给虚拟网卡模块;
步骤3,所述虚拟网卡模块接收到第一TCP数据报文后,伪造应用服务器的ACK确认信息并通过所述终端系统路由返回给所述终端应用,以触发所述终端应用继续发送下一条应用数据;同时所述虚拟网卡模块从所述第一TCP数据报文中剥离出所述应用数据并发送给VPN客户端;
步骤4,所述VPN客户端基于SSL协议对所述应用数据进行封装形成上行网络数据报文,并通过SSL加密通道传输给VPN网关;
步骤5,所述VPN网关接收到所述上行网络数据报文后进行SSL协议解析,得到所述应用数据,然后对所述应用数据进行TCP协议封装形成第二TCP数据报文并发送给对应的应用服务器;
步骤6,所述应用服务器接收到所述第二TCP数据报文后进行TCP协议解析,得到所述应用数据,然后基于所述应用数据进行业务处理产生应用回复数据并进行TCP协议封装形成第三TCP数据报文,然后将所述第三TCP数据报文发送给所述VPN网关;
步骤7,所述VPN网关接收到所述第三TCP数据报文后,向所述应用服务器返回ACK确认消息,并从所述第三TCP数据报文剥离出所述应用回复数据,基于SSL协议对所述应用回复数据进行封装形成下行网络数据报文,并通过SSL加密通道传输给所述VPN客户端;
步骤8,所述VPN客户端接收到所述下行网络数据报文后进行SSL协议解析,得到所述应用回复数据并发送给所述虚拟网卡模块;
步骤9,所述虚拟网卡模块基于所述应用回复数据以所述应用服务器的身份伪造第四TCP数据报文,并将所述第四TCP数据报文发送给所述终端系统路由;
步骤10,所述终端系统路由从所述第四TCP数据报文中剥离出所述应用回复数据并发送给终端应用。
2.根据权利要求1所述的方法,其特征在于,在所述步骤1之前,还包括:
步骤1-1,所述终端应用请求与对应的应用服务器建立第一TCP连接,并将第一TCP连接请求发送给所述终端系统路由;
步骤1-2,所述终端系统路由基于所述第一TCP连接请求产生第一TCP握手数据并发送给虚拟网卡模块,所述虚拟网卡模块接收到所述第一TCP握手数据后,分别执行步骤1-3和步骤1-4;
步骤1-3,所述虚拟网卡模块以应用服务器的身份伪造TCP握手回复数据返回给所述终端系统路由,如果握手成功,则所述终端系统路由返回第一TCP连接成功响应给所述终端应用;
步骤1-4,所述虚拟网卡模块触发所述VPN客户端请求与所述VPN网关创建SSL加密通道,待创建成功后,产生唯一的SSL加密通道ID,所述VPN网关基于第二握手数据尝试与所述应用服务器建立第二TCP连接,如果握手成功,则所述应用服务器返回第二TCP连接成功响应信息给所述VPN网关,所述VPN网关则将所述SSL加密通道ID与所述第二TCP连接建立绑定关系。
3.根据权利要求1所述的方法,其特征在于,所述步骤4,具体还包括:
所述VPN客户端统计上行网络流量,当所述上行网络流量达到第一阈值时,则反馈上行网络流量管控指令给所述虚拟网卡模块;所述虚拟网卡模块接收到所述上行网络流量管控指令后,则停止伪造ACK确认信息。
4.根据权利要求1所述的方法,其特征在于,所述步骤7,具体还包括:
所述VPN网关统计下行网络流量,当所述下行网络流量达到第二阈值时,则反馈下行网络流量管控指令给所述应用服务器;所述应用服务器接收到所述下行网络流量管控指令后,则停止或减缓发送所述应用回复数据。
5.根据权利要求1所述的方法,其特征在于,还包括:
所述终端应用持续发送一系列有序的应用数据,每一条应用数据带有对应的序号,且将已成功发送的应用数据记录在数据库中;
当所述应用服务器接收到预设量的应用数据后,基于各个应用数据的序号关系进行整合,并对整合后的数据进行哈希计算,得到第一哈希值,然后将所述第一哈希值和所述预设量的应用数据的序号信息打包为数据报文返回给终端应用;
所述终端应用从所述数据报文中提取出所述第一哈希值和所述序号信息,并基于所述序号信息从数据库中查找对应的应用数据,待查找完成后,基于各个应用数据的序号关系进行整合,并对整合后的数据进行哈希计算,得到第二哈希值,然后比对所述第一哈希值与所述第二哈希值是否一致,如果一致,则数据完整性校验成功,如果不一致,则数据完整性校验失败。
6.根据权利要求1所述的方法,其特征在于,所述SSL加密通道支持国密SM1算法、国密SM3算法、国密SM4算法、ECC算法、ECDHE算法、IBC算法、IBSDH算法、RSA算法和SHA1算法中的至少一种。
7.一种基于SSLVPN通道的TCP网络传输加速系统,用于实现上述权利要求1至6任一所述的基于SSLVPN通道的TCP网络传输加速方法,其特征在于,所述系统包括:终端侧和平台侧,所述终端侧包括终端应用、终端系统路由、虚拟网卡模块以及VPN客户端,所述平台侧包括VPN网关以及至少一个应用服务器;
所述终端应用,用于产生应用数据并发送给终端系统路由;
所述终端系统路由,用于对应用数据进行TCP协议封装形成第一TCP数据报文并发送给虚拟网卡模块;以及由从第四TCP数据报文中剥离出应用回复数据并发送给终端应用;
所述虚拟网卡模块,用于伪造应用服务器的ACK确认信息,并通过所述终端系统路由返回给所述终端应用,以触发所述终端应用继续发送下一条应用数据;从所述第一TCP数据报文中剥离出应用数据并发送给VPN客户端;以及基于应用回复数据以应用服务器的身份伪造第四TCP数据报文,并将所述第四TCP数据报文发送给所述终端系统路由;
所述VPN客户端,用于基于SSL协议对应用数据进行封装形成上行网络数据报文,并通过SSL加密通道传输给VPN网关;以及接收到下行网络数据报文后进行SSL协议解析,得到应用回复数据并发送给所述虚拟网卡模块;
所述VPN网关,用于对上行网络数据报文进行SSL协议解析,得到应用数据,然后对所述应用数据进行TCP协议封装形成第二TCP数据报文并发送给对应的应用服务器;以及接收到应用服务器发送的第三TCP数据报文后,向所述应用服务器返回ACK确认消息,并从所述第三TCP数据报文剥离出所述应用回复数据,基于SSL协议对所述应用回复数据进行封装形成下行网络数据报文,并通过SSL加密通道传输给所述VPN客户端;
所述应用服务器,用于对第二TCP数据报文进行TCP协议解析得到应用数据,基于所述应用数据进行业务处理,产生应用回复数据进行TCP协议封装形成第三TCP数据报文,然后将所述第三TCP数据报文发送给所述VPN网关。
8.根据权利要求7所述的系统,其特征在于,所述VPN客户端,还用于统计上行网络流量,当所述上行网络流量达到第一阈值时,则反馈上行网络流量管控指令给所述虚拟网卡模块;
所述虚拟网卡模块,还用于在接收到上行网络流量管控指令后,停止伪造ACK确认信息。
9.根据权利要求7所述的系统,其特征在于,所述VPN网关,还用于统计下行网络流量,当所述下行网络流量达到第二阈值时,则反馈下行网络流量管控指令给所述应用服务器;
所述应用服务器,还用于在接收到下行网络流量管控指令后,停止或减缓发送所述应用回复数据。
CN202011213236.5A 2020-11-04 2020-11-04 一种基于sslvpn通道的tcp网络传输加速方法和系统 Active CN112422396B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011213236.5A CN112422396B (zh) 2020-11-04 2020-11-04 一种基于sslvpn通道的tcp网络传输加速方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011213236.5A CN112422396B (zh) 2020-11-04 2020-11-04 一种基于sslvpn通道的tcp网络传输加速方法和系统

Publications (2)

Publication Number Publication Date
CN112422396A CN112422396A (zh) 2021-02-26
CN112422396B true CN112422396B (zh) 2022-04-19

Family

ID=74828466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011213236.5A Active CN112422396B (zh) 2020-11-04 2020-11-04 一种基于sslvpn通道的tcp网络传输加速方法和系统

Country Status (1)

Country Link
CN (1) CN112422396B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112822308B (zh) * 2021-04-19 2021-07-13 德思信息科技(南京)有限公司 一种高速安全虚拟网络代理的方法及其系统
CN113542426B (zh) * 2021-07-21 2023-06-09 沃太能源股份有限公司 用于能量管理系统的物联网系统
CN113890824A (zh) * 2021-10-21 2022-01-04 北京天融信网络安全技术有限公司 网络加速方法、装置、网关设备及计算机可读存储介质
CN115225313B (zh) * 2022-06-02 2023-08-29 清华大学 一种高可靠的云网络虚拟专用网络通信方法和装置
CN115883130A (zh) * 2022-10-24 2023-03-31 广州大学 一种通过密钥的车载ecu身份认证方法
CN116471345B (zh) * 2023-06-19 2023-10-20 中电科网络安全科技股份有限公司 一种数据通信方法、装置、设备及介质
CN116781428B (zh) * 2023-08-24 2023-11-07 湖南马栏山视频先进技术研究院有限公司 一种基于虚拟专用网络vpn流量的转发系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104079625A (zh) * 2014-05-14 2014-10-01 深圳市信锐网科技术有限公司 数据传输加速方法和装置
CN104852988A (zh) * 2015-05-29 2015-08-19 杭州华三通信技术有限公司 一种报文转发方法和装置
CN106936875A (zh) * 2015-12-30 2017-07-07 南京理工大学 基于广域网数据压缩的改进tcp代理方法
CN108964880A (zh) * 2018-10-10 2018-12-07 深信服科技股份有限公司 一种数据传输方法及装置
WO2018223488A1 (zh) * 2017-06-08 2018-12-13 网宿科技股份有限公司 一种加速代理设备、加速代理方法以及一种内容管理系统
CN111314499A (zh) * 2020-02-17 2020-06-19 深信服科技股份有限公司 一种域名代理方法、装置、设备及可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025746B (zh) * 2010-12-21 2013-04-17 北京星网锐捷网络技术有限公司 一种tcp连接的建立方法、装置及网络设备
CN102263687A (zh) * 2011-08-11 2011-11-30 武汉思为同飞网络技术有限公司 广域网vpn加速网关及其加速通信系统和方法
CN102394816B (zh) * 2011-10-28 2015-03-18 华为技术有限公司 一种虚拟专用网络用户服务质量控制方法和设备
CN104580011B (zh) * 2013-10-23 2017-12-15 新华三技术有限公司 一种数据转发装置和方法
US10944590B2 (en) * 2015-12-10 2021-03-09 Nicira, Inc. Transport protocol task offload emulation to detect chunks of data for communication with a private network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104079625A (zh) * 2014-05-14 2014-10-01 深圳市信锐网科技术有限公司 数据传输加速方法和装置
CN104852988A (zh) * 2015-05-29 2015-08-19 杭州华三通信技术有限公司 一种报文转发方法和装置
CN106936875A (zh) * 2015-12-30 2017-07-07 南京理工大学 基于广域网数据压缩的改进tcp代理方法
WO2018223488A1 (zh) * 2017-06-08 2018-12-13 网宿科技股份有限公司 一种加速代理设备、加速代理方法以及一种内容管理系统
CN108964880A (zh) * 2018-10-10 2018-12-07 深信服科技股份有限公司 一种数据传输方法及装置
CN111314499A (zh) * 2020-02-17 2020-06-19 深信服科技股份有限公司 一种域名代理方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN112422396A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
CN112422396B (zh) 一种基于sslvpn通道的tcp网络传输加速方法和系统
CN109412946B (zh) 一种确定回源路径的方法、装置、服务器及可读存储介质
CN107864228B (zh) 一种内容分发网络中的连接建立方法及系统
JP2018528679A (ja) 負荷平衡システムにおいて接続を確立するデバイス及び方法
CN111064755B (zh) 一种数据保护方法、装置、计算机设备和存储介质
CN110557785B (zh) 一种基于mec的数据分流方法及装置
US20150373135A1 (en) Wide area network optimization
WO2020147453A1 (zh) 数据传输方法及相关装置
CN112954630B (zh) 一种基于5g端计算网关业务保活的方法
CN112217685B (zh) 隧道探测方法、终端设备、系统、计算机设备和存储介质
GB2592315A (en) Methods and systems for sending packets through a plurality of tunnels
CN111865940A (zh) 一种传输优化的方法及装置
CN104796887A (zh) 一种安全信息交互的方法和装置
EP3672189B1 (en) Data transmission method, device and system
CN105897665B (zh) 一种卫星网络环境下实现tcp传输的方法及相应的网关
CN108064441B (zh) 一种加速网络传输优化方法以及系统
WO2016106589A1 (zh) 失效对等体检测方法、IPsec对等体和网络设备
CN115865886B (zh) 一种基于http的跨网络数据交互方法和装置
CN107819597B (zh) 网络数据传输方法和前置机
US11470502B2 (en) Congestion notification by data packet from intermediate node
CN114157509B (zh) 基于国密算法具备SSL和IPsec的加密方法及装置
CN114500021A (zh) 一种攻击检测方法、装置、电子设备及存储介质
CN113207190B (zh) 接入层ip包的处理方法、装置及设备
CN104253811A (zh) 一种网络包通信方法和系统
CN110120907B (zh) 一种基于提议组的IPSec VPN隧道的通信方法及装置

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
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A TCP network transmission acceleration method and system based on SSL VPN channel

Effective date of registration: 20230412

Granted publication date: 20220419

Pledgee: China Construction Bank Corporation Zhengzhou Jinshui sub branch

Pledgor: ZHENGZHOU XINDA JIEAN INFORMATION TECHNOLOGY Co.,Ltd.

Registration number: Y2023980037751