CN112637348B - 一种连接建立方法、装置、***及电子设备 - Google Patents

一种连接建立方法、装置、***及电子设备 Download PDF

Info

Publication number
CN112637348B
CN112637348B CN202011556355.0A CN202011556355A CN112637348B CN 112637348 B CN112637348 B CN 112637348B CN 202011556355 A CN202011556355 A CN 202011556355A CN 112637348 B CN112637348 B CN 112637348B
Authority
CN
China
Prior art keywords
digital certificate
domain name
client
connection request
connection
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
CN202011556355.0A
Other languages
English (en)
Other versions
CN112637348A (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 Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202011556355.0A priority Critical patent/CN112637348B/zh
Publication of CN112637348A publication Critical patent/CN112637348A/zh
Application granted granted Critical
Publication of CN112637348B publication Critical patent/CN112637348B/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
    • 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/01Protocols
    • 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/164Adaptation or special uses of UDP protocol

Landscapes

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

Abstract

本公开提供一种连接建立方法、装置、***及电子设备,涉及通信技术领域。该方法包括:目标服务器接收客户端基于QUIC协议发送的连接请求;其中,连接请求中包括客户端的域名;在本地缓存数据中查找域名对应的数字证书;当在本地缓存数据中未查找到域名对应的数字证书时,对连接请求进行丢包处理,并从中继服务器中获取域名对应的数字证书;接收客户端重新发送的连接请求;基于数字证书与客户端建立连接。本公开能够降低证书运维成本,并有效提升服务器与客户端之间建立基于QUIC协议的连接的成功率。

Description

一种连接建立方法、装置、***及电子设备
技术领域
本公开涉及通信技术领域,尤其涉及一种连接建立方法、装置、***及电子设备。
背景技术
用户数据报协议(User Datagram Protocol,简称UDP)是一种无连接的传输层协议,快速UDP互联网连接协议(Quic UDP Internet Connections,简称QUIC)是一种使用UDP进行多路并发传输的协议,它作为一种安全加密的通信协议,在协议建连过程中需要使用数字证书进行身份验签和数据加解密,因此需要配置数字证书供QUIC使用。
目前确定数字证书主要有如下两种方式,一种是采用网络方式动态拉取动态证书,另一种是预先在服务器上配置好静态证书。然而,使用动态证书将会阻塞非握手数据包的处理;使用静态证书灵活性较差,而且,在证书过期或者发生变更时,需要人工登录服务器进行重新配置,易用性、可维护性较差。
上述现有的QUIC协议握手方案中存在的阻塞数据包、灵活性差、易用性差等问题,将影响服务器与客户端之间是否能够成功建立连接,对此目前尚未提出有效的解决方案。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种连接建立方法、装置、***及电子设备,能够有效提升服务器与客户端之间建立连接的成功率。
第一方面,本公开提供了一种连接建立方法,所述方法包括:接收客户端基于QUIC协议发送的连接请求;其中,所述连接请求中包括所述客户端的域名;在本地缓存数据中查找所述域名对应的数字证书;当在所述本地缓存数据中未查找到所述域名对应的数字证书时,对所述连接请求进行丢包处理,并从中继服务器中获取所述域名对应的数字证书;接收所述客户端重新发送的所述连接请求;基于所述数字证书与所述客户端建立连接。
进一步,所述在本地缓存数据中查找所述域名对应的数字证书,包括:将所述连接请求发送至解析器;接收所述解析器发送的所述连接请求的解析结果;当所述连接请求的解析结果为QUIC握手包时,在所述本地缓存数据中查找所述域名对应的数字证书。
进一步,所述方法还包括:如果所述连接请求的解析结果为非QUIC握手包,则对所述非QUIC握手包进行缓存,并在所述目标服务器与所述客户端建立基于QUIC协议的网络连接之后,对所述非QUIC握手包进行处理。
进一步,所述解析器为基于QUIC协议标准实现的解析器。
进一步,所述从中继服务器中获取所述域名对应的数字证书的步骤,包括:所述目标服务器调用虚拟机,向中继服务器发送基于所述域名的证书查找请求;其中,所述中继服务器用于动态存储数字证书;接收所述中继服务器基于所述证书查找请求返回的数字证书。
进一步,在所述从中继服务器中获取所述域名对应的数字证书的步骤之后,所述方法还包括:将所述数字证书存储于所述本地缓存数据中。
第二方面,本公开还提供了一种连接建立方法,所述方法包括:基于QUIC协议向目标服务器发送包括有客户端的域名的连接请求,以使所述目标服务器查找与所述域名对应的数字证书;其中,所述目标服务器在未查找到所述域名对应的数字证书的情况下,对所述连接请求进行丢包处理,并从中继服务器中获取所述域名对应的数字证书;若所述客户端满足重传条件,则向所述目标服务器重新发送所述连接请求;基于所述数字证书与所述目标服务器建立连接。
进一步,在所述向目标服务器重新发送所述连接请求之前,所述方法还包括:监听所述目标服务器对所述连接请求的响应消息;若在预设的超时重传时间内未接收到所述响应消息,则确定所述客户端满足重传条件。
第三方面,本公开还提供了一种连接建立装置,所述装置包括:第一接收模块,用于接收客户端基于QUIC协议发送的连接请求;其中,所述连接请求中包括所述客户端的域名;第一证书查找模块,用于在本地缓存数据中查找所述域名对应的数字证书;第二证书查找模块,用于当在所述本地缓存数据中未查找到所述域名对应的数字证书时,对所述连接请求进行丢包处理,并从中继服务器中获取所述域名对应的数字证书;第二接收模块,用于接收所述客户端重新发送的所述连接请求;第一建连模块,用于基于所述数字证书与所述客户端建立连接。
第四方面,本公开还提供了一种连接建立装置,所述装置包括:第一发送模块,用于基于QUIC协议向目标服务器发送包括有客户端的域名的连接请求,以使所述目标服务器查找与所述域名对应的数字证书;其中,所述目标服务器在未查找到所述域名对应的数字证书的情况下,对所述连接请求进行丢包处理,并从中继服务器中获取所述域名对应的数字证书;第二发送模块,用于在客户端满足重传条件的情况下,向所述目标服务器重新发送所述连接请求;第二建连模块,用于基于所述数字证书与所述目标服务器建立连接。
第五方面,本公开还提供了一种连接建立***,所述***包括通信连接的目标服务器和客户端;所述目标服务器设置有上述第三方面所述的连接建立装置,所述客户端设置有上述第四方面所述的连接建立装置。
第六方面,本公开还提供了一种电子设备,包括:处理器和存储装置;所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行上述应用于目标服务器的方法,或者,所述计算机程序在被所述处理器运行时执行上述应用于客户端的方法。
第七方面,本公开还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述应用于目标服务器的方法的步骤,或者,所述计算机程序被处理器运行时执行上述应用于客户端的方法的步骤。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供了一种连接建立方法、装置、***及电子设备,目标服务器首先接收客户端基于QUIC协议发送的连接请求,该连接请求中包括客户端的域名,然后在本地缓存数据中查找与域名对应的数字证书;而后,在本地缓存数据中未查找到域名对应的数字证书的情况下,一方面主动对连接请求进行丢包处理,这样在目标服务器从中继服务器获取数字证书的过程中,不会影响对非握手数据包的处理,避免队头阻塞,有效降低了对原有服务性能的影响;另一方面,通过从中继服务器中获取目标数字证书,能够充分发挥动态获取数字证书的灵活性;而且,该方式能够有效减少用户对数字证书的配置和维护工作,降低了证书运维成本,提升了数字证书的易用性。综上,利用上述数字证书完成握手的连接方式能够有效提升目标服务器与客户端之间建立基于QUIC协议的连接的成功率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的应用于目标服务器的连接建立方法流程图;
图2为本公开实施例提供的应用于客户端的连接建立方法流程图;
图3为本公开实施例提供的连接建立交互图;
图4为本公开实施例提供的一种连接建立装置的结构框图;
图5为本公开实施例提供的另一种连接建立装置的结构框图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
在QUIC协议建连过程中,需要配置动态证书或者静态证书供QUIC协议使用;然而,目前确定数字证书的方式存在阻塞数据包、灵活性差、易用性差等问题,这将影响服务器与客户端之间是否能够成功建立连接。基于此,为改善以上问题至少之一,本公开实施例提供了一种连接建立方法、装置、***及电子设备,为便于理解,以下对本公开实施例进行详细介绍。
实施例一:
本公开实施例提供一种连接建立方法,适用于客户端与目标服务器首次建立连接,目标服务器为客户端用户提供服务的场景。参照图1所示的一种应用于目标服务器的连接建立方法的流程图,该方法具体包括如下步骤:
步骤S102,接收客户端基于QUIC协议发送的连接请求;其中,连接请求中包括客户端的域名。客户端可以为位于硬件设备上的应用,也可以为能够与目标服务器进行通信的硬件设备,如电脑、手机、iPad。
基于QUIC协议发送的连接请求可以降低连接延时,在一种可选的方案中,客户端可以按照QUIC协议对应的封装格式对待发送的数据进行封装,得到支持QUIC协议的连接请求。上述待发送的数据为建立连接时所需要的数据;连接请求可以是客户端首次与想要访问的目标服务器建立连接时的连接请求,可以包括初步客户端握手数据(chlo,inchoateclient hello);在本实施例中,初步握手数据也可称为QUIC握手包。客户端基于QUIC协议发送连接请求后,目标服务器则可以接收客户端发送的连接请求。
步骤S104,在本地缓存数据中查找域名对应的数字证书。
在本实施例中,目标服务器可以对接收到连接请求进行解析,以获取连接请求中包含的数据包和数据包携带的客户端的域名。此后,根据域名解析结果在本地缓存数据中查找域名对应的数字证书;其中,本地缓存数据中预先存储多个与域名相对应的数字证书,存储于本地缓存数据中的数字证书可称为静态证书;上述本地缓存数据比如进程内缓存数据。
步骤S106,当在本地缓存数据中未查找到域名对应的数字证书时,对连接请求进行丢包处理,并从中继服务器中获取域名对应的数字证书。
在本实施例中,当在本地缓存数据中未查找到静态证书时,将对连接请求进行丢包处理;同时,目标服务器向外部的其他第三方服务器转发域名,并通过第三方服务器查找与域名对应的数字证书。第三方服务器称为中继服务器,其作为数字证书的动态存储端,存储于中继服务器中的数字证书可称为动态证书。当从中继服务器中获取到数字证书后,可以将数字证书设置到本地缓存数据中。
由于QUIC协议的丢包是基于Stream(流式传输方式)的,所有Stream是相互独立的,一条Stream上的丢包,不会影响其他Stream的数据传输;因此,对连接请求进行丢包处理能够避免队头阻塞,而且还能够将动态证书的获取流程***到QUIC协议握手流程中,不会影响对其他数据包的处理。
当然可以理解的是,如果目标服务器能够在本地缓存数据中查找到数据证书,则直接执行如下步骤S110,基于数字证书与客户端建立连接。
步骤S108,接收客户端重新发送的连接请求。
目标服务器在获取到数字证书后,将等待接收客户端重新发送的连接请求。客户端如果在预设的超时重传时间(RTO,Retransamission Timeout)内未接收到目标服务器针对连接请求的响应消息,则触发QUIC协议的超时重传机制,向目标服务器重新发送连接请求。
步骤S110,基于数字证书与客户端建立连接。
目标服务器在接收到首个连接请求后,已经获取到数字证书并对数据证书进行缓存,故在接收到客户端重新发送的连接请求后,能够在本地缓存数据中查找到域名对应的数字证书,进而基于数字证书与客户端建立连接,比如返回Server Reject QUIC握手包,Server Reject QUIC握手包可以包括目标服务器的配置信息,完成与客户端的QUIC握手,与客户端建立安全连接。
本公开实施例提供的连接建立方法,目标服务器根据客户端发送的连接请求中包括的域名,在本地缓存数据中查找域名对应的数字证书,并在查找不到的情况下,对连接请求进行丢包处理,以及从中继服务器获取数字证书。在上述方式中,对连接请求主动进行丢包处理,能够避免队头阻塞,不会影响对非握手数据包的处理,有效降低了对原有服务性能的影响;同时,将动态获取数据证书的流程***到QUIC协议握手流程中,充分发挥了动态获取数字证书的灵活性;而且,该方式能够有效减少用户对数字证书的配置和维护工作,降低了证书运维成本,提升了数字证书的易用性。综上,利用上述数字证书完成握手的连接方式,能够有效提升目标服务器与客户端之间建立基于QUIC协议的连接的成功率。
本实施例给出了一种在本地缓存数据中查找域名对应的数字证书的具体实施方式,可以参照如下步骤(1)-(3)执行:
(1)将连接请求发送至解析器;其中,解析器可以为基于QUIC协议标准实现的解析器。在具体应用中,QUIC协议可以为基于谷歌的Chromium(网页浏览器)工程的QUIC实现,称为GQUIC;或者,还可以为标准化进行中的版本,称为IQUIC;基于此,上述解析器可以为基于GQUIC协议标准或者IQUIC协议标准实现的解析器。目标服务器接收到客户端发送的连接请求后,将连接请求交由解析器进行解析,得到解析结果。
(2)接收解析器发送的连接请求的解析结果;当连接请求是客户端首次与目标服务器建立连接时的连接请求时,相应的解析结果可以包括QUIC握手包;当连接请求是客户端非首次与目标服务器建立连接时的连接请求时,相应的解析结果可以包括非QUIC握手包,如会话数据、加密数据。
(3)当连接请求的解析结果为QUIC握手包时,在本地缓存数据中查找域名对应的数字证书。
此外,当连接请求的解析结果为非QUIC握手包时,还可以对非QUIC握手包进行缓存,并在目标服务器与客户端建立基于QUIC协议的网络连接之后,对非QUIC握手包进行处理。
在解析得到客户端的域名之后,在目标服务器的本地缓存数据中查找域名对应的静态证书,如果能够查找到静态证书,则基于静态证书与客户端建立连接;如果为未在本地缓存数据中未查找到域名对应的数字证书时,将从中继服务器中获取动态证书。
为便于理解,本实施例给出一种获取动态证书的实现方式,可以包括如下步骤(I)和(II):
(I)目标服务器调用虚拟机,向中继服务器发送基于域名的证书查找请求。
其中,虚拟机作为数字证书动态加载的业务端,可以是使用lua语言编译的任意lua虚拟机,比如可以是嵌入在chrome中的lua虚拟机。在实际应用中,中继服务器诸如为relay服务器,其用于动态存储数字证书。
(II)接收中继服务器基于证书查找请求返回的数字证书。
在具体实现时,中继服务器通过虚拟机接收到基于域名的证书查找请求后,查找域名对应的动态证书。
虚拟机调用FFI(Foreign Function Interface,外部函数调用接口)监听中继服务器的查找结果,并当监听到中继服务器查找到动态证书后,更新动态证书,并将该动态证书更新至目标服务器本地。
目标服务器可以将动态证书存储于本地缓存数据中,以用于后续与客户端建立连接。
综上,上述实施例提供的连接建立方法,充分结合QUIC协议的丢包重传协议特性,在本地缓存数据中查找不到域名对应的数字证书的情况下,主动进行丢包处理,这样既不会影响对非握手数据包的处理,又能够将动态获取数据证书的流程***到QUIC协议握手流程中;同时,利用动态证书按需拉取、动态可变的优势,提升了获取数据证书的灵活性。此外,该方式能够有效减少用户对静态证书的配置和维护工作,降低了证书运维成本,提升了数字证书的易用性。综上,上述连接方式能够有效提升目标服务器与客户端之间建立基于QUIC协议的连接的成功率。
实施例二:
结合前述实施例一,参照图2所示的一种应用于客户端的连接建立方法的流程图,该方法可以由客户端执行,该方法包括:
步骤S202,基于QUIC协议向目标服务器发送包括有客户端的域名的连接请求,以使目标服务器查找与域名对应的数字证书。
在本实施例中,当客户端首次与待访问的目标服务器建立连接请求时,可以按照QUIC协议对应的封装格式对初步握手数据进行封装,得到支持QUIC协议的连接请求,并将连接请求发送给目标服务器。基于QUIC协议发送的连接请求可以降低连接延时。
目标服务器接收到连接请求后,在本地缓存数据中查找域名对应的数字证书,在此数字证书的查找过程中,如果目标服务器未查找到域名对应的数字证书,则对连接请求进行丢包处理,并通过调用虚拟机从中继服务器中获取域名对应的数字证书;如果在本地缓存数据中查找到域名对应的数字证书,则将数字证书返回给客户端,客户端基于数字证书与目标服务器建立连接。
步骤S204,若客户端满足重传条件,则向目标服务器重新发送连接请求。
在一种实现方式中,客户端可以监听目标服务器对连接请求的响应消息;如果在预设的超时重传时间内未接收到响应消息,则确定客户端满足重传条件,触发QUIC协议的超时重传机制,向目标服务器重新发送连接请求。
在此情况下,目标服务器已经缓存有域名对应的数字证书,在接收到客户端的连接请求后,可以向客户端返回数字证书。
步骤S206,基于数字证书与目标服务器建立连接。
客户端接收目标服务器返回的数字证书,并基于数字证书完成与目标服务器的QUIC握手,与目标服务器建立安全连接。
本公开实施例提供的连接建立方法,客户端在向目标服务器发送连接请求并得不到响应的情况下,将基于QUIC协议的丢包重传协议特性,向目标服务器重新发送连接请求。在两次发送连接请求之间,目标服务器能够对第一次的连接请求进行丢包处理,并从中继服务器获取动态证书,由此对客户端来说,不会对客户端的数据处理造成影响,且提升了获取数字证书的灵活性;综上,上述利用数字证书完成握手的连接方式,能够有效提升目标服务器与客户端之间建立基于QUIC协议的连接的成功率。
实施例三:
结合实施例一和实施例二,本实施例给出了一种连接建立方法的具体应用示例,参照图3所示的一种连接建立交互图,主要示意出了客户端、目标服务器以及解析器、虚拟机、中继服务器的交互过程,具体包括如下交互步骤:
步骤1,客户端基于QUIC协议向目标服务器发送连接请求,该连接请求表示为chlo_1,其包括QUIC握手包。
步骤2,目标服务器接收QUIC握手包,并将QUIC握手包转发给解析器。
步骤3,解析器解析QUIC握手包,得到客户端的域名,并将域名传输给目标服务器;
步骤4,目标服务器在本地缓存数据中查找域名对应的数字证书;并在未查找到的情况下,执行后续步骤。
步骤5,使解析器对连接请求进行丢包处理。
步骤6,调用虚拟机。
步骤7,虚拟机向中继服务器发送基于域名的证书查找请求。
步骤8,中继服务器执行证书查找操作,将查找到的数字证书发送给虚拟机。
步骤9,虚拟机调用FFI更新数字证书,并将数字证书发送给目标服务器。
步骤10,目标服务器更新数字证书并将数字证书存储于本地缓存数据中。至此,目标服务器结束针对chlo_1的处理流程。
步骤11,客户端在RTO内未接收到目标服务器针对chlo_1的响应消息,将基于QUIC协议向目标服务器重新发送连接请求,该连接请求表示为chlo_2,其包括QUIC握手包。
步骤12,目标服务器接收QUIC握手包,并将QUIC握手包转发给解析器。
步骤13,解析器解析QUIC握手包,得到客户端的域名,并将域名传输给目标服务器。
步骤14,目标服务器在本地缓存数据中查找域名对应的数字证书;目标服务器已经缓存有域名对应的数字证书,从而能够在本地缓存数据中查找到域名对应的数字证书。
步骤15,目标服务器将chlo_2交由解析器,以使解析器根据QUIC握手包进行握手处理(比如计算初始密钥),并回复Server Reject QUIC握手包(简称rej包)。
步骤16,目标服务器基于QUIC协议向客户端返回响应消息,响应消息中包括rej包。至此,完成数字证书的获取流程。接下来,将基于数字证书连接客户端与目标服务器之间的安全连接。
实施例四:
参见图4所示的一种连接建立装置的结构框图,该装置设置于目标服务器,该装置包括:
第一接收模块402,用于接收客户端基于QUIC协议发送的连接请求;其中,连接请求中包括客户端的域名;
第一证书查找模块404,用于在本地缓存数据中查找域名对应的数字证书;
第二证书查找模块406,用于当在本地缓存数据中未查找到域名对应的数字证书时,对连接请求进行丢包处理,并从中继服务器中获取域名对应的数字证书;
第二接收模块408,用于接收客户端重新发送的连接请求;
第一建连模块410,用于基于数字证书与客户端建立连接。
本公开实施例提供的连接建立装置,对连接请求主动进行丢包处理,能够避免队头阻塞,不会影响对非握手数据包的处理,有效降低了对原有服务性能的影响;同时,将动态获取数据证书的流程***到QUIC协议握手流程中,充分发挥了动态获取数字证书的灵活性;而且,该方式能够有效减少用户对数字证书的配置和维护工作,降低了证书运维成本,提升了数字证书的易用性。综上,利用上述数字证书完成握手的连接方式,能够有效提升目标服务器与客户端之间建立基于QUIC协议的连接的成功率。
在一种实施方式中,上述第一证书查找模块404还用于:将连接请求发送至解析器;接收解析器发送的连接请求的解析结果;当连接请求的解析结果为QUIC握手包时,在本地缓存数据中查找域名对应的数字证书。
在一种实施方式中,上述第一证书查找模块404还用于:如果连接请求的解析结果为非QUIC握手包,则对非QUIC握手包进行缓存,并在目标服务器与客户端建立基于QUIC协议的网络连接之后,对非QUIC握手包进行处理。
在一种实施方式中,上述第二证书查找模块406还用于:通过目标服务器调用虚拟机,向中继服务器发送基于域名的证书查找请求;其中,中继服务器用于动态存储数字证书;接收中继服务器基于证书查找请求返回的数字证书。
在一种实施方式中,上述第二证书查找模块406还用于:将数字证书存储于本地缓存数据中。
本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例一至三相同,为简要描述,本实施例部分未提及之处,可参考前述实施例一至三中相应内容。
实施例五:
参见图5所示的一种连接建立装置的结构框图,该装置设置于用户端,该装置包括:
第一发送模块502,用于基于QUIC协议向目标服务器发送包括有客户端的域名的连接请求,以使目标服务器查找与域名对应的数字证书;其中,目标服务器在未查找到域名对应的数字证书的情况下,对连接请求进行丢包处理,并从中继服务器中获取域名对应的数字证书;
第二发送模块504,用于在客户端满足重传条件的情况下,向目标服务器重新发送连接请求;
第二建连模块506,用于基于数字证书与目标服务器建立连接。
本公开实施例提供的连接建立装置,客户端在向目标服务器发送连接请求并得不到响应的情况下,将基于QUIC协议的丢包重传协议特性,向目标服务器重新发送连接请求。在两次发送连接请求之间,目标服务器能够对第一次的连接请求进行丢包处理,并从中继服务器获取动态证书,由此对客户端来说,不会对客户端的数据处理造成影响,且提升了获取数字证书的灵活性;综上,上述利用数字证书完成握手的连接方式,能够有效提升目标服务器与客户端之间建立基于QUIC协议的连接的成功率。
在一种实施方式中,上述连接建立装置还包括监听模块(图中未示出),其用于:监听目标服务器对连接请求的响应消息;若在预设的超时重传时间内未接收到响应消息,则确定客户端满足重传条件。
基于前述实施例,本实施例给出了连接建立***,该***包括通信连接的目标服务器和客户端;目标服务器设置有如图4所示的连接建立装置,客户端设置有如图5所示的连接建立装置。
本实施例所提供的装置及***,其实现原理及产生的技术效果和前述实施例一至三相同,为简要描述,本实施例部分未提及之处,可参考前述实施例一至三中相应内容。
实施例六:
基于前述实施例,本实施例给出了一种电子设备,包括:处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被处理器运行时执行上述实施例一至三任一项所提供的连接建立方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
进一步,本实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例一至三任一项所提供的连接建立方法的步骤。
本公开实施例所提供的一种连接建立方法、装置、***及电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (13)

1.一种连接建立方法,其特征在于,所述方法包括:
接收客户端基于QUIC协议发送的连接请求;其中,所述连接请求中包括所述客户端的域名;
在本地缓存数据中查找所述域名对应的数字证书;
当在所述本地缓存数据中未查找到所述域名对应的数字证书时,对所述连接请求进行丢包处理,并从中继服务器中获取所述域名对应的数字证书;
接收所述客户端重新发送的所述连接请求;
基于所述数字证书与所述客户端建立连接。
2.根据权利要求1所述的方法,其特征在于,所述在本地缓存数据中查找所述域名对应的数字证书,包括:
将所述连接请求发送至解析器;
接收所述解析器发送的所述连接请求的解析结果;
当所述连接请求的解析结果为QUIC握手包时,在所述本地缓存数据中查找所述域名对应的数字证书。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果所述连接请求的解析结果为非QUIC握手包,则对所述非QUIC握手包进行缓存,并在目标服务器与所述客户端建立基于QUIC协议的网络连接之后,对所述非QUIC握手包进行处理。
4.根据权利要求2所述的方法,其特征在于,所述解析器为基于QUIC协议标准实现的解析器。
5.根据权利要求1所述的方法,其特征在于,所述从中继服务器中获取所述域名对应的数字证书的步骤,包括:
所述目标服务器调用虚拟机,向中继服务器发送基于所述域名的证书查找请求;其中,所述中继服务器用于动态存储数字证书;
接收所述中继服务器基于所述证书查找请求返回的数字证书。
6.根据权利要求1所述的方法,其特征在于,在所述从中继服务器中获取所述域名对应的数字证书的步骤之后,所述方法还包括:
将所述数字证书存储于所述本地缓存数据中。
7.一种连接建立方法,其特征在于,所述方法包括:
基于QUIC协议向目标服务器发送包括有客户端的域名的连接请求,以使所述目标服务器查找与所述域名对应的数字证书;其中,所述目标服务器在未查找到所述域名对应的数字证书的情况下,对所述连接请求进行丢包处理,并从中继服务器中获取所述域名对应的数字证书;
若所述客户端满足重传条件,则向所述目标服务器重新发送所述连接请求;
基于所述数字证书与所述目标服务器建立连接。
8.根据权利要求7所述的方法,其特征在于,在所述向目标服务器重新发送所述连接请求之前,所述方法还包括:
监听所述目标服务器对所述连接请求的响应消息;
若在预设的超时重传时间内未接收到所述响应消息,则确定所述客户端满足重传条件。
9.一种连接建立装置,其特征在于,所述装置包括:
第一接收模块,用于接收客户端基于QUIC协议发送的连接请求;其中,所述连接请求中包括所述客户端的域名;
第一证书查找模块,用于在本地缓存数据中查找所述域名对应的数字证书;
第二证书查找模块,用于当在所述本地缓存数据中未查找到所述域名对应的数字证书时,对所述连接请求进行丢包处理,并从中继服务器中获取所述域名对应的数字证书;
第二接收模块,用于接收所述客户端重新发送的所述连接请求;
第一建连模块,用于基于所述数字证书与所述客户端建立连接。
10.一种连接建立装置,其特征在于,所述装置包括:
第一发送模块,用于基于QUIC协议向目标服务器发送包括有客户端的域名的连接请求,以使所述目标服务器查找与所述域名对应的数字证书;其中,所述目标服务器在未查找到所述域名对应的数字证书的情况下,对所述连接请求进行丢包处理,并从中继服务器中获取所述域名对应的数字证书;
第二发送模块,用于在客户端满足重传条件的情况下,向所述目标服务器重新发送所述连接请求;
第二建连模块,用于基于所述数字证书与所述目标服务器建立连接。
11.一种连接建立***,其特征在于,所述***包括通信连接的目标服务器和客户端;所述目标服务器设置有权利要求9所述的连接建立装置,所述客户端设置有权利要求10所述的连接建立装置。
12.一种电子设备,其特征在于,包括:处理器和存储装置;
所述存储装置上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1至6任一项所述的方法,或者,所述计算机程序在被所述处理器运行时执行如权利要求7至8所述的方法。
13.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至6任一项所述的方法的步骤,或者,所述计算机程序被处理器运行时执行上述权利要求7至8所述的方法的步骤。
CN202011556355.0A 2020-12-23 2020-12-23 一种连接建立方法、装置、***及电子设备 Active CN112637348B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011556355.0A CN112637348B (zh) 2020-12-23 2020-12-23 一种连接建立方法、装置、***及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011556355.0A CN112637348B (zh) 2020-12-23 2020-12-23 一种连接建立方法、装置、***及电子设备

Publications (2)

Publication Number Publication Date
CN112637348A CN112637348A (zh) 2021-04-09
CN112637348B true CN112637348B (zh) 2022-05-10

Family

ID=75324686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011556355.0A Active CN112637348B (zh) 2020-12-23 2020-12-23 一种连接建立方法、装置、***及电子设备

Country Status (1)

Country Link
CN (1) CN112637348B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113824540B (zh) * 2021-10-29 2023-04-07 中国电信股份有限公司 组播重传方法、装置、服务器以及存储介质
CN114070588A (zh) * 2021-11-01 2022-02-18 上海派拉软件股份有限公司 一种基于nginx的域名证书更新方法及装置
CN116266835A (zh) * 2021-12-17 2023-06-20 贵州白山云科技股份有限公司 握手连接的方法、电子装置、电子设备以及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1878177A (zh) * 2005-06-09 2006-12-13 国际商业机器公司 响应满tcp队列的***和方法
CN101325519A (zh) * 2008-06-05 2008-12-17 华为技术有限公司 基于安全协议的内容审计方法、***和内容审计设备
CN101478540A (zh) * 2008-12-31 2009-07-08 成都市华为赛门铁克科技有限公司 一种防御挑战黑洞攻击的方法及装置
CN106533689A (zh) * 2015-09-15 2017-03-22 阿里巴巴集团控股有限公司 一种在ssl/tls通信中加载数字证书的方法和装置
US10193879B1 (en) * 2014-05-07 2019-01-29 Cisco Technology, Inc. Method and system for software application deployment
CN110149388A (zh) * 2019-05-16 2019-08-20 北京字节跳动网络技术有限公司 Httpdns服务器的连接方法、装置及设备
CN111131143A (zh) * 2019-10-24 2020-05-08 天地融科技股份有限公司 一种网络访问控制方法及装置、***
CN111698097A (zh) * 2020-06-29 2020-09-22 北京达佳互联信息技术有限公司 一种证书认证方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1878177A (zh) * 2005-06-09 2006-12-13 国际商业机器公司 响应满tcp队列的***和方法
CN101325519A (zh) * 2008-06-05 2008-12-17 华为技术有限公司 基于安全协议的内容审计方法、***和内容审计设备
CN101478540A (zh) * 2008-12-31 2009-07-08 成都市华为赛门铁克科技有限公司 一种防御挑战黑洞攻击的方法及装置
US10193879B1 (en) * 2014-05-07 2019-01-29 Cisco Technology, Inc. Method and system for software application deployment
CN106533689A (zh) * 2015-09-15 2017-03-22 阿里巴巴集团控股有限公司 一种在ssl/tls通信中加载数字证书的方法和装置
CN110149388A (zh) * 2019-05-16 2019-08-20 北京字节跳动网络技术有限公司 Httpdns服务器的连接方法、装置及设备
CN111131143A (zh) * 2019-10-24 2020-05-08 天地融科技股份有限公司 一种网络访问控制方法及装置、***
CN111698097A (zh) * 2020-06-29 2020-09-22 北京达佳互联信息技术有限公司 一种证书认证方法及装置

Also Published As

Publication number Publication date
CN112637348A (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
CN112637348B (zh) 一种连接建立方法、装置、***及电子设备
US10897450B2 (en) Communication method and communication apparatus
US10511567B2 (en) Network resource identification
US11831629B2 (en) Server for providing a token
US8812623B2 (en) Techniques to support selective mobile content optimization
US9479476B2 (en) Processing of DNS queries
JP5502239B2 (ja) アクセス制御方法及びシステム並びにアクセス端末
CN113824642B (zh) 发送报文的方法、网络设备及计算机可读存储介质
RU2344473C2 (ru) Сетевая система, прокси-сервер, способ управления сеансом
KR20140054382A (ko) 이동성 및 멀티-호밍 컨텐츠 검색 애플리케이션을 위한 시스템 및 방법
US11290487B2 (en) Method and apparatus for reducing latency of network protocols
US20100235464A1 (en) Handoff and optimization of a network protocol stack
US20090245265A1 (en) Communication gateway device and relay method of the same
US7173933B1 (en) System and method for providing source awareness in a network environment
CN107786502B (zh) 一种认证代理方法、装置和设备
WO2017181800A1 (zh) 一种基于操作***的门户认证页面自适应***及其方法
US8699482B2 (en) Communication system and communication method
CA2446689A1 (en) Requests in a communication system
CN112583935A (zh) 缓冲区窗口调整方法、网关设备及存储介质
CN106464603A (zh) 一种传输请求的方法及客户端
CN1839611A (zh) 无线应用协议推送消息的传输方法
JP2003101585A (ja) ネットワーク環境通知方法、ネットワーク環境通知システム、及びプログラム
JP3990395B2 (ja) 通信方法および通信システム
CN114466347B (zh) 数据报文处理方法及装置
CN115695301A (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
GR01 Patent grant
GR01 Patent grant