一种基于用户态协议栈的网络隔离方法和装置与流程

文档序号:21101640发布日期:2020-06-16 20:52阅读:367来源:国知局
一种基于用户态协议栈的网络隔离方法和装置与流程

本发明涉及网络通信技术领域,特别涉及一种基于用户态协议栈的网络隔离方法和装置。



背景技术:

网络设备内部的网络隔离技术是一种通过网络设备上的不同网卡接收业务数据,并将业务数据存放在不同的网络隔离空间里进行处理的技术,由于网络隔离空间之间完全隔离,故而各个网络隔离空间内的业务程序互不干扰,从而可以实现业务程序的稳定并发,保证业务处理过程中的数据安全。

linux系统基于namespace机制提供了一种内核级别环境隔离的方法,其中,网络命名空间(networknamespace)可以用来实现上述网络设备内部的网络隔离效果,从逻辑上讲,每个网络命名空间可以理解为网络协议栈的副本,提供了一份独立的网络环境,类似独立的系统一样具备独立的路由选择表、邻接表、netfilter表、网络套接字等网络资源。

发明人发现现有技术至少存在以下问题:

近年来越来越多的业务程序依托于用户态协议栈运行,而用户态协议栈部署在用户空间,因此现有的基于内核的网络隔离技术无法直接适用于用户态协议栈的业务程序。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种基于用户态协议栈的网络隔离方法和装置。所述技术方案如下:

第一方面,提供了一种基于用户态协议栈的网络隔离方法,所述方法包括:

在用户态协议栈的底层网卡接口处,为每个网卡添加用于绑定网络隔离空间的隔离空间指针;

当业务程序初始化时,基于所述用户态协议栈设置多个具备独立的协议栈私有表项的用户态协议栈网络隔离空间;

通过所述每个网卡的隔离空间指针为所述每个网卡分别指定一个对应的用户态协议栈网络隔离空间;

对于从任一网卡接收的业务数据,通过所述网卡对应的用户态协议栈网络隔离空间的协议栈私有表项,对所述业务数据进行数据处理。

可选的,所述对于任一网卡接收的业务数据,通过所述网卡对应的用户态协议栈网络隔离空间的协议栈私有表项,对所述业务数据进行数据处理,包括:

当从目标网卡接收到业务数据时,根据所述目标网卡的隔离空间指针确定目标用户态协议栈网络隔离空间;

调用所述目标用户态协议栈网络隔离空间的协议栈私有表项,基于所述用户态协议栈对所述业务数据执行协议栈处理;

将协议栈处理后得到的业务数据提供给所述业务程序,基于所述业务程序对所述业务数据执行业务处理。

可选的,所述基于所述业务程序对所述业务数据执行业务处理,包括:

确定所述目标用户态协议栈网络隔离空间对应的业务程序配置文件的业务处理逻辑,按照所述业务处理逻辑基于所述业务程序对所述业务数据执行业务处理。

可选的,所述方法还包括:

加载添加有目标用户态协议栈网络隔离空间的空间标识的隔离空间管理工具;

通过所述隔离空间管理工具,以共享内存的方式管理所述目标用户态协议栈网络隔离空间对应的业务程序配置文件。

可选的,所述方法还包括:

为所述用户态协议栈的套接字结构体,添加用于绑定网络隔离空间的隔离空间指针;

当所述业务程序创建目标套接字时,通过所述目标套接字的套接字结构体的隔离空间指针指定对应的目标用户态协议栈网络隔离空间;

对于调用所述目标套接字时生成的业务数据,通过所述目标用户态协议栈网络隔离空间的协议栈私有表项,对所述业务数据进行数据处理。

可选的,所述方法还包括:

加载添加有目标空间标识的隔离空间管理工具;

通过所述隔离空间管理工具,以共享内存的方式管理所述目标空间标识对应的用户态协议栈网络隔离空间的协议栈私有表项。

