以太网交换机及网络系统的制作方法

文档序号:22621990发布日期:2020-10-23 19:27阅读:134来源:国知局
以太网交换机及网络系统的制作方法

本公开涉及网络数据交换设备领域,具体涉及以太网交换机及网络系统。



背景技术:

作为交换机的重要性能之一,安全可靠性越来越成为交换机设计过程中的主要考虑因素。为提高交换机的安全性能,当前交换机主要采用被动防御技术解决网络攻击和后门漏洞问题。



技术实现要素:

本公开提出了以太网交换机及网络系统。

第一方面,本公开提供了一种以太网交换机,包括:交换芯片、交换芯片驱动处理器、判决器和至少三个异构控制引擎执行体,各所述异构控制引擎执行体采用异构处理器和异构操作系统,其中:每个异构控制引擎执行体,被配置为将对待配置管理数据封装后得到的待配置管理数据报文通过原始套接字发送给所述判决器;所述判决器,被配置为对从各所述异构控制引擎执行体收到的待配置管理数据报文进行一致性判决,以及响应于确定一致性判决通过,将所收到的待配置管理数据报文通过原始套接字发送给所述交换芯片驱动处理器;所述交换芯片驱动处理器,被配置为:响应于通过原始套接字接收到所述判决器发送的待配置管理数据报文,利用netlink套接字按照所述待配置管理数据报文中的待配置管理数据对所述交换芯片进行参数配置。

在一些可选的实施方式中,所述交换芯片,被配置为:响应于检测到待上传数据,向所述交换芯片驱动处理器发送中断指令;所述交换芯片驱动处理器,被配置为:响应于接收到所述交换芯片发送的中断指令,从所述交换芯片读取所述待上传数据,以及通过原始套接字将所述待上传数据发送给所述判决器;所述判决器,被配置为:响应于通过原始套接字接收到所述交换芯片驱动处理器发送的所述待上传数据,将所述待上传数据通过原始套接字分发给各所述异构控制引擎执行体。

每个异构控制引擎执行体中运行有协议栈以及设置有内部通信网卡芯片和备用网卡芯片,每个异构控制引擎执行体通过其中设置的内部通信网卡芯片与所述判决器通信。

在一些可选的实施方式中,每个异构控制引擎执行体中设置的内部通信网卡芯片为以太网卡芯片,所述判决器中设置有以太网卡芯片;以及所述每个异构控制引擎执行体被配置为将对待配置管理数据封装后得到的待配置管理数据报文通过原始套接字发送给所述判决器,包括:每个异构控制引擎执行体被配置为将对待配置管理数据封装后得到的待配置管理数据报文通过预先建立的第一原始套接字发送给所述判决器,其中,所述第一原始套接字绑定预设以太网类型,以及绑定该异构控制引擎执行体中设置的内部通信网卡芯片;以及所述交换芯片驱动处理器,被配置为通过原始套接字将所述待上传数据发送给所述判决器,包括:所述交换芯片驱动处理器,被配置为通过预先建立的第二原始套接字将所述待上传数据发送给所述判决器,所述第二原始套接字绑定所述预设以太网类型,以及绑定各所述异构控制引擎执行体中设置的内部通信网卡芯片。

在一些可选的实施方式中,所述判决器和所述交换芯片处理器通过以太网接口进行通信。

在一些可选的实施方式中,所述待上传数据包括以下至少一项:所述交换芯片动态学习的数据,所述交换芯片定时主动上报的端口统计信息。

在一些可选的实施方式中,所述判决器包括现场可编程逻辑门阵列。

在一些可选的实施方式中,所述交换芯片驱动处理器和所述交换芯片之间通过pcie(peripheralcomponentinterconnectexpress)接口通信。

第二方面,本公开提供了一种网络系统,包括路由器、交换机、服务器和光传输设备,其中,所述的交换机采用如第一方面中任一实现方式描述的以太网交换机。

