CN115277037A - 通信方法、网络设备及计算机可读存储介质 - Google Patents

通信方法、网络设备及计算机可读存储介质 Download PDF

Info

Publication number
CN115277037A
CN115277037A CN202110526544.1A CN202110526544A CN115277037A CN 115277037 A CN115277037 A CN 115277037A CN 202110526544 A CN202110526544 A CN 202110526544A CN 115277037 A CN115277037 A CN 115277037A
Authority
CN
China
Prior art keywords
network equipment
client
protocol layer
data
ssl
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.)
Pending
Application number
CN202110526544.1A
Other languages
English (en)
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.)
Zhongchuangwei Chengdu Quantum Communication Technology Co ltd
Original Assignee
Zhongchuangwei Chengdu Quantum Communication 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 Zhongchuangwei Chengdu Quantum Communication Technology Co ltd filed Critical Zhongchuangwei Chengdu Quantum Communication Technology Co ltd
Publication of CN115277037A publication Critical patent/CN115277037A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • 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/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer

Abstract

本申请提供一种通信方法、网络设备及计算机可读存储介质,能够解决相关技术中多核系统对原始数据进行加解密处理时,由于原始数据进出内核而导致系统处理数据的效率低下的问题,从而提高系统处理原始数据的效率。该通信方法包括:网络设备接收终端的客户端连接请求并建立与客户端的连接;网络设备接收客户端的SSL/TLS会话连接请求;网络设备的SSL/TLS协议层根据客户端的SSL/TLS会话连接请求,协商密钥;网络设备向客户端发送协商后的密钥;应用程序向SSL/TLS协议层发送待发数据;SSL/TLS协议层根据协商后的密钥加密待发数据;SSL/TLS协议层向TCP/IP协议层发送加密后的待发数据;TCP/IP协议层向DPDK发送加密后的待发数据;网络设备向客户端发送加密后的待发数据。

Description