第二方面,提供了一种基于用户态协议栈的网络隔离装置,所述装置包括:

改造模块,用于在用户态协议栈的底层网卡接口处,为每个网卡添加用于绑定网络隔离空间的隔离空间指针;

设置模块,用于当业务程序初始化时,基于所述用户态协议栈设置多个具备独立的协议栈私有表项的用户态协议栈网络隔离空间;

绑定模块,用于通过所述每个网卡的隔离空间指针为所述每个网卡分别指定一个对应的用户态协议栈网络隔离空间;

处理模块,用于对于从任一网卡接收的业务数据,通过所述网卡对应的用户态协议栈网络隔离空间的协议栈私有表项,对所述业务数据进行数据处理。

可选的,所述处理模块,具体用于:

当从目标网卡接收到业务数据时,根据所述目标网卡的隔离空间指针确定目标用户态协议栈网络隔离空间;

调用所述目标用户态协议栈网络隔离空间的协议栈私有表项,基于所述用户态协议栈对所述业务数据执行协议栈处理;

将协议栈处理后得到的业务数据提供给所述业务程序,基于所述业务程序对所述业务数据执行业务处理。

可选的,所述处理模块,具体用于:

确定所述目标用户态协议栈网络隔离空间对应的业务程序配置文件的业务处理逻辑,按照所述业务处理逻辑基于所述业务程序对所述业务数据执行业务处理。

可选的,所述装置还包括:

加载模块,用于加载添加有目标用户态协议栈网络隔离空间的空间标识的隔离空间管理工具;

管理模块,用于通过所述隔离空间管理工具,以共享内存的方式管理所述目标用户态协议栈网络隔离空间对应的业务程序配置文件。

可选的,所述改造模块还用于为所述用户态协议栈的套接字结构体,添加用于绑定网络隔离空间的隔离空间指针;

所述绑定模块还用于当所述业务程序创建目标套接字时,通过所述目标套接字的套接字结构体的隔离空间指针指定对应的目标用户态协议栈网络隔离空间;

所述处理模块还用于对于调用所述目标套接字时生成的业务数据,通过所述目标用户态协议栈网络隔离空间的协议栈私有表项,对所述业务数据进行数据处理。

可选的,所述装置还包括:

加载模块,用于加载添加有目标空间标识的隔离空间管理工具;

管理模块,用于通过所述隔离空间管理工具,以共享内存的方式管理所述目标空间标识对应的用户态协议栈网络隔离空间的协议栈私有表项。

第三方面,提供了一种网络设备,所述网络设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的基于用户态协议栈的网络隔离方法。

第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的基于用户态协议栈的网络隔离方法。

本发明实施例提供的技术方案带来的有益效果是:

本发明实施例中,在用户态协议栈的底层网卡接口处,为每个网卡添加用于绑定网络隔离空间的隔离空间指针;当业务程序初始化时,基于用户态协议栈设置多个具备独立的协议栈私有表项的用户态协议栈网络隔离空间;通过每个网卡的隔离空间指针为每个网卡分别指定一个对应的用户态协议栈网络隔离空间;对于从任一网卡接收的业务数据,通过网卡对应的用户态协议栈网络隔离空间的协议栈私有表项,对业务数据进行数据处理。这样,通过隔离空间指针的方式,建立网卡和用户态协议栈网络隔离空间的关联,从而可以针对不同网卡接收的业务数据,使用不同用户态协议栈网络隔离空间指定独立的协议栈私有表项进行处理,相互之间互不干扰,实现了基于用户态协议栈的网络隔离。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种基于用户态协议栈的网络隔离方法流程图;

图2是本发明实施例提供的一种基于用户态协议栈的网络隔离装置结构示意图;

