一种QUIC握手方法、装置、电子设备和存储介质与流程
未命名
09-24
阅读:110
评论:0
一种quic握手方法、装置、电子设备和存储介质
技术领域
1.本发明涉及通信技术领域,具体而言,涉及一种quic握手方法、装置、电子设备和存储介质。
背景技术:
2.边缘云计算,简称边缘云,是基于云计算技术的核心和边缘计算的能力,构筑在边缘基础设施之上的云计算平台。通过大量边缘设备形成边缘位置的计算、网络、存储、安全等能力全面的弹性云平台,并与中心云和物联网终端形成“云边端三体协同”的端到端的技术架构,通过将网络转发、存储、计算、智能化数据分析等工作放在边缘处理,可以降低响应时延、减轻云端压力、降低带宽成本,并提供全网调度、算力分发等云服务。
3.出于对安全问题的重视,现如今边缘云网络边缘接入的流量绝大部分已经都是https流量。不过传统的https请求是基于tcp协议进行传输的,tcp协议存在的一些问题,包括tcp队头阻塞、握手延迟、协议僵化等。
4.为了解决这些问题,部分用户采用了quic(quick udp internet connection)协议的请求方式,quic协议是基于udp协议进行数据传输,具有可靠、有序、安全、快速等特点,但是目前的边缘设备在握手过程中,在接收到客户端的握手请求后再去检查需要读取的域名证书的有效性,这就大大增加了握手时间,此外,边缘设备在握手过程时,需要重复读取域名证书,从而降低了握手性能。
技术实现要素:
5.本发明解决的问题是现有的quic协议的握手过程中边缘设备重复读取域名证书,降低了握手性能。
6.为解决上述问题,本发明第一方面提供一种quic握手方法,应用于目标边缘设备,包括:
7.接收证书中心发送的域名证书,所述域名证书为所述目标边缘设备预先配置指示需要加载的域名证书;
8.接收客户端基于quic协议发送的握手请求;
9.获取配置信息,所述配置信息包含有与所述客户端完成连接建立过程所需的域名证书和其他服务器参数;
10.将所述配置信息发送给所述客户端以完成连接建立过程。
11.在一种实施方式中,在所述接收客户端基于quic协议发送的握手请求之前,还包括:
12.检测本地存储区域中的域名证书是否处于有效状态;
13.若否,则向所述证书中心发送证书加载请求,并将从所述证书中心所接收的新的域名证书对处于失效状态的域名证书进行替换。
14.在一种实施方式中,在所述接收客户端基于quic协议发送的握手请求之前,还包
括:
15.接收所述证书中心发送的新的域名证书;
16.将所述新的域名证书对处于待更新状态的域名证书进行替换。
17.在一种实施方式中,所述方法还包括:
18.检测所述域名证书的访问频率是否达到预设值;
19.若是,则将所述域名证书加载到共享内存。
20.在一种实施方式中,所述接收客户端基于quic协议发送的握手请求之后,包括:
21.检测所述握手请求中是否包含quic版本信息和连接id,确定所述握手请求是否可以复用;
22.若可以复用,则直接与客户端完成连接建立过程;
23.若不可以复用,则获取配置信息,将所述配置信息发送给所述客户端以完成连接建立过程。
24.在一种实施方式中,所述接收证书中心发送的域名证书,包括:
25.向所述证书中心发送证书加载请求,所述证书加载请求内记录有标识信息,所述标识信息用于标识所述证书加载请求在证书中心的处理优先级;
26.接收所述证书中心返回的域名证书。
27.本发明第二方面提供一种quic握手装置,其应用于目标边缘设备,包括:
28.第一接收模块,用于接收证书中心发送的域名证书,所述域名证书为所述目标边缘设备预先配置指示需要加载的域名证书;
29.第二接收模块,用于接收客户端基于quic协议发送的握手请求;
30.握手模块,用于获取配置信息,所述配置信息中包含有与所述客户端完成连接建立过程所需的域名证书和其他服务器参数;
31.第一发送模块,用于将所述配置信息发送给所述客户端以完成连接建立过程。
32.本发明第三方面提供一种电子设备,包括存储有计算机程序的计算机可读存储介质和处理器,所述计算机程序被所述处理器读取并运行时,实现如前述所述的方法。
33.本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器读取并运行时,实现如前述所述的方法。
34.本发明第五方面提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行实现如前述所述的方法。
35.这样,边缘设备在接收客户端的握手请求前先加载需要加载的证书,从而在接收到客户端的握手请求后直接返回对应的域名证书,完成连接建立过程,大大降低了握手需要的时间。
36.本技术中,边缘设备通过主动加载证书,减少握手前加载证书的时间消耗,证书自动化布置减低人工成本;实现证书热加载,快速替换有效证书;通过检测证书在一段时间内的使用频率,将一些高频证书作为热证书加载到共享内存,避免重复的i/o读写,浪费资源。
附图说明
37.图1为根据本发明实施例的quic握手系统的示意图;
38.图2为根据本发明实施例的quic握手方法的第一流程图;
39.图3为根据本发明实施例的quic握手方法的第二流程图;
40.图4为根据本发明实施例的quic握手方法的第三流程图;
41.图5为根据本发明实施例的quic握手方法的第四流程图;
42.图6为根据本发明实施例的quic握手方法的第五流程图;
43.图7为根据本发明实施例的quic握手方法的第六流程图;
44.图8为根据本发明实施例的目标边缘设备侧quic握手方法的第一流程图;
45.图9为根据本发明实施例的目标边缘设备侧quic握手方法的第二流程图;
46.图10为根据本发明实施例的目标边缘设备侧quic握手方法的第三流程图;
47.图11为根据本发明实施例的目标边缘设备侧quic握手方法的第四流程图;
48.图12为根据本发明实施例的目标边缘设备侧quic握手方法的第五流程图;
49.图13为根据本发明实施例的目标边缘设备侧quic握手方法的第六流程图;
50.图14为根据本发明一实施例的目标边缘设备侧quic握手装置的结构框图;
51.图15为根据本发明另一实施例的目标边缘设备侧quic握手装置的结构框图;
52.图16为根据本发明实施例的电子设备的结构框图。
具体实施方式
53.现在将参照附图来详细描述本技术的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本技术的范围。
54.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,不作为对本技术及其应用或使用的任何限制。
55.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
56.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
57.另外,本技术各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本技术要求的保护范围之内。
58.下面结合图1图13来描述根据本技术示例性实施方式的用于进行quic握手的方法。需要注意的是,下述应用场景仅是为了便于理解本技术的精神和原理而示出,本技术的实施方式在此方面不受任何限制。相反,本技术的实施方式可以应用于适用的任何场景。
59.本技术实施例提供了一种quic握手方法,参见图1,该方法所基于的网络系统架构包括客户端、目标边缘设备和证书中心。其中,客户端、目标边缘设备与证书中心之间可以通过物理端口等建立通讯方式。
60.需要说明的是,网络系统架构中可以部署有一个或多个客户端,同一个客户端可以与多个目标边缘设备连接,同一个目标边缘设备也可以与多个客户端通信连接;同一个证书中心,也可以和一个或多个目标边缘设备通信连接。
61.其中,所述客户端与所述目标边缘设备,对于整个网络系统架构而言,并非确定的硬件产品,同一个硬件,如计算机、服务器等,在一种情形下可能作为客户端使用,在另一种
情形下,可能作为目标边缘设备使用。
62.本技术中的客户端和服务端的划分,其可以代表的是通信方式上的对应关系,例如一个目标边缘设备可以对应多个客户端;也可以代表的是不同的使用功能,例如客户端用于供用户使用,服务端用于存储证书中转。为了便于进行更准确的判断,本技术中,不对客户端与目标边缘设备的功能、作用等进行限定,仅仅将在通讯连接中发送连接请求的视为客户端,接收连接请求或与证书中心连接存储证书的视为目标边缘设备。
63.图1中仅示意性地画出了一个客户端、一个目标边缘设备和一个证书中心,该客户端与目标边缘设备通信连接,目标边缘设备与证书中心通信连接。客户端与目标边缘设备之间可以建立会话连接,该会话连接为客户端至目标边缘设备之间的出站连接,即出向的通信连接;目标边缘设备与证书中心也可以建立会话连接,该会话连接为目标边缘设备至证书中心之间的出站连接。客户端与目标边缘设备之间、目标边缘设备与证书中心之间也可以建立其他类型的会话连接,本技术对此不作特殊限定。
64.需要说明的是,图1中的客户端、目标边缘设备与证书中心的数目,仅仅是示意性的,根据实现需要或本技术中的描述需要,具体数目可以调整。
65.以下对本技术实施例的技术方案的实现细节进行详细阐述。
66.本技术实施例提供了一种quic握手方法,该方法可以由quic握手装置来执行,该quic握手装置可以集成在电脑、服务器、计算机等电子设备中。如图2所示,其为根据本发明实施例的quic握手方法的第一流程图;其中,所述quic握手方法,包括:
67.s101,证书中心向目标边缘设备发送域名证书,所述域名证书为所述目标边缘设备预先配置指示需要加载的域名证书;
68.所述目标边缘设备内可以预先配置需要加载的域名证书,预先将这些域名证书加载。
69.其中,所述边缘设备可提供基于证书的web服务,包括但不限于边缘云网络的边缘服务器、边缘网关、边缘控制器、边缘路由器或网络机顶盒,在此,不作限定,任何现有或今后出现的其他形式的边缘设备若适用本技术,都应包含在本技术的保护范围内。
70.在一种实施方式中,所述目标边缘设备内设置有域名证书清单,该清单内记载了需要加载的域名证书;通过证书中心预先加载域名证书清单内的所述域名证书。
71.在另一种实施方式中,所述目标边缘设备内设置有域名清单,该清单内记载了需要加载的域名;通过证书中心预先加载域名清单内的所述域名对应的域名证书。
72.在另一种实施方式中,所述目标边缘设备内设置有配置文件,如,quicer组件的conf文件,通过该配置文件配置需要加载的域名证书;通过证书中心预先加载配置文件配置的所述域名证书。
73.其中,conf为配置文件config的简写,用于存取硬件驱动程序的安装配置信息。
74.在另一种实施方式中,所述域名证书清单、所述域名清单或者所述配置文件,设置在所述证书中心,通过所述证书中心加载所述域名证书。
75.在一种实施方式中,需要加载的域名证书至少包括新增域名的域名证书、需要更新的域名证书、需要删除的域名证书中的至少一个。
76.在一种实施方式中,所述需要更新的域名证书为缓存时间到期的域名证书或者有效期到期的域名证书或者除前述两种情况外的无效证书。
77.在一种实施方式中,在边缘设备内设置检测列表,通过检测列表记录域名证书的缓存时间或有效期,在缓存时间或有效期到期后将对应的域名证书设置为需要加载的域名证书向证书中心发出请求,并接收证书中心返回的域名证书来更新到期的域名证书。
78.在另一种实施方式中,在证书中心内设置检测列表,通过检测列表记录域名证书的缓存时间或有效期,在缓存时间或有效期到期后将对应的域名证书下发或加载到对应的边缘设备内,由边缘设备对相应的域名证书进行更新。
79.其中,证书中心在将域名证书加载到对应的边缘设备后,会对加载的域名证书设置缓存时间和有效期,例如将有效期设置为一年或两年,缓存时间的设置设置在有效期到期的前一个月,因此可以通过检索缓存时间是否到期来进行域名证书的更新,通过缓存时间和有效期间隔的一个月,可以在到期之前进行证书更新,从而避免证书过期导致的握手时间延迟。
80.另外,需要说明的是,有效期的具体设置时间也可以是三个月、六个月、九个月或其他时间,缓存时间与有效期到期时间的间隔,也可以是半个月、十天、五天或其他时间;本技术中对有效期的具体设置时间以及缓存时间与有效期到期时间的间隔的具体数值不作限制。
81.另外,需要说明的是,证书中心在加载或者下发域名证书时,会根据下发或加载时间以及其他信息生成版本号,因此每个边缘设备上的一个版本号就对应一个域名证书,不同域名的域名证书的版本号不同,同一个域名对应的不同时间下发的域名证书的版本号也不相同;因此对于域名证书而言,版本更新即是域名证书更新。
82.在一种实施方式中,证书中心将同一个域名的域名证书下发或加载到多个边缘设备时,通过至少两个时间点来分别加载多个边缘设备中的不同批次的边缘设备(例如将边缘设备分成多个批次,每个时间点加载一个批次的边缘设备);这样,就将针对同一个域名的边缘设备的域名证书加载或者更新时间错开,从而错开同一个域名的域名证书的到期时间,避免出现数据传输的高峰期拥堵,提高证书的加载或下发效率。
83.例如,证书中心需要下发域名www.abc.com的域名证书至3000个边缘设备内,则可以在第一时间下发域名证书至其中的500个边缘设备内,预设时间间隔后再下发域名证书至另外的500个边缘设备内,以此循环,直至全部边缘设备下发完成为止。
84.在一种实施方式中,新增域名的域名证书,可以是域名的所有者在确定新增后通知证书中心,或者其他方式通知证书中心来确定;证书中心在接收到通知后将对应的域名证书下发或加载到对应的边缘设备内,由边缘设备对相应的域名证书进行加载。其中,对于通知证书中心的具体方式,本技术不作限制。
85.在一种实施方式中,需要删除的域名证书,可以是域名的所有者在确定删除后通知证书中心,或者其他方式通知证书中心来确定;证书中心在接收到通知后将对应的删除指令或删除信息到对应的边缘设备内,由边缘设备对相应的域名证书进行删除。其中,对于通知证书中心的具体方式,本技术不作限制。
86.s102,客户端基于quic协议向目标边缘设备发送握手请求;
87.所述目标边缘设备,即为边缘设备中选取的,作为证书中心或客户端的建立连接的另一端的设备;其中,从边缘设备中选取一个作为目标边缘设备,可以通过负载均衡的方式进行选取。
88.其中,负载均衡设备可根据某种分配策略,决定客户端发送的访问请求应发送至cdn节点(边缘设备)中的哪台服务器处理。作为客户端与服务器之间的调度者,负载均衡设备设置分配策略的目的在于,将客户端发送的访问请求尽可能均匀地发送至cdn节点中的各台服务器。可以理解为,负载均衡设备将来自客户端的网络流量通过设定的分配策略分发到cdn节点中不同的服务器上,以使各台服务器协同对外提供服务,共同承担来自客户端的访问业务,避免cdn节点中各台服务器的负载不均,出现部分节点的服务器过载的情况,从而提高整个系统的可用性。
89.需要说明的,负载均衡设备可以使用循环选择在多台服务器上分配负载,或通过选择具有最低cpu负载和/或网络负载的服务器来分配负载,或根据并发请求的数量在多台服务器上分配负载,和/或根据任意时间段上的平均请求等待时间在多台服务器上分配负载,负载均衡设备还可以根据地理路由进行分配负载,等等。应该理解的,负载均衡设备也可以采用除上述分配方式以外的方式进行分配负载,对此不作特殊限定。
90.在一种实施方式中,所述负载均衡的方式为轮询。
91.在一种实施方式中,所述负载均衡的方式为客户端通过quic协议请求到quicer组件时,通过hash映射到quic软件。
92.在一种实施方式中,所述quic协议的版本可以为q039、q043、q44、q046、q047等。
93.在一种实施方式中,客户端向目标边缘设备发送的握手请求为初始包或inchoate client hello(chlo)消息。
94.s103,目标边缘设备获取配置信息,所述配置信息包含有与所述客户端完成连接建立过程所需的域名证书和其他服务器参数;
95.其中,配置信息中,域名证书的获取,可以直接从目标边缘设备中读取。
96.s104,目标边缘设备将所述配置信息发送给所述客户端以完成连接建立过程。
97.在一种实施方式中,将所述配置信息发送给所述客户端以完成连接建立过程,可以具体包括:所述目标边缘设备接收到chlo消息(初始包)后,回复rejection(rej)消息,其中包含目标边缘设备的配置信息,所述配置信息包括对应的域名证书;客户端收到rej消息,提取并存储配置信息向目标边缘设备发送full client hello消息,开始正式握手,消息中包括客户端选择的公开数;此时客户端根据获取的配置信息和自己选择的公开数,可以计算出初始密钥;目标边缘设备收到full client hello消息,如果同意连接,根据客户端的公开数计算出初始密钥,回复server hello(shlo)消息,shlo消息用初始密钥加密,并且其中包含目标边缘设备选择的一个临时公开数;客户端收到目标边缘设备的回复,如果是shlo消息,则尝试用初始密钥解密,提取出临时公开数;客户端和目标边缘设备根据临时公开数和初始密钥,各自基于sha-256算法推导出会话密钥;双方更换为使用会话密钥通信,初始密钥此时已无用,quic握手过程完毕。其具体握手过程,也可以为部分改进后的其他方式,本技术中对此过程不再赘述。
98.这样,在接收客户端的握手请求前先加载需要加载的证书,从而在接收到客户端的握手请求后直接返回对应的域名证书,完成连接建立过程,大大降低了握手需要的时间。
99.本技术实施例提供了另一种quic握手方法,其与前述所述的quic握手方法类似,不同之处在于,如图3所示,本实施例中在所述s102,客户端基于quic协议向目标边缘设备发送握手请求之前,所述方法还包括:
100.s111,目标边缘设备检测本地存储区域中的域名证书是否处于有效状态;
101.s112,若否,则目标边缘设备向所述证书中心发送证书加载请求,并将从所述证书中心所接收的新的域名证书对处于失效状态的域名证书进行替换。
102.这样,在握手开始前先对失效的域名证书进行替换,从而在握手过程中直接加载需要的域名证书,减少握手时间。
103.在一种实施方式中,可以在更换故障设备或者使用新的边缘设备时,服务程序启动的时候执行步骤s111-s112;也可以设置一定的时间间隔,在每个时间间隔内执行步骤s111-s112。
104.其中,可以在目标边缘设备内设置证书列表,将本地存储区域中的域名证书记载在该证书列表中,通过该证书列表检测域名证书是否处于有效状态。
105.其中,所述本地存储区域可以包括磁盘存储区域和内存存储区域,其中,存储在磁盘存储区域的文件,需要消耗i/o性能进行读写,存储在内存存储区域的文件,可以直接读取。
106.在一种实施方式中,目标边缘设备向所述证书中心发送证书加载请求,可以通过python脚本的方式进行请求,也可以使用quicer软件的接口进行请求,也可以使用其他方式进行请求。本技术中,对具体请求方式不作限制。
107.在一种实施方式中,如果同时检测到多个失效状态的域名证书,可以逐次发送每个域名证书的加载请求,也可以是同时发送多个域名证书的加载请求,例如发送一个很多域名的标识组成的数组作为加载请求。
108.在一种实施方式中,如图4所示,在所述s102,接收客户端基于quic协议发送的握手请求之前,还包括:
109.s121,目标边缘设备接收所述证书中心发送的新的域名证书;
110.s122,目标边缘设备将所述新的域名证书对处于待更新状态的域名证书进行替换。
111.其中,所述证书中心发送的新的域名证书,可以是新增域名的域名证书、需要更新的域名证书、需要删除的域名证书中的至少一个。
112.其中,步骤s121-s122,可以是与步骤s111-s112相互独立的步骤,也可以是在步骤s111-s112之后的步骤。
113.在一种实施方式中,证书中心确定需要更新的域名证书并发送至目标边缘设备;这样,目标边缘设备只需要接收新的域名证书进行替换,即可完成对域名证书的有效性的维持。
114.在一种实施方式中,如图5所示,所述方法还包括:
115.s105,目标边缘设备检测所述域名证书的访问频率是否达到预设值;
116.s106,若是,则目标边缘设备将所述域名证书加载到共享内存。
117.其中,目标边缘设备的共享内存是该目标边缘设备内的所有进程均可以进行读取或者读写的内存空间;目标边缘设备具有多个进程处理多个请求,域名证书存储在某个进程的内存空间内,不同的进程之间无法读取或读写其他进程的内存空间的域名证书;通过设置共享内存并存储域名证书,从而可以在需要时直接加载该域名证书,大大缩短了握手过程的时长。
118.在一种实施方式中,限制共享内存的最大空间,在该共享内存具有空闲时可以一直加载访问频率达到预设值的域名证书。
119.其中,为了便于进行描述和理解,将访问频率达到预设值的域名证书定义为热证书,其对应的域名为热域名。这样,热域名和热证书一一对应,每个热域名具有对应的热证书。
120.在一种实施方式中,进行热证书的判断时,域名证书的访问频率是否达到预设值,具体可以为一定时间的访问次数是否达到次数的预设值,也可以为访问频率(单位时间内请求数)是否达到频率的预设值,也可以通过业务类型来判断是否为热证书,例如大客户vip默认为热域名;其中,对热证书/热域名的判断,可以为上述判断方式中的一种或多种。
121.其中,客户端向目标边缘设备进行一次握手过程,即为对应的域名的一个访问次数或请求数。
122.需要说明的是,通过一定时间的访问次数或者访问频率将域名证书判定为热证书,该种热证书具有时效性,在超出时效性以后,该热证书恢复为普通的域名证书;通过业务类型判断为热证书时,其时效性与业务类型关联,例如vip客户的域名为热域名。
123.其中,对于时效性的具体设置,可以是设置具体的判断策略和对应的时长,在超出时长且不符合判断策略的情况下,将热证书恢复为普通的域名证书;也可以为其他的设置策略,本技术中对此不作限制。
124.将热证书加载到共享内存,利用内存的访问速度极快的优点和目标边缘设备内的多个进程均可共享的特点,可以在需要时及时将热证书加载到多个进程中共的握手过程中去,从而大大加快了握手过程的握手速度。
125.实际使用过程中,热证书/热域名可以根据实时的真实请求进行统计判断,也可以周期地进行检测和判断。
126.需要说明的是,热证书通过预加载的方式存储在共享内存里,为了达到本地持久化,热证书在共享内存缓存过期会从内存清理,热证书恢复为普通的域名证书时,会清除本地持久化以及共享内存中的缓存。
127.在一种实施方式中,如图6所示,所述s102,接收客户端基于quic协议发送的握手请求之后,包括:
128.s131,目标边缘设备检测所述握手请求中是否包含quic版本信息和连接id,确定所述握手请求是否可以复用;
129.在一种实施方式中,初始包里面包含一个版本信息(一般是默认的版本,通用的版本,具体根据历史版本、通用版本、具体约定等事先确定的版本,例如q039、q043、q44、q046、q047等);如果目标边缘设备可以支持客户端的版本,目标边缘设备将为连接的整个生命周期使用这个协议版本;如目标边缘设备不支持该版本,目标边缘设备就响应版本协商包(version negotiation packet),附上它所支持的版本集合,这将增加1-rtt(round-trip time)的延迟开销。
130.举例如下:一个复用过程为:
[0131][0132]
一个包含重试包(retry)的复用过程为:
[0133][0134]
根据上述两个复用过程可以看出,初始包(initial)中包含连接id,其中dcid=destination connection id为目标id,scid=source connection id为请求方id,对于客户端(client)而言,目标为服务端(server)(可以用于代表本技术中的目标边缘设备),请求方为客户端,对于服务端而言,目标为服务端,请求方为客户端。
[0135]
其中,服务端接收到客户端的初始包后,解析其目标id是否可用,可用则返回包含随机id(s3)的初始包,不可用则返回包含可用的随机id(s2)的重试包;客户端接收到初始包,则直接与服务端建立连接,然后可以通过返回的目标id与服务端进行通讯;如果接收到重试包,则将返回的随机id(s2)重新发送初始包。
[0136]
其中,服务端为udp,其并无长连接概念,因此会重新分配s3作为客户端的目标id。
[0137]
s132,若可以复用,则目标边缘设备直接与客户端完成连接建立过程;
[0138]
s103-s104,若不可以复用,则目标边缘设备获取配置信息,将所述配置信息发送给所述客户端以完成连接建立过程。
[0139]
这样,在握手请求可以复用的情况下,直接完成握手,从而可以0rtt完成连接,极大地减少了连接建立的时间。
[0140]
在一种实施方式中,如图7所示,所述s101/s121,接收证书中心发送的域名证书,包括:
[0141]
s141,目标边缘设备向所述证书中心发送证书加载请求,所述证书加载请求内记录有标识信息,所述标识信息用于标识所述证书加载请求在证书中心的处理优先级;
[0142]
其中,标识信息的具体表现形式可以根据实际情况进行选择,本技术中对此不作限制。
[0143]
举例说明:将处理优先级设置为1-25的权重值,权重值越大,优先级越高;如果证书加载请求为:http(s)://httpsca.api.com/d?dn=www.test.com&type=1;则其中,type=1即为标识信息,代表了该加载请求的权重值为1。
[0144]
s142,目标边缘设备接收所述证书中心返回的域名证书。
[0145]
这样,通过标识信息确定证书加载请求的高优先级,从而达到快速加载替换的目的。
[0146]
其中,需要说明的是,步骤s141-s142,可以是步骤s101的具体方案,也可以是步骤s121的具体方案。
[0147]
其中,正常的证书中心进行全网下发域名证书,从下发开始至全部生效,至少需要半小时的时长,通过设置高优先级来进行快速通道的下发,可以大大缩短域名证书的加载或下发时间。
[0148]
在一种实施方式中,所述标识信息可以为预定标识,证书中心优先处理具有该预定标识的请求信息。
[0149]
在另一种实施方式中,预设快速通道的接口,证书加载请求通过该快速通道传输至证书中心,从而得到快速加载的目的。
[0150]
本技术中,quic的连接建立,将版本协商与传输层握手合并完成,以减小建立连接的等待时间;通过主动加载证书,减少握手前加载证书的时间消耗,证书自动化布置减低人工成本;实现证书热加载,快速替换有效证书;通过检测证书在一段时间内的使用频率,将一些高频证书作为热证书加载到共享内存,避免重复的i/o读写,浪费资源。
[0151]
本技术实施例提供了另一种quic握手方法,其与前述所述的quic握手方法类似,不同之处在于,如图8所示,本实施例中的quic握手方法,应用于目标边缘设备,包括:
[0152]
s201,接收证书中心发送的域名证书,所述域名证书为所述目标边缘设备预先配置指示需要加载的域名证书;
[0153]
s202,接收客户端基于quic协议发送的握手请求;
[0154]
s203,获取配置信息,所述配置信息包含有与所述客户端完成连接建立过程所需的域名证书和其他服务器参数;
[0155]
s204,将所述配置信息发送给所述客户端以完成连接建立过程。
[0156]
在一种实施方式中,如图9所示,在所述s202,接收客户端基于quic协议发送的握手请求之前,还包括:
[0157]
s211,检测本地存储区域中的域名证书是否处于有效状态;
[0158]
s212,若否,则向所述证书中心发送证书加载请求,并将从所述证书中心所接收的新的域名证书对处于失效状态的域名证书进行替换。
[0159]
在一种实施方式中,如图10所示,在所述s202,接收客户端基于quic协议发送的握手请求之前,还包括:
[0160]
s221,接收所述证书中心发送的新的域名证书;
[0161]
s222,将所述新的域名证书对处于待更新状态的域名证书进行替换。
[0162]
在一种实施方式中,如图11所示,所述方法还包括:
[0163]
s205,检测所述域名证书的访问频率是否达到预设值;
[0164]
s206,若是,则将所述域名证书加载到共享内存。
[0165]
在一种实施方式中,如图12所示,所述s202,接收客户端基于quic协议发送的握手请求之后,包括:
[0166]
s231,检测所述握手请求中是否包含quic版本信息和连接id,确定所述握手请求是否可以复用;
[0167]
s232,若可以复用,则直接与客户端完成连接建立过程;
[0168]
s203-s204,若不可以复用,则获取配置信息,将所述配置信息发送给所述客户端以完成连接建立过程。
[0169]
在一种实施方式中,如图13所示,所述s201/s221,接收证书中心发送的域名证书,包括:
[0170]
s241,向所述证书中心发送证书加载请求,所述证书加载请求内记录有标识信息,所述标识信息用于标识所述证书加载请求在证书中心的处理优先级;
[0171]
s242,接收所述证书中心返回的域名证书。
[0172]
本实施例中的具体技术方案以及步骤s201-s242,与本技术实施例提供的quic握手方法的具体技术方案以及步骤s101-s142出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
[0173]
本技术实施例提供了一种quic握手装置,用于执行本发明上述内容所述的quic握手方法,以下对所述quic握手装置进行详细描述。
[0174]
如图14所示,所述quic握手装置,应用于目标边缘设备,包括:
[0175]
第一接收模块201,用于接收证书中心发送的域名证书,所述域名证书为所述目标边缘设备预先配置指示需要加载的域名证书;
[0176]
第二接收模块202,用于接收客户端基于quic协议发送的握手请求;
[0177]
握手模块203,用于获取配置信息,所述配置信息中包含有与所述客户端完成连接建立过程所需的域名证书和其他服务器参数;
[0178]
第一发送模块204,用于将所述配置信息发送给所述客户端以完成连接建立过程。
[0179]
在一种实施方式中,如图15所示,所述quic握手装置还包括证书更新模块205,用于:检测本地存储区域中的域名证书是否处于有效状态;若否,则向所述证书中心发送证书加载请求,并将从所述证书中心所接收的新的域名证书对处于失效状态的域名证书进行替换。
[0180]
在一种实施方式中,证书更新模块205还用于:接收所述证书中心发送的新的域名证书;将所述新的域名证书对处于待更新状态的域名证书进行替换。
[0181]
在一种实施方式中,所述quic握手装置还包括证书共享模块206,用于:检测所述域名证书的访问频率是否达到预设值;若是,则将所述域名证书加载到共享内存。
[0182]
在一种实施方式中,所述quic握手装置还包括连接复用模块207,用于:检测所述握手请求中是否包含quic版本信息和连接id,确定所述握手请求是否可以复用;若可以复用,则直接与客户端完成连接建立过程;若不可以复用,则获取配置信息,将所述配置信息
发送给所述客户端以完成连接建立过程。
[0183]
在一种实施方式中,第一接收模块201还用于:向所述证书中心发送证书加载请求,所述证书加载请求内记录有标识信息,所述标识信息用于标识所述证书加载请求在证书中心的处理优先级;接收所述证书中心返回的域名证书。
[0184]
本技术的上述实施例提供的quic握手装置与本技术实施例提供的quic握手方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
[0185]
本技术实施例提供了一种电子设备,如图16所示,其包括存储有计算机程序的计算机可读存储介质401和处理器402,所述计算机程序被所述处理器读取并运行时,实现如前述所述的方法。
[0186]
本技术的上述实施例提供的电子设备与本技术实施例提供的quic握手方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
[0187]
本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器读取并运行时,实现如前述所述的方法。
[0188]
本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是空调器,制冷装置,个人计算机,服务器,或者网络设备等)或processor(处理器)执行本发明实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0189]
本技术的上述实施例提供的计算机可读存储介质与本技术实施例提供的quic握手方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
[0190]
本技术实施例提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行实现如前述所述的方法。
[0191]
本技术的上述实施例提供的计算机程序产品与本技术实施例提供的quic握手方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
[0192]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0193]
本技术中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于quic握手的方法、系统、装置、电子设备、机器可读存储介质实施例而言,由于其基本相似于最前端所述quic握手方法实施例,所以描述的比较简单,相关之处参见最前端所述quic握手方法实
施例的部分说明即可。
[0194]
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
技术特征:
1.一种quic握手方法,其特征在于,应用于目标边缘设备,包括:接收证书中心发送的域名证书,所述域名证书为所述目标边缘设备预先配置指示需要加载的域名证书;接收客户端基于quic协议发送的握手请求;获取配置信息,所述配置信息包含有与所述客户端完成连接建立过程所需的域名证书和其他服务器参数;将所述配置信息发送给所述客户端以完成连接建立过程。2.根据权利要求1所述的方法,其特征在于,在所述接收客户端基于quic协议发送的握手请求之前,还包括:检测本地存储区域中的域名证书是否处于有效状态;若否,则向所述证书中心发送证书加载请求,并将从所述证书中心所接收的新的域名证书对处于失效状态的域名证书进行替换。3.根据权利要求1所述的方法,其特征在于,在所述接收客户端基于quic协议发送的握手请求之前,还包括:接收所述证书中心发送的新的域名证书;将所述新的域名证书对处于待更新状态的域名证书进行替换。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:检测所述域名证书的访问频率是否达到预设值;若是,则将所述域名证书加载到共享内存。5.根据权利要求1所述的方法,其特征在于,所述接收客户端基于quic协议发送的握手请求之后,包括:检测所述握手请求中是否包含quic版本信息和连接id,确定所述握手请求是否可以复用;若可以复用,则直接与客户端完成连接建立过程;若不可以复用,则获取配置信息,将所述配置信息发送给所述客户端以完成连接建立过程。6.根据权利要求1所述的方法,其特征在于,所述接收证书中心发送的域名证书,包括:向所述证书中心发送证书加载请求,所述证书加载请求内记录有标识信息,所述标识信息用于标识所述证书加载请求在证书中心的处理优先级;接收所述证书中心返回的域名证书。7.一种quic握手装置,其特征在于,应用于目标边缘设备,包括:第一接收模块,用于接收证书中心发送的域名证书,所述域名证书为所述目标边缘设备预先配置指示需要加载的域名证书;第二接收模块,用于接收客户端基于quic协议发送的握手请求;握手模块,用于获取配置信息,所述配置信息中包含有与所述客户端完成连接建立过程所需的域名证书和其他服务器参数;第一发送模块,用于将所述配置信息发送给所述客户端以完成连接建立过程。8.一种电子设备,其特征在于,包括存储有计算机程序的计算机可读存储介质和处理器,所述计算机程序被所述处理器读取并运行时,实现如权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器读取并运行时,实现如权利要求1-6任一项所述的方法。10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行实现如权利要求1-6中任一所述quic握手方法的操作。
技术总结
本发明提供了一种QUIC握手方法、装置、电子设备和存储介质,所述方法包括:接收证书中心发送的域名证书,所述域名证书为所述目标边缘设备预先配置指示需要加载的域名证书;接收客户端基于QUIC协议发送的握手请求;获取配置信息,所述配置信息包含有与所述客户端完成连接建立过程所需的域名证书和其他服务器参数;将所述配置信息发送给所述客户端以完成连接建立过程。这样,在接收客户端的握手请求前先加载需要加载的证书,从而在接收到客户端的握手请求后直接返回对应的域名证书,完成连接建立过程,大大降低了握手需要的时间。大大降低了握手需要的时间。大大降低了握手需要的时间。
技术研发人员:曾伟城 李逸骏
受保护的技术使用者:贵州白山云科技股份有限公司
技术研发日:2022.03.18
技术公布日:2023/9/22
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
