一种数据传输方法、设备和存储介质与流程

文档序号:13450038阅读:132来源:国知局
一种数据传输方法、设备和存储介质与流程

本发明涉及网络安全技术领域,特别是涉及一种数据传输方法、设备和存储介质。



背景技术:

在某些场景下,由于数据传输使用的协议为非标准的三层协议,所以数据仅可以在二层网络中传输,无法在广域网中进行传输,如果希望数据在广域网中传输就需要部署运营商专线,并且在三层结构中将该类数据进行封装。

目前,在三层结构中对数据进行封装的步骤如下:

ip(internetprotocol,互联网协议)设备从用户侧端口接收到原始以太网报文后,为该报文增加其所属的vpn(virtualprivatenetwork,虚拟专用网络)的mpls(multi-protocollabelswitching,多协议标签交换)标签,该mpls标签对应的出端口为gre(genericroutingencapsulation,通用路由封装)隧道端口;在报文前面再添加一层gre封装;查找gre接口所对应的出口(ipsec(internetprotocolsecurity,互联网协议安全性)隧道端口),再对报文做ipsec加密处理;查找该ipsec隧道所对应的真正的物理端口,将带vpn标签和gre封装的ipsec报文发送到物理链路上去。

经过上述封装的报文被传输到远端设备,远端设备先执行ipsec解密处理,恢复成原始的gre报文;再对gre报文进行解封装处理,根据gre封装类型为mpls标签报文,得到含vpn标签的私网原始报文;剥离vpn标签,得到原始报文,并根据vpn标签查找vpn转发表,得到报文要发送的出接口,将原始报文从该接口发送出去。

虽然现有技术可以使二层报文在广域网中传输,实现了私网报文跨越ip公网传递,但是运营商专线部署的整体成本较高,并且数据传输至少需要进行mpls协议封装,再进行gre协议封装,最后进行ipsec协议封装,这样的多次数据封装,降低了数据的转发性能,同时由于多次封装,数据中携带了较多的封装信息,降低了有效数据的传输静载率,进一步降低了数据转发性能。



技术实现要素:

本发明要解决的技术问题是一种数据传输方法、设备和存储介质,用以解决现有技术中,二层数据在广域网中点对点传输的传输性能差的问题。

为了解决上述技术问题,本发明是通过以下技术方案来解决的:

本发明提供了一种数据传输方法,在数据传输设备执行,包括:接收来自二层网络的二层数据;根据互联网协议安全性封装安全负载ipsecesp协议,封装所述二层数据,得到三层数据;将所述三层数据向传输网络发送。

其中,预先存储数据发送表;其中,所述数据发送表中,包括:对端数据传输设备对应的二层网络中的终端设备的地址以及所述对端数据传输设备对应的传输隧道信息。

其中,所述根据ipsecesp协议,封装所述二层数据,得到三层数据,包括:如果在所述数据发送表中存在与所述二层数据的目的地址相匹配的地址,则根据ipsecesp协议,封装所述二层数据,得到三层数据;所述将所述三层数据向传输网络发送,包括:根据所述数据发送表中的地址、对端数据传输设备和传输隧道信息的对应关系,将所述三层数据通过对应的传输隧道向对应的对端数据传输设备发送。

其中,接收来自所述传输网络的三层数据;根据所述ipsecesp协议,解封装所述三层数据,得到二层数据;将所述二层数据转发给二层网络中的终端设备。

其中,所述方法还包括:预先存储数据接收表;其中,所述数据接收表中,包括:本端数据传输设备对应的二层网络中的终端设备的地址;所述将所述二层数据转发给二层网络中的终端设备,包括:如果在所述数据接收表中存在与所述二层数据的目的地址相匹配的地址,则将所述二层数据转发给所述地址对应的终端设备。

本发明提供了一种数据传输设备,所述数据传输设备包括处理器、存储器;所述处理器用于执行存储器中存储的数据传输程序,以实现以下步骤:接收来自二层网络的二层数据;根据互联网协议安全性封装安全负载ipsecesp协议,封装所述二层数据,得到三层数据;将所述三层数据向传输网络发送。