图3是本发明实施例提供的一种网络设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明实施例提供了一种基于用户态协议栈的网络隔离方法,该方法的执行主体可以是任意具备业务程序运行功能的网络设备,具体可以理解为业务提供方的后台服务器。其中,网络设备上可以设置有用户态协议栈,代替内核态协议栈实现对待收发的业务数据进行处理。网络设备可以运行有基于用户态协议栈的业务程序,如nginx、haproxy、httpserver等,这些业务程序运行在用户空间,通过用户态协议栈及相应的网络隔离技术可以满足这些业务程序的高性能以及高并发需求。网络设备中可以包括处理器、存储器、收发器,处理器可以用于进行下述流程中的基于用户态协议栈的网络隔离的处理,存储器可以用于存储下述处理过程中需要的数据以及产生的数据,收发器可以用于接收和发送下述处理过程中的相关数据。

下面将结合具体实施方式,对图1所示的处理流程进行详细的说明,内容可以如下:

步骤101,在用户态协议栈的底层网卡接口处,为每个网卡添加用于绑定网络隔离空间的隔离空间指针。

在实施中,为了在用户态协议栈上实现网络隔离技术,达到不同网卡接收的业务数据到达不同网络隔离空间的目的,需要先对用户态协议栈进行改造。具体的,可以先确定用户态协议栈的底层网卡接口,然后在该底层网卡接口处,为每个网卡添加一个用于绑定网络隔离空间的隔离空间指针,该隔离空间指针可以用于将每个网卡绑定到一个具体的网络隔离空间。本步骤的处理可以由网络设备侧的技术人员控制网络设备实现,也可以由网络设备基于预设的用户态协议栈的改造程序自行完成的。

步骤102,当业务程序初始化时,基于用户态协议栈设置多个具备独立的协议栈私有表项的用户态协议栈网络隔离空间。

在实施中,安装在网络设备上的业务程序在首次启动或者故障重启时,可以进行初始化操作,这时,网络设备可以加载业务程序的协议栈配置文件,调用用户态协议栈,创建指定数目个(协议栈配置文件中设定的)用户态协议栈网络隔离空间。这些用户态协议栈网络隔离空间均具备独立的协议栈私有表项,即每个用户态协议栈网络隔离空间的协议栈私有表项均与其它用户态协议栈网络隔离空间的协议栈私有表项相同、部分相同或完全不同,其中,每个用户态协议栈网络隔离空间具备私有的隔离空间地址,协议栈私有表项可以包含ip地址表、路由表、socket表、连接跟踪表等用户态协议栈对业务数据进行数据处理时所需要调用的网络参数表项。

步骤103,通过每个网卡的隔离空间指针为每个网卡分别指定一个对应的用户态协议栈网络隔离空间。

在实施中,业务程序初始化时,网络设备在设置了多个用户态协议栈网络隔离空间之后,可以同样基于业务程序的协议栈配置文件,通过每个网卡的隔离空间指针为每个网卡分别指定一个对应的用户态协议栈网络隔离空间,即设置每个网卡的隔离空间指针指向一个用户态协议栈网络隔离空间。此处,一个网卡只能对应一个用户态协议栈网络隔离空间,而一个用户态协议栈网络隔离空间则可以对应多个网卡,网卡与用户态协议栈网络隔离空间的具体对应关系则在上述协议栈配置文件中设定。

步骤104,对于从任一网卡接收的业务数据,通过网卡对应的用户态协议栈网络隔离空间的协议栈私有表项,对业务数据进行数据处理。

在实施中,业务程序在运行的过程中,网络设备可以从网卡接收到业务程序的业务数据,对于接收到的业务数据,网络设备可以先确定接收该业务数据的网卡,然后查找到该网卡对应的用户态协议栈网络隔离空间,再通过该用户态协议栈网络隔离空间的协议栈私有表项,使用用户态协议栈以及业务程序对业务数据进行数据处理。

可选的,可以先通过用户态协议栈对业务数据进行协议栈处理,然后再将业务数据交由业务程序执行业务处理,相应的,步骤104的处理可以如下:

