CN116232944B - 用于传输层安全协议报文业务的方法、设备及介质 - Google Patents

用于传输层安全协议报文业务的方法、设备及介质 Download PDF

Info

Publication number
CN116232944B
CN116232944B CN202310498272.8A CN202310498272A CN116232944B CN 116232944 B CN116232944 B CN 116232944B CN 202310498272 A CN202310498272 A CN 202310498272A CN 116232944 B CN116232944 B CN 116232944B
Authority
CN
China
Prior art keywords
transport layer
layer security
security protocol
hardware
peripheral device
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
CN202310498272.8A
Other languages
English (en)
Other versions
CN116232944A (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.)
Zhuhai Xingyun Zhilian Technology Co Ltd
Original Assignee
Zhuhai Xingyun Zhilian 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 Zhuhai Xingyun Zhilian Technology Co Ltd filed Critical Zhuhai Xingyun Zhilian Technology Co Ltd
Priority to CN202310498272.8A priority Critical patent/CN116232944B/zh
Publication of CN116232944A publication Critical patent/CN116232944A/zh
Application granted granted Critical
Publication of CN116232944B publication Critical patent/CN116232944B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • 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/12Protocol engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请提供一种用于传输层安全协议报文业务的方法、设备及介质。方法包括:通过外设设备硬件,接收第一传输层安全协议报文;基于在第一时间段内接收的至少一个第二传输层安全协议报文,确定相对于第一传输层安全协议报文的接收时间的第一网络波动状态,第一时间段至少在报文接收时间之前,第一网络波动状态至少基于至少一个第二传输层安全协议报文各自的报文序列号与期望值之间的比较结果;根据第一网络波动状态,选择性地通过硬件或者软件进行与第一传输层安全协议报文相关联的第一传输层安全协议报文业务。如此提升系统整体性能。

Description