其中,所述处理器还用于执行存储器中存储的数据传输程序,以实现以下步骤:预先存储数据发送表;其中,所述数据发送表中,包括:对端数据传输设备对应的二层网络中的终端设备的地址以及所述对端数据传输设备对应的传输隧道信息;如果在所述数据发送表中存在与所述二层数据的目的地址相匹配的地址,则根据ipsecesp协议,封装所述二层数据,得到三层数据;根据所述数据发送表中的地址、对端数据传输设备和传输隧道信息的对应关系,将所述三层数据通过对应的传输隧道向对应的对端数据传输设备发送。

其中,所述处理器还用于执行存储器中存储的数据传输程序,以实现以下步骤:接收来自所述传输网络的三层数据;根据所述ipsecesp协议,解封装所述三层数据,得到二层数据;将所述二层数据转发给二层网络中的终端设备。

其中,所述处理器还用于执行存储器中存储的数据传输程序,以实现以下步骤:预先存储数据接收表;其中,所述数据接收表中,包括:本端数据传输设备对应的二层网络中的终端设备的地址;如果在所述数据接收表中存在与所述二层数据的目的地址相匹配的地址,则将所述二层数据转发给所述地址对应的终端设备。

本发明还提供了一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的数据传输方法。

本发明有益效果如下:

本发明避免了对二层数据执行mpls协议封装、gre协议封装、ipsec协议封装等多次封装过程,提高了数据传输效率,提升了数据传输性能,而且本发明无需建立运营商专线,降低了整体成本。

附图说明

图1是根据本发明实施例一的数据传输系统的结构图;

图2是根据本发明实施例二的数据传输方法的流程图;

图3是根据本发明实施例三的数据传输方法的流程图;

图4是根据本发明实施例四的数据传输方法的示意图;

图5是根据本发明实施例五的数据传输设备的结构图。

具体实施方式

以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。

实施例一

本实施例提供一种数据传输系统。如图1所示,为根据本发明实施例一的数据传输系统的结构图。

在该数据传输系统中,包括:至少两个数据传输设备。

数据传输系统中的数据传输设备需双臂部署,其中,数据传输设备的一端连接二层网络,另一端连接传输网络。在二层网络中设置终端设备。

数据传输系统中的数据传输设备可以通过传输网络通信。通信双方的数据传输设备预先获知对方的地址。该地址包括:mac(mediaaccesscontrol,媒体访问控制)地址和/或ip(internetprotocol,互联网协议)地址。

数据传输设备预先存储本端数据传输设备对应的二层网络中的终端设备的地址、对端数据传输设备对应的二层网络中的终端设备的地址以及本端数据传输设备和对端数据传输设备的传输隧道信息。终端设备的地址包括:mac地址和/或ip地址。

二层网络中的终端设备可以将二层数据发送到对应的数据传输设备,由该数据传输设备根据ipsecesp(encapsulatingsecuritypayload,封装安全负载)协议将该二层数据封装成三层数据;再根据二层数据的目的地址,将封装完成的三层数据通过对应的传输隧道发送出去。

二层网络中的数据传输设备可以从传输网络接收三层数据;根据ipsecesp协议对三层数据解封装,得到二层数据;根据该二层数据的源地址可以获知该三层数据来源的终端设备对应的对端数据传输设备;根据该二层数据的目的地址可以获知该目的地址对应的终端设备是否存在于本端数据传输设备对应的二层网络中。如果目的地址对应的终端设备存在于本端数据传输设备对应的二层网络中,则将二层数据转发给该终端设备。

本实施例避免了对二层数据执行mpls协议封装、gre协议封装、ipsec协议封装等多次封装过程,提高了数据传输效率,提升了数据传输性能,而且本实施例无需建立运营商专线,降低了整体成本。

实施例二

基于上述数据传输系统,本实施例提供一种数据传输方法。本实施例的执行主体是数据传输设备。本实施例主要描述数据传输设备的数据发送过程。

如图2所示,是根据本发明实施例二的数据传输方法的流程图。

步骤s210,接收来自二层网络的二层数据。

该二层数据例如是二层报文。

步骤s220,根据ipsecesp协议,封装所述二层数据,得到三层数据。

ipsecesp协议是一种ipsec传输中使用的数据加密协议。