当从目标网卡接收到业务数据时,根据目标网卡的隔离空间指针确定目标用户态协议栈网络隔离空间;

调用目标用户态协议栈网络隔离空间的协议栈私有表项,基于用户态协议栈对业务数据执行协议栈处理;

将协议栈处理后得到的业务数据提供给业务程序,基于业务程序对业务数据执行业务处理。

在实施中,以目标网卡为例,网络设备在为每个网卡指定用户态协议栈网络隔离空间后,在业务程序运行过程中,当网络设备从目标网卡接收到业务数据时,可以根据目标网卡的隔离空间指针确定目标用户态协议栈网络隔离空间。之后,在使用用户态协议栈对业务数据执行协议栈处理的过程中,如果需要用到具体的网络参数表项时,网络设备则可以调用目标用户态协议栈网络隔离空间的协议栈私有表项,然后使用该协议栈私有表项继续进行对业务数据的协议栈处理。接下来,在协议栈处理完成后,网络设备可以将协议栈处理后得到的业务数据提供给业务程序,然后基于业务程序对业务数据进行业务处理。可以理解,多个用户态协议栈网络隔离空间的协议栈处理,均可以分为公共的协议栈处理和各用户态协议栈网络隔离空间私有的协议栈处理,而无论公共的协议栈处理还是私有的协议栈处理,均可以由同一个用户态协议栈来实现,其中私有的协议栈处理具体通过调用不同的协议栈私有表项来实现,网络设备无需创建多份用户态协议栈的实例,从而可以节省系统资源的消耗,降低用户态协议栈的管理复杂度。

可选的,不同用户态协议栈网络隔离空间对应的业务处理也可以不同,相应的,对业务数据的业务处理具体可以如下:确定目标用户态协议栈网络隔离空间对应的业务程序配置文件的业务处理逻辑,按照所述业务处理逻辑基于业务程序对业务数据执行业务处理。

在实施中,同样以目标网卡接收到的业务数据为例,网络设备在将经协议栈处理后得到的业务数据提供给业务程序后,可以确定目标用户态协议栈网络隔离空间对应的业务程序配置文件的业务处理逻辑,然后通过业务程序来执行该业务处理逻辑,从而实现对业务数据的业务处理。需要说明的是,在运行业务程序前,同样需要对业务程序进行改造,以便对该业务程序使用网络隔离技术,具体的,可以创建多份业务程序配置文件,每个业务程序配置文件对应一个用户态协议栈网络隔离空间,不同业务程序配置文件中的业务处理、程序属性配置、程序启动参数等均相互隔离,互不干扰。业务程序在初始化时,可以加载所有业务程序配置文件,并存储每个业务程序配置文件的业务处理逻辑,这样,当需要执行不同用户态协议栈网络隔离空间对应的业务处理时,可以由同一个业务程序按照不同的业务处理逻辑来实现,网络设备无需针对每个用户态协议栈网络隔离空间均启动一个独立的业务程序,从而可以节省系统资源的消耗,降低业务程序的管理复杂度。

可选的,可以对隔离空间管理工具进行一定改造后,通过隔离空间管理工具管理业务程序配置文件,相应的处理可以如下:加载添加有目标用户态协议栈网络隔离空间的空间标识的隔离空间管理工具;通过隔离空间管理工具,以共享内存的方式管理目标用户态协议栈网络隔离空间对应的业务程序配置文件。

在实施中,可以对现有的适用在linux内核级别的网络隔离技术的隔离空间管理工具进行改造,即在隔离空间管理工具中添加用户态协议栈网络隔离空间的空间标识这一参数。这样,以目标用户态协议栈网络隔离空间为例,网络设备可以加载添加有目标用户态协议栈网络隔离空间的空间标识的隔离空间管理工具,然后通过该隔离空间管理工具,以共享内存的方式实现隔离空间管理工具与业务程序的通讯,从而可以实现对目标用户态协议栈网络隔离空间对应的业务程序配置文件进行管理。