本公开提供的以太网交换机及网络系统,通过在以太网交换机中设置交换芯片、交换芯片驱动处理器、判决器和至少三个异构控制引擎执行体,且各异构控制引擎执行体采用异构处理器和异构操作系统。以及,每个异构控制引擎执行体可以将对待配置管理数据封装后得到的待配置管理数据报文通过原始套接字发送给判决器,而后判决器可以对从各异构控制引擎执行体收到的待配置管理数据报文进行一致性判决,以及响应于确定一致性判决通过,将所收到的待配置管理数据报文通过原始套接字发送给交换芯片驱动处理器,最后交换芯片驱动处理器可以响应于通过原始套接字接收到判决器发送的待配置管理数据报文,利用netlink套接字按照待配置管理数据报文中的待配置管理数据对交换芯片进行参数配置。上述以太网交换机可以实现包括但不限于以下技术效果:

第一,通过采用至少三个异构控制引擎执行体和判决器可以提高以太网交换机自身的内生安全可靠性。

第二,通过采用原生套接字实现了从每个异构控制引擎执行体到判决器,以及到驱动芯片处理器之间的跨处理器的配置管理数据传输,进而完成对交换芯片的参数设置。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:

图1是根据本公开的以太网交换机的一个实施例的结构示意图;

图2是根据本公开的对交换芯片进行参数设置操作的流程图;

图3是根据本公开的交换芯片上传数据操作的流程图;

图4是根据本公开的以太网交换机的又一个实施例的结构示意图。

具体实施方式

下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。

图1示出了根据本公开的以太网交换机的一个实施例的结构示意图。

如图1所示,以太网交换机100可以包括交换芯片101、交换芯片驱动处理器102、判决器103和n个异构控制引擎执行体1041、1042、…、104n,其中,n为大于等于3的正整数。

交换芯片101与交换芯片驱动处理器102之间通信连接。交换芯片驱动处理器102与判决器103之间通信连接。判决器103与n个异构控制引擎执行体1041、1042、…、104n中的任一个异构控制引擎执行体之间通信连接。

在本实施例中,交换芯片101作为数据转发的实体,主要完成对端数据的按规则转发。交换芯片驱动处理器102可以接收来自交换芯片的上送报文,并向判决器103提供上送报文。交换芯片处理器102也可以接收来自判决器103的管理配置数据,并按照上述管理配置数据实现对交换芯片101的参数进行设置。判决器103作为各异构控制引擎执行体1041、1042、…、104n和交换芯片101之间的桥梁,负责报文上送和下发数据的一致性判决。各异构控制引擎执行体1041、1042、…、104n可以接收来自判决器的上送报文并进行数据处理,并向判决器103提供下发报文。

在本实施例中,n个异构控制引擎执行体1041、1042、…、104n作为异构等价功能体,即结构不同功能相同的执行体,执行具体的协议数据处理、未知报文处理、表项管理、系统控制权限管理、系统日志管理等功能。

在本实施例中,交换芯片101与交换芯片驱动处理器102之间可以采用各种通用接口通信连接。例如,这里通用接口可以为以太网接口或pcie接口。

在本实施例中,交换芯片驱动处理器102与判决器103之间可以采用各种通用接口通信连接。例如,这里通用接口可以为以太网接口或pcie接口。

在本实施例中,为了提高以太网交换机的安全性,n个异构控制引擎执行体1041、1042、…、104n之间可以采用异构处理器和异构操作系统来实现等价功能,并通过通信接口与判决器103进行通信。即,n个异构控制引擎执行体1041、1042、…、104n中任两个异构控制引擎执行体之间可以采用异构处理器以及采用异构操作系统。例如,n个异构控制引擎执行体1041、1042、…、104n中设置的处理器可以选用通用处理器中的一种,例如powerpc(performanceoptimizationwithenhancedrisc–performancecomputing,有时简称ppc)处理器、arm处理器(advancedriscmachines处理器,arm处理器是一个32位元精简指令集处理器架构)或mips(microprocessorwithoutinterlockedpipelinedstages,无内部互锁流水级的微处理器)等。n个异构控制引擎执行体1041、1042、…、104n的操作系统可以选用以太网交换机操作系统中的一种,例如上述操作系统可以是linux(全称gnu/linux,是一套免费使用和自由传播的类unix操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年第一次释出,它主要受到minix和unix思想的启发,是一个基于posix和unix的多用户、多任务、支持多线程和多cpu的操作系统)、vxworks(vxworks是美国windriversystem公司推出的一个实时操作系统)以及其他交换机操作系统。另外,n个异构控制引擎执行体1041、1042、…、104n上可以运行有协议栈,且各异构控制引擎执行体可以选用功能等价结构相同或不同的等价协议栈或经过多样化编译的专用交换机协议栈。n个异构控制引擎执行体1041、1042、…、104n与判决器103之间的通信接口可以选用通用接口中的一种。例如,通用接口可以为以太网接口或pcie接口。