用于传输层安全协议报文业务的方法、设备及介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种用于传输层安全协议报文业务的方法、设备及介质。
背景技术
应用层协议的数据传送按照传输层安全协议规定的通信流程,需要通过加解密来保证通信的私密性。为了达到较好的传输层安全协议报文业务的处理性能,一般将加解密业务等功能卸载到硬件上,利用硬件引擎层各个功能模块以流水线方式进行解析、加解密等工作。但是,当发生报文丢包重传、报文乱序等情况时,由于硬件安全协议等因素的影响可能导致硬件失步并致使软硬件不同步,而重新同步硬件之前会产生较大的系统负载并且处理性能低下。
为此,本申请提供了一种用于传输层安全协议报文业务的方法、设备及介质,用于应对上述技术难题。
发明内容
第一方面,本申请提供了一种用于传输层安全协议报文业务的方法,应用于外设设备。所述方法包括:通过所述外设设备的硬件,接收第一传输层安全协议报文;基于在第一时间段内接收的至少一个第二传输层安全协议报文,确定相对于所述第一传输层安全协议报文的接收时间的第一网络波动状态,所述第一时间段至少在所述第一传输层安全协议报文的接收时间之前,所述第一网络波动状态至少基于所述至少一个第二传输层安全协议报文各自的报文序列号与期望值之间的比较结果;根据所述第一网络波动状态,选择性地通过所述外设设备的硬件或者所述外设设备的软件进行与所述第一传输层安全协议报文相关联的第一传输层安全协议报文业务。
通过本申请的第一方面,可以应用于传输层安全协议报文业务的外设设备,例如智能网卡、数据处理单元、网络接口适配器或者任意的报文处理设备等,通过检测网络波动状态来动态地在所述外设设备的软硬件之间切换传输层安全协议报文业务的卸载,这样不仅简化了业务而且提升了系统整体性能,有效地应对了在硬件失步后的软件解密及硬件重同步所带来的风险,以及有利于通过硬件卸载来实现硬件加速。
在本申请的第一方面的一种可能的实现方式中,当所述第一网络波动状态指示网络稳定时,将所述第一传输层安全协议报文业务硬件卸载到所述外设设备的硬件以及通过所述外设设备的硬件进行所述第一传输层安全协议报文业务,当所述第一网络波动状态指示网络波动时,通过所述外设设备的硬件透传所述第一传输层安全协议报文到所述外设设备的软件以及通过所述外设设备的软件进行所述第一传输层安全协议报文业务。
在本申请的第一方面的一种可能的实现方式中,当所述第一网络波动状态指示网络波动时,所述外设设备的硬件不对所述第一传输层安全协议报文业务进行报文解密。
在本申请的第一方面的一种可能的实现方式中,当所述第一网络波动状态指示网络波动时,所述外设设备的硬件将所述外设设备的硬件所接收的所述第一传输层安全协议报文业务的原始数据透传到所述外设设备的软件。
在本申请的第一方面的一种可能的实现方式中,当所述第一网络波动状态指示网络波动时,不将所述第一传输层安全协议报文业务硬件卸载到所述外设设备的硬件。
在本申请的第一方面的一种可能的实现方式中,当所述第一网络波动状态指示网络稳定时,进行所述第一传输层安全协议报文业务的硬件卸载从而通过所述外设设备的硬件进行所述第一传输层安全协议报文业务,当所述第一网络波动状态指示网络波动时,进行所述第一传输层安全协议报文业务的软件卸载从而通过所述外设设备的软件进行所述第一传输层安全协议报文业务。
在本申请的第一方面的一种可能的实现方式中,所述第一传输层安全协议报文业务包括报文解析、报文解密。
在本申请的第一方面的一种可能的实现方式中,所述第一网络波动状态至少基于所述至少一个第二传输层安全协议报文各自的报文序列号与期望值之间的比较结果,包括:统计所述至少一个第二传输层安全协议报文中的报文序列号与期望值不一致的第二传输层安全协议报文的第一数量,根据所述第一数量或者所述第一数量相对于所述至少一个第二传输层安全协议报文的数量的第一比例,确定所述第一网络波动状态。
在本申请的第一方面的一种可能的实现方式中,当所述第一数量大于第一数量阈值或者所述第一比例高于第一比例阈值时,所述第一网络波动状态指示网络波动;当所述第一数量小于所述第一数量阈值或者所述第一比例低于所述第一比例阈值时,所述第一网络波动状态指示网络稳定。
在本申请的第一方面的一种可能的实现方式中,所述第一数量阈值和所述第一比例阈值基于所述外设设备的业务场景和所述外设设备的网络连接方式。
在本申请的第一方面的一种可能的实现方式中,在所述外设设备的业务场景是语音通信业务场景时的所述第一数量阈值和所述第一比例阈值分别低于在所述外设设备的业务场景是非语音通信业务场景时的所述第一数量阈值和所述第一比例阈值。
在本申请的第一方面的一种可能的实现方式中,在所述外设设备的网络连接方式是无线连接方式时的所述第一数量阈值和所述第一比例阈值分别低于在所述外设设备的网络连接方式是有线连接方式时的所述第一数量阈值和所述第一比例阈值。
在本申请的第一方面的一种可能的实现方式中,所述至少一个第二传输层安全协议报文各自的报文序列号是所述至少一个第二传输层安全协议报文各自携带的传输控制协议序列号。
在本申请的第一方面的一种可能的实现方式中,所述第一网络波动状态还基于所述至少一个第二传输层安全协议报文各自携带的传输控制协议确认号和路由信息。
在本申请的第一方面的一种可能的实现方式中,所述期望值基于对所述至少一个第二传输层安全协议报文各自携带的传输控制协议序列号做出的有序性预测。
在本申请的第一方面的一种可能的实现方式中,所述外设设备被配置为,当发生硬件失步时,通过在所述外设设备的硬件和所述外设设备的软件之间进行记录查找和记录同步从而重同步所述外设设备的硬件。
在本申请的第一方面的一种可能的实现方式中,所述外设设备还被配置为,在重同步所述外设设备的硬件期间,通过所述外设设备的软件进行报文解密。
在本申请的第一方面的一种可能的实现方式中,所述第一传输层安全协议报文对应传输层安全协议通信流程的握手阶段或者会话阶段。
第二方面,本申请实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据上述任一方面的任一种实现方式的方法。
第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
第四方面,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种外设设备的示意图;
图2为本申请实施例提供的一种传输层安全协议通信流程的示意图;
图3为本申请实施例提供的一种用于传输层安全协议报文业务的方法的流程示意图;
图4为本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
下面将结合附图对本申请实施例作进一步地详细描述。
应当理解的是,在本申请的描述中,“至少一个”指一个或一个以上,“多个”指两个或两个以上。另外,“第一”、“第二”等词汇,除非另有说明,否则仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
图1为本申请实施例提供的一种外设设备的示意图。如图1所示,外设设备包括软件110和硬件120。外设设备用于处理网络报文业务,可以是如网络接口适配器、智能网卡或者任意具有报文业务处理功能的报文处理设备、装置或者系统。其中,软件110指的是外设设备中的软件侧,例如外设设备的用户空间,如部署在用户空间中的操作系统。硬件120指的是外设设备中的硬件侧,例如外设设备的内核空间,如部署在内核空间中的数据路径模块。硬件120可以包括多种功能模块在引擎层中以流水线方式进行作业,还可以利用并行化设计提升处理速度。因此,对于具有规律性的应用,例如相对固定的计算模式、数据格式、算法逻辑等,可以通过提供相应的加速器、硬件结构等实现硬件加速。软件110可以通过代码编译或者从外部导入代码库、模型库等方式提供灵活多变的各种功能、库、模型、算法等。下面以流表卸载为例说明通过外设设备的软件110和硬件120进行硬件卸载的运行原理。
继续参阅图1,流(flow)指的是同一时间经过同一网络中具有某种共同特征或属性的数据,例如可以将访问同一目的地址的数据视为一个流。流表(flow table)用于流表匹配,可以理解为针对特定流的策略表项的集合。流表中包括了一系列的流表项(flowentries)。同一流表项中可以包括多个动作用于指示对匹配该流表项的报文数据包执行哪种操作。通过流表匹配为报文或者数据包找到相应的流以及执行对应的转发操作,例如发送给对应的端口或者地址。流表匹配可以在软件上操作例如用户空间的操作系统,也可以在硬件上操作例如网卡的内核空间的数据路径模块。通过全卸载流表进行报文转发意味着通过卸载到硬件120上的全卸载流表进行流表匹配。例如,图1所示的外设设备将用户空间的软件流表卸载到硬件120上如硬件120的缓存上,由硬件120如通过内核空间直接进行流表匹配以及执行报文转发,从而避免了在用户态和内核态之间的切换也避免了上送和下发操作等。流表硬件卸载方法属于硬件卸载(hardware offload)技术的范畴,将原本通过软件110实现的流表匹配和报文转发、数据转发等功能卸载到硬件120上执行。数据转发工作是通过流表匹配来实现,网卡的特定网络功能或者说接口对应一种或者多种数据路径(datapath),通过流表匹配来将流的数据包导向对应的数据路径。可以将流表卸载给硬件120,这样就省去了内核空间和用户空间之间的数据交互以及操作系统的介入等,从而提升了性能。一般来说可以有多个流表,每个流表有多个流表项,各自有多个匹配字段(matchfields)。利用在硬件120的缓存上的缓存流表信息,这些缓存流表信息用于实现用户态的数据直接转发到对应的数据路径例如相应模块,可以理解为是数据路径快转流表。通过在缓存上的缓存流表信息或者说数据路径快转流表找到匹配的流表项也即报文命中数据路径快转流表,然后该数据直接被转发到相应的数据路径或者网卡接口进行数据转发和报文转发。流表硬件卸载指的是,指定协处理器或者外设设备的一部分来专门实现上述的关于流表匹配和数据转发功能(也包括报文转发和网络通信)。因此也将在硬件缓存的缓存流表信息称作硬转流表,通过硬转流表来执行流表匹配和数据转发例如基于硬转流表对报文执行报文硬转,具有运行效率高且延迟小的优点。相对的,将在用户空间的缓存流表信息称作软转流表,通过软转流表来执行流表匹配和数据转发例如基于软转流表对报文执行报文软转,可以借助用户空间丰富的应用、数据及开发工具等。在用户空间可以生成数据路径快转流表(可以与某个软转流表对应)或者说确定当前流数据包的传输路径,然后将在用户态下的数据路径快转流表下发到硬件缓存的缓存流表信息或者说硬转流表。这样的下发数据路径快转流表到硬件缓存的缓存流表信息或者说硬转流表,对应了上述的流表硬件卸载,有利于后续通过硬转流表来执行流表匹配和数据转发例如基于硬转流表对报文执行报文硬转。
继续参阅图1,除了流表卸载、流表匹配、报文转发等,还可以将其他的操作通过外设设备的软件110和硬件120进行硬件卸载,从而利用硬件引擎层各个功能模块以流水线方式进行加速,还可以通过提供并行化处理单元来提高处理速度。下面结合图2进一步详细说明。
图2为本申请实施例提供的一种传输层安全协议通信流程的示意图。在安全通信管理、互联网安全加密、智能网卡等应用场景,对消息进行加密后传输,可以通过安全套接字层(Secure Socket Layer,SSL)或者传输层安全协议(Transport Layer Security,TLS)来实现身份认证、加密数据以及维护数据完整性。其中,SSL或者TLS的通信基本流程都分成握手阶段和会话阶段。如图2所示,传输层安全协议通信流程包括握手阶段210和会话阶段220。其中,握手阶段210是在双方之间协商用于会话阶段的密钥,握手阶段210的机密信息一般通过非对称加密算法进行加密,包括交换用于会话阶段的密钥。会话阶段220的机密信息用对称加密算法进行加密,因此用于会话阶段220的密钥是对称加密算法下的密钥。握手阶段210是建立TLS连接的过程。例如,握手阶段210采用非对称加密算法是椭圆曲线迪菲-赫尔曼密钥交换(Elliptic Curve Diffie–Hellman key Exchange,ECDH),也叫ECDH算法。在握手阶段210客户端向服务端发送密钥交换算法参数和支持的密码套件等,服务端从客户端支持的密码套件中做出选择并将所选择的密码套件和密钥交换算法参数发送给客户端。服务端计算出对称会话密钥并通过密钥交换算法共享给客户端。客户端接收到共享的加密资料,也就是对称会话密钥,后续采用该对称会话密钥与服务端进行会话阶段220的消息交互。在握手阶段210是通过密钥交换算法在服务端和客户端之间共享对称会话密钥,在会话阶段220是通过对称会话密钥来加密会话消息及其它信息。除了ECDH算法,还可以采用其它非对称加密算法,例如RSA算法(也叫公钥密码算法)、数字签名算法(DigitalSignature Algorithm,DSA)、ECC算法(也叫椭圆曲线加密算法)和DH算法(也叫Diffie-Hellman密钥交换协议)。这些非对称加密算法一般涉及到公钥和私钥组成的密钥对或者说公钥私钥对。其中,基于非对称加密算法的加解密技术,用公钥加密的数据只能用私钥解密,用私钥签名的机密信息可以用公钥验签。利用非对称加密算法进行机密信息交换的基本过程是,甲方生成密钥对,包括一对公钥和私钥;甲方将公钥发送给乙方;乙方用公钥加密机密信息后发送给甲方;甲方用私钥解密。因此私钥在生成之后不离开本地,而公钥即使泄露了也无法用来破解加密后的机密信息,这样就使得公钥可以用明文传输。并且通过用公钥验签可以验证信息来源合法性。非对称加密算法应用于握手阶段210从而保障通信报文的机密性和完整性,特别是确保与双方协商出对称会话密钥有关的报文的机密性和完整性。在握手阶段210在客户端和服务端之间协商出对称会话密钥所涉及到的机密信息,可以作为基于密钥交换算法在客户端和服务端之间的通道上建立的共有加密资料,也可以理解为通过密钥交换算法在客户端和服务端之间共享的加密资料。
继续参阅图1的外设设备和图2的传输层安全协议通信流程,在握手阶段210也就是建立TSL连接的过程中,需要将非对称加密算法应用于握手阶段210也就是通过非对称加密算法对握手阶段210的机密信息进行加密。这意味着,假设将图1的外设设备用于在图2所示的传输层安全协议通信流程的握手阶段210的报文业务,外设设备接收到的报文可能是经过加密的密文数据,例如通过非对称加密算法进行加密的握手阶段210的机密信息如用于会话阶段220的密钥,也可能是没有经过加密的明文数据。图1的外设设备需要对密文数据进行解密才能进行后续的报文解析、报文转发等操作,而且需要根据加密所用的非对称加密算法例如ECDH算法等进行相应的解密操作。类似地,在会话阶段220中,需要用之前协商好的用于会话阶段220的密钥对交互信息进行加密,并且会话阶段220的机密信息用对称加密算法进行加密。这样也意味着,假设将图1的外设设备用于在图2所示的传输层安全协议通信流程的会话阶段220的报文业务,外设设备接收到的报文可能是经过加密的密文数据,也是用对称加密算法进行加密的会话阶段220的机密信息,例如会话内容、参与者身份等。因此图1的外设设备也需要对报文进行解密才能进行后续的报文解析、报文转发等操作,而且需要根据加密所用的对称加密算法进行相应的解密操作。可以看出,当外设设备用于传输层安全协议报文业务,接收到的报文,可能是密文数据也可能是明文数据,并且可能是采用非对称加密算法例如ECDH算法或者对称加密算法或者其他任意合适的加密算法进行加密,也因此需要采用对应的解密算法来进行解密。另外,通过外设设备发出的报文,如应用层协议的数据传送,也要按照传输层安全协议规定的通信流程通过加密来保证通信的私密性。例如,对于会话阶段220中接收到的报文,在进行解密并获取其中的机密信息如会话内容之后,外设设备还可能接收到来自主机的待发送的报文,对于待发送的报文需要进行加密。因此,图1的外设设备还需要对报文进行加密才能进行报文发送,并且也需要按照传输层安全协议规定的通信流程以及采用相应的加密算法。
因此,用于传输层安全协议报文业务的外设设备,例如智能网卡、数据处理单元、网络接口适配器或者任意的报文处理设备等,接收到的报文以及待发送的报文可能用于不同的传输层安全协议通信流程的不同阶段(握手阶段或者会话阶段),也可能需要采用不同的加解密算法来进行加解密操作。为此,可以利用硬件卸载操作,将报文加解密业务卸载到硬件上,例如图1所示的外设设备的硬件120上,这样可以利用硬件引擎层各个功能模块以流水线方式进行加速,还可以通过提供并行化处理单元来提高处理速度。但是,受到网络不稳定等因素影响,当发生报文丢包重传、报文乱序等情况时,由于硬件安全协议等因素的影响可能导致硬件失步并致使软硬件不同步,而重新同步硬件之前会产生较大的系统负载并且处理性能低下。具体地,当发现硬件失步也就是软硬件不同步时,这时候硬件难以继续承担硬件卸载来处理报文加解密任务,为了避免更严重的报文丢包重传,需要让硬件上送给软件接收到的网络报文数据。但是,因为硬件此时难以充分满足报文加解密的需要,因此,硬件上送给软件的网络报文数据中有部分数据是已经解密的明文数据也有部分数据是未解密的密文数据。软件需要将已经解密的明文数据先加密成密文数据,然后再结合硬件上送给软件的未解密的密文数据一起进行解密,才能确保正确地完成本该通过硬件卸载由硬件完成的报文解密任务,这样就使得整体的解密性能大幅降低。一般来说,在所述外设设备的硬件失步瞬间,通过所述外设设备的硬件和所述外设设备的软件一起进行报文解密;在重同步所述外设设备的硬件期间,通过所述外设设备的软件进行报文解密。另外,在硬件上送给软件,由软件来完成解密任务的同时,硬件也要通过查找出现硬件失步的记录来实现硬件重同步,还需要软件来协助下发记录序号,因此在硬件失步后的软件解密及硬件重同步过程,不仅繁琐复杂而且会导致解密性能受到严重影响。另外,硬件重同步需要软件和硬件之间的交互握手来实现记录同步,还要进行软件解密和硬件解密之间的切换,也会带来额外的损耗。另外,可能导致硬件失步的因素如网络不稳定、网络波动等,可能会频繁发生,例如在网络恢复正常后切换回硬件解密后又再次发生网络波动并导致新一轮的硬件失步和后续处理,这样不利于充分发挥硬件卸载的作用。在一些业务场景下,例如语音通信等存在大量短连接的场景,还有例如依赖无线连接方式进行网络连接的场景,比较容易受到网络波动的影响,例如因为天气因素、网络拥塞等各种干扰而导致网络不稳定并且进而导致出现硬件失步,并且还可能导致频繁地建立新的传输层安全协议的通信通道或者说频繁进行传输层安全协议的握手阶段的协商操作,这样进一步影响了系统性能。为此,本申请提供了一种用于传输层安全协议报文业务的方法、设备及介质,下面结合图3详细说明。
图3为本申请实施例提供的一种用于传输层安全协议报文业务的方法的流程示意图。如图3所示,所述方法应用于外设设备,包括以下步骤。
步骤S302:通过所述外设设备的硬件,接收第一传输层安全协议报文。
步骤S304:基于在第一时间段内接收的至少一个第二传输层安全协议报文,确定相对于所述第一传输层安全协议报文的接收时间的第一网络波动状态,所述第一时间段至少在所述第一传输层安全协议报文的接收时间之前,所述第一网络波动状态至少基于所述至少一个第二传输层安全协议报文各自的报文序列号与期望值之间的比较结果。
步骤S306:根据所述第一网络波动状态,选择性地通过所述外设设备的硬件或者所述外设设备的软件进行与所述第一传输层安全协议报文相关联的第一传输层安全协议报文业务。
参阅上述步骤S302至步骤S306,通过所述外设设备的硬件接收的第一传输层安全协议报文,可能是明文数据也可能是密文数据,如果是密文数据则需要进行报文解密才能进行报文解析、报文转发等后续操作。如上所述,用于传输层安全协议报文业务的外设设备,例如智能网卡、数据处理单元、网络接口适配器或者任意的报文处理设备等,接收到的报文以及待发送的报文可能用于不同的传输层安全协议通信流程的不同阶段(握手阶段或者会话阶段),也可能需要采用不同的加解密算法来进行加解密操作。为此,可以利用硬件卸载操作,将报文加解密业务卸载到硬件上,例如图1所示的外设设备的硬件120上,这样可以利用硬件引擎层各个功能模块以流水线方式进行加速,还可以通过提供并行化处理单元来提高处理速度。但是,考虑到硬件失步所带来的影响,特别是在硬件失步后的软件解密及硬件重同步过程不仅繁琐复杂而且会导致解密性能受到严重影响,应尽量减轻硬件失步带来的不利影响。外设设备受到网络不稳定等因素影响,当发生报文丢包重传、报文乱序等情况时,由于硬件安全协议等因素的影响可能导致硬件失步并致使软硬件不同步,而重新同步硬件之前会产生较大的系统负载并且处理性能低下。在所述外设设备的硬件失步瞬间,通过所述外设设备的硬件和所述外设设备的软件一起进行报文解密;在重同步所述外设设备的硬件期间,通过所述外设设备的软件进行报文解密。并且,需要考虑到网络不稳定和网络波动状态是实时的变化中的,可能受到多种因素的影响,例如因为天气因素、网络拥塞等各种干扰而导致网络不稳定并且进而导致出现硬件失步。并且,还需要传输层安全协议报文业务的自身特点,例如接收到的报文以及待发送的报文可能用于不同的传输层安全协议通信流程的不同阶段(握手阶段或者会话阶段),也可能需要采用不同的加解密算法来进行加解密操作。传输层安全协议报文业务的自身特点还受到业务场景和网络连接方式的影响,例如语音通信等存在大量短连接的场景,还有例如依赖无线连接方式进行网络连接的场景,比较容易受到网络波动的影响,例如因为天气因素、网络拥塞等各种干扰而导致网络不稳定并且进而导致出现硬件失步,并且还可能导致频繁地建立新的传输层安全协议的通信通道或者说频繁进行传输层安全协议的握手阶段的协商操作,这样进一步影响了系统性能。为此,在步骤S302,通过所述外设设备的硬件,接收第一传输层安全协议报文。上面提到,利用硬件卸载操作,将报文加解密业务卸载到硬件上,例如图1所示的外设设备的硬件120上,这样可以利用硬件引擎层各个功能模块以流水线方式进行加速,还可以通过提供并行化处理单元来提高处理速度。因此,所述外设设备通过硬件接收第一传输层安全协议报文,这样有利于通过硬件卸载来实现硬件加速。
接着,在步骤S304,基于在第一时间段内接收的至少一个第二传输层安全协议报文,确定相对于所述第一传输层安全协议报文的接收时间的第一网络波动状态。其中,所述第一时间段至少在所述第一传输层安全协议报文的接收时间之前,所述第一网络波动状态至少基于所述至少一个第二传输层安全协议报文各自的报文序列号与期望值之间的比较结果。所述第一时间段是检测网络波动的时间窗口,至少在所述第一传输层安全协议报文的接收时间之前,这样可以用于判断在所述第一传输层安全协议报文的接收时间这一时刻的网络波动状态,也就是相对于所述第一传输层安全协议报文的接收时间的第一网络波动状态。在一些实施例中,所述外设设备可以按照预设间隔,例如每隔10毫秒、20毫秒地进行报文检测,并将最近的检测间隔期作为所述第一时间段。在一些实施例中,所述外设设备还可以按照接收到的报文数据包的个数、流表个数或者其他任意合适的统计数据来确定所述第一时间段,例如每次接收50个报文数据包作为一次检测间隔。在一些实施例中,所述外设设备可以按照任意合适的方式来确定所述第一时间段以及确定在所述第一时间段内接收的至少一个第二传输层安全协议报文。基于所确定的所述第一时间段,可以确定在第一时间段内接收的至少一个第二传输层安全协议报文。因此,可以通过分析所述至少一个第二传输层安全协议报文在有序性方面的表现,来有效地判断网络波动状态,例如判断网络是否稳定。这是因为,正常的网络通信下,报文的收发是有序的,因此所述外设设备接收到的报文应满足有序性的要求,或者说接收到的报文,例如在第一时间段内接收的至少一个第二传输层安全协议报文,应该在某些特征上满足预设规律或者符合一定的预设条件或者说是可期望的。因此,可以通过判断在第一时间段内接收的至少一个第二传输层安全协议报文是否满足预期规律、或者是否符合预设条件、或者是否满足期望值(也可以是期望模型或者任意合适的数学表达方式),从而对所述第一时间段内的网络波动状态做出判断,进而可以预测在所述第一传输层安全协议报文的接收时间这一时刻的网络波动状态,也就是相对于所述第一传输层安全协议报文的接收时间的第一网络波动状态。这是基于所述第一时间段与所述第一传输层安全协议报文的接收时间之间的关联性,例如所述第一时间段可以是所述第一传输层安全协议报文的接收时间之前持续10毫秒、20毫秒或者其他任意时长的一段时间,并且所述第一时间段的结束时间可能正好是所述第一传输层安全协议报文的接收时间或者比所述第一传输层安全协议报文的接收时间提前1毫秒、2毫秒或者任意时间间隔。这样确定的相对于所述第一传输层安全协议报文的接收时间的第一网络波动状态,是基于在第一时间段内接收的至少一个第二传输层安全协议报文,但是基于所述第一时间段与所述第一传输层安全协议报文的接收时间之间的关联性,所述第一时间段所反映出来的网络波动状态应具有足够的延续性从而可用于确定相对于所述第一传输层安全协议报文的接收时间的第一网络波动状态。这里,所述第一网络波动状态至少基于所述至少一个第二传输层安全协议报文各自的报文序列号与期望值之间的比较结果。应当理解的是,任意的可用于反映网络通信下报文收发的有序性、规律性的信息都可以作为确定所述第一网络波动状态的依据。其中,所述至少一个第二传输层安全协议报文各自的报文序列号与期望值之间的比较结果指示了所述至少一个第二传输层安全协议报文中有多少个第二传输层安全协议报文的报文序列号与相应的期望值差距过大。换句话说,所述至少一个第二传输层安全协议报文各自的报文序列号与期望值之间的比较结果指示了在所述第一时间段内接收到的所述至少一个第二传输层安全协议报文与预设规律、期望值之间的差距程度,也因此可以用于指示所述第一时间段所反映出来的网络波动状态进而能用来确定相对于所述第一传输层安全协议报文的接收时间的第一网络波动状态。例如,假设在所述第一时间段内接收到的所述至少一个第二传输层安全协议报文的总数是1000个报文,其中有100个报文也就是10%的比例的报文的报文序列号与期望值不一致或者说不符合期望值。这里,假设将8%的比例作为判断阈值,则10%的比例的报文不符合期望值意味着发生了网络波动且网络不稳定。
然后,在步骤S306,根据所述第一网络波动状态,选择性地通过所述外设设备的硬件或者所述外设设备的软件进行与所述第一传输层安全协议报文相关联的第一传输层安全协议报文业务。这里,所述第一网络波动状态指示了网络是否稳定,可以用于判断发生硬件失步的风险。因此,可以根据所述第一网络波动状态选择通过所述外设设备的硬件或者所述外设设备的软件进行与所述第一传输层安全协议报文相关联的第一传输层安全协议报文业务。上面提到,当因为网络波动过大而导致硬件失步也即软硬件不同步时,硬件难以继续承担硬件卸载来处理报文加解密任务,为了避免更严重的报文丢包重传,需要让硬件上送给软件接收到的网络报文数据。但是,因为硬件此时难以充分满足报文加解密的需要,因此,硬件上送给软件的网络报文数据中有部分数据是已经解密的明文数据也有部分数据是未解密的密文数据。软件需要将已经解密的明文数据先加密成密文数据,然后再结合硬件上送给软件的未解密的密文数据一起进行解密,才能确保正确地完成本该通过硬件卸载由硬件完成的报文解密任务,这样就使得整体的解密性能大幅降低。在所述外设设备的硬件失步瞬间,通过所述外设设备的硬件和所述外设设备的软件一起进行报文解密;在重同步所述外设设备的硬件期间,通过所述外设设备的软件进行报文解密。另外,在硬件上送给软件,由软件来完成解密任务的同时,硬件也要通过查找出现硬件失步的记录来实现硬件重同步,还需要软件来协助下发记录序号,因此在硬件失步后的软件解密及硬件重同步过程,不仅繁琐复杂而且会导致解密性能受到严重影响。另外,硬件重同步需要软件和硬件之间的交互握手来实现记录同步,还要进行软件解密和硬件解密之间的切换,也会带来额外的损耗。因此,通过所述第一网络波动状态,可以有效地预测发生硬件失步的风险并进行有效规避,同时还可以尽可能地来利用硬件卸载来提供硬件加速,从而有利于确保系统高性能以及规避硬件失步带来的影响。
总之,图3所示的用于传输层安全协议报文业务的方法,可以应用于传输层安全协议报文业务的外设设备,例如智能网卡、数据处理单元、网络接口适配器或者任意的报文处理设备等,通过检测网络波动状态来动态地在所述外设设备的软硬件之间切换传输层安全协议报文业务的卸载,这样不仅简化了业务而且提升了系统整体性能,有效地应对了在硬件失步后的软件解密及硬件重同步所带来的风险,以及有利于通过硬件卸载来实现硬件加速。图3所示的用于传输层安全协议报文业务的方法,可用于一般意义上的外设设备,如智能网卡、数据处理单元等,这些外设设备可以指的是在计算机主机以外的硬件设备,对数据和信息起着传输、转送和存储的作用等。
在一种可能的实施方式中,当所述第一网络波动状态指示网络稳定时,将所述第一传输层安全协议报文业务硬件卸载到所述外设设备的硬件以及通过所述外设设备的硬件进行所述第一传输层安全协议报文业务,当所述第一网络波动状态指示网络波动时,通过所述外设设备的硬件透传所述第一传输层安全协议报文到所述外设设备的软件以及通过所述外设设备的软件进行所述第一传输层安全协议报文业务。在一些实施例中,当所述第一网络波动状态指示网络波动时,所述外设设备的硬件不对所述第一传输层安全协议报文业务进行报文解密。在一些实施例中,当所述第一网络波动状态指示网络波动时,所述外设设备的硬件将所述外设设备的硬件所接收的所述第一传输层安全协议报文业务的原始数据透传到所述外设设备的软件。在一些实施例中,当所述第一网络波动状态指示网络波动时,不将所述第一传输层安全协议报文业务硬件卸载到所述外设设备的硬件。如此,当网络波动时,硬件不进行报文加解密而是直接透传报文,也就是将所述外设设备的硬件所接收的所述第一传输层安全协议报文业务的原始数据透传到所述外设设备的软件,这样就有效地规避了因为网络波动而可能导致的由硬件失步引起的软件解密及硬件重同步所带来的风险。并且,当网络波动时,不进行硬件卸载也就是不将所述第一传输层安全协议报文业务硬件卸载到所述外设设备的硬件,而当网络稳定时,将所述第一传输层安全协议报文业务硬件卸载到所述外设设备的硬件以及通过所述外设设备的硬件进行所述第一传输层安全协议报文业务。如此,不仅简化了业务而且提升了系统整体性能,有效地应对了在硬件失步后的软件解密及硬件重同步所带来的风险,以及有利于通过硬件卸载来实现硬件加速。
在一种可能的实施方式中,当所述第一网络波动状态指示网络稳定时,进行所述第一传输层安全协议报文业务的硬件卸载从而通过所述外设设备的硬件进行所述第一传输层安全协议报文业务,当所述第一网络波动状态指示网络波动时,进行所述第一传输层安全协议报文业务的软件卸载从而通过所述外设设备的软件进行所述第一传输层安全协议报文业务。如此,不仅简化了业务而且提升了系统整体性能,有效地应对了在硬件失步后的软件解密及硬件重同步所带来的风险,以及有利于通过硬件卸载来实现硬件加速。
在一种可能的实施方式中,所述第一传输层安全协议报文业务包括报文解析、报文解密。接收到的报文以及待发送的报文可能用于不同的传输层安全协议通信流程的不同阶段(握手阶段或者会话阶段),也可能需要采用不同的算法来进行解密操作。所述第一传输层安全协议报文业务还可以包括任意其他合适的业务,只要按照传输层安全协议规定的通信流程以及采用相应的算法。
在一种可能的实施方式中,所述第一网络波动状态至少基于所述至少一个第二传输层安全协议报文各自的报文序列号与期望值之间的比较结果,包括:统计所述至少一个第二传输层安全协议报文中的报文序列号与期望值不一致的第二传输层安全协议报文的第一数量,根据所述第一数量或者所述第一数量相对于所述至少一个第二传输层安全协议报文的数量的第一比例,确定所述第一网络波动状态。相对于所述第一传输层安全协议报文的接收时间的第一网络波动状态,是基于在第一时间段内接收的至少一个第二传输层安全协议报文,但是基于所述第一时间段与所述第一传输层安全协议报文的接收时间之间的关联性,所述第一时间段所反映出来的网络波动状态应具有足够的延续性从而可用于确定相对于所述第一传输层安全协议报文的接收时间的第一网络波动状态。因此,所述第一网络波动状态至少基于所述至少一个第二传输层安全协议报文各自的报文序列号与期望值之间的比较结果。应当理解的是,任意的可用于反映网络通信下报文收发的有序性、规律性的信息都可以作为确定所述第一网络波动状态的依据。其中,所述至少一个第二传输层安全协议报文各自的报文序列号与期望值之间的比较结果指示了所述至少一个第二传输层安全协议报文中有多少个第二传输层安全协议报文的报文序列号与相应的期望值差距过大。换句话说,所述至少一个第二传输层安全协议报文各自的报文序列号与期望值之间的比较结果指示了在所述第一时间段内接收到的所述至少一个第二传输层安全协议报文与预设规律、期望值之间的差距程度,也因此可以用于指示所述第一时间段所反映出来的网络波动状态进而能用来确定相对于所述第一传输层安全协议报文的接收时间的第一网络波动状态。例如,假设在所述第一时间段内接收到的所述至少一个第二传输层安全协议报文的总数是1000个报文,其中有100个报文也就是10%的比例的报文的报文序列号与期望值不一致或者说不符合期望值。这意味着,第一数量是100,第一比例是10%。在一些实施例中,当所述第一数量大于第一数量阈值或者所述第一比例高于第一比例阈值时,所述第一网络波动状态指示网络波动;当所述第一数量小于所述第一数量阈值或者所述第一比例低于所述第一比例阈值时,所述第一网络波动状态指示网络稳定。因此,假设将8%的比例作为判断阈值也就是第一比例阈值,则10%的比例的报文不符合期望值意味着发生了网络波动且网络不稳定。
进一步地,在一些实施例中,所述第一数量阈值和所述第一比例阈值基于所述外设设备的业务场景和所述外设设备的网络连接方式。传输层安全协议报文业务的自身特点还受到业务场景和网络连接方式的影响,例如语音通信等存在大量短连接的场景,还有例如依赖无线连接方式进行网络连接的场景,比较容易受到网络波动的影响,例如因为天气因素、网络拥塞等各种干扰而导致网络不稳定并且进而导致出现硬件失步,并且还可能导致频繁地建立新的传输层安全协议的通信通道或者说频繁进行传输层安全协议的握手阶段的协商操作,这样进一步影响了系统性能。因此,用于传输层安全协议报文业务的方法,还需要考虑所述外设设备的业务场景和所述外设设备的网络连接方式以及结合传输层安全协议报文业务的自身特点。在一些实施例中,在所述外设设备的业务场景是语音通信业务场景时的所述第一数量阈值和所述第一比例阈值分别低于在所述外设设备的业务场景是非语音通信业务场景时的所述第一数量阈值和所述第一比例阈值。如此,充分考虑到了语音通信业务场景容易受到网络波动的影响而导致出现硬件失步,并且还可能导致频繁地建立新的传输层安全协议的通信通道或者说频繁进行传输层安全协议的握手阶段的协商操作,因此设定了在所述外设设备的业务场景是语音通信业务场景时的所述第一数量阈值和所述第一比例阈值分别低于在所述外设设备的业务场景是非语音通信业务场景时的所述第一数量阈值和所述第一比例阈值,有利于保持语音通信业务场景下的系统高性能。在一些实施例中,在所述外设设备的网络连接方式是无线连接方式时的所述第一数量阈值和所述第一比例阈值分别低于在所述外设设备的网络连接方式是有线连接方式时的所述第一数量阈值和所述第一比例阈值。如此,充分考虑到了网络连接方式是无线连接方式时容易受到网络波动的影响而导致出现硬件失步,并且还可能导致频繁地建立新的传输层安全协议的通信通道或者说频繁进行传输层安全协议的握手阶段的协商操作,因此设定了在所述外设设备的网络连接方式是无线连接方式时的所述第一数量阈值和所述第一比例阈值分别低于在所述外设设备的网络连接方式是有线连接方式时的所述第一数量阈值和所述第一比例阈值,有利于保持网络连接方式是无线连接方式时的系统高性能。
在一种可能的实施方式中,所述至少一个第二传输层安全协议报文各自的报文序列号是所述至少一个第二传输层安全协议报文各自携带的传输控制协议(TransmissionControl Protocol,TCP)序列号。在一些实施例中,所述第一网络波动状态还基于所述至少一个第二传输层安全协议报文各自携带的传输控制协议确认号和路由信息。在一些实施例中,所述期望值基于对所述至少一个第二传输层安全协议报文各自携带的传输控制协议序列号做出的有序性预测。应当理解的是,任意的可用于反映网络通信下报文收发的有序性、规律性的信息都可以作为确定所述第一网络波动状态的依据。TCP序列号、TCP确认号还有路由信息,在网络通信正常的情况下,也就是在网络波动程度较轻或者网络稳定时,表现出来较好的规律性、有序性且可期望,因此可以根据这些信息来做出有序性预测。
在一种可能的实施方式中,所述外设设备被配置为,当发生硬件失步时,通过在所述外设设备的硬件和所述外设设备的软件之间进行记录查找和记录同步从而重同步所述外设设备的硬件。在一些实施例中,所述外设设备还被配置为,在重同步所述外设设备的硬件期间,通过所述外设设备的软件进行报文解密。发现硬件失步也就是软硬件不同步时,这时候硬件难以继续承担硬件卸载来处理报文加解密任务,为了避免更严重的报文丢包重传,需要让硬件上送给软件接收到的网络报文数据。但是,因为硬件此时难以充分满足报文加解密的需要,因此,硬件上送给软件的网络报文数据中有部分数据是已经解密的明文数据也有部分数据是未解密的密文数据。软件需要将已经解密的明文数据先加密成密文数据,然后再结合硬件上送给软件的未解密的密文数据一起进行解密,才能确保正确地完成本该通过硬件卸载由硬件完成的报文解密任务,这样就使得整体的解密性能大幅降低。在所述外设设备的硬件失步瞬间,通过所述外设设备的硬件和所述外设设备的软件一起进行报文解密;在重同步所述外设设备的硬件期间,通过所述外设设备的软件进行报文解密。另外,在硬件上送给软件,由软件来完成解密任务的同时,硬件也要通过查找出现硬件失步的记录来实现硬件重同步,还需要软件来协助下发记录序号,因此在硬件失步后的软件解密及硬件重同步过程,不仅繁琐复杂而且会导致解密性能受到严重影响。另外,硬件重同步需要软件和硬件之间的交互握手来实现记录同步,还要进行软件解密和硬件解密之间的切换,也会带来额外的损耗。
在一种可能的实施方式中,所述第一传输层安全协议报文对应传输层安全协议通信流程的握手阶段或者会话阶段。接收到的报文以及待发送的报文可能用于不同的传输层安全协议通信流程的不同阶段(握手阶段或者会话阶段),也可能需要采用不同的加解密算法来进行加解密操作。
图4是本申请实施例提供的一种计算设备的结构示意图,该计算设备400包括:一个或者多个处理器410、通信接口420以及存储器430。所述处理器410、通信接口420以及存储器430通过总线440相互连接。可选地,该计算设备400还可以包括输入/输出接口450,输入/输出接口450连接有输入/输出设备,用于接收用户设置的参数等。该计算设备400能够用于实现上述的本申请实施例中设备实施例或者系统实施例的部分或者全部功能;处理器410还能够用于实现上述的本申请实施例中方法实施例的部分或者全部操作步骤。例如,该计算设备400执行各种操作的具体实现可参照上述实施例中的具体细节,如处理器410用于执行上述方法实施例中部分或者全部步骤或者上述方法实施例中的部分或者全部操作。再例如,本申请实施例中,计算设备400可用于实现上述装置实施例中一个或者多个部件的部分或者全部功能,此外通信接口420具体可用于为了实现这些装置、部件的功能所必须的通讯功能等,以及处理器410具体可用于为了实现这些装置、部件的功能所必须的处理功能等。
应当理解的是,图4的计算设备400可以包括一个或者多个处理器410,并且多个处理器410可以按照并行化连接方式、串行化连接方式、串并行连接方式或者任意连接方式来协同提供处理能力,或者多个处理器410可以构成处理器序列或者处理器阵列,或者多个处理器410之间可以分成主处理器和辅助处理器,或者多个处理器410之间可以具有不同的架构如采用异构计算架构。另外,图4所示的计算设备400,相关的结构性描述及功能性描述是示例性且非限制性的。在一些示例性实施例中,计算设备400可以包括比图4所示的更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
处理器410可以有多种具体实现形式,例如处理器410可以包括中央处理器(central processing unit,CPU)、图形处理器(graphic processing unit,GPU)、神经网络处理器(neural-network processing unit,NPU)、张量处理器(tensor processingunit,TPU)或数据处理器(data processing unit,DPU)等一种或多种的组合,本申请实施例不做具体限定。处理器410还可以是单核处理器或多核处理器。处理器410可以由CPU和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specific integratedcircuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器410也可以单独采用内置处理逻辑的逻辑器件来实现,例如FPGA或数字信号处理器(digital signal processor,DSP)等。通信接口420可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(local interconnect network,LIN)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
存储器430可以是非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器430也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。存储器430也可用于存储程序代码和数据,以便于处理器410调用存储器430中存储的程序代码执行上述方法实施例中的部分或者全部操作步骤,或者执行上述设备实施例中的相应功能。此外,计算设备400可能包含相比于图4展示的更多或者更少的组件,或者有不同的组件配置方式。
总线440可以是快捷外围部件互连标准(peripheral component interconnectexpress,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。总线440可以分为地址总线、数据总线、控制总线等。总线440除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例提供的方法和设备是基于同一发明构思的,由于方法及设备解决问题的原理相似,因此方法与设备的实施例、实施方式、示例或实现方式可以相互参见,其中重复之处不再赘述。本申请实施例还提供一种系统,该系统包括多个计算设备,每个计算设备的结构可以参照上述所描述的计算设备的结构。该系统可实现的功能或者操作可以参照上述方法实施例中的具体实现步骤和/或上述装置实施例中所描述的具体功能,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机设备(如一个或者多个处理器)上运行时可以实现上述方法实施例中的方法步骤。所述计算机可读存储介质的处理器在执行上述方法步骤的具体实现可参照上述方法实施例中所描述的具体操作和/或上述装置实施例中所描述的具体功能,在此不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。本申请实施例可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(如软盘、硬盘、磁带)、光介质、或者半导体介质。半导体介质可以是固态硬盘,也可以是随机存取存储器,闪存,只读存储器,可擦可编程只读存储器,电可擦可编程只读存储器,寄存器或任何其他形式的合适存储介质。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并或删减;本申请实施例系统中的模块可以根据实际需要进行划分、合并或删减。如果本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (14)

1.一种用于传输层安全协议报文业务的方法,应用于外设设备,其特征在于,所述方法包括:
通过所述外设设备的硬件,接收第一传输层安全协议报文;
基于在第一时间段内接收的至少一个第二传输层安全协议报文,确定相对于所述第一传输层安全协议报文的接收时间的第一网络波动状态,所述第一时间段至少在所述第一传输层安全协议报文的接收时间之前,所述第一网络波动状态至少基于所述至少一个第二传输层安全协议报文各自的报文序列号与期望值之间的比较结果确定;
根据所述第一网络波动状态,选择性地通过所述外设设备的硬件或者所述外设设备的软件进行与所述第一传输层安全协议报文相关联的第一传输层安全协议报文业务,
当所述第一网络波动状态指示网络稳定时,将所述第一传输层安全协议报文业务卸载到所述外设设备的硬件以及通过所述外设设备的硬件进行所述第一传输层安全协议报文业务,当所述第一网络波动状态指示网络波动时,通过所述外设设备的硬件透传所述第一传输层安全协议报文到所述外设设备的软件以及通过所述外设设备的软件进行所述第一传输层安全协议报文业务,
所述第一网络波动状态至少基于所述至少一个第二传输层安全协议报文各自的报文序列号与期望值之间的比较结果确定,包括:统计所述至少一个第二传输层安全协议报文中的报文序列号与期望值不一致的第二传输层安全协议报文的第一数量,根据所述第一数量或者所述第一数量相对于所述至少一个第二传输层安全协议报文的数量的第一比例,确定所述第一网络波动状态,
当所述第一数量大于第一数量阈值或者所述第一比例高于第一比例阈值时,所述第一网络波动状态指示网络波动;当所述第一数量小于所述第一数量阈值或者所述第一比例低于所述第一比例阈值时,所述第一网络波动状态指示网络稳定,
所述第一数量阈值和所述第一比例阈值基于所述外设设备的业务场景和所述外设设备的网络连接方式确定,
在所述外设设备的业务场景是语音通信业务场景时的所述第一数量阈值和所述第一比例阈值分别低于在所述外设设备的业务场景是非语音通信业务场景时的所述第一数量阈值和所述第一比例阈值,
在所述外设设备的网络连接方式是无线连接方式时的所述第一数量阈值和所述第一比例阈值分别低于在所述外设设备的网络连接方式是有线连接方式时的所述第一数量阈值和所述第一比例阈值。
2.根据权利要求1所述的方法,其特征在于,当所述第一网络波动状态指示网络波动时,所述外设设备的硬件不对所述第一传输层安全协议报文业务进行报文解密。
3.根据权利要求1所述的方法,其特征在于,当所述第一网络波动状态指示网络波动时,所述外设设备的硬件将所述外设设备的硬件所接收的所述第一传输层安全协议报文业务的原始数据透传到所述外设设备的软件。
4.根据权利要求1所述的方法,其特征在于,当所述第一网络波动状态指示网络波动时,不将所述第一传输层安全协议报文业务卸载到所述外设设备的硬件。
5.根据权利要求1所述的方法,其特征在于,当所述第一网络波动状态指示网络稳定时,进行所述第一传输层安全协议报文业务的卸载从而通过所述外设设备的硬件进行所述第一传输层安全协议报文业务,当所述第一网络波动状态指示网络波动时,进行所述第一传输层安全协议报文业务的软件卸载从而通过所述外设设备的软件进行所述第一传输层安全协议报文业务。
6.根据权利要求1所述的方法,其特征在于,所述第一传输层安全协议报文业务包括报文解析、报文解密。
7.根据权利要求1所述的方法,其特征在于,所述至少一个第二传输层安全协议报文各自的报文序列号是所述至少一个第二传输层安全协议报文各自携带的传输控制协议序列号。
8.根据权利要求7所述的方法,其特征在于,所述第一网络波动状态还基于所述至少一个第二传输层安全协议报文各自携带的传输控制协议确认号和路由信息确定。
9.根据权利要求7所述的方法,其特征在于,所述期望值基于对所述至少一个第二传输层安全协议报文各自携带的传输控制协议序列号做出的有序性预测确定。
10.根据权利要求1所述的方法,其特征在于,所述外设设备被配置为,当发生硬件失步时,通过在所述外设设备的硬件和所述外设设备的软件之间进行记录查找和记录同步从而重同步所述外设设备的硬件。
11.根据权利要求10所述的方法,其特征在于,所述外设设备还被配置为,在重同步所述外设设备的硬件期间,通过所述外设设备的软件进行报文解密。
12.根据权利要求1所述的方法,其特征在于,所述第一传输层安全协议报文对应传输层安全协议通信流程的握手阶段或者会话阶段。
13.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据权利要求1至12中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据权利要求1至12中任一项所述的方法。
CN202310498272.8A 2023-05-06 2023-05-06 用于传输层安全协议报文业务的方法、设备及介质 Active CN116232944B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310498272.8A CN116232944B (zh) 2023-05-06 2023-05-06 用于传输层安全协议报文业务的方法、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310498272.8A CN116232944B (zh) 2023-05-06 2023-05-06 用于传输层安全协议报文业务的方法、设备及介质

Publications (2)

Publication Number Publication Date
CN116232944A CN116232944A (zh) 2023-06-06
CN116232944B true CN116232944B (zh) 2023-08-04

Family

ID=86580876

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310498272.8A Active CN116232944B (zh) 2023-05-06 2023-05-06 用于传输层安全协议报文业务的方法、设备及介质

Country Status (1)

Country Link
CN (1) CN116232944B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117749865B (zh) * 2024-02-06 2024-08-16 苏州元脑智能科技有限公司 会话处理方法、系统、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141705A (en) * 1998-06-12 2000-10-31 Microsoft Corporation System for querying a peripheral device to determine its processing capabilities and then offloading specific processing tasks from a host to the peripheral device when needed
US7460473B1 (en) * 2003-02-14 2008-12-02 Istor Networks, Inc. Network receive interface for high bandwidth hardware-accelerated packet processing
CN106254381A (zh) * 2016-09-12 2016-12-21 全球能源互联网研究院 协议解析方法、装置及包含协议解析装置的二层交换系统
CN106685760A (zh) * 2016-12-29 2017-05-17 杭州迪普科技股份有限公司 链路状态的探测方法及装置
CN109714302A (zh) * 2017-10-25 2019-05-03 阿里巴巴集团控股有限公司 算法的卸载方法、装置和系统
CN110351156A (zh) * 2018-04-03 2019-10-18 大唐移动通信设备有限公司 一种测试方法和装置
CN111371634A (zh) * 2018-12-26 2020-07-03 华为技术有限公司 一种通信方法、装置及系统
CN115866104A (zh) * 2022-12-29 2023-03-28 港华能源投资有限公司 数据处理方法、数据处理装置及设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6904519B2 (en) * 1998-06-12 2005-06-07 Microsoft Corporation Method and computer program product for offloading processing tasks from software to hardware
US20100080143A1 (en) * 2008-09-30 2010-04-01 Topaltzas Dimitrios M System and Method for Testing Mobile Telephone Data Services
US10038693B2 (en) * 2013-05-03 2018-07-31 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
KR101480126B1 (ko) * 2013-11-06 2015-01-08 (주)소만사 네트워크 기반 고성능 sap 모니터링 시스템 및 방법
US11665103B2 (en) * 2021-06-16 2023-05-30 Nxp Usa, Inc. Dynamic packet data convergence protocol reordering

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141705A (en) * 1998-06-12 2000-10-31 Microsoft Corporation System for querying a peripheral device to determine its processing capabilities and then offloading specific processing tasks from a host to the peripheral device when needed
US7460473B1 (en) * 2003-02-14 2008-12-02 Istor Networks, Inc. Network receive interface for high bandwidth hardware-accelerated packet processing
CN106254381A (zh) * 2016-09-12 2016-12-21 全球能源互联网研究院 协议解析方法、装置及包含协议解析装置的二层交换系统
CN106685760A (zh) * 2016-12-29 2017-05-17 杭州迪普科技股份有限公司 链路状态的探测方法及装置
CN109714302A (zh) * 2017-10-25 2019-05-03 阿里巴巴集团控股有限公司 算法的卸载方法、装置和系统
CN110351156A (zh) * 2018-04-03 2019-10-18 大唐移动通信设备有限公司 一种测试方法和装置
CN111371634A (zh) * 2018-12-26 2020-07-03 华为技术有限公司 一种通信方法、装置及系统
CN115866104A (zh) * 2022-12-29 2023-03-28 港华能源投资有限公司 数据处理方法、数据处理装置及设备

Also Published As

Publication number Publication date
CN116232944A (zh) 2023-06-06

Similar Documents

Publication Publication Date Title
US10630654B2 (en) Hardware-accelerated secure communication management
US10237241B2 (en) Transport layer security latency mitigation
EP3937051B1 (en) Methods and apparatuses for processing transactions based on blockchain integrated station
US9306734B2 (en) Communication device, key generating device, and computer readable medium
US11303431B2 (en) Method and system for performing SSL handshake
US12028378B2 (en) Secure communication session resumption in a service function chain preliminary class
US11336660B2 (en) Methods and apparatuses for identifying replay transaction based on blockchain integrated station
US20210326887A1 (en) Methods and apparatuses for transferring transaction based on blockchain integrated station
US11665234B2 (en) Methods and apparatuses for synchronizing data based on blockchain integrated station
US11463553B2 (en) Methods and apparatuses for identifying to-be-filtered transaction based on blockchain integrated station
US6983382B1 (en) Method and circuit to accelerate secure socket layer (SSL) process
CN115174267B (zh) 一种tls协议协商方法、设备及介质
US11949776B2 (en) Establishing a cryptographic tunnel between a first tunnel endpoint and a second tunnel endpoint where a private key used during the tunnel establishment is remotely located from the second tunnel endpoint
CN116232944B (zh) 用于传输层安全协议报文业务的方法、设备及介质
WO2024001035A1 (zh) 基于区块链中继通信网络系统的消息传输方法及装置
CN113221146B (zh) 区块链节点间数据传输的方法和装置
US11777915B2 (en) Adaptive control of secure sockets layer proxy
CN112968778A (zh) 区块链国密算法的转换方法、系统、计算机设备及应用
US20230222231A1 (en) Data encryption and decryption system and method
CN115021919A (zh) Ssl协商方法、装置、设备及计算机可读存储介质
US11943367B1 (en) Generic cryptography wrapper
US20240048369A1 (en) Quantum resistant ledger for secure communications
CN118101182A (zh) 一种规则下发方法、装置、电子设备及介质
CN116846625A (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