可选的,可以通过对套接字结构体的改造,来实现基于用户态协议栈上的网络隔离技术,相应的处理可以如下:为用户态协议栈的套接字结构体,添加用于绑定网络隔离空间的隔离空间指针;当业务程序创建目标套接字时,通过目标套接字的套接字结构体的隔离空间指针指定对应的目标用户态协议栈网络隔离空间;对于调用目标套接字时生成的业务数据,通过目标用户态协议栈网络隔离空间的协议栈私有表项,对业务数据进行数据处理。

在实施中,可以预先对用户态协议栈的套接字结构体进行改造,即在套接字结构体中添加用于绑定网络隔离空间的隔离空间指针,该隔离空间指针可以用于将套接字函数操作绑定到一个具体的网络隔离空间。之后,当业务程序创建目标套接字时,可以基于业务程序配置文件添加某一用户态协议栈网络隔离空间(如目标用户态协议栈网络隔离空间)的空间标识,这样,可以通过目标套接字的套接字结构体的隔离空间指针为目标套接字指定对应的目标用户态协议栈网络隔离空间。进一步的,对于调用目标套接字时生成的业务数据,网络设备可以通过目标用户态协议栈网络隔离空间的协议栈私有表项,对业务数据进行数据处理。具体来讲,业务程序在生成业务数据后,如果需要以报文的形式发送该业务数据,则可以通过调用已创建的目标套接字,将业务数据递交给用户态协议栈进行协议栈处理。在处理过程中,网络设备可以根据目标套接字确定对应的目标用户态协议栈网络隔离空间,然后调用目标用户态协议栈网络隔离空间的协议栈私有表项来进行相关的协议栈处理,最后可以将业务数据封装为报文,然后通过目标用户态协议栈网络隔离空间对应的网卡发送报文,从而可以在发送业务数据的过程中实现网络隔离。

可选的,可以对隔离空间管理工具进行一定改造后,通过隔离空间管理工具管理用户态协议栈网络隔离空间的协议栈私有表项,相应的处理可以如下:加载添加有目标空间标识的隔离空间管理工具;通过隔离空间管理工具,以共享内存的方式管理目标空间标识对应的用户态协议栈网络隔离空间的协议栈私有表项。

在实施中,可以对现有的适用在linux内核级别的网络隔离技术的隔离空间管理工具(如ifconfig、ip等工具)进行改造,即在隔离空间管理工具中添加用户态协议栈网络隔离空间的空间标识这一参数。这样,网络设备可以加载添加有目标空间标识的隔离空间管理工具,然后可以通过该隔离空间管理工具,以共享内存的方式实现隔离空间管理工具与目标空间标识对应的用户态协议栈网络隔离空间的通讯,从而可以实现对该用户态协议栈网络隔离空间的协议栈私有表项进行管理。

本发明实施例中,在用户态协议栈的底层网卡接口处,为每个网卡添加用于绑定网络隔离空间的隔离空间指针;当业务程序初始化时,基于用户态协议栈设置多个具备独立的协议栈私有表项的用户态协议栈网络隔离空间;通过每个网卡的隔离空间指针为每个网卡分别指定一个对应的用户态协议栈网络隔离空间;对于从任一网卡接收的业务数据,通过网卡对应的用户态协议栈网络隔离空间的协议栈私有表项,对业务数据进行数据处理。这样,通过隔离空间指针的方式,建立网卡和用户态协议栈网络隔离空间的关联,从而可以针对不同网卡接收的业务数据,使用不同用户态协议栈网络隔离空间指定独立的协议栈私有表项进行处理,相互之间互不干扰,实现了基于用户态协议栈的网络隔离。

基于相同的技术构思,本发明实施例还提供了一种基于用户态协议栈的网络隔离装置,如图2所示,所述装置包括