在一些可选的实施方式中,判决器103和交换芯片处理器102之间可以通过以太网接口进行通信。

在一些可选的实施方式中,判决器103可以包括现场可编程逻辑门阵列(fpga,fieldprogrammablegatearray)。

在一些可选的实施方式中,交换芯片驱动处理器102和交换芯片101之间可以通过pcie接口通信。

在交换机的使用过程中,经常会涉及到对交换芯片进行参数设置的操作。为了实现对交换芯片进行参数设置,请参考图2,图2示出了根据本公开的对交换芯片进行参数设置操作的流程图。该对交换芯片进行参数设置操作的流程包括以下步骤201到步骤203:

步骤201,每个异构控制引擎执行体将对待配置管理数据封装后得到的待配置管理数据报文通过原始套接字发送给判决器。

在本实施例中,以太网交换机中的每个异构控制引擎执行体可以在监听到待配置管理数据后,首先对待配置管理数据封装以太网头并得到待配置管理数据报文,再将待配置管理数据报文通过原始套接字发送给判决器。这里,原始套接字,即rawsocket。例如,可以通过调用以下语句实现发送接收以太网数据帧:socket(pf_packet,sock_raw,htons(eth_p_ip|eth_p_arp|eth_p_all))。由于判决器不在异构控制引擎执行体内部,无法通过netlink套接字(即,netlinksocket)进行数据传输,因此采用了rawsocket实现跨处理器的数据传输。

这里,待配置管理数据可以包括各种对交换芯片进行参数设置的数据。例如,待配置管理数据可以包括路由表、vlan(virtuallocalareanetwork,虚拟局域网)配置数据等。

步骤202,判决器对从各异构控制引擎执行体收到的待配置管理数据报文进行一致性判决,以及响应于确定一致性判决通过,将所收到的待配置管理数据报文通过原始套接字发送给交换芯片驱动处理器。

在本实施例中,判决器可以在收到各异构控制引擎执行体发送的待配置管理数据报文后,首先,对所收到的各待配置管理数据报文进行一致性判决。如果一致性判决通过,再将所收到的待配置管理数据报文通过原始套接字发送给交换芯片驱动处理器。这是由于,判决器不在交换芯片驱动处理器中,无法通过netlink套接字进行数据传输,因此采用了原始套接字实现跨处理器的数据传输。

作为示例,下面给出判决器进行一致性判决的一种具体实现方式:

在每个异构控制引擎执行体给判决器传输数据的过程中发送的第一个用于握手的报文中,用于指定来源异构控制引擎执行体标识的字段的值为预设握手报文执行体标识。而在之后发送的报文中,用于指定来源异构控制引擎执行体标识的字段的值为相应异构控制引擎执行体的执行体标识。其中,预设握手报文执行体标识不同于各异构控制引擎执行体的执行体标识。这样,在判决器收到各异构控制引擎执行体发送的报文后,首先解析其中来源异构控制引擎体标识字段的值,如果解析得到的值为预设握手报文执行体标识,判决器不进行一致性判决,即,第一个消息用于同步各个异构控制引擎执行体启动数据传输。反之,如果解析得到的值不是预设握手报文执行体标识,判决器进行一致性判决。上述过程可以实现对各个异构控制引擎执行体的同步传输以及一致性判决。