在接收到二层数据之后,先使用预先准备的密钥,对二层数据进行加密处理,再根据ipsecesp协议封装加密处理后的二层数据,得到三层数据。

步骤s230,将所述三层数据向传输网络发送。

具体的,本端数据传输设备可以预先存储数据发送表。该数据发送表中包括但不限于:对端数据传输设备对应的二层网络中的终端设备的地址以及所述对端数据传输设备对应的传输隧道信息。终端设备的地址可以是终端设备的mac地址和/或ip地址。该传输隧道信息可以是传输隧道ip地址。

如果在所述数据发送表中存在与所述二层数据的目的地址相匹配的地址,则根据ipsecesp协议,封装所述二层数据(可以采取加密封装的方式),得到三层数据;根据所述数据发送表中的地址、对端数据传输设备和传输隧道信息的对应关系,将所述三层数据通过对应的传输隧道向对应的对端数据传输设备发送。传输隧道指的是利用一种网络协议来传输另一种网络协议,主要利用网络隧道协议来实现这种功能。进一步地,根据二层数据的目的地址可以确定该目的地址对应的终端设备,进而可以确定该终端设备所属的二层网络对应的数据传输设备(对端数据传输设备),从而可以确定该对端数据传输设备对应的传输隧道信息,对三层数据进行ip协议封装并根据该传输隧道信息通过传输隧道发送出去,以便对端数据传输设备可以接收到该三层数据。

如果在所述数据发送表中不存在与所述二层数据的目的地址相匹配的地址,则可以丢弃该二层数据,或者对二层数据先执行mpls协议封装、gre协议封装和ipsec协议封装,再通过预先建立运营商专线发送给对端数据传输设备。

本实施例在数据传输时采用ipsecesp协议封装,将二层数据封装在三层隧道内,使其可以在广域网中传递,避免对二层数据进行多次封装降低传输性能的问题,提升了数据传输效率,提高了有效数据的传输静载率。进一步地,由于该ipsecesp协议可扩展多种加密算法,可进一步确保数据的安全性。

实施例三

基于上述数据传输系统,本实施例提供一种数据传输方法。本实施例的执行主体是数据传输设备。本实施例主要描述数据传输设备的数据接收过程。

如图3所示,是根据本发明实施例三的数据传输方法的流程图。

步骤s310,接收来自传输网络的三层数据。

步骤s320,根据ipsecesp协议,解封装所述三层数据,得到二层数据。

在接收到三层数据之后,根据ipsecesp协议拆除三层数据的封装,得到二层数据,如果该二层数据为加密后的数据,则使用预先准备的密钥对该二层数据进行解密处理。如果解密成功,则可以执行步骤s330,如果解密失败,则丢弃该二层数据。

步骤s330,将所述二层数据转发给二层网络中的终端设备。

具体的,本端数据传输设备可以预先存储数据接收表;其中,所述数据接收表中包括但不限于:本端数据传输设备对应的二层网络中的终端设备的地址。

如果在所述数据接收表中存在与所述二层数据的目的地址相匹配的地址,则将所述二层数据转发给所述地址对应的终端设备。如果在所述数据接收表中不存在与所述二层数据的目的地址相匹配的地址,则丢弃所述二层数据。

数据接收表和数据发送表可以合并在同一个表中,也可以分拆出多个包含不同类目的表。

实施例四

下面给出一个实例来进一步地的描述本发明的数据传输方法。图4是根据本发明实施例四的数据传输方法的示意图。

在本实施例中,数据传输系统包括数据传输设备a、数据传输设备b和数据传输设备c。

数据传输设备a对应的二层网络1中设置有主机1、主机2和主机3,主机1、主机2和主机3通过交换机1连接数据传输设备a。

数据传输设备b对应的二层网络2中设置有主机4、主机5和主机6,主机4、主机5和主机6通过交换机2连接数据传输设备b。

数据传输设备c对应的二层网络3中设置有主机7、主机8和主机9,主机7、主机8和主机9通过交换机3连接数据传输设备c。

本实施例以数据传输设备a为主体进行描述,那么数据传输设备a相当于上述的本端数据传输设备,数据传输设备b和数据传输设备c相当于上述的对端数据传输设备。数据传输设备a预先存储主机1~主机9的地址、数据传输设备a与数据传输设备b之间的传输隧道信息、以及数据传输设备a与数据传输设备c之间的传输隧道信息。其中,主机4~主机9的地址、三个传输隧道信息可以存储在数据发送表中,主机1~主机3的地址可以存储在数据接收表中。

数据发送过程:数据传输设备a通过交换机1接收到来自二层网络1的二层数据;数据传输设备a根据该二层数据的源地址,确定该二层数据的源设备为主机1,根据该二层数据的目的地址,确定该二层数据需要发送到主机8;数据传输设备a确定主机8在二层网络3中,该二层网络3对应数据传输设备c;数据传输设备a根据ipsecesp协议,封装该二层数据,得到三层数据,根据数据传输设备a和数据传输设备c之间的传输隧道信息,将该三层数据发送给数据传输设备c,以便数据传输设备c在对三层数据解封装之后转发给主机8。

数据接收过程:数据传输设备a接收到来自传输网络的三层数据,并根据ipsecesp协议,解封装该三层数据,得到二层数据;数据传输设备a根据该二层数据的源地址确定该二层数据是二层网络中的主机5发送的,根据该二层数据的目的地址确定该二层数据是主机5发送给二层网络1中的主机3的,将该二层数据转发给该主机3。

实施例五

本实施例还提供了一种计算机程序、存储有该程序的存储介质和数据传输设备。其中,执行该程序用于实现以下步骤:接收来自二层网络的二层数据;根据互联网协议安全性封装安全负载ipsecesp协议,封装所述二层数据,得到三层数据;将所述三层数据向传输网络发送。

进一步地,预先存储数据发送表;其中,所述数据发送表中,包括:对端数据传输设备对应的二层网络中的终端设备的地址以及所述对端数据传输设备对应的传输隧道信息。

进一步地,所述根据ipsecesp协议,封装所述二层数据,得到三层数据,包括:如果在所述数据发送表中存在与所述二层数据的目的地址相匹配的地址,则根据ipsecesp协议,封装所述二层数据,得到三层数据;所述将所述三层数据向传输网络发送,包括:根据所述数据发送表中的地址、对端数据传输设备和传输隧道信息的对应关系,将所述三层数据通过对应的传输隧道向对应的对端数据传输设备发送。

进一步地,接收来自所述传输网络的三层数据;根据所述ipsecesp协议,解封装所述三层数据,得到二层数据;将所述二层数据转发给二层网络中的终端设备。

进一步地,预先存储数据接收表;其中,所述数据接收表中,包括:本端数据传输设备对应的二层网络中的终端设备的地址;所述将所述二层数据转发给二层网络中的终端设备,包括:如果在所述数据接收表中存在与所述二层数据的目的地址相匹配的地址,则将所述二层数据转发给所述地址对应的终端设备。

该存储介质主要是用于存储上述程序,因此,本实施例不再详细描述存储介质内的程序;而存储介质只要能存储上述程序即可。

前述实施例所公开数据传输设备对应的数据传输方法的技术方案可以通过在数据传输设备中实施执行,以得到对应的数据传输设备。图5是本发明实施例的一种实现数据传输方法的数据传输设备的硬件结构示意图。如图5所示,数据传输设备500可以包括一个或多个(图中仅示出一个)处理器510(处理器510可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器520、以及用于通信功能的数据收发器530。本领域普通技术人员可以理解,图5所示的结构仅为示意,其并不对上述电子装置的结构造成单一限定。例如,数据传输设备500通过对上述功能的拆分或合并,还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。

存储器520可以用于存储应用软件的软件程序以及模块,前述实施例中公开的数据传输设备对应的数据传输方法对应的程序指令/模块就可以存储在存储器520,关于寻呼方法在之前的实施例已经详细描述,因此本实施例不再详细重述。

处理器510通过运行(执行)存储在存储器520内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器520可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器520可进一步包括相对于处理器510远程设置的存储器(云存储器),这些远程存储器可以通过网络连接至数据传输设备500。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

数据收发器530用于经由一个网络接收或者发送数据。上述的网络具体实例可包括数据传输设备500的通信供应商提供的无线网络。在一个实例中,数据收发器530包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,数据收发器530包括射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。

尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1