改造模块201,用于在用户态协议栈的底层网卡接口处,为每个网卡添加用于绑定网络隔离空间的隔离空间指针;

设置模块202,用于当业务程序初始化时,基于所述用户态协议栈设置多个具备独立的协议栈私有表项的用户态协议栈网络隔离空间;

绑定模块203,用于通过所述每个网卡的隔离空间指针为所述每个网卡分别指定一个对应的用户态协议栈网络隔离空间;

处理模块204,用于对于从任一网卡接收的业务数据,通过所述网卡对应的用户态协议栈网络隔离空间的协议栈私有表项,对所述业务数据进行数据处理。

可选的,所述处理模块204,具体用于:

当从目标网卡接收到业务数据时,根据所述目标网卡的隔离空间指针确定目标用户态协议栈网络隔离空间;

调用所述目标用户态协议栈网络隔离空间的协议栈私有表项,基于所述用户态协议栈对所述业务数据执行协议栈处理;

将协议栈处理后得到的业务数据提供给所述业务程序,基于所述业务程序对所述业务数据执行业务处理。

可选的,所述处理模块204,具体用于:

确定所述目标用户态协议栈网络隔离空间对应的业务程序配置文件的业务处理逻辑,按照所述业务处理逻辑基于所述业务程序对所述业务数据执行业务处理。

可选的,所述装置还包括:

加载模块,用于加载添加有目标用户态协议栈网络隔离空间的空间标识的隔离空间管理工具;

管理模块,用于通过所述隔离空间管理工具,以共享内存的方式管理所述目标用户态协议栈网络隔离空间对应的业务程序配置文件。

可选的,所述改造模块201还用于为所述用户态协议栈的套接字结构体,添加用于绑定网络隔离空间的隔离空间指针;

所述绑定模块203还用于当所述业务程序创建目标套接字时,通过所述目标套接字的套接字结构体的隔离空间指针指定对应的目标用户态协议栈网络隔离空间;

所述处理模块204还用于对于调用所述目标套接字时生成的业务数据,通过所述目标用户态协议栈网络隔离空间的协议栈私有表项,对所述业务数据进行数据处理。

可选的,所述装置还包括:

加载模块,用于加载添加有目标空间标识的隔离空间管理工具;

管理模块,用于通过所述隔离空间管理工具,以共享内存的方式管理所述目标空间标识对应的用户态协议栈网络隔离空间的协议栈私有表项。

本发明实施例中,在用户态协议栈的底层网卡接口处,为每个网卡添加用于绑定网络隔离空间的隔离空间指针;当业务程序初始化时,基于用户态协议栈设置多个具备独立的协议栈私有表项的用户态协议栈网络隔离空间;通过每个网卡的隔离空间指针为每个网卡分别指定一个对应的用户态协议栈网络隔离空间;对于从任一网卡接收的业务数据,通过网卡对应的用户态协议栈网络隔离空间的协议栈私有表项,对业务数据进行数据处理。这样,通过隔离空间指针的方式,建立网卡和用户态协议栈网络隔离空间的关联,从而可以针对不同网卡接收的业务数据,使用不同用户态协议栈网络隔离空间指定独立的协议栈私有表项进行处理,相互之间互不干扰,实现了基于用户态协议栈的网络隔离。

需要说明的是:上述实施例提供的基于用户态协议栈的网络隔离装置在实现基于用户态协议栈的网络隔离时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于用户态协议栈的网络隔离装置与基于用户态协议栈的网络隔离方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图3是本发明实施例提供的网络设备的结构示意图。该网络设备300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对网络设备300中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在网络设备300上执行存储介质330中的一系列指令操作。

网络设备300还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,一个或一个以上键盘356,和/或,一个或一个以上操作系统341,例如windowsserver,macosx,unix,linux,freebsd等等。

网络设备300可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行上述基于用户态协议栈的网络隔离指令。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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