CN105939312A - 一种数据的传输方法和装置 - Google Patents
一种数据的传输方法和装置 Download PDFInfo
- Publication number
- CN105939312A CN105939312A CN201510530221.4A CN201510530221A CN105939312A CN 105939312 A CN105939312 A CN 105939312A CN 201510530221 A CN201510530221 A CN 201510530221A CN 105939312 A CN105939312 A CN 105939312A
- Authority
- CN
- China
- Prior art keywords
- data
- ssl vpn
- cpu
- core
- vpn
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种数据的传输方法和装置,该方法包括:SSL VPN客户端与SSL VPN服务器之间建立与CPU核心数所对应的多个VPN通道,并为每个CPU核心分配一个VPN通道;针对待发送给所述SSL VPN服务器的数据,所述SSL VPN客户端利用所述数据的信息以及所述CPU核心数,确定所述数据对应的CPU核心;所述SSL VPN客户端将所述数据提供给所述CPU核心,由所述CPU核心通过自身分配的VPN通道将所述数据发送给所述SSL VPN服务器。通过本发明的技术方案,将所有数据的加密和转发放在多个线程来处理,通过多线程解决同时传输大量数据时,SSL VPN客户端性能不足的问题,有效提高传输大量数据时SSL VPN客户端的处理性能,降低数据的传输延时,提高处理效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据的传输方法和装置。
背景技术
随着网络技术的不断发展和互联网的普及,越来越多的政企机构开始借助网络来处理工作事物。为保证内部数据的安全性,VPN(Virtual Private Network,虚拟专用网络)技术成为用户设备从外网访问内部数据的实现方式,VPN技术在公用网络上建立专用网络,以实现远程访问。SSL(Security Socket Layer,安全套接口层)是因特网上使用的一种安全数据传输标准,通过使用加密技术在因特网上传输数据,保证数据不被窃听,不被修改。因此,SSL VPN的接入方式可以被作为用户设备从外网访问内部数据的一种实现方式。其中,SSL VPN包括两种接入方式,一种为Web接入方式,无需安装SSL VPN客户端,通过浏览器直接访问SSL VPN服务器。另一种为IP接入方式,需要安装SSL VPN客户端,并通过SSL VPN客户端访问SSL VPN服务器,本文是指IP接入方式。
为了使用户设备能够从外部网络访问内部网络的数据,在用户设备上配置SSL VPN客户端,在内部网络配置SSL VPN服务器,并在SSL VPN客户端与SSL VPN服务器之间建立一个VPN通道。针对SSL VPN客户端发送给SSL VPN服务器的数据,SSL VPN客户端采用单线程进行数据传输,即SSL VPN客户端对待传输的多个数据(如多个数据包)进行排队,对数据的加密和转发都在同一个线程来处理,每次通过VPN通道向SSL VPN服务器发送一个数据。
由于对所有数据的加密和转发都在同一个线程来处理,处理效率低下。当存在大量待传输的数据时,每个数据都会等待很长时间才能够被传输到SSLVPN服务器,数据的传输延时较高,SSL VPN客户端的传输性能不足。
发明内容
本发明提供一种数据的传输方法,应用于包括安全套接口层SSL虚拟专用网络VPN客户端和SSL VPN服务器的系统中,所述SSL VPN客户端运行在多核中央处理器CPU环境中,所述方法包括以下步骤:
所述SSL VPN客户端与所述SSL VPN服务器之间建立与CPU核心数所对应的多个VPN通道,并为每个CPU核心分配一个VPN通道;
针对待发送给所述SSL VPN服务器的数据,所述SSL VPN客户端利用所述数据的信息以及所述CPU核心数,确定所述数据对应的CPU核心;
所述SSL VPN客户端将所述数据提供给所述CPU核心,由所述CPU核心通过自身分配的VPN通道将所述数据发送给所述SSL VPN服务器。
所述SSL VPN客户端与所述SSL VPN服务器之间建立与CPU核心数所对应的多个VPN通道,并为每个CPU核心分配一个VPN通道的过程,具体包括:所述SSL VPN客户端获取当前运行环境下的CPU核心数,并在每个CPU核心上启动一个SSL VPN线程,由每个CPU核心的SSL VPN线程控制该CPU核心,在所述SSL VPN客户端与所述SSL VPN服务器之间建立一个VPN通道,并将该VPN通道分配给该CPU核心的SSL VPN线程。
针对待发送给所述SSL VPN服务器的数据,所述SSL VPN客户端利用所述数据的信息以及所述CPU核心数,确定所述数据对应的CPU核心的过程,具体包括:针对待发送给所述SSL VPN服务器的数据,所述SSL VPN客户端利用预设分发算法对所述数据的信息进行计算,并利用所述数据的信息的计算结果以及所述CPU核心数,确定所述数据对应的CPU核心。
所述数据的信息具体包括以下之一或者任意组合:所述数据的源IP地址、所述数据的目的IP地址、所述数据的源端口、所述数据的目的端口、所述数据的协议号。
所述SSL VPN客户端将所述数据提供给所述CPU核心,由所述CPU核心通过自身分配的VPN通道将所述数据发送给所述SSL VPN服务器的过程,具体包括:针对待发送给所述SSL VPN服务器的多个数据,当所述多个数据对应不同的CPU核心时,则所述SSL VPN客户端分别将所述多个数据提供给不同的CPU核心,由不同的CPU核心通过本CPU核心分配的VPN通道将提供给本CPU核心的数据发送给所述SSL VPN服务器,以使所述多个数据通过不同的VPN通道同时被发送给所述SSL VPN服务器。
本发明提供一种数据的传输装置,应用于包括安全套接口层SSL虚拟专用网络VPN客户端和SSL VPN服务器的系统中,所述SSL VPN客户端运行在多核中央处理器CPU环境中;其中,所述数据的传输装置应用在所述SSL VPN客户端上,且所述数据的传输装置具体包括:
建立模块,用于在SSL VPN客户端与SSL VPN服务器之间建立与CPU核心数所对应的多个VPN通道,并为每个CPU核心分配一个VPN通道;
确定模块,用于针对待发送给所述SSL VPN服务器的数据,利用所述数据的信息以及所述CPU核心数,确定所述数据对应的CPU核心;
发送模块,用于将所述数据提供给所述CPU核心,由所述CPU核心通过自身分配的VPN通道将所述数据发送给所述SSL VPN服务器。
在所述SSL VPN客户端与所述SSL VPN服务器之间建立与CPU核心数所对应的多个VPN通道,并为每个CPU核心分配一个VPN通道的过程中,所述建立模块,具体用于获取当前运行环境下的CPU核心数,并在每个CPU核心上启动一个SSL VPN线程,由每个CPU核心的SSL VPN线程控制该CPU核心,在所述SSL VPN客户端与所述SSL VPN服务器之间建立一个VPN通道,并将该VPN通道分配给该CPU核心的SSL VPN线程。
在针对待发送给所述SSL VPN服务器的数据,利用所述数据的信息以及所述CPU核心数,确定所述数据对应的CPU核心的过程中,针对待发送给所述SSL VPN服务器的数据,所述确定模块,具体用于利用预设分发算法对所述数据的信息进行计算,并利用所述数据的信息的计算结果以及所述CPU核心数,确定所述数据对应的CPU核心。
所述数据的信息具体包括以下之一或者任意组合:所述数据的源IP地址、所述数据的目的IP地址、所述数据的源端口、所述数据的目的端口、所述数据的协议号。
所述发送模块,具体用于在将所述数据提供给所述CPU核心,由所述CPU核心通过自身分配的VPN通道将所述数据发送给所述SSL VPN服务器的过程中,针对待发送给所述SSL VPN服务器的多个数据,当所述多个数据对应不同的CPU核心时,则分别将所述多个数据提供给不同的CPU核心,由不同的CPU核心通过本CPU核心分配的VPN通道将提供给本CPU核心的数据发送给所述SSL VPN服务器,以使所述多个数据通过不同的VPN通道同时被发送给所述SSL VPN服务器。
基于上述技术方案,本发明实施例中,通过在SSL VPN客户端与SSL VPN服务器之间建立多个VPN通道,并为每个CPU核心分配一个VPN通道,使得每个CPU核心可以独立的向SSL VPN服务器传输数据。进一步的,每个CPU核心上启动一个SSL VPN线程,多个CPU核心会对应多个线程,将所有数据的加密和转发放在多个线程来处理,通过多线程解决同时传输大量数据时,SSLVPN客户端性能不足的问题,可以有效提高传输大量数据时SSL VPN客户端的处理性能,降低数据的传输延时,提高处理效率。
附图说明
图1是本发明一种实施方式中的数据的传输方法的流程图;
图2是本发明一种实施方式中的多线程传输数据的示意图;
图3是本发明一种实施方式中的SSL VPN客户端的硬件结构图;
图4是本发明一种实施方式中的数据的传输装置的结构图。
具体实施方式
针对现有技术中存在的问题,本发明实施例中提出一种数据的传输方法,该方法应用于包括SSL VPN客户端和SSL VPN服务器的系统中。其中,为了使用户设备能够从外部网络访问内部网络的数据,可以在用户设备上配置SSLVPN客户端,在内部网络配置SSL VPN服务器。本发明实施例中,SSL VPN客户端运行在多核CPU(Central Processing Unit,中央处理器)环境。
其中,SSL VPN包括两种接入方式,一种为Web接入方式,在该Web接入方式下,无需安装SSL VPN客户端,通过浏览器直接访问SSL VPN服务器。另一种为IP接入方式,在该IP接入方式下,需要安装SSL VPN客户端,并通过SSL VPN客户端访问SSL VPN服务器,本发明实施例中是指IP接入方式。
其中,在多核CPU环境中会包括多个CPU核心,且CPU核心的数量称为CPU核心数(或者CPU线程数)。CPU核心数是指物理上,也就是硬件上存在几个CPU核心,例如,双核CPU就是包括2个相对独立的CPU核心的单元组,四核CPU就是包括4个相对独立的CPU核心的单元组。CPU线程数是一种逻辑的概念,简单地说,就是模拟出的CPU核心数。
在上述应用场景下,如图1所示,该数据的传输方法可以包括以下步骤:
步骤101,SSL VPN客户端与SSL VPN服务器之间建立与CPU核心数所对应的多个VPN通道,并为每个CPU核心分配一个VPN通道。
例如,当SSL VPN客户端上包括4个CPU核心(如CPU核心1、CPU核心2、CPU核心3和CPU核心4等)时,则SSL VPN客户端与SSL VPN服务器之间建立与CPU核心数4对应的4个VPN通道(如VPN通道1、VPN通道2、VPN通道3和VPN通道4等)。进一步的,SSL VPN客户端可以为CPU核心1分配VPN通道1,为CPU核心2分配VPN通道2,为CPU核心3分配VPN通道3,为CPU核心4分配VPN通道4。
本发明实施例中,SSL VPN客户端与SSL VPN服务器之间建立与CPU核心数所对应的多个VPN通道,并为每个CPU核心分配一个VPN通道的过程,具体可以包括但不限于如下方式:SSL VPN客户端获取当前运行环境下的CPU核心数,并在每个CPU核心上启动一个SSL VPN线程,由每个CPU核心的SSLVPN线程控制该CPU核心,在SSL VPN客户端与SSL VPN服务器之间建立一个VPN通道,并将该VPN通道分配给该CPU核心的SSL VPN线程。
其中,SSL VPN客户端在每个CPU核心上启动一个SSL VPN线程,且每个SSL VPN线程与SSL VPN服务器之间建立一个VPN通道(即一条SSL VPN连接),因此,CPU核心、SSL VPN线程与VPN通道之间存在对应关系。在后续CPU核心的处理过程中,均可以通过该CPU核心上启动的SSL VPN线程进行处理,即SSL VPN线程绑定在哪个CPU核心上,即由该CPU核心进行相关处理,且CPU核心基于该SSL VPN线程找到对应的VPN通道。
基于上述处理,SSL VPN客户端在每个CPU核心上启动一个SSL VPN线程,则SSL VPN客户端上会存在多个SSL VPN线程,且SSL VPN客户端与SSLVPN服务器之间会建立多个VPN通道。SSL VPN客户端上启动的SSL VPN线程的数量与CPU核心数相同,VPN通道的数量与CPU核心数相同。基于此,每个CPU核心可以对应一个SSL VPN线程,每个SSL VPN线程可以对应一个VPN通道,即CPU核心、SSL VPN线程与VPN通道之间存在对应关系。
例如,SSL VPN客户端获取当前运行环境下的多个CPU核心(如CPU核心1、CPU核心2、CPU核心3和CPU核心4等)的CPU核心数4,并在CPU核心1上启动一个SSL VPN线程1,在CPU核心2上启动一个SSL VPN线程2,在CPU核心3上启动一个SSL VPN线程3,在CPU核心4上启动一个SSL VPN线程4。之后,SSL VPN线程1在SSL VPN客户端与SSL VPN服务器之间建立一个VPN通道1,并将VPN通道1分配给SSL VPN线程1,即为CPU核心1分配VPN通道1。SSL VPN线程2在SSL VPN客户端与SSL VPN服务器之间建立一个VPN通道2,并将VPN通道2分配给SSL VPN线程2,即为CPU核心2分配VPN通道2。SSL VPN线程3在SSL VPN客户端与SSL VPN服务器之间建立一个VPN通道3,并将VPN通道3分配给SSL VPN线程3,即为CPU核心3分配VPN通道3。SSL VPN线程4在SSL VPN客户端与SSL VPN服务器之间建立一个VPN通道4,并将VPN通道4分配给SSL VPN线程4,即为CPU核心4分配VPN通道4。
步骤102,针对待发送给SSL VPN服务器的数据,SSL VPN客户端利用该数据的信息以及CPU核心数,确定该数据对应的CPU核心。
本发明实施例中,针对待发送给SSL VPN服务器的数据,SSL VPN客户端利用该数据的信息以及CPU核心数,确定该数据对应的CPU核心的过程,具体可以包括但不限于如下方式:针对待发送给SSL VPN服务器的数据,SSL VPN客户端利用预设分发算法对该数据的信息进行计算,并利用该数据的信息的计算结果以及CPU核心数,确定该数据对应的CPU核心。
本发明实施例中,数据的信息具体可以包括但不限于以下之一或者任意组合:数据的源IP地址、数据的目的IP地址、数据的源端口、数据的目的端口、数据的协议号。其中,上述信息为数据中携带的五元组信息。
本发明实施例中,SSL VPN客户端利用预设分发算法对该数据的信息进行计算的过程,具体可以包括但不限于如下方式:SSL VPN客户端从数据中提取出数据的源IP地址、数据的目的IP地址、数据的源端口、数据的目的端口、数据的协议号等信息,并对数据的源IP地址、数据的目的IP地址、数据的源端口、数据的目的端口、数据的协议号进行求和处理。
本发明实施例中,SSL VPN客户端利用数据的信息的计算结果以及CPU核心数,确定该数据对应的CPU核心的过程,具体包括但不限于如下方式:SSLVPN客户端将数据的信息的计算结果对CPU核心数取余数,得到的结果为该数据对应的CPU核心的标识,继而得到该数据对应的CPU核心。
以源IP地址为2.0.1.2,目的IP地址为3.3.3.3,源端口为8080,目的端口为80,协议号为17的数据为例。SSL VPN客户端对上述源IP地址2.0.1.2,目的IP地址3.3.3.3,源端口8080,目的端口80,协议号17进行求和处理,得到求和结果29494。SSL VPN客户端将求和结果29494对CPU核心数4取余数,即29494%4,得到结果为2,即该数据对应的CPU核心为CPU核心2。
其中,SSL VPN客户端对上述源IP地址2.0.1.2,目的IP地址3.3.3.3,源端口8080,目的端口80,协议号17进行求和处理时,将上述数值2.0.1.2、3.3.3.3、8080、80、17均转换为二进制数值,并对二进制数值进行求和处理。
步骤103,SSL VPN客户端将数据提供给CPU核心,由该CPU核心通过本CPU核心分配的VPN通道将该数据发送给SSL VPN服务器。例如,SSL VPN客户端将源IP地址为2.0.1.2,目的IP地址为3.3.3.3,源端口为8080,目的端口为80,协议号为17的数据提供给CPU核心2,由该CPU核心2通过本CPU核心2分配的VPN通道2将该数据发送给SSL VPN服务器。
本发明实施例中,SSL VPN客户端在每个CPU核心上启动一个SSL VPN线程,且每个SSL VPN线程与SSL VPN服务器之间建立一个VPN通道(即一条SSL VPN连接),基于此,CPU核心、SSL VPN线程与VPN通道之间存在对应关系。在本步骤103中,SSL VPN客户端将数据提供给CPU核心的过程中,SSL VPN客户端可以先确定相应的SSL VPN线程,并确定该SSL VPN线程绑定在哪个CPU核心上,即将数据提供给该CPU核心进行相关处理,且该CPU核心可以基于该SSL VPN线程找到对应的VPN通道。
本发明实施例中,SSL VPN客户端将数据提供给CPU核心,由CPU核心通过本CPU核心分配的VPN通道将数据发送给SSL VPN服务器的过程,具体可以包括但不限于如下方式:针对待发送给SSL VPN服务器的多个数据,当多个数据对应不同的CPU核心时,则SSL VPN客户端分别将多个数据提供给不同的CPU核心,由不同的CPU核心通过本CPU核心分配的VPN通道将提供给本CPU核心的数据发送给SSL VPN服务器,以使多个数据通过不同的VPN通道同时被发送给SSL VPN服务器。
例如,针对待发送给SSL VPN服务器的数据1、数据2、数据3和数据4,当确定数据1对应的CPU核心为CPU核心1,数据2对应的CPU核心为CPU核心2,数据3对应的CPU核心为CPU核心3,数据4对应的CPU核心为CPU核心4时,则SSL VPN客户端将数据1提供给CPU核心1,并将数据2提供给CPU核心2,并将数据3提供给CPU核心3,并将数据4提供给CPU核心4。进一步的,CPU核心1通过本CPU核心1分配的VPN通道1将数据1发送给SSL VPN服务器,CPU核心2通过本CPU核心2分配的VPN通道2将数据2发送给SSL VPN服务器,CPU核心3通过本CPU核心3分配的VPN通道3将数据3发送给SSL VPN服务器,CPU核心4通过本CPU核心4分配的VPN通道4将数据4发送给SSL VPN服务器。其中,上述的数据1、数据2、数据3和数据4可以通过不同的VPN通道同时被发送给SSL VPN服务器。
如图2所示,为多线程传输数据的示意图,每个CPU核心上启动一个SSLVPN线程,即CPU核心1上启动SSL VPN线程1,即CPU核心2上启动SSL VPN线程2,即CPU核心3上启动SSL VPN线程3,即CPU核心4上启动SSL VPN线程4。SSL VPN线程1通过VPN通道1将数据1发送给SSL VPN服务器,SSL VPN线程2通过VPN通道2将数据2发送给SSL VPN服务器,SSL VPN线程3通过VPN通道3将数据3发送给SSL VPN服务器,SSL VPN线程4通过VPN通道4将数据4发送给SSL VPN服务器。
其中,各CPU核心在通过本CPU核心分配的VPN通道将数据发送给SSLVPN服务器之前,还可对该数据进行加密处理,具体的加密方式在此不再赘述。
其中,不同五元组的数据可以被分发到不同的SSL VPN线程处理,并分别从不同的VPN通道进行转发,从而可以同时发送多个数据,提高数据传输效率。
本发明实施例的上述过程中,SSL VPN客户端与SSL VPN服务器之间建立VPN通道的过程,具体可以包括但不限于如下方式:SSL VPN客户端创建一个虚拟网卡,并监听此虚拟网卡上的所有数据。SSL VPN客户端给虚拟网卡配置一个由SSL VPN服务器分配的虚拟IP地址,同时下发内网资源路由、DNS(Domain Name System,域名系统)等信息。SSL VPN客户端使用该虚拟IP地址与SSL VPN服务器之间建立一个SSL会话,专门用来传输虚拟网卡与SSLVPN服务器之间的数据。至此,在SSL VPN客户端与SSL VPN服务器之间建立了VPN通道。进一步的,针对用户设备访问内网资源的数据,可以通过路由到达虚拟网卡,SSL VPN客户端接收到该数据后,可以对该数据进行加密封装等处理,并通过相应的VPN通道转发该数据。
基于上述技术方案,本发明实施例中,通过在SSL VPN客户端与SSL VPN服务器之间建立多个VPN通道,并为每个CPU核心分配一个VPN通道,使得每个CPU核心可以独立的向SSL VPN服务器传输数据。进一步的,每个CPU核心上启动一个SSL VPN线程,多个CPU核心会对应多个线程,将所有数据的加密和转发放在多个线程来处理,通过多线程解决同时传输大量数据时,SSLVPN客户端性能不足的问题,可以有效提高传输大量数据时SSL VPN客户端的处理性能,降低数据的传输延时,提高处理效率。
基于与上述方法同样的发明构思,本发明实施例还提供一种数据的传输装置,应用于包括SSL VPN客户端和SSL VPN服务器的系统中,该SSL VPN客户端运行在多核CPU环境中,该数据的传输装置应用在SSL VPN客户端上。该数据的传输装置可以通过软件实现,也可通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的SSL VPN客户端的处理器,将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本发明提出的数据的传输装置所在SSLVPN客户端的一种硬件结构图,除了图3所示的处理器、网络接口、内存以及非易失性存储器外,SSL VPN客户端还可包括其他硬件,如负责处理报文的转发芯片等;从硬件结构上来讲,该SSL VPN客户端还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图4所示,为本发明实施例中提出的数据的传输装置的结构图,所述数据的传输装置具体包括:建立模块11,用于在SSL VPN客户端与SSL VPN服务器之间建立与CPU核心数所对应的多个VPN通道,并为每个CPU核心分配一个VPN通道;确定模块12,用于针对待发送给所述SSL VPN服务器的数据,利用所述数据的信息和所述CPU核心数,确定所述数据对应的CPU核心;发送模块13,用于将所述数据提供给所述CPU核心,由所述CPU核心通过自身分配的VPN通道将所述数据发送给所述SSL VPN服务器。
在所述SSL VPN客户端与所述SSL VPN服务器之间建立与CPU核心数所对应的多个VPN通道,并为每个CPU核心分配一个VPN通道的过程中,所述建立模块11,具体用于获取当前运行环境下的CPU核心数,并在每个CPU核心上启动一个SSL VPN线程,由每个CPU核心的SSL VPN线程控制该CPU核心,在所述SSL VPN客户端与所述SSL VPN服务器之间建立一个VPN通道,并将该VPN通道分配给该CPU核心的SSL VPN线程。
在针对待发送给所述SSL VPN服务器的数据,利用所述数据的信息以及所述CPU核心数,确定所述数据对应的CPU核心的过程中,针对待发送给所述SSL VPN服务器的数据,所述确定模块12,具体用于利用预设分发算法对所述数据的信息进行计算,并利用所述数据的信息的计算结果以及所述CPU核心数,确定所述数据对应的CPU核心。
本发明实施例中,所述数据的信息具体包括以下之一或者任意组合:所述数据的源IP地址、所述数据的目的IP地址、所述数据的源端口、所述数据的目的端口、所述数据的协议号。
所述发送模块13,具体用于在将所述数据提供给所述CPU核心,由所述CPU核心通过自身分配的VPN通道将所述数据发送给所述SSL VPN服务器的过程中,针对待发送给所述SSL VPN服务器的多个数据,当所述多个数据对应不同的CPU核心时,则分别将所述多个数据提供给不同的CPU核心,由不同的CPU核心通过本CPU核心分配的VPN通道将提供给本CPU核心的数据发送给所述SSL VPN服务器,以使所述多个数据通过不同的VPN通道同时被发送给所述SSL VPN服务器。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种数据的传输方法,应用于包括安全套接口层SSL虚拟专用网络VPN客户端和SSL VPN服务器的系统中,其特征在于,所述SSL VPN客户端运行在多核中央处理器CPU环境中,所述方法包括以下步骤:
所述SSL VPN客户端与所述SSL VPN服务器之间建立与CPU核心数所对应的多个VPN通道,并为每个CPU核心分配一个VPN通道;
针对待发送给所述SSL VPN服务器的数据,所述SSL VPN客户端利用所述数据的信息以及所述CPU核心数,确定所述数据对应的CPU核心;
所述SSL VPN客户端将所述数据提供给所述CPU核心,由所述CPU核心通过自身分配的VPN通道将所述数据发送给所述SSL VPN服务器。
2.根据权利要求1所述的方法,其特征在于,所述SSL VPN客户端与所述SSL VPN服务器之间建立与CPU核心数所对应的多个VPN通道,并为每个CPU核心分配一个VPN通道的过程,具体包括:
所述SSL VPN客户端获取当前运行环境下的CPU核心数,并在每个CPU核心上启动一个SSL VPN线程,由每个CPU核心的SSL VPN线程控制该CPU核心,在所述SSL VPN客户端与所述SSL VPN服务器之间建立一个VPN通道,并将该VPN通道分配给该CPU核心的SSL VPN线程。
3.根据权利要求1所述的方法,其特征在于,针对待发送给所述SSL VPN服务器的数据,所述SSL VPN客户端利用所述数据的信息以及所述CPU核心数,确定所述数据对应的CPU核心的过程,具体包括:
针对待发送给所述SSL VPN服务器的数据,所述SSL VPN客户端利用预设分发算法对所述数据的信息进行计算,并利用所述数据的信息的计算结果以及所述CPU核心数,确定所述数据对应的CPU核心。
4.根据权利要求1或3所述的方法,其特征在于,所述数据的信息具体包括以下之一或者任意组合:所述数据的源IP地址、所述数据的目的IP地址、所述数据的源端口、所述数据的目的端口、所述数据的协议号。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述SSL VPN客户端将所述数据提供给所述CPU核心,由所述CPU核心通过自身分配的VPN通道将所述数据发送给所述SSL VPN服务器的过程,具体包括:
针对待发送给所述SSL VPN服务器的多个数据,当所述多个数据对应不同的CPU核心时,则所述SSL VPN客户端分别将所述多个数据提供给不同的CPU核心,由不同的CPU核心通过本CPU核心分配的VPN通道将提供给本CPU核心的数据发送给所述SSL VPN服务器,以使所述多个数据通过不同的VPN通道同时被发送给所述SSL VPN服务器。
6.一种数据的传输装置,应用于包括安全套接口层SSL虚拟专用网络VPN客户端和SSL VPN服务器的系统中,其特征在于,所述SSL VPN客户端运行在多核中央处理器CPU环境中;其中,所述数据的传输装置应用在所述SSL VPN客户端上,且所述数据的传输装置具体包括:
建立模块,用于在SSL VPN客户端与SSL VPN服务器之间建立与CPU核心数所对应的多个VPN通道,并为每个CPU核心分配一个VPN通道;
确定模块,用于针对待发送给所述SSL VPN服务器的数据,利用所述数据的信息以及所述CPU核心数,确定所述数据对应的CPU核心;
发送模块,用于将所述数据提供给所述CPU核心,由所述CPU核心通过自身分配的VPN通道将所述数据发送给所述SSL VPN服务器。
7.根据权利要求6所述的装置,其特征在于,
在所述SSL VPN客户端与所述SSL VPN服务器之间建立与CPU核心数所对应的多个VPN通道,并为每个CPU核心分配一个VPN通道的过程中,所述建立模块,具体用于获取当前运行环境下的CPU核心数,并在每个CPU核心上启动一个SSL VPN线程,由每个CPU核心的SSL VPN线程控制该CPU核心,在所述SSL VPN客户端与所述SSL VPN服务器之间建立一个VPN通道,并将该VPN通道分配给该CPU核心的SSL VPN线程。
8.根据权利要求6所述的装置,其特征在于,
在针对待发送给所述SSL VPN服务器的数据,利用所述数据的信息以及所述CPU核心数,确定所述数据对应的CPU核心的过程中,针对待发送给所述SSL VPN服务器的数据,所述确定模块,具体用于利用预设分发算法对所述数据的信息进行计算,并利用所述数据的信息的计算结果以及所述CPU核心数,确定所述数据对应的CPU核心。
9.根据权利要求6或8所述的装置,其特征在于,所述数据的信息具体包括以下之一或者任意组合:所述数据的源IP地址、所述数据的目的IP地址、所述数据的源端口、所述数据的目的端口、所述数据的协议号。
10.根据权利要求6-8任一项所述的装置,其特征在于,
所述发送模块,具体用于在将所述数据提供给所述CPU核心,由所述CPU核心通过自身分配的VPN通道将所述数据发送给所述SSL VPN服务器的过程中,针对待发送给所述SSL VPN服务器的多个数据,当所述多个数据对应不同的CPU核心时,则分别将所述多个数据提供给不同的CPU核心,由不同的CPU核心通过本CPU核心分配的VPN通道将提供给本CPU核心的数据发送给所述SSL VPN服务器,以使所述多个数据通过不同的VPN通道同时被发送给所述SSL VPN服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510530221.4A CN105939312A (zh) | 2015-08-26 | 2015-08-26 | 一种数据的传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510530221.4A CN105939312A (zh) | 2015-08-26 | 2015-08-26 | 一种数据的传输方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105939312A true CN105939312A (zh) | 2016-09-14 |
Family
ID=57152777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510530221.4A Pending CN105939312A (zh) | 2015-08-26 | 2015-08-26 | 一种数据的传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105939312A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106888145A (zh) * | 2017-03-17 | 2017-06-23 | 新华三技术有限公司 | 一种vpn资源访问方法及装置 |
CN106911508A (zh) * | 2017-02-28 | 2017-06-30 | 杭州迪普科技股份有限公司 | Dns配置的恢复方法和装置 |
CN107102382A (zh) * | 2017-03-20 | 2017-08-29 | 南京信息工程大学 | 一种动态解析气象数据转发装置 |
CN108718268A (zh) * | 2017-04-07 | 2018-10-30 | 格尔软件股份有限公司 | 一种提高vpn服务端并发处理性能的方法 |
CN109874027A (zh) * | 2019-03-11 | 2019-06-11 | 宸瑞普惠(广州)科技有限公司 | 一种低延时手术示教直播方法及其系统 |
CN110601950A (zh) * | 2019-10-08 | 2019-12-20 | 河南省云安大数据安全防护产业技术研究院有限公司 | 一种基于dtls协议的vpn网关系统和实现方法 |
CN111447132A (zh) * | 2020-03-16 | 2020-07-24 | 广州华多网络科技有限公司 | 数据传输方法、装置、系统以及计算机存储介质 |
CN113726737A (zh) * | 2021-07-26 | 2021-11-30 | 绿盟科技集团股份有限公司 | 一种通信方法、设备及介质 |
CN114866499A (zh) * | 2022-04-27 | 2022-08-05 | 曙光信息产业(北京)有限公司 | 片上多核系统的同步广播通信方法、装置和存储介质 |
CN110324370B (zh) * | 2018-03-29 | 2023-05-30 | 北京京东尚科信息技术有限公司 | 服务端向客户端推送数据的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060056406A1 (en) * | 2004-09-10 | 2006-03-16 | Cavium Networks | Packet queuing, scheduling and ordering |
CN102377754A (zh) * | 2010-08-20 | 2012-03-14 | 上海海加网络科技有限公司 | 一种基于fdp250k-ii fpga芯片与cpu并行加解密计算的ssl vpn实现方法 |
CN102801695A (zh) * | 2011-05-27 | 2012-11-28 | 华耀(中国)科技有限公司 | 虚拟专用网通信设备及其数据包传输方法 |
CN102811169A (zh) * | 2012-07-24 | 2012-12-05 | 成都卫士通信息产业股份有限公司 | 采用哈希算法进行多核并行处理的vpn实现方法及系统 |
-
2015
- 2015-08-26 CN CN201510530221.4A patent/CN105939312A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060056406A1 (en) * | 2004-09-10 | 2006-03-16 | Cavium Networks | Packet queuing, scheduling and ordering |
CN102377754A (zh) * | 2010-08-20 | 2012-03-14 | 上海海加网络科技有限公司 | 一种基于fdp250k-ii fpga芯片与cpu并行加解密计算的ssl vpn实现方法 |
CN102801695A (zh) * | 2011-05-27 | 2012-11-28 | 华耀(中国)科技有限公司 | 虚拟专用网通信设备及其数据包传输方法 |
CN102811169A (zh) * | 2012-07-24 | 2012-12-05 | 成都卫士通信息产业股份有限公司 | 采用哈希算法进行多核并行处理的vpn实现方法及系统 |
Non-Patent Citations (1)
Title |
---|
吴峰: "基于硬件加速设备的SSL VPN性能提升研究", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106911508A (zh) * | 2017-02-28 | 2017-06-30 | 杭州迪普科技股份有限公司 | Dns配置的恢复方法和装置 |
CN106911508B (zh) * | 2017-02-28 | 2020-03-06 | 杭州迪普科技股份有限公司 | Dns配置的恢复方法和装置 |
CN106888145A (zh) * | 2017-03-17 | 2017-06-23 | 新华三技术有限公司 | 一种vpn资源访问方法及装置 |
CN106888145B (zh) * | 2017-03-17 | 2019-11-12 | 新华三技术有限公司 | 一种vpn资源访问方法及装置 |
CN107102382A (zh) * | 2017-03-20 | 2017-08-29 | 南京信息工程大学 | 一种动态解析气象数据转发装置 |
CN107102382B (zh) * | 2017-03-20 | 2019-12-06 | 南京信息工程大学 | 一种动态解析气象数据转发装置 |
CN108718268B (zh) * | 2017-04-07 | 2022-01-28 | 格尔软件股份有限公司 | 一种提高vpn服务端并发处理性能的方法 |
CN108718268A (zh) * | 2017-04-07 | 2018-10-30 | 格尔软件股份有限公司 | 一种提高vpn服务端并发处理性能的方法 |
CN110324370B (zh) * | 2018-03-29 | 2023-05-30 | 北京京东尚科信息技术有限公司 | 服务端向客户端推送数据的方法和装置 |
CN109874027A (zh) * | 2019-03-11 | 2019-06-11 | 宸瑞普惠(广州)科技有限公司 | 一种低延时手术示教直播方法及其系统 |
CN110601950B (zh) * | 2019-10-08 | 2021-06-01 | 河南省云安大数据安全防护产业技术研究院有限公司 | 一种基于dtls协议的vpn网关系统和实现方法 |
CN110601950A (zh) * | 2019-10-08 | 2019-12-20 | 河南省云安大数据安全防护产业技术研究院有限公司 | 一种基于dtls协议的vpn网关系统和实现方法 |
CN111447132B (zh) * | 2020-03-16 | 2021-12-21 | 广州方硅信息技术有限公司 | 数据传输方法、装置、系统以及计算机存储介质 |
CN111447132A (zh) * | 2020-03-16 | 2020-07-24 | 广州华多网络科技有限公司 | 数据传输方法、装置、系统以及计算机存储介质 |
CN113726737A (zh) * | 2021-07-26 | 2021-11-30 | 绿盟科技集团股份有限公司 | 一种通信方法、设备及介质 |
CN114866499A (zh) * | 2022-04-27 | 2022-08-05 | 曙光信息产业(北京)有限公司 | 片上多核系统的同步广播通信方法、装置和存储介质 |
CN114866499B (zh) * | 2022-04-27 | 2024-02-23 | 曙光信息产业(北京)有限公司 | 片上多核系统的同步广播通信方法、装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105939312A (zh) | 一种数据的传输方法和装置 | |
EP3491799B1 (en) | Channel data encapsulation system and method for use with client-server data channels | |
JP4053967B2 (ja) | Vlanサーバ | |
Caulfield et al. | Configurable clouds | |
Bays et al. | Security-aware optimal resource allocation for virtual network embedding | |
EP3596600B1 (en) | Systems and methods for compute node management protocols | |
CN106790221B (zh) | 一种英特网协议安全IPSec协议加密方法和网络设备 | |
CN102143088B (zh) | 一种基于ssl vpn的数据转发方法和设备 | |
CN103238301A (zh) | 用于在路由器处管理话务的技术 | |
CN109479028A (zh) | 网络接口卡、计算设备以及数据包处理方法 | |
WO2019178756A1 (zh) | Sd-wan系统、sd-wan系统的使用方法及相关装置 | |
CN105939240B (zh) | 负载均衡方法及装置 | |
CN108040019B (zh) | 报文转发的方法及装置 | |
CN103649939A (zh) | 具有通信量产生能力的网络交换机 | |
CN103546276A (zh) | 通信设备、通信方法以及通信系统 | |
US20160196073A1 (en) | Memory Module Access Method and Apparatus | |
CN106982179A (zh) | 一种网络流量控制方法以及交换机设备 | |
CN105472023A (zh) | 一种远程直接存储器存取的方法及装置 | |
JP2016046736A (ja) | サービスチェイニングシステム、サービスチェイニングフォワーダ装置、及びサービスチェイニング方法 | |
CN113783789B (zh) | 一种报文限速方法及装置 | |
US7603463B2 (en) | Method and apparatus for allocating processing capacity of system processing units in an extranet gateway | |
CN105991755A (zh) | 业务报文分发方法及装置 | |
CN105245365B (zh) | 一种虚拟网络的参数配置方法、设备和系统 | |
CN112367160A (zh) | 一种虚拟量子链路服务方法与装置 | |
CN106254154A (zh) | 一种资源共享方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant after: Hangzhou Dipu Polytron Technologies Inc Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant before: Hangzhou Dipu Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160914 |
|
RJ01 | Rejection of invention patent application after publication |