步骤203,交换芯片驱动处理器响应于通过原始套接字接收到判决器发送的待配置管理数据报文,利用netlink套接字按照待配置管理数据报文中的待配置管理数据对交换芯片进行参数配置。

在本实施例中,交换芯片驱动处理器可以在通过原始套接字监听是否收到判决器发送的数据。如果确定通过原始套接字接收到判决器发送的待配置管理数据报文,则可以利用netlink套接字按照待配置管理数据报文中的待配置管理数据对交换芯片进行参数配置。

例如,实践中步骤203可以如下进行:交换芯片驱动处理器可以安装有用于数据收发的应用程序,例如xmit-hal应用程序。而交换芯片驱动处理器中安装的用于数据收发的应用程序中的原始套接字(即,rawsocket)可以监听并接收数据,在监听并接收到待配置管理数据报文后,通过netlink套接字(即,netlinksocket)将待配置管理数据报文中的待配置管理数据发送给交换芯片驱动处理器中安装的sdk(softwaredevelopmentkit,软件开发工具包)驱动程序,sdk驱动程序可以调用对交换芯片进行参数设置的相应api(applicationprogramminginterface,应用程序接口)实现配置待配置管理数据到交换芯片。

通过上述步骤201到步骤203实现了对交换芯片的参数进行设置。

在交换机的使用过程中,还经常会涉及到交换芯片主动上传数据的操作。为了实现交换芯片上传数据的操作,请参考图3,图3示出了根据本公开的交换芯片上传数据操作的流程图。该交换芯片上传数据操作的流程包括以下步骤301到步骤303:

步骤301,交换芯片响应于检测到待上传数据,向交换芯片驱动处理器发送中断指令。

在本实施例中,交换芯片可以感应到待上传数据后,向交换芯片驱动处理器发送中断指令。

这里,待上传数据可以是各种数据。

在一些可选的实现方式中,待上传数据可以包括以下至少一项:交换芯片动态学习的数据,交换芯片定时主动上报的端口统计信息。例如,交换芯片动态学习的数据可以包括交换芯片动态学习的mac(mediaaccesscontroladdress,媒体存取控制位址,也称为局域网地址)。

步骤302,交换芯片驱动处理器响应于接收到交换芯片发送的中断指令,从交换芯片读取待上传数据,以及通过原始套接字将待上传数据发送给判决器。

这里,交换芯片驱动处理器可以在接收到交换芯片发送的中断指令后,从交换芯片读取待上传数据,以及通过原始套接字将待上传数据发送给判决器。这是由于判决器不在交换芯片驱动处理器中,无法通过netlink套接字进行数据传输,因此采用了原始套接字实现跨处理器的数据传输。

例如,实践中步骤302可以如下进行:交换芯片驱动处理器可以安装有用于数据收发的应用程序,例如xmit-hal应用程序。交换芯片驱动处理器还可以安装有对针对交换芯片的驱动程序sdk。这样,而交换芯片驱动处理器中安装的驱动程序sdk可以在接收到交换芯片发送的中断指令后,从交换芯片读取待上传数据,再通过netlink套接字(即,netlinksocket)将待上传数据发送给交换芯片驱动处理器中安装的用于数据收发的应用程序,用于数据收发的应用程序再将待上传数据封装私有头后通过原始套接字(即,rawsocket)发送给判决器。

步骤303,判决器响应于通过原始套接字接收到交换芯片驱动处理器发送的待上传数据,将待上传数据通过原始套接字分发给各异构控制引擎执行体。

在本实施例中,判决器可以在通过原始套接字接收到交换芯片驱动处理器发送的待上传数据后,将待上传数据通过原始套接字分发给各异构控制引擎执行体。

通过上述步骤301到步骤303实现了将交换芯片感应到的待上传数据发送给各个异构控制引擎执行体。