通信方法、网络设备及计算机可读存储介质
本申请要求于2021年5月30日提交国家知识产权局、申请号为2021104798237、申请名称为“通信方法、网络设备及计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信领域,尤其涉及一种通信方法、网络设备及计算机可读存储介质。
背景技术
CPU(英文:Central Processing Unit;中文:中央处理器)的发展由单核到多核进化,目前大部分硬件都已经由多核组成,计算机的处理能力越来越强。网卡的发展也由10M到100M,再到1000M直至现在的10G,硬件是越来越强,人们对网络的需求也是是越来越大。
自从互联网诞生以来,网络协议栈和内核的关系就很密切,在传统的内核协议栈中,网络包的处理有着很多的性能瓶颈,从而严重的影响数据包的收发,主要的影响在于多核切换和CPU缓存失效、中断处理、内核拷贝和系统调用。比如,SSL(英文:Secure SocketsLayer;中文:安全套接字协议)对原始数据进行加解密的过程一般在用户空间实现,虽然通过mmap之类的映射文件方法可以避免一次复制,然而还是要进出内核,复制加密数据。
综上所述,在多核系统中,对原始数据进行加解密处理时,由于原始数据进出内核而导致系统处理数据的效率低下。
发明内容
本申请实施例提供一种通信方法、网络设备及计算机可读存储介质,能够解决相关技术中多核系统对原始数据进行加解密处理时,由于原始数据进出内核而导致系统处理数据的效率低下的问题,从而提高系统处理原始数据的效率。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种通信方法。该通信方法包括:网络设备接收终端的客户端连接请求并建立与客户端的连接;网络设备接收客户端的SSL/TLS会话连接请求;网络设备的SSL/TLS协议层根据客户端的SSL/TLS会话连接请求,协商密钥;网络设备向客户端发送协商后的密钥;网络设备的应用程序向网络设备的SSL/TLS协议层发送待发数据;应用程序对应于客户端;网络设备的SSL/TLS协议层根据协商后的密钥加密待发数据;网络设备的SSL/TLS协议层向网络设备的TCP/IP协议层发送加密后的待发数据;网络设备的TCP/IP协议层向网络设备的DPDK发送加密后的待发数据;网络设备向客户端发送加密后的待发数据。
基于该通信方法,网络设备与客户端建立连接后,在应用程序需要发送数据给客户端时,只需将数据交给SSL/TLS协议层加密处理,TCP/IP协议层将加密后的数据交给数据平面开发套件DPDK,网络设备就可以将加密后的数据发送给客户端,即原始数据包在处理时不用进出内核,解决相关技术中多核系统对原始数据进行加解密处理时,由于原始数据进出内核而导致系统处理数据的效率低下的问题,从而极大地提高了多核系统的数据处理效率。
可选地,网络设备向客户端发送加密后的待发数据,包括:网络设备的DPDK向网络设备的网卡发送加密后的待发数据;网络设备的网卡向客户端发送加密后的待发数据。
可选地,该通信方法还包括:网络设备的网卡接收终端的客户端数据;网络设备的网卡向网络设备的数据平面开发套件DPDK发送客户端数据;网络设备的数据平面开发套件DPDK向网络设备的TCP/IP协议层映射客户端数据;网络设备的TCP/IP协议层向网络设备的SSL/TLS协议层发送客户端数据;网络设备的SSL/TLS协议层为网络设备的TCP/IP协议层的上层;网络设备的SSL/TLS协议层解密客户端数据;网络设备的SSL/TLS协议层向网络设备的应用程序发送解密后的客户端数据。
可选地,网络设备接收终端的客户端连接请求并建立与客户端的连接,包括:网络设备的网卡接收客户端的连接请求;其中,客户端的连接请求包括TCP/IP握手操作请求;网络设备的TCP/IP协议层根据TCP/IP握手操作请求,完成握手操作。
第二方面,提供一种网络设备。该网络设备包括:处理模块和收发模块;处理模块包括网络设备的数据平面开发套件DPDK、TCP/IP协议层和SSL/TLS协议层和对应于客户端的应用程序;网络设备的SSL/TLS协议层为网络设备的TCP/IP协议层的上层;其中,收发模块,用于接收终端的客户端连接请求;处理模块,用于建立与客户端的连接;收发模块,还用于接收客户端的SSL/TLS会话连接请求;网络设备的SSL/TLS协议层,用于根据客户端的SSL/TLS会话连接请求,协商密钥;收发模块,还用于向客户端发送协商后的密钥;网络设备的应用程序,用于向网络设备的SSL/TLS协议层发送待发数据;应用程序对应于客户端;网络设备的SSL/TLS协议层,用于根据协商后的密钥加密待发数据;网络设备的SSL/TLS协议层,还用于向网络设备的TCP/IP协议层发送加密后的待发数据;网络设备的TCP/IP协议层,用于向网络设备的DPDK发送加密后的待发数据;收发模块,还用于向客户端发送加密后的待发数据。
可选地,收发模块为网卡;网络设备的DPDK,还用于向网络设备的网卡发送加密后的待发数据;网络设备的网卡,还用于向客户端发送加密后的待发数据。
可选地,网络设备的网卡,还用于接收终端的客户端数据;网络设备的网卡,还用于向网络设备的数据平面开发套件DPDK发送客户端数据;网络设备的数据平面开发套件DPDK,还用于向网络设备的TCP/IP协议层映射客户端数据;网络设备的TCP/IP协议层,还用于向网络设备的SSL/TLS协议层发送客户端数据;网络设备的SSL/TLS协议层,还用于解密客户端数据;网络设备的SSL/TLS协议层,还用于向网络设备的应用程序发送解密后的客户端数据。
可选地,网络设备的网卡,还用于接收客户端的连接请求;其中,客户端的连接请求包括TCP/IP握手操作请求;网络设备的TCP/IP协议层,还用于根据TCP/IP握手操作请求,完成握手操作。
可选地,第二方面所述的网络设备还可以包括存储模块,该存储模块存储有程序或指令。当处理模块执行该程序或指令时,使得该网络设备可以执行第一方面所述的通信方法。
需要说明的是,第二方面所述的网络设备,也可以是可设置于网络设备中的芯片(系统)或其他部件或组件,还可以是包含网络设备的装置,本申请对此不做限定。
此外,第二方面所述的通信装置的技术效果可以参考第一方面所述的通信方法的技术效果,此处不再赘述。
第三方面,提供一种网络设备。该网络设备用于执行第一方面中任意一种实现方式所述的通信方法。
在本申请中,第三方面所述的网络设备可以为第一方面或第二方面中任一方面所述的网络设备,或者可设置于该网络设备中的芯片(系统)或其他部件或组件,或者包含该网络设备的装置。
应理解,第三方面所述的网络设备包括实现上述第一方面中任一方面所述的通信方法相应的模块、单元、或手段(means),该模块、单元、或手段可以通过硬件实现,软件实现,或者通过硬件执行相应的软件实现。该硬件或软件包括一个或多个用于执行上述通信方法所涉及的功能的模块或单元。
此外,第三方面所述的通信装置的技术效果可以参考第一方面所述的通信方法的技术效果,此处不再赘述。
第四方面,提供一种计算机可读存储介质,包括:计算机程序或指令;当该计算机程序或指令在计算机上运行时,使得该计算机执行第一方面至第四方面中任意一种可能的实现方式所述的通信方法。
附图说明
图1为本申请实施例提供的一种通信系统的架构示意图;
图2为本申请实施例提供的通信方法的流程示意图一;
图3为本申请实施例提供的通信方法的流程示意图二;
图4为本申请实施例提供的网络设备的结构示意图一;
图5为本申请实施例提供的网络设备的结构示意图二。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例的技术方案可以应用于各种通信系统,例如无线保真(wirelessfidelity,WiFi)系统,车到任意物体(vehicle to everything,V2X)通信系统、设备间(device-todevie,D2D)通信系统、车联网通信系统、第4代(4th generation,4G)移动通信系统,如长期演进(long term evolution,LTE)系统、全球互联微波接入(worldwideinteroperability for microwave access,WiMAX)通信系统、第五代(5th generation,5G)移动通信系统,如新空口(new radio,NR)系统,以及未来的通信系统,如第六代(6thgeneration,6G)移动通信系统等。
本申请将围绕可包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例地”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中,“信息(information)”,“信号(signal)”,“消息(message)”,“信道(channel)”、“信令(singaling)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。“的(of)”,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
为便于理解本申请实施例,首先以图1中示出的通信系统为例详细说明适用于本申请实施例的通信系统。示例性地,图1为本申请实施例提供的通信方法所适用的一种通信系统的架构示意图。
如图1所示,该通信系统包括网络设备和终端设备。
其中,上述网络设备为位于上述通信系统的网络侧,且具有无线收发功能的设备或可设置于该设备的芯片或芯片系统。该网络设备包括但不限于:无线保真(wirelessfidelity,WiFi)系统中的接入点(access point,AP),如家庭网关、路由器、服务器、交换机、网桥等,演进型节点B(evolved Node B,eNB)、无线网络控制器(radio networkcontroller,RNC)、节点B(Node B,NB)、基站控制器(base station controller,BSC)、基站收发台(base transceiver station,BTS)、家庭基站(例如,home evolved NodeB,或homeNode B,HNB)、基带单元(baseband unit,BBU),无线中继节点、无线回传节点、传输点(transmission and reception point,TRP或者transmission point,TP)等,还可以为5G,如,新空口(new radio,NR)系统中的gNB,或,传输点(TRP或TP),5G系统中的基站的一个或一组(包括多个天线面板)天线面板,或者,还可以为构成gNB或传输点的网络节点,如基带单元(BBU),或,分布式单元(distributed unit,DU)、具有基站功能的路边单元(road sideunit,RSU)等。
上述终端设备为接入上述通信系统,且具有无线收发功能的终端或可设置于该终端的芯片或芯片系统。该终端设备也可以称为用户装置、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。本申请的实施例中的终端设备可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端设备、增强现实(augmentedreality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(selfdriving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smartgrid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smartcity)中的无线终端、智慧家庭(smart home)中的无线终端、车载终端、具有终端功能的RSU等。本申请的终端设备还可以是作为一个或多个部件或者单元而内置于车辆的车载模块、车载模组、车载部件、车载芯片或者车载单元,车辆通过内置的所述车载模块、车载模组、车载部件、车载芯片或者车载单元可以实施本申请提供的通信方法。
应当指出的是,本申请实施例中的方案还可以应用于其他通信系统中,相应的名称也可以用其他通信系统中的对应功能的名称进行替代。
应理解,图1仅为便于理解而示例的简化示意图,该通信系统中还可以包括其他网络设备,和/或,其他终端设备,图1中未予以画出。
下面将结合图2-图3对本申请实施例提供的通信方法进行具体阐述。
示例性地,图2为本申请实施例提供的通信方法的流程示意图一。该通信方法可以适用于图1所示的网络设备和终端设备之间的通信。
如图2所示,该通信方法包括如下步骤:
S201,网络设备接收终端的客户端连接请求并建立与客户端的连接。
其中,终端安装的客户端对应于网络设备安装的应用程序。即客户端可以与对应的应用程序进行数据交互。客户端可以是安装于终端的APP,比如,浏览器;对应的,应用程序可以是网站,浏览器可以登录网站浏览网站内容。
可选地,网络设备通过网卡接收终端的客户端数据。客户端需要和应用程序进行数据交互前,客户端可以向网络设备发送连接请求;其中,客户端的连接请求包括TCP/IP(英文全称:Transmission Control Protocol/Internet Protocol;中文全称:传输控制协议/网际协议)握手操作请求。网络设备通过网卡接收客户端的连接请求后,网络设备的TCP/IP协议层根据TCP/IP握手操作请求,完成握手操作。完成握手操作后,网络设备可以可以通过网卡向客户端反馈完成信息。
S202,网络设备接收客户端的SSL/TLS(英文全称:Secure Sockets Layer/Transport Layer Security;中文全称:安全套接字协议/传输层安全)会话连接请求。
S203,网络设备的SSL/TLS协议层根据客户端的SSL/TLS会话连接请求,协商密钥。
客户端在完成握手操作后,可以向网络设备发送SSL/TLS会话连接请求。其中,SSL/TLS会话连接请求可以包括秘钥协商请求。网络设备通过网卡接收客户端的SSL/TLS会话连接请求后,网络设备的SSL/TLS协议层根据客户端的SSL/TLS会话连接请求,协商密钥。
S204,网络设备向客户端发送协商后的密钥。
协商秘钥后,网络设备通过网卡向客户端发送协商后的密钥。
S205,网络设备的应用程序向网络设备的SSL/TLS协议层发送待发数据。
S206,网络设备的SSL/TLS协议层根据协商后的密钥加密待发数据。
应用程序需要给客户端进行数据交互发送数据时,网络设备的应用程序向网络设备的SSL/TLS协议层发送待发数据,网络设备的SSL/TLS协议层则会使用协商后的秘钥加密待发数据。
S207,网络设备的SSL/TLS协议层向网络设备的TCP/IP协议层发送加密后的待发数据。
网络设备的SSL/TLS协议层使用协商后的秘钥加密待发数据后,向网络设备的TCP/IP协议层发送加密后的待发数据。
S208,网络设备的TCP/IP协议层向网络设备的DPDK(英文全称:Data PlaneDevelopment Kit;中文全称:数据平面开发套件)发送加密后的待发数据。
网络设备的TCP/IP协议层收到加密后的待发数据后,TCP/IP协议层向DPDK发送加密后的待发数据。
S209,网络设备向客户端发送加密后的待发数据。
其中,网络设备的DPDK收到加密后的待发数据后,向网络设备的网卡发送加密后的待发数据,而网络设备通过网卡向客户端发送加密后的待发数据。安装于终端设备的客户端在收到加密后的待发数据后,使用协商后的秘钥解密待发数据。
进一步地,安装于终端设备的客户端需要发送将客户端数据发送给网络设备的应用程序时,先使用协商后的密钥对客户端数据加密,然后将加密后的客户端数据发送给网络设备。网络设备通过网卡接收到加密的客户端数据后,向DPDK发送加密后的客户端数据。网络设备的DPDK在收到加密的客户端数据后,向网络设备的TCP/IP协议层映射加密后的客户端数据。网络设备的TCP/IP协议层在收到加密的客户端数据后,向网络设备的SSL/TLS协议层发送加密后的客户端数据。SSL/TLS协议层则使用协商的密钥解密客户端数据,并将向网络设备的应用程序发送解密后的客户端数据,由应用程序对解密后的客户端数据进行处理。
示例性地,图3为本申请实施例提供的通信方法的流程示意图二。该通信方法可以适用于图1所示的网络设备和终端设备之间的通信。如图3所示,该通信方法包括如下步骤:
S301,网络设备的网卡在接收到客户端的连接请求后,向TCP/IP协议层发送客户端的连接请求。
其中,客户端的连接请求包括TCP/IP握手操作请求。
S302,网络设备的TCP/IP协议层根据TCP/IP握手操作请求,完成握手操作。
完成握手操作后,网络设备可以向客户端反馈完成信息。客户端在完成握手操作后,向网络设备发送SSL会话连接请求;其中,SSL会话连接请求可以包括秘钥协商请求。
S303,网络设备通过网卡接收客户端的SSL会话连接请求后,向网络设备的SSL/TLS协议层发送客户端的SSL会话连接请求。
S304,网络设备的SSL协议层根据客户端的SSL会话连接请求,协商密钥。
S305,协商秘钥后,网络设备的SSL协议层向网卡发送协商后的密钥,而网卡向客户端发送协商后的密钥。客户端在收到协商好的密钥后,可以使用协商后的密钥对客户端数据加密,并将加密后的客户端数据发送给网络设备。
S306,网络设备通过网卡接收加密后的客户端数据,并向DPDK发送加密后的客户端数据。
S307,网络设备的DPDK向网络设备的TCP/IP协议层映射加密后的客户端数据。
S308,网络设备的TCP/IP协议层向网络设备的SSL协议层发送加密后的客户端数据。
S309,网络设备的SSL协议层使用协商后的秘钥解密客户端数据。
S310,网络设备的SSL协议层向网络设备的应用程序发送解密后的客户端数据。
S311,网络设备的应用程序处理解密后的客户端数据,生成待发数据。
S312,网络设备的应用程序向网络设备的SSL协议层发送待发数据。
S313,网络设备的SSL协议层使用协商后的秘钥加密待发数据。
S314,网络设备的SSL协议层向网络设备的TCP/IP协议层发送加密后的待发数据,而网络设备的TCP/IP协议层则向网络设备的DPDK发送加密后的待发数据。网络设备的DPDK收到加密后的待发数据后,向网络设备的网卡发送加密后的待发数据,而网络设备通过网卡向客户端发送加密后的待发数据。客户端收到加密后的待发数据后,使用协商后的秘钥解密待发数据。
基于图2-图3中任一项所示出的通信方法,用户态协议栈采用网卡和应用层之间直接共享数据包,应用程序直接读取网卡数据包,通过SSL/TLS加解密将原数据提交给应用层的业务逻辑处理接口。即a.网卡数据直接交个应用软件来管理,从而处理原始数据包并绕过内核,极大的提高了系统的处理能力,解决了相关技术中多核系统对原始数据进行加解密处理时,由于原始数据进出内核而导致系统处理数据的效率低下的问题,从而极大地提高了多核系统的数据处理效率。另外,用户态协议栈配合SSL/TLS协议可以很好的解决网络延迟的问题加快了SSL握手和数据收发的速率。并且,在多核系统中,避免了数据包的在处理时,需跨多个不同的CPU而导致的缓存失效和非一致内存访问的问题。
以上结合图2-图3详细说明了本申请实施例提供的通信方法。以下结合图4-图5详细说明用于执行本申请实施例提供的通信方法的网络设备。
示例性地,图4是本申请实施例提供的的结构示意图一。如图4所示,网络设备400包括:处理模块401和收发模块402。为了便于说明,图4仅示出了该网络设备的主要部件。
一些实施例中,网络设备400可适用于图1中所示出的通信系统中,执行图2或图3中所示出的通信方法中处理客户端数据的功能。
其中,处理模块401包括网络设备400的数据平面开发套件DPDK、TCP/IP协议层和SSL/TLS协议层和对应于客户端的应用程序。
收发模块402,用于接收终端的客户端连接请求。
处理模块401,用于建立与客户端的连接。
收发模块402,还用于接收客户端的SSL/TLS会话连接请求。
网络设备400的SSL/TLS协议层,用于根据客户端的SSL/TLS会话连接请求,协商密钥。
收发模块402,还用于向客户端发送协商后的密钥。
网络设备400的应用程序,用于向网络设备400的SSL/TLS协议层发送待发数据;应用程序对应于客户端。
网络设备400的SSL/TLS协议层,用于根据协商后的密钥加密待发数据。
网络设备400的SSL/TLS协议层,还用于向网络设备400的TCP/IP协议层发送加密后的待发数据。
网络设备400的TCP/IP协议层,用于向网络设备的DPDK发送加密后的待发数据。
收发模块402,还用于向客户端发送加密后的待发数据。
可选地,收发模块402可以包括接收模块和发送模块(图4中未示出)。其中,收发模块用于实现网络设备400的发送功能和接收功能。
可选地,网络设备400还可以包括存储模块(图4中未示出),该存储模块存储有程序或指令。当处理模块401执行该程序或指令时,使得网络设备400可以执行图2-图3中任一项所示出的通信方法中处理客户端数据的功能。
应理解,网络设备400中涉及的处理模块801可以由处理器或处理器相关电路组件实现,可以为处理器或处理单元;收发模块402可以由收发器或收发器相关电路组件实现,可以为收发器或收发单元。
需要说明的是,网络设备400是可设置于网络设备中的芯片(系统)或其他部件或组件,还可以是包含网络设备的装置,本申请对此不做限定。
示例性地,图5为本申请实施例提供的网络设备的结构示意图二。该网络设备可以是终端设备或网络设备,也可以是可设置于终端设备或网络设备的芯片(系统)或其他部件或组件。如图5所示,网络设备500可以包括处理器501。可选地,网络设备500还可以包括存储器502和/或收发器503。其中,处理器501与存储器502和收发器503耦合,如可以通过通信总线连接。
下面结合图5对网络设备500的各个构成部件进行具体的介绍:
其中,处理器501是网络设备500的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器501是一个或多个中央处理器(central processing unit,CPU),也可以是特定集成电路(application specific integrated circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(fieldprogrammable gate array,FPGA)。
可选地,处理器501可以通过运行或执行存储在存储器502内的软件程序,以及调用存储在存储器502内的数据,执行网络设备500的各种功能。
在具体的实现中,作为一种实施例,处理器501可以包括一个或多个CPU,例如图5中所示出的CPU0和CPU1。
在具体实现中,作为一种实施例,网络设备500也可以包括多个处理器,例如图2中所示的处理器501和处理器504。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
其中,所述存储器502用于存储执行本申请方案的软件程序,并由处理器501来控制执行,具体实现方式可以参考上述方法实施例,此处不再赘述。
可选地,存储器502可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器502可以和处理器501集成在一起,也可以独立存在,并通过网络设备500的接口电路(图5中未示出)与处理器501耦合,本申请实施例对此不作具体限定。
收发器503,用于与其他网络设备之间的通信。例如,网络设备500为终端设备,收发器503可以用于与网络设备通信,或者与另一个终端设备通信。又例如,网络设备500为网络设备,收发器503可以用于与终端设备通信,或者与另一个网络设备通信。
可选地,收发器503可以包括接收器和发送器(图5中未单独示出)。其中,接收器用于实现接收功能,发送器用于实现发送功能。
可选地,收发器503可以和处理器501集成在一起,也可以独立存在,并通过网络设备500的接口电路(图5中未示出)与处理器501耦合,本申请实施例对此不作具体限定。
需要说明的是,图5中示出的网络设备500的结构并不构成对该网络设备的限定,实际的网络设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
此外,网络设备500的技术效果可以参考上述方法实施例所述的通信方法的技术效果,此处不再赘述。
本申请实施例还提供一种芯片系统,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得该芯片系统实现上述任一方法实施例中的方法。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性的,该芯片系统可以是现场可编程门阵列(field programmable gatearray,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processorunit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
应理解,在本申请实施例中的处理器可以是中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。
上述实施例,可以全部或部分地通过软件、硬件(如电路)、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种通信方法,其特征在于,包括:
网络设备接收终端的客户端连接请求并建立与所述客户端的连接;
所述网络设备接收所述客户端的SSL/TLS会话连接请求;
所述网络设备的SSL/TLS协议层根据所述客户端的SSL/TLS会话连接请求,协商密钥;
所述网络设备向所述客户端发送协商后的密钥;
所述网络设备的应用程序向所述网络设备的SSL/TLS协议层发送待发数据;所述应用程序对应于所述客户端;
所述网络设备的SSL/TLS协议层根据协商后的所述密钥加密所述待发数据;
所述网络设备的SSL/TLS协议层向所述网络设备的TCP/IP协议层发送加密后的所述待发数据;
所述网络设备的TCP/IP协议层向所述网络设备的DPDK发送加密后的所述待发数据;
所述网络设备向所述客户端发送加密后的所述待发数据。
2.根据权利要求1所述的通信方法,其特征在于,所述网络设备向所述客户端发送加密后的所述待发数据,包括:
所述网络设备的DPDK向所述网络设备的网卡发送加密后的所述待发数据;
所述网络设备的网卡向所述客户端发送加密后的所述待发数据。
3.根据权利要求2所述的通信方法,其特征在于,还包括:
所述网络设备的网卡接收所述终端的客户端数据;
所述网络设备的网卡向所述网络设备的数据平面开发套件DPDK发送所述客户端数据;
所述网络设备的数据平面开发套件DPDK向所述网络设备的TCP/IP协议层映射所述客户端数据;
所述网络设备的TCP/IP协议层向所述网络设备的SSL/TLS协议层发送所述客户端数据;所述网络设备的SSL/TLS协议层为所述网络设备的TCP/IP协议层的上层;
所述网络设备的SSL/TLS协议层解密所述客户端数据;
所述网络设备的SSL/TLS协议层向所述网络设备的应用程序发送解密后的所述客户端数据。
4.根据权利要求2所述的通信方法,其特征在于,所述网络设备接收终端的客户端连接请求并建立与所述客户端的连接,包括:
所述网络设备的网卡接收所述客户端的连接请求;其中,所述客户端的连接请求包括TCP/IP握手操作请求;
所述网络设备的TCP/IP协议层根据所述TCP/IP握手操作请求,完成握手操作。
5.一种网络设备,其特征在于,包括:处理模块和收发模块;所述处理模块包括所述网络设备的数据平面开发套件DPDK、TCP/IP协议层和SSL/TLS协议层和对应于客户端的应用程序;所述网络设备的SSL/TLS协议层为所述网络设备的TCP/IP协议层的上层;其中,
所述收发模块,用于接收终端的客户端连接请求;
所述处理模块,用于建立与所述客户端的连接;
所述收发模块,还用于接收所述客户端的SSL/TLS会话连接请求;
所述网络设备的SSL/TLS协议层,用于根据所述客户端的SSL/TLS会话连接请求,协商密钥;
所述收发模块,还用于向所述客户端发送协商后的密钥;
所述网络设备的应用程序,用于向所述网络设备的SSL/TLS协议层发送待发数据;所述应用程序对应于所述客户端;
所述网络设备的SSL/TLS协议层,用于根据协商后的所述密钥加密所述待发数据;
所述网络设备的SSL/TLS协议层,还用于向所述网络设备的TCP/IP协议层发送加密后的所述待发数据;
所述网络设备的TCP/IP协议层,用于向所述网络设备的DPDK发送加密后的所述待发数据;
所述收发模块,还用于向所述客户端发送加密后的所述待发数据。
6.根据权利要求5所述的网络设备,其特征在于,所述收发模块为网卡;
所述网络设备的DPDK,还用于向所述网络设备的网卡发送加密后的所述待发数据;
所述网络设备的网卡,还用于向所述客户端发送加密后的所述待发数据。
7.根据权利要求6所述的网络设备,其特征在于,
所述网络设备的网卡,还用于接收所述终端的客户端数据;
所述网络设备的网卡,还用于向所述网络设备的数据平面开发套件DPDK发送所述客户端数据;
所述网络设备的数据平面开发套件DPDK,还用于向所述网络设备的TCP/IP协议层映射所述客户端数据;
所述网络设备的TCP/IP协议层,还用于向所述网络设备的SSL/TLS协议层发送所述客户端数据;
所述网络设备的SSL/TLS协议层,还用于解密所述客户端数据;
所述网络设备的SSL/TLS协议层,还用于向所述网络设备的应用程序发送解密后的所述客户端数据。
8.根据权利要求6所述的网络设备,其特征在于,
所述网络设备的网卡,还用于接收所述客户端的连接请求;其中,所述客户端的连接请求包括TCP/IP握手操作请求;
所述网络设备的TCP/IP协议层,还用于根据所述TCP/IP握手操作请求,完成握手操作。
9.一种网络设备,其特征在于,所述网络设备用于执行如权利要求1-4中任一项所述的通信方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序或指令,当所述计算机程序或指令在计算机上运行时,使得所述计算机执行如权利要求1-4中任一项所述的通信方法。
CN202110526544.1A 2021-04-30 2021-05-14 通信方法、网络设备及计算机可读存储介质 Pending CN115277037A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2021104798237 2021-04-30
CN202110479823 2021-04-30

Publications (1)

Publication Number Publication Date
CN115277037A true CN115277037A (zh) 2022-11-01

Family

ID=83744877

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110526497.0A Pending CN115277036A (zh) 2021-04-30 2021-05-14 通信方法、网络设备及计算机可读存储介质
CN202110526544.1A Pending CN115277037A (zh) 2021-04-30 2021-05-14 通信方法、网络设备及计算机可读存储介质

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110526497.0A Pending CN115277036A (zh) 2021-04-30 2021-05-14 通信方法、网络设备及计算机可读存储介质

Country Status (1)

Country Link
CN (2) CN115277036A (zh)

Also Published As

Publication number Publication date
CN115277036A (zh) 2022-11-01

Similar Documents

Publication Publication Date Title
US20150264724A1 (en) Method and system of establishing wireless communication connection
RU2683853C1 (ru) Способ улучшения ключа системы gprs, устройство sgsn, пользовательское устройство, hlr/hss и система gprs
CN112449323B (zh) 一种通信方法、装置和系统
CN110621016B (zh) 一种用户身份保护方法、用户终端和基站
CN110856220B (zh) 数据传输方法及终端
JP2020523891A (ja) 通信方法および装置
CN114389795A (zh) 量子云密钥协商方法、装置及系统、量子及量子云服务器
CN113556340B (zh) 一种便携式vpn终端、数据处理方法及存储介质
CN110730447B (zh) 一种用户身份保护方法、用户终端和核心网
CN110856153B (zh) 数据传输方法及终端
CN108322464B (zh) 一种密钥验证方法及设备
CN114095277A (zh) 配电网安全通信方法、安全接入设备及可读存储介质
CN112602290A (zh) 一种身份验证方法及装置
CN106028320A (zh) 一种数据安全传输方法及终端、服务器
CN115669022A (zh) 电子设备提供基于测距的服务的方法和电子设备
CN115277037A (zh) 通信方法、网络设备及计算机可读存储介质
CN113455032B (zh) 通信方法、通信装置及计算机可读介质
CN105939329B (zh) 利用间歇性地可用的加密凭证来传送消息
CN102487505B (zh) 一种传感器节点的接入认证方法、装置及系统
CN111526514A (zh) 多频段通信的方法和装置
CN215990843U (zh) 基于IPSec协议的VPN终端通信系统
CN214281412U (zh) 存储网关及存储系统
EP4354916A1 (en) Terminal access method, equipment and terminal
CN113542269A (zh) 计算机通信的网络安全监测方法及监测网元
CN114915635A (zh) 数据处理方法及装置、计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication