一种基于FPGA实现数据隔离的方法及其设备与流程

文档序号:17861325发布日期:2019-06-11 22:53阅读:448来源:国知局
一种基于FPGA实现数据隔离的方法及其设备与流程

本发明设涉及网络通信技术领域,特别涉及一种基于fpga实现数据隔离的方法及其设备。



背景技术:

音视频产业是信息产业的重要组成部分,随着数字化音视频的发展,通过地面、卫星、有线等方式接收到的音视频数据在很大的应用场景下都会通过网络的方式发送出去。众所周知,音视频数据是一种数据量很大的数据,即使通过编码之后,音视频数据也相较于其他的数据量大。发送这些数据包到网络中时,容易造成网络的拥堵、网络风暴等情况。

在现有技术中,通过交换机划分虚拟局域网,以避免网络拥堵情况;一般通过vlan进行虚拟局域网来进行避免网络拥堵、隔离数据。而虚拟局域网根据端口或者ip、mac地址等方式来划分,仅是用于网络设备间划分局域网的作用,要实现数据隔离需要设置多个端口,设备的制造成本较高。



技术实现要素:

本发明为了解决上述技术问题,提供了一种基于fpga实现数据隔离的前端设备,旨在降低设备的制造成本。

一种基于fpga实现数据隔离的方法,包括:

获取传输数据包,确定所述传输数据包对应的端口标识及网络协议;

判断所述端口标识及网络协议是否满足预设条件;

若是,则对所述端口标识进行处理,并将所述处理了端口标识后的传输数据包进行发送。

所述判断所述端口标识及网络协议是否满足预设条件,包括:判断所述端口标识是否为预设端口;若所述端口标识为预设端口,则将传输数据包进行发送;若所述端口标识非预设端口,则判断所述网络协议是否为预设协议。

所述判断所述网络协议是否为预设协议;当所述网络协议与预设协议不一致,则将所述传输数据包丢弃。

所述对所述端口标识进行处理,包括:判断所述输入传输数据包中的对应字段是否为vlan标识0x8100;若是,则去除所述传输数据包的标识,更新所述传输数据包的检验字段;否则进行接收处理。

所述对所述端口标识进行处理,包括:判断所述输出传输数据包中的协议类型是否是预设需要添加vlan标识0x8100;若是,则进行添加vlan标识,更新所述传输数据包的检验字段;否则进行发送处理。

所述传输数据包为以太网数据帧或ieee802.1q数据帧。

一种基于fpga实现数据隔离的设备,包括:

多件子板,内置有fpga模块,用于接收和/或发送传输数据包;

交换机,与所述多件子板通讯连接,用于划分多个虚拟局域网;

其中,所述fpga模块用于:获取传输数据包,确定所述传输数据包对应的端口标识及网络协议;判断所述端口标识及网络协议是否满足预设条件;若是,则对所述端口标识进行处理,并将所述处理了端口标识后的传输数据包进行发送。

所述fpga模块还用于:判断所述端口标识是否为预设端口;若所述端口标识为预设端口,则将传输数据包进行发送;若所述端口标识非预设端口,则判断所述网络协议是否为预设协议。

所述fpga模块包括可配置逻辑单元、静态存储单元、输入输出单元、内部线路,所述可配置逻辑单元、所述静态存储单元、所述输入输出单元通过内部线路进行连接;所述可配置逻辑单元通过向内部静态存储单元加载编程数据,以实现组合逻辑功能及时序逻辑功能,所述通过所述输入输出单元输出指令。

所述交换机设置有access接口、trunk接口;所述access接口与用户主机相连,所述trunk接口与所述子板相连。

所述交换机为2.5层或3层带路由功能的交换机。

本发明的公开的一种基于fpga实现数据隔离的方法及其设备,其有益效果在于:通过判断传输数据包的端口标识及网络协议是否满足预设条件;及对所述端口标识进行处理,将所述处理了端口标识后的传输数据包进行发送;实现不同协议类型的数据进行划分虚拟局域网,以实现数据隔离,对某些保密的数据划分在特定网络中达到数据安全的作用,相对增加设备硬件网口的基于实际物理器件形式的隔离方式,降低了设备的制造成本。

附图说明

图1为本发明实施例一的实现数据隔离的方法示意图;

图2为本发明实施例一的判断端口标识及网络协议是否满足预设条件示意图;

图3为本发明实施例二的实现数据隔离的设备示意图;

图4为本发明以太网数据帧与ieee802.1q数据帧转换示意图;

其中,1-交换机,2-子板,3通讯线路。

具体实施方式

下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征更易被本领域技术人员理解,从而对本发明的保护范围作出更为清楚的界定。

在本发明实施例中,一种基于fpga实现数据隔离的方法,将不同协议类型的数据进行vlan的划分,实现数据隔离,对某些保密的数据划分在特定网络中达到数据安全的作用。

实施例一:

参见图1,本发明实施例提供了一种基于fpga实现数据隔离的方法,包括:

步骤s1:获取传输数据包,确定传输数据包对应的端口标识及网络协议。

步骤s2:判断端口标识及网络协议是否满足预设条件。

步骤s3:若是,则对端口标识进行处理,并将处理了端口标识后的传输数据包进行发送。

在本实施例中,通过对端口标识进行处理,使不同端口标识的数据包,在同一网络协议下可进行数据传输,实现数据隔离,对特定数据划分在特定网络中达到数据安全的作用。

参见图2,在本发明实施例中,判断端口标识及网络协议是否满足预设条件,包括:

步骤s21:判断端口标识是否为预设端口。

步骤s22:若端口标识为预设端口,则将传输数据包进行发送。

在步骤s22中,进行传输数据包时,传输数据包的端口标识与预设端口标识相同,即传输数据包的目标mac地址为预设端口地址,可直接进行数据发送。

步骤s23:若端口标识非预设端口,则判断网络协议是否为预设协议。

在本步骤23中,本方法旨在同一网络协议下进行数据传输,若网络协议与预设协议不一致,则将传输数据包丢弃;若网络协议与预设协议一致,即可进行步骤s3。

在本发明实施例中,对端口标识进行处理,包括:

所述对所述端口标识进行处理,包括:判断所述输入传输数据包中的对应字段是否为vlan标识0x8100;若是,则去除所述传输数据包的标识,更新所述传输数据包的检验字段;否则进行接收处理。

所述对所述端口标识进行处理,包括:判断所述输出传输数据包中的协议类型是否是预设需要添加vlan标识0x8100;若是,则进行添加vlan标识,更新所述传输数据包的检验字段;否则进行发送处理。

在步骤s3中,对应字段为数据帧标识字段,若传输数据包为以太网数据帧,则对应字段位于发射源mac地址后;若传输数据包为ieee802.1q数据帧,对应字段为tpid字段,若查询对应字段为0x8100,则为ieee802.1q数据帧,否则为以太网数据帧。若查询对应字段为0x8100,则为ieee802.1q数据帧,其端口标识与预设端口不同,需将其标识去除,以匹配预设端口,使传输数据包完成传输;若查询对应字段非0x8100,则为以太网数据帧,其端口标识与预设端口不同,需将在对应字段内添加端口标识,以匹配预设端口,使传输数据包完成传输。对传输数据包相应字段进行去除或添加时,需对传输数据包的检验字段进行更新,使目标数据接收端接收数据。

其中,传输数据包为以太网数据帧或ieee802.1q数据帧,对应字段为数据包中标识字段。

在本发明实施例中,通过判断传输数据包的端口标识及网络协议是否满足预设条件;及对所述端口标识进行处理,将所述处理了端口标识后的传输数据包进行发送;实现不同协议类型的数据进行划分虚拟局域网,以实现数据隔离,对某些保密的数据划分在特定网络中达到数据安全的作用,相对增加设备硬件网口的基于实际物理器件形式的隔离方式,降低了设备的制造成本。

实施例二:

参见图3,本发明还提供了一种基于fpga实现数据隔离的设备,包括

多件子板,内置有fpga模块,用于接收和/或发送传输数据包;

交换机,与多件子板通讯连接,用于划分多个虚拟局域网;

其中,fpga模块用于:获取传输数据包,确定传输数据包对应的端口标识及网络协议;判断端口标识及网络协议是否满足预设条件;若是,则对端口标识进行处理,并将处理了端口标识后的传输数据包进行发送;在本发明实施例中,设备由内置fpga模的子板及交换机组成,使子板与交换进行通讯时,通过fpga模块区分不同协议类型的数据,将不同协议类型的数据进行vlan的划分,实现数据隔离,对某些保密的数据划分在特定网络中达到数据安全的作用。

在本发明实施例中,fpga模块还用于:判断端口标识是否为预设端口;若端口标识为预设端口,则将传输数据包进行发送;若端口标识非预设端口,则判断网络协议是否为预设协议。

在本发明实施例中,fpga模块包括可配置逻辑单元、静态存储单元、输入输出单元、内部线路,可配置逻辑单元、静态存储单元、输入输出单元通过内部线路进行连接;可配置逻辑单元通过向内部静态存储单元加载编程数据,以实现组合逻辑功能及时序逻辑功能,通过输入输出单元输出指令。

参见图3,在本发明实施例中,交换机为2.5层或3层带路由功能的交换机;交换机设置有access接口、trunk接口;access接口与用户主机相连,trunk接口与子板相连;交换机还设置有nms1、nms2、data1、data2为预留的四个网口,用于和客户的pc或其他设备相连。nms1和nms2作为管理网口,用于传输管理子板的http协议等数据,data1和data2作为数据网口,用于与子板间互传音视频流等udp协议数据;在本实施例中,将nms端口的端口标识vid设为1,连接属性设为access,将data端口的端口标识vid设为2,连接属性设为access,将各子板连接端口的端口标识vid设为2,连接属性设为trunk。所有的数据交互都在同一台交换机中进行。

根据虚拟局域网vlan功能可知,目前这种设置方式因为data端口与连接子板的端口端标识vid相同,所以可以正常数据交互。此时,因为连接子板的端口连接属性为trunk,所以也能够接收到nms端口的数据,但是因为端口标识vid不同,所以nms端口传送给子板的数据会被交换机默认打上一个端口标识vid为2的标记,用于标记该数据是要传送给端口标识vid为2的端口,由于trunk端口与子板直接相连,而不是与另外的交换机trunk端口相连,而子板接收到带端口标识vid标记的数据是无法解析的,默认会丢弃该数据,所以fpga模块在此处的作用就体现出来了。fpga模块可以抓取到这种带端口标识vid标记的数据然后把端口标识vid剥离之后再给到子板,这样子板就能正常接收了。同理,子板要发送给nms端口的数据因为端口标识vid不同,导致nms端口无法接收,所以要用fpga模块抓取数据之后,打上端口标识vid为1的标记,才能被nms端口接收。因为fpga模块是可以根据网络协议来抓取数据的,所以通过fpga的处理可以把不同的网络协议根据需求划分在不同的vlan中,以此来达到隔离不同协议数据的功能;其中,端口标识vid为1或2仅为举例,其实际端口标识vid数值视使用情况而定。

通过fpga逻辑的处理,结合交换机vlan的功能,可以把前端设备上不同协议类型的数据用vlan的方式划分到不同的局域网中,这样可以实现对网络数据的隔离控制。

在本发明实施例中,传输数据包为以太网数据帧或ieee802.1q数据帧,带有不同端口标识的数据包通过转换数据帧类型进行去除和添加端口标识,参见图4;当数据从属性为有access的端口传输到属性为trunk的端口时,fpga需要把ieee802.1q标准的数据帧转化为标准的以太网数据帧,并且重新进行校验字段crc校验,而当数据从属性为trunk的端口传输到属性为有access的端口时,fpga模块需要把标准的以太网数据帧转化为ieee802.1q标准的数据帧,并且也要重新进行校验字段crc校验。

作为发明的一个实施例,交换机向子板传输数据包,包括以下步骤:

交换机向子板发送传输数据包,传输数据包先发送至fpga模块;

fpga模块获取传输数据包,确定传输数据包对应的端口标识vid及网络协议;

fpga模块判断端口标识及网络协议是否满足预设条件;

若是,则对端口标识vid进行处理,并将处理了端口标识后的传输数据包发送给子板。

其中,fpga模块判断端口标识及网络协议是否满足预设条件包括:判断端口标识是否为预设端口;若端口标识vid为预设端口,则将传输数据包发送至子板;若端口标识vid非预设端口,则判断网络协议是否为预设协议,若网络协议与预设协议不一致,则将传输数据包丢弃。

其中,对端口标识vid进行处理包括:判断传输数据包中的对应字段是否为0x8100;若是,则去除传输数据包的标识;更新传输数据包的检验字段。

作为发明的一个实施例,子板向交换机传输数据包,包括以下步骤:

子板向交换机发送传输数据包,传输数据包先发送至fpga模块;

fpga模块获取传输数据包,确定传输数据包对应的端口标识vid及网络协议;

fpga模块判断端口标识及网络协议是否满足预设条件;

若是,则对端口标识vid进行处理,并将处理了端口标识后的传输数据包发送至交换机。

其中,fpga模块判断端口标识及网络协议是否满足预设条件包括:判断端口标识是否为预设端口;若端口标识vid为预设端口,则将传输数据包发送至交换机;若端口标识vid非预设端口,则判断网络协议是否为预设协议,若网络协议与预设协议不一致,则将传输数据包丢弃。

其中,对端口标识vid进行处理包括:判断传输数据包中的对应字段是否为0x8100;若非0x8100,则在对应字段处添加标识;更新传输数据包的检验字段。

在本发明实施例中,通过fpga模块区分不同协议类型的数据,将不同协议类型的数据进行vlan的划分,实现数据隔离,对某些保密的数据划分在特定网络中达到数据安全的作用;同时,通过fpga模块及vlan共同划分虚拟局域网,大大降低网络风暴的发生,提高网络带宽的利用率。

上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

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