在一些可选的实施方式中,以太网交换机中每个异构控制引擎执行体中可以运行有协议栈,且每个异构控制引擎执行体中可以设置有内部通信网卡芯片和备用网卡芯片,每个异构控制引擎执行体可以通过其中设置的内部通信网卡芯片与判决器通信。即,每个异构控制引擎执行体除了设置有与判决器通信的网卡芯片外,还可以设置有备用芯片。备用网卡芯片可以实现例如换版本等功能。需要说明的是,为了实现图2所示的实施例中设置交换芯片参数的功能,以及为了实现图3所示的实施例中交换芯片上传数据的功能,每个异构控制引擎执行体中的内部通信网卡芯片不是通用网卡芯片,而是经过定制改造之后的网卡芯片。为了实现对以太网交换机执行类似换版本等操作,无法通过异构控制引擎执行体中的内部通信网卡芯片进行。因此,在每个异构控制引擎执行体中设置另外一个备用网卡芯片,而备用网卡芯片为通用网卡芯片,可以实现对以太网交换机的换版本等操作。

基于上述在异构控制引擎执行体中设置的内部通信网卡芯片和备用网卡芯片的可选实现方式,在一些可选的实施方式中,每个异构控制引擎执行体中设置的内部通信网卡芯片可以为以太网卡芯片,相应地判决器也可以中设置有以太网卡芯片。这样,图2所示的实例中步骤201也可以如下进行:

每个异构控制引擎执行体将对待配置管理数据封装后得到的待配置管理数据报文通过预先建立的第一原始套接字发送给判决器。其中,第一原始套接字绑定预设以太网类型,以及绑定该异构控制引擎执行体中设置的内部通信网卡芯片。

而相应地,图3所示的实施例的步骤302中交换芯片驱动处理器通过原始套接字将待上传数据发送给判决器,也可以如下进行:

交换芯片驱动处理器通过预先建立的第二原始套接字将待上传数据发送给判决器。其中,第二原始套接字也绑定上述预设以太网类型,以及绑定各异构控制引擎执行体中设置的内部通信网卡芯片。

作为示例,第一原始套接字和第二原始套接字可以绑定预设以太网类型0x3333和网卡芯片eth0。这里预设以太网类型0x3333为不常用的以太网类型,以避免和其他以太网类型冲突。这里,网卡芯片eth0用于指示每个异构控制引擎执行体中的内部通信网卡芯片。

下面参考图4,图4示出了根据本公开的以太网交换机的又一个实施例的结构示意图。

如图4所示,以太网交换机400可以包括交换芯片401、交换芯片驱动处理器402、判决器403和n个异构控制引擎执行体4041、4042、…、404n。其中,n为大于等于3的正整数。n个异构控制引擎执行体4041、4042、…、404n中分别设置有处理器1、处理器2、…、处理器n,且处理器1、处理器2、…、处理器n中任两个处理器之间为异构处理器,处理器1、处理器2、…、处理器n中任两个处理器所安装的操作系统为异构操作系统。处理器1、处理器2、…、处理器n中分别设置有以太网接口的内部通信网卡芯片和备用网卡芯片。异构控制引擎执行体4041、4042、…、404n分别中分别运行有功能等价的l2/l3协议栈(即,数据链路层/网络层协议栈)。异构控制引擎执行体4041、4042、…、404n分别通过以太网接口与判决器403通信。异构控制引擎执行体4041、4042、…、404n与判决器403之间通信时传输的报文均为以太网报文,并且均通过rawsocket进行数据传输。

判决器403通过以太网接口与交换芯片驱动处理器402通信。判决器403与交换芯片驱动处理器402之间通信时传输的报文均为以太网报文,并且均通过rawsocket进行数据传输。

交换芯片驱动处理器402之间与交换芯片401之间通过pcie接口通信。

以太网交换机400可以实现图2所示的实施例中对交换芯片进行参数设置操作,也可以实现图3所示的实施例中交换芯片上传数据的操作。

作为另一方面,本公开还提供一种网络系统,该网络系统可以包括路由器、以太网交换机、服务器和光传输设备,其中,以太网交换机可以是本公开上述各实施例以及各种可选实施方式所述的以太网交换机。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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