CN108063715B - 虚拟局域网实现方法和终端设备 - Google Patents

虚拟局域网实现方法和终端设备 Download PDF

Info

Publication number
CN108063715B
CN108063715B CN201610988519.4A CN201610988519A CN108063715B CN 108063715 B CN108063715 B CN 108063715B CN 201610988519 A CN201610988519 A CN 201610988519A CN 108063715 B CN108063715 B CN 108063715B
Authority
CN
China
Prior art keywords
local area
area network
virtual local
layer
data flow
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.)
Active
Application number
CN201610988519.4A
Other languages
English (en)
Other versions
CN108063715A (zh
Inventor
李晓龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201610988519.4A priority Critical patent/CN108063715B/zh
Priority to PCT/CN2017/108921 priority patent/WO2018086475A1/zh
Priority to JP2019524023A priority patent/JP6860663B2/ja
Priority to US16/348,633 priority patent/US11171921B2/en
Publication of CN108063715A publication Critical patent/CN108063715A/zh
Application granted granted Critical
Publication of CN108063715B publication Critical patent/CN108063715B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/325Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种虚拟局域网实现方法和终端设备,该方法包括:将各个LAN侧端口进入的二层数据流报文分别复制到每一个LAN侧端口;根据预设的至少一个虚拟局域网,以及各端口之间的连通性配置二层防火墙规则;根据所述二层防火墙规则分别确定每个所述虚拟局域网内需要转发或者丢弃的二层数据流报文。本发明在不增加终端设备硬件成本的前提下,实现了虚拟局域网的功能,提高终端设备的兼容性。

Description

虚拟局域网实现方法和终端设备
技术领域
本发明涉及通信技术领域,尤其涉及一种虚拟局域网实现方法和终端设备。
背景技术
随着物联网技术的蓬勃发展,将物联网中不同的终端设备划分到不同的虚拟局域网下进行统一的规划管理渐渐成为一种趋势。
目前主要采取标准协议802.1Q来进行虚拟局域网的实现,即对二层协议的普通报文进行添加VLAN(Virtual Local Area Network,虚拟局域网)报文头的方法对不同的虚拟局域网数据包进行划分,如利用端口划分、MAC地址划分、网络层划分或IP组播划分。即利用局域网中所有设备都支持的VLAN协议来对设备进行虚拟局域网的配置划分。
上述方法在实际应用中具有局限性,因为不是所有的物联网终端设备都支持802.1Q协议。而且限制于flash存储空间、内存以及CPU效率,添加大量的协议支持会大幅提升物联网终端设备的硬件成本。
发明内容
本发明的主要目的在于提供一种虚拟局域网实现方法和终端设备,旨在解决现有技术中各物联网终端制造商无统一的标准化协议,终端设备无法兼容的技术问题。
为实现上述目的,本发明提供了一种虚拟局域网实现方法,所述虚拟局域网实现方法包括以下步骤:
将各个LAN侧端口进入的二层数据流报文分别复制到每一个LAN侧端口;
根据预设的至少一个虚拟局域网,以及各端口之间的连通性配置二层防火墙规则;
根据所述二层防火墙规则分别确定每个所述虚拟局域网内需要转发或者丢弃的二层数据流报文。
优选地,所述根据预设的至少一个虚拟局域网,以及各端口之间的连通性配置二层防火墙规则的步骤包括:
根据预设的至少一个虚拟局域网,以及各端口之间的连通性建立虚拟局域网参数表,所述虚拟局域网参数表包括各个端口之间的连通性结果;
根据所述虚拟局域网参数表配置二层防火墙规则。
优选地,所述根据预设的至少一个虚拟局域网,以及各端口之间的连通性建立虚拟局域网参数表的步骤包括:
根据预设的至少一个虚拟局域网获取所述虚拟局域网内各个端口的连通性,将每两个端口之间的连通性采用一位预设数值表示,将各个端口的连通性对应的预设数值进行编码,得到编码值组成一参数表,得到所述虚拟局域网参数表。
优选地,所述根据所述虚拟局域网参数表配置所述二层防火墙规则的步骤包括:
从所述虚拟局域网参数表中提取编码值;
对于每一所述编码值,利用二层防火墙Ebtables的转发forward链、进入网卡参数和出去网卡参数、丢弃DROP处理命令配置得到对应的二层防火墙规则。
优选地,所述将各个LAN侧端口进入的二层数据流报文分别复制到每一个LAN侧端口的步骤之前还包括:
监测从各个LAN侧端口进入的所有数据流报文,确定所述数据流报文的数据流报文类型,其中,所述数据流报文类型包括三层数据流报文和二层数据流报文。
优选地,在确定所述数据流报文的数据流报文类型之后,还包括:
当确定所述数据流报文类型为三层数据流报文时,则根据预定的路由表对所述三层数据流报文进行数据的转发。
优选地,所述监测从各个LAN侧端口进入的所有数据流报文的步骤包括:
通过所述防火墙框架的钩子HOOK功能抓取从各个LAN侧端口进入的所有数据流报文;所述二层防火墙采用二层防火墙Ebtables用户空间工具配置。
本发明实施例还提出一种终端设备,所述终端设备包括:
复制模块,用于将各个LAN侧端口进入的二层数据流报文分别复制到每一个LAN侧端口;
配置模块,用于根据预设的至少一个虚拟局域网,,以及各端口之间的连通性配置二层防火墙规则;
报文处理模块,用于根据所述二层防火墙规则分别确定每个所述虚拟局域网内需要转发或者丢弃的二层数据流报文。
优选地,所述配置模块,还用于据预设的至少一个虚拟局域网,以及各端口之间的连通性建立虚拟局域网参数表,所述虚拟局域网参数表包括各个端口之间的连通性结果;根据所述虚拟局域网参数表配置二层防火墙规则。
优选地,所述配置模块,还用于根据预设的至少一个虚拟局域网获取所述虚拟局域网内各个端口的连通性,将每两个端口之间的连通性采用一位预设数值表示,将各个端口的连通性对应的预设数值进行编码,得到编码值组成一参数表,得到所述虚拟局域网参数表。
优选地,所述配置模块,还用于从所述虚拟局域网参数表中提取编码值;对于每一所述编码值,利用二层防火墙Ebtables的转发forward链、进入网卡参数和出去网卡参数、丢弃DROP处理命令配置得到对应的二层防火墙规则。
优选地,所述终端设备还包括:
报文监测模块,用于监测从各个LAN侧端口进入的所有数据流报文,确定所述数据流报文的数据流报文类型,其中,所述数据流报文类型包括三层数据流报文和二层数据流报文。
优选地,所述终端设备还包括:
执行模块,用于当确定所述数据流报文类型为三层数据流报文时,根据预定的路由表对所述三层数据流报文进行数据的转发。
优选地,所述报文监测模块,还用于通过所述防火墙框架的钩子HOOK功能抓取从各个LAN侧端口进入的所有数据流报文;所述二层防火墙采用Ebtables用户空间工具配置。
本发明通过终端设备中固有的二层防火墙功能来对二层报文的传输进行定向的修改,将各个LAN侧端口进入的二层数据流报文复制到每一个LAN侧端口;根据预设的至少一个虚拟局域网建立虚拟局域网参数表;根据所述虚拟局域网参数表配置二层防火墙规则;根据所述二层防火墙规则分别确定每个所述虚拟局域网内需要转发或者丢弃的二层数据流报文,后续即可根据判别结果使各个LAN侧端口的数据流报文通过或者丢弃,继而实现了虚拟局域网的功能。本发明在不增加终端设备硬件成本的前提下,实现了虚拟局域网的功能。对终端设备本身来说,可以提高其与其他终端设备的兼容性,大大提升产品竞争力,解决了现有技术中各物联网终端制造商无统一的标准化协议,终端设备无法兼容的技术问题。
附图说明
图1为本发明虚拟局域网实现方法第一实施例的流程示意图;
图2为图1中将各个LAN侧端口进入的二层数据流报文分别复制到每一个LAN侧端口的细化流程示意图;
图3为本发明虚拟局域网实现方法第二实施例的流程示意图;
图4为本发明终端设备第一实施例的功能模块示意图;
图5为本发明终端设备第二实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:利用终端设备中固有的二层防火墙功能来对二层报文的传输进行定向的修改,例如针对传输到不同的LAN侧端口的数据流报文,有的LAN侧端口进行数据流报文的丢弃,有的LAN侧端口则进行数据流报文的通过,继而实现了虚拟局域网的功能。从而解决了现有技术各物联网终端制造商无统一的标准化协议,终端设备无法兼容的技术问题。
参照图1,图1为本发明虚拟局域网实现方法第一实施例的流程示意图,本发明第一实施例提供的一种虚拟局域网实现方法,用于终端设备(本实施例指客户终端设备(CPE,Customer Premise Equipment),所述终端设备配置有若干个LAN侧端口和防火墙框架,所述防火墙框架包括二层防火墙,所述虚拟局域网实现方法包括以下步骤:
S101:将各个LAN侧端口进入的二层数据流报文分别复制到每一个LAN侧端口;
其中,可以通过防火墙框架的HOOK(钩子)功能抓取从各个LAN(局域网)侧端口进入的所有数据流报文,从中筛选出二层数据流报文进行复制。
其中,二层数据流报文是基于二层协议报文的数据流报文,三层数据流报文是基于三层协议报文的数据流报文,二层数据流并非制定特殊协议,而是所有的二层报文都是基于普通的二层报文传输协议,同样三层数据流也是指所有的三层协议报文,三层协议有IP协议、TCP协议等。
S102:根据预设的至少一个虚拟局域网,以及各端口之间的连通性配置二层防火墙规则;
具体包括:根据预设的至少一个虚拟局域网,以及各端口之间的连通性建立虚拟局域网参数表,所述虚拟局域网参数表包括各个端口之间的连通性结果;根据所述虚拟局域网参数表配置二层防火墙规则。
本实施例中,二层防火墙与二层数据流报文具有对应关系,事实上,二层防火墙就是用来控制二层报文的转发。因此,基于二层防火墙来配置控制二层数据流报文转发的二层防火墙规则。
其中,预设的虚拟局域网可以根据用户需要建立的虚拟局域网要求来配置,比如,如果CPE设备有3个LAN侧端口,其中用户要求组建三个虚拟局域网VLAN1以及VLAN2、VLAN3。
具体地,在建立虚拟局域网参数表时,根据预设的虚拟局域网得出虚拟局域网内各个端口的连通性,将每两个端口之间的连通性采用一位二进制数表示,由各个端口的连通性对应的二进制数组成一参数表,得到所述虚拟局域网参数表。
根据上述的虚拟局域网参数表,并利用Ebtables(二层防火墙)的forward(转发)链、进入网卡参数和出去网卡参数、DROP(丢弃)处理命令配置得到二层防火墙规则。
S103:根据所述二层防火墙规则分别确定每个所述虚拟局域网内需要转发或者丢弃的二层数据流报文。
在实际应用中,通常会先判断报文是从哪个LAN侧端口传入,假设所述终端设备有LAN1、LAN2、LAN3和LAN4四个端口,用户要建立的虚拟局域网是VLAN1(LAN1、LAN2、LAN3)和VLAN2(LAN2、LAN3、LAN4),那么对于从LAN1进入的报文只能在LAN1、LAN2、LAN3之间转发,对于从LAN4进入的报文只能在LAN2、LAN3、LAN4之间转发,而对于从LAN2和LAN3进入的报文可以在LAN1、LAN2、LAN3和LAN4之间转发。
在本实施例中,首先根据用户需要建立的虚拟局域网要求建立虚拟局域网参数表,然后再根据所述虚拟局域网参数表配置所述二层防火墙的二层防火墙规则,也即该二层防火墙规则反映了用户想要建立的虚拟局域网的要求,然后利用该规则对二层报文的传输进行定向的修改;如果两个LAN侧端口位于用户想要建立的同一虚拟局域网内,则允许彼此之间的二层数据流报文通过,否则做放弃处理不允许彼此之间的二层数据流报文通过,由此就建立了用户要求的二层虚拟局域网。
需要说明的是,本发明并不限定上述步骤的顺序,例如上述步骤还可以按如下顺序执行:S102-S101-S103。
具体的,请参照图2,图2为图1中将各个LAN侧端口进入的二层数据流报文分别复制到每一个LAN侧端口的细化流程示意图。
如图2所示,在本发明虚拟局域网实现方法的其他实施例中,所述将各个LAN侧端口进入的所有二层数据流报文复制到所有的LAN侧端口的步骤具体包括以下步骤:
S1011:通过所述防火墙框架的HOOK功能抓取从各个LAN侧端口进入的所有数据流报文;
S1012:所述防火墙框架将所有数据流报文中的所有二层数据流报文复制到所述终端设备的各个LAN侧端口。
在本实施例中,上述两个步骤都采用系统自带的防火墙框架功能实现,降低了工作量,节省了成本。
具体的,在本发明虚拟局域网实现方法的其他实施例中,所述二层防火墙采用Ebtables用户空间工具配置。
具体的,在本发明虚拟局域网实现方法的其他实施例中,所述根据用户需要建立的虚拟局域网要求建立虚拟局域网参数表步骤具体包括:
根据用户需要建立的虚拟局域网要求得出各个端口的连通性,每两个端口之间的连通性都用一位预设数值表示,本实施例以二进制数表示,一般采用0表示断开,1表示连接作为常用的表示方式,也可以采取UP和down的形式来表示连接和断开,由此得出一个由二进制数组成的参数表即是虚拟局域网参数表。比如,终端设备具有三个LAN侧端口,用户需要建立三个虚拟局域网,使用二进制表示各个端口之间互通性,三位二进制数从左到右,依次表示,端口1与端口2的互通性;端口1与端口3的互通性;端口2与端口3的互通性。1表示相通,0表示不通。则对应的编码用000表示,形成虚拟局域网参数表:端口1与端口2不通,端口1与端口3不通,端口2与端口3不通。三个虚拟局域网VLAN1(端口1)、VLAN2(端口2)、VLAN3(端口3)。
所述根据所述虚拟局域网参数表配置所述二层防火墙的二层防火墙规则步骤具体包括:
根据上述的虚拟局域网参数表利用Ebtables的forward链、进入网卡参数和出去网卡参数、DROP处理命令编写二层防火墙规则。
其中,根据二层防火墙Ebtables的特性,其配置有报文过滤表,报文过滤表中含有forward转发链路参数、进入网卡参数和出去网卡参数,在组件虚拟局域网时,如果两个端口是连通的,则采用不添加DROP处理命令的防火墙规则,如果两个端口不是连通的,则采用添加DROP处理命令防火墙规则,同时对任意两个端口间都需要进行端口连通性的防火墙规则配置,确保这些端口都会根据相应的参数表信息来配置防火墙规则。
更为具体地,在配置二层防火墙规则时,首先,从所述虚拟局域网参数表中提取编码值;对于每一所述编码值,利用二层防火墙Ebtables的转发forward链、进入网卡参数和出去网卡参数、丢弃DROP处理命令配置得到对应的二层防火墙规则,也就是说,对于每一编码值都对应有相应的二层防火墙规则。
在配置二层防火墙规则时,如果两个端口M、N之间的连通性结果为不通,则在过滤表中的转发链路中,添加丢弃命令,即,M—N的报文丢弃,N—M的报文丢弃,其规则表达式如下:
ebtables-t filter-A FORWARD-i ethM-o ethN-j DROP;
ebtables-t filter-A FORWARD-i ethN-o ethM-j DROP。
上述规则表达式中,filter表示过滤表,FORWARD表示转发链路,DROP表示丢弃命令。
其中,编码值的每一位都表示两个端口之间的连通性结果,比如对于具有端口1、端口2和端口3三个端口的终端设备,编码值000表示三个端口均不通。
下面举例说明如何编写二层防火墙规则,假设所述终端设备具有三个LAN侧端口,即端口1、端口2和端口3,那么用户想要建立的虚拟局域网可能有以下八种形式。
首先进行编码,通过二进制表示各端口之间的连通性进行举例,将每两个端口之间的连通性采用一位二进制数表示,由此,每两个端口之间的连通性得到一个二进制数组成的编码,依此原理,得到各个端口之间的二进制数编码组成一个参数表,作为虚拟局域网参数表:
具体地,由于终端设备具有三个LAN侧端口,使用二进制表示各个端口之间互通性,三位二进制数从左到右,依次表示,端口1与端口2的互通性;端口1与端口3的互通性;端口2与端口3的互通性。1表示相通,0表示不通。如下是对每种情况进行的具体编码:
000表示:端口1与端口2不通,端口1与端口3不通,端口2与端口3不通。三个虚拟局域网VLAN1(端口1)、VLAN2(端口2)、VLAN3(端口3)。
●001表示:端口1与端口2不通,端口1与端口3不通,端口2与端口3通。两个虚拟局域网VLAN1(端口1)、VLAN2(端口2、端口3)。
●010表示:端口1与端口2不通,端口1与端口3通,端口2与端口3不通。两个虚拟局域网VLAN1(端口1、端口3)、VLAN2(端口2)。
●011表示:端口1与端口2不通,端口1与端口3通,端口2与端口3通。两个虚拟局域网VLAN1(端口1、端口3)、VLAN2(端口2、端口3)。
●100表示:端口1端口与2通,端口1与端口3不通,2与3不通。两个虚拟局域网VLAN1(端口1、端口2)、VLAN2(端口3)。
●101表示:端口1与端口2通,端口1与端口3不通,端口2与端口3通。两个虚拟局域网VLAN1(端口1、端口2)、VLAN2(端口2、端口3)。
●110表示:端口1与端口2通,端口1与端口3通,端口2与端口3不通。两个虚拟局域网VLAN1(端口1、端口2)、VLAN2(端口1、端口3)。
●111表示:端口1与端口2通,端口1与端口3通,端口2与端口3通。一个虚拟局域网VLAN1(端口1、端口2、端口3)。
由此可以看出如果用户组建虚拟局域网有以上8种情况,其中最多组建3个虚拟局域网,最少组建1个局域网。
同理可知,对于CPE产品通常有4个端口作为有线LAN口,则有64种情况最多组建4个虚拟局域网,最少组建1个虚拟局域网。
上述举例(三个LAN侧端口)对应的ebtables规则如下:
i.000编码对应的ebtables规则:
ebtables-t filter-A FORWARD-i eth1-o eth2-j DROP
ebtables-t filter-A FORWARD-i eth2-o eth1-j DROP
ebtables-t filter-A FORWARD-i eth1-o eth3-j DROP
ebtables-t filter-A FORWARD-i eth3-o eth1-j DROP
ebtables-t filter-A FORWARD-i eth2-o eth3-j DROP
ebtables-t filter-A FORWARD-i eth3-o eth2-j DROP
ii.001编码对应的ebtables规则:
ebtables-t filter-A FORWARD-i eth1-o eth2-j DROP
ebtables-t filter-A FORWARD-i eth2-o eth1-j DROP
ebtables-t filter-A FORWARD-i eth1-o eth3-j DROP
ebtables-t filter-A FORWARD-i eth3-o eth1-j DROP
iii.010编码对应的ebtables规则:
ebtables-t filter-A FORWARD-i eth1-o eth2-j DROP
ebtables-t filter-A FORWARD-i eth2-o eth1-j DROP
ebtables-t filter-A FORWARD-i eth2-o eth3-j DROP
ebtables-t filter-A FORWARD-i eth3-o eth2-j DROP
iv.011编码对应的ebtables规则:
ebtables-t filter-A FORWARD-i eth1-o eth2-j DROP
ebtables-t filter-A FORWARD-i eth2-o eth1-j DROP
v.100编码对应的ebtables规则:
ebtables-t filter-AFORWARD-i eth1-o eth3-j DROP
ebtables-t filter-A FORWARD-i eth3-o eth1-j DROP
ebtables-t filter-A FORWARD-i eth2-o eth3-j DROP
ebtables-t filter-A FORWARD-i eth3-o eth2-j DROP
vi.101编码对应的ebtables规则:
ebtables-t filter-A FORWARD-i eth1-o eth3-j DROP
ebtables-t filter-A FORWARD-i eth3-o eth1-j DROP
vii.110编码对应的ebtables规则:
ebtables-t filter-A FORWARD-i eth2-o eth3-j DROP
ebtables-t filter-AFORWARD-i eth3-o eth2-j DROP
viii.111编码对应的ebtables规则:
无需添加规则。
本实施例通过上述方案,通过终端设备中固有的二层防火墙功能来对二层报文的传输进行定向的修改,将各个LAN侧端口进入的二层数据流报文分别复制到每一个LAN侧端口处准备进行数据的转发;根据预设的至少一个虚拟局域网建立虚拟局域网参数表;根据所述虚拟局域网参数表配置所述二层防火墙的二层防火墙规则;根据所述二层防火墙规则分别确定每个所述虚拟局域网内需要转发或者丢弃的二层数据流报文,根据判别结果使各个LAN侧端口的数据流报文通过或者丢弃,继而实现了虚拟局域网的功能。本发明在不增加终端设备硬件成本的前提下,实现了虚拟局域网的功能。对终端设备本身来说,可以提高其与其他终端设备的兼容性,大大提升产品竞争力,解决了现有技术中各物联网终端制造商无统一的标准化协议,终端设备无法兼容的技术问题。
参照图3,图3为本发明虚拟局域网实现方法第二实施例的流程示意图。
如图2所示,本发明的第二实施例提供的一种虚拟局域网实现方法,用于终端设备,所述终端设备配置有若干个LAN侧端口和防火墙框架,所述防火墙框架包括二层防火墙,所述虚拟局域网实现方法包括以下步骤:
S201:监测从各个LAN侧端口进入的所有数据流报文;
S202:确定所述数据流报文的数据流报文类型,其中,所述数据流报文类型包括三层数据流报文和二层数据流报文,即判断所述数据流报文是二层数据流报文还是三层数据流报文,如果是三层数据流报文,则执行步骤S203,如果是二层数据流报文则执行步骤S204至步骤S207;
S203:根据预定的路由表对所述三层数据流报文进行数据的转发;
其中,预定的路由表包括:当前三层数据流报文的MAC地址与IP地址的对应关系,下一跳三层数据流报文的MAC地址与IP地址的对应关系,IP地址对应相应的端口信息。
根据路由表对所述三层数据流报文进行数据的转发,是指三层数据流报文的正常转发,即根据路由表中的IP地址,将报文发到对应的端口。
S204:将所有的二层数据流报文复制到所述终端设备的各个LAN侧端口处准备进行数据的转发;
S205:根据预设的至少一个虚拟局域网,以及各端口之间的连通性配置二层防火墙规则;
S206:根据所述二层防火墙规则分别确定每个所述虚拟局域网内需要转发或者丢弃的二层数据流报文。
在本实施例中,首先根据用户需要建立的虚拟局域网要求建立虚拟局域网参数表,然后再根据所述虚拟局域网参数表配置所述二层防火墙的二层防火墙规则,也即该二层防火墙规则反映了用户想要建立的虚拟局域网的要求,然后利用该规则对二层报文的传输进行定向的修改;如果两个LAN侧端口位于用户想要建立的同一虚拟局域网内,则允许彼此之间的二层数据流报文通过,否则做放弃处理不允许彼此之间的二层数据流报文通过,由此就建立了用户要求的二层虚拟局域网。
需要说明的是,与上述第一实施例中的虚拟局域网实现方法相比,本虚拟局域网实现方法增加了三层报文的处理步骤。
需要说明的是,本实施例并不限定上述步骤的顺序,S204至S205的顺序还可以是:S205-S204-S206。
具体的,在本发明虚拟局域网实现方法的其他实施例中,通过所述防火墙框架的HOOK功能抓取从各个LAN侧端口进入的所有数据流报文;
所述防火墙框架将所有二层数据流报文复制到所述终端设备的各个LAN侧端口处准备进行数据的转发。
在本实施例中,上述两个步骤都采用系统自带的防火墙框架功能实现,降低了工作量,节省了成本。
优选地,在本发明虚拟局域网实现方法的其他实施例中,所述二层防火墙采用Ebtables用户空间工具配置。
具体的,在本发明虚拟局域网实现方法的其他实施例中,所述根据用户需要建立的虚拟局域网要求建立虚拟局域网参数表步骤具体包括:
根据用户需要建立的虚拟局域网要求得出各个端口的连通性,每两个端口之间的连通性都用一位二进制数表示,由此得出一个由二进制数组成的参数表即是虚拟局域网参数表;
所述根据所述虚拟局域网参数表配置所述二层防火墙的二层防火墙规则步骤具体包括:
根据上述的虚拟局域网参数表,并利用Ebtables的forward链、进入网卡参数和出去网卡参数、DROP处理命令编写二层防火墙规则。
具体如何编写二层防火墙规则如前所述,在此不再赘述。
本实施例方案实现了对各个LAN侧端口进入的所有数据流报文至少包括二层报文以及三层报文的分别处理,从而提高了报文处理的灵活性,并满足对二层报文的虚拟局域网实现需求,本实施例方案利用CPE中一般都具有的ebtables功能,通过利用ebtables功能来对二层报文的传输进行定向的修改,如对不同的端口传输,有的进行报文的丢弃,有的则进行报文的通过,继而实现虚拟局域网,在不增加CPE硬件成本的前提下,提高了其与其他终端设备的兼容性,大大提升产品竞争力。
相比现有技术,本发明实施例的终端设备可利用ebtables来对CPE LAN侧端口实现虚拟局域网的功能。
由于802.1Q是标准化的虚拟局域网协议,现有技术中,通过对数据报文增加二层VLAN头的形式来对不同虚拟局域网的报文进行数据的区分与转发,这就要求虚拟局域网中的所有设备都必须支持此协议,但对于小型的家用CPE产品或是物联网终端来说,由于CPU、内存以及硬件成本的限制,不是所有的终端都能够支持802.1Q协议,局限性非常的明显,而且对于当下众多的物联网终端设备来说,不可能有统一的协议标准来要求各个厂家,而若采用本发明方案则会大大提高终端设备的兼容性,对于CPE这样一种物联网中的核心设备来说,必然能够提升其竞争力。
参照图4,图4为本发明终端设备第一实施例的功能模块示意图。
如图4所示,本发明的第一实施例提供的一种终端设备,包括若干个LAN侧端口和防火墙框架,所述防火墙框架包括二层防火墙,所述终端设备还包括:复制模块11、配置模块12、以及报文处理模块13,其中:
复制模块11,用于将各个LAN侧端口进入的所有二层数据流报文分别复制到每一个LAN侧端口;其中,二层数据流报文是基于二层协议报文的数据流报文,三层数据流报文是基于三层协议报文的数据流报文,二层数据流并非制定特殊协议,而是所有的二层报文都是基于普通的二层报文传输协议,同样三层数据流也是指所有的三层协议报文,三层协议有IP协议、TCP协议等。
配置模块12,用于根据预设的至少一个虚拟局域网,以及各端口之间的连通性配置所述二层防火墙的二层防火墙规则;具体包括:根据预设的至少一个虚拟局域网,以及各端口之间的连通性建立虚拟局域网参数表,所述虚拟局域网参数表包括各个端口之间的连通性结果;根据所述虚拟局域网参数表配置二层防火墙规则。
本实施例中,二层防火墙与二层数据流报文具有对应关系,事实上,二层防火墙就是用来控制二层报文的转发。因此,基于二层防火墙来配置控制二层数据流报文转发的二层防火墙规则。
报文处理模块13,用于根据所述二层防火墙规则分别确定每个所述虚拟局域网内需要转发或者丢弃的二层数据流报文。
具体的,在本发明终端设备的其他实施例中,所述复制模块还可以包括:
报文抓取单元或监听模块,用于通过所述防火墙框架的HOOK功能抓取从各个LAN侧端口进入的所有数据流报文;
复制单元,用于通过所述防火墙框架将所有数据流报文中的所有二层数据流报文复制到所述终端设备的各个LAN侧端口处准备进行数据的转发。
优选的,在本发明终端设备的其他实施例中,所述二层防火墙采用Ebtables用户空间工具配置。
具体的,在本发明终端设备的其他实施例中,所述配置模块12,还用于根据用户需要建立的虚拟局域网要求建立虚拟局域网参数表,具体指根据用户需要建立的虚拟局域网要求得出各个端口的连通性,每两个端口之间的连通性都用一位二进制数表示,由此得出一个由二进制数组成的参数表即是虚拟局域网参数表;
所述配置模块12,还用于根据所述虚拟局域网参数表配置所述二层防火墙的二层防火墙规则,具体指根据上述的虚拟局域网参数表利用Ebtables的forward链、进入网卡参数和出去网卡参数、DROP处理命令编写二层防火墙规则。
本实施例通过上述方案,通过终端设备中固有的二层防火墙功能来对二层报文的传输进行定向的修改,将各个LAN侧端口进入的二层数据流报文分别复制到每一个LAN侧端口;根据预设的至少一个虚拟局域网建立虚拟局域网参数表;根据所述虚拟局域网参数表配置所述二层防火墙的二层防火墙规则;根据所述二层防火墙规则分别确定每个所述虚拟局域网内需要转发或者丢弃的二层数据流报文,根据判别结果使各个LAN侧端口的数据流报文通过或者丢弃,继而实现了虚拟局域网的功能。本发明在不增加终端设备硬件成本的前提下,实现了虚拟局域网的功能。对终端设备本身来说,可以提高其与其他终端设备的兼容性,大大提升产品竞争力,解决了现有技术中各物联网终端制造商无统一的标准化协议,终端设备无法兼容的技术问题。
参照图5,图5为本发明终端设备第二实施例的功能模块示意图。
如图5所示,本发明的第二实施例提供的一种终端设备,包括若干个LAN侧端口和防火墙框架,所述防火墙框架包括二层防火墙,所述终端设备还包括:
报文监测模块19,用于监测从各个LAN侧端口进入的所有数据流报文,确定所述数据流报文的数据流报文类型,其中,所述数据流报文类型包括三层数据流报文和二层数据流报文;
执行模块20,用于当确定所述数据流报文类型为三层数据流报文时,根据预定的路由表对所述三层数据流报文进行数据的转发;
复制模块21,用于将所有的二层数据流报文复制到所述终端设备的各个LAN侧端口处准备进行数据的转发;
配置模块22,用于根据预设的至少一个虚拟局域网,以及各端口之间的连通性配置所述二层防火墙的二层防火墙规则;
报文处理模块23,用于根据所述二层防火墙规则分别确定每个所述虚拟局域网内需要转发或者丢弃的二层数据流报文。
具体的,在本发明终端设备的其他实施例中,所述报文监测模块19通过所述防火墙框架的HOOK功能抓取从各个LAN侧端口进入的所有数据流报文;
所述复制模块21通过所述防火墙框架将所有数据流报文中的所有二层数据流报文复制到所述终端设备的各个LAN侧端口处准备进行数据的转发。
优选的,在本发明终端设备的其他实施例中,所述二层防火墙采用Ebtables用户空间工具配置。
具体的,在本发明终端设备的其他实施例中,所述配置模块22,用于根据用户需要建立的虚拟局域网要求建立虚拟局域网参数表,具体指根据用户需要建立的虚拟局域网要求得出各个端口的连通性,每两个端口之间的连通性都用一位二进制数表示,由此得出一个由二进制数组成的参数表即是虚拟局域网参数表;
所述配置模块22,还用于根据所述虚拟局域网参数表配置所述二层防火墙的二层防火墙规则,具体指根据上述的虚拟局域网参数表利用Ebtables的forward链、进入网卡参数和出去网卡参数、DROP处理命令编写二层防火墙规则。
需要说明的是,上述终端设备用于执行前述对应的虚拟局域网实现方法的各个步骤。
本实施例方案实现了对各个LAN侧端口进入的所有数据流报文至少包括二层报文以及三层报文的分别处理,从而提高了报文处理的灵活性,并满足对二层报文的虚拟局域网实现需求,本实施例方案利用CPE中一般都具有的ebtables功能,通过利用ebtables功能来对二层报文的传输进行定向的修改,如对不同的端口传输,有的进行报文的丢弃,有的则进行报文的通过,继而实现虚拟局域网,在不增加CPE硬件成本的前提下,提高了其与其他终端设备的兼容性,大大提升产品竞争力。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (14)

1.一种虚拟局域网实现方法,其特征在于,所述虚拟局域网实现方法包括以下步骤:
将各个LAN侧端口进入的二层数据流报文分别复制到每一个LAN侧端口;
根据预设的至少一个虚拟局域网,以及各端口之间的连通性建立虚拟局域网参数表,根据所述虚拟局域网参数表配置二层防火墙规则;
根据所述二层防火墙规则分别确定每个所述虚拟局域网内需要转发或者丢弃的二层数据流报文。
2.根据权利要求1所述的虚拟局域网实现方法,其特征在于,所述虚拟局域网参数表包括各个端口之间的连通性结果。
3.根据权利要求2所述的虚拟局域网实现方法,其特征在于,所述根据预设的至少一个虚拟局域网,以及各端口之间的连通性建立虚拟局域网参数表的步骤包括:
根据预设的至少一个虚拟局域网获取所述虚拟局域网内各个端口的连通性,将每两个端口之间的连通性采用一位预设数值表示,将各个端口的连通性对应的预设数值进行编码,得到编码值组成一参数表,得到所述虚拟局域网参数表。
4.根据权利要求3所述的虚拟局域网实现方法,其特征在于,所述根据所述虚拟局域网参数表配置所述二层防火墙规则的步骤包括:
从所述虚拟局域网参数表中提取编码值;
对于每一所述编码值,利用二层防火墙Ebtables的转发forward链、进入网卡参数和出去网卡参数、丢弃DROP处理命令配置得到对应的二层防火墙规则。
5.根据权利要求1-4中任一项所述的虚拟局域网实现方法,其特征在于,所述将各个LAN侧端口进入的二层数据流报文分别复制到每一个LAN侧端口的步骤之前还包括:
监测从各个LAN侧端口进入的所有数据流报文,确定所述数据流报文的数据流报文类型,其中,所述数据流报文类型包括三层数据流报文和二层数据流报文。
6.根据权利要求5所述的虚拟局域网实现方法,其特征在于,在确定所述数据流报文的数据流报文类型之后,还包括:
当确定所述数据流报文类型为三层数据流报文时,则根据预定的路由表对所述三层数据流报文进行数据的转发。
7.如权利要求5所述的虚拟局域网实现方法,其特征在于,所述监测从各个LAN侧端口进入的所有数据流报文的步骤包括:
通过防火墙框架的钩子HOOK功能抓取从各个LAN侧端口进入的所有数据流报文;所述防火墙框架包括二层防火墙,所述二层防火墙采用二层防火墙Ebtables用户空间工具配置。
8.一种终端设备,其特征在于,所述终端设备包括:
复制模块,用于将各个LAN侧端口进入的二层数据流报文分别复制到每一个LAN侧端口;
配置模块,用于根据预设的至少一个虚拟局域网,以及各端口之间的连通性建立虚拟局域网参数表,根据所述虚拟局域网参数表配置二层防火墙规则;
报文处理模块,用于根据所述二层防火墙规则分别确定每个所述虚拟局域网内需要转发或者丢弃的二层数据流报文。
9.根据权利要求8所述的终端设备,其特征在于,所述虚拟局域网参数表包括各个端口之间的连通性结果。
10.根据权利要求9所述的终端设备,其特征在于,
所述配置模块,还用于根据预设的至少一个虚拟局域网获取所述虚拟局域网内各个端口的连通性,将每两个端口之间的连通性采用一位预设数值表示,将各个端口的连通性对应的预设数值进行编码,得到编码值组成一参数表,得到所述虚拟局域网参数表。
11.根据权利要求9所述的终端设备,其特征在于,
所述配置模块,还用于从所述虚拟局域网参数表中提取编码值;对于每一所述编码值,利用二层防火墙Ebtables的转发forward链、进入网卡参数和出去网卡参数、丢弃DROP处理命令配置得到对应的二层防火墙规则。
12.根据权利要求8-11中任一项所述的终端设备,其特征在于,所述终端设备还包括:
报文监测模块,用于监测从各个LAN侧端口进入的所有数据流报文,确定所述数据流报文的数据流报文类型,其中,所述数据流报文类型包括三层数据流报文和二层数据流报文。
13.根据权利要求12所述的终端设备,其特征在于,所述终端设备还包括:
执行模块,用于当确定所述数据流报文类型为三层数据流报文时,根据预定的路由表对所述三层数据流报文进行数据的转发。
14.如权利要求12所述的终端设备,其特征在于,所述报文监测模块,还用于通过防火墙框架的钩子HOOK功能抓取从各个LAN侧端口进入的所有数据流报文;所述防火墙框架包括二层防火墙,所述二层防火墙采用Ebtables用户空间工具配置。
CN201610988519.4A 2016-11-09 2016-11-09 虚拟局域网实现方法和终端设备 Active CN108063715B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201610988519.4A CN108063715B (zh) 2016-11-09 2016-11-09 虚拟局域网实现方法和终端设备
PCT/CN2017/108921 WO2018086475A1 (zh) 2016-11-09 2017-11-01 虚拟局域网实现方法和终端设备
JP2019524023A JP6860663B2 (ja) 2016-11-09 2017-11-01 Vlan実現方法および端末装置
US16/348,633 US11171921B2 (en) 2016-11-09 2017-11-01 Method for forwarding or dropping a packet in a virtual local area network and terminal device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610988519.4A CN108063715B (zh) 2016-11-09 2016-11-09 虚拟局域网实现方法和终端设备

Publications (2)

Publication Number Publication Date
CN108063715A CN108063715A (zh) 2018-05-22
CN108063715B true CN108063715B (zh) 2021-05-11

Family

ID=62109465

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610988519.4A Active CN108063715B (zh) 2016-11-09 2016-11-09 虚拟局域网实现方法和终端设备

Country Status (4)

Country Link
US (1) US11171921B2 (zh)
JP (1) JP6860663B2 (zh)
CN (1) CN108063715B (zh)
WO (1) WO2018086475A1 (zh)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020085545A1 (en) * 2000-12-28 2002-07-04 Maple Optical Systems, Inc. Non-blocking virtual switch architecture
US20030229810A1 (en) * 2002-06-05 2003-12-11 Bango Joseph J. Optical antivirus firewall for internet, LAN, and WAN computer applications
CN1315296C (zh) * 2003-07-11 2007-05-09 华为技术有限公司 多端口虚拟局域网系统中的组播数据转发方法
CN100461732C (zh) 2006-06-16 2009-02-11 华为技术有限公司 一种以太技术交换和转发的方法、系统和设备
CN101267331A (zh) * 2008-04-23 2008-09-17 华为技术有限公司 一种组播转发表查找方法和装置
CN101494600B (zh) * 2008-11-21 2011-08-31 深圳市共进电子有限公司 Adsl终端镜像监控报文信息的网络配置方法及装置
EP2326129B1 (en) * 2009-11-20 2016-07-13 Alcatel Lucent Allocating an IP subnet address in a local network comprising a plurality of devices and connected to the internet
CN103763407A (zh) * 2014-01-28 2014-04-30 上海斐讯数据通信技术有限公司 二层虚拟局域网实现地址解析协议代理方法及局域网系统
CN106789425B (zh) * 2016-12-22 2019-08-02 北京东土科技股份有限公司 一种确定重复报文的方法及装置

Also Published As

Publication number Publication date
CN108063715A (zh) 2018-05-22
US11171921B2 (en) 2021-11-09
JP2019534652A (ja) 2019-11-28
WO2018086475A1 (zh) 2018-05-17
JP6860663B2 (ja) 2021-04-21
US20200304468A1 (en) 2020-09-24

Similar Documents

Publication Publication Date Title
EP3058687B1 (en) Configurable service proxy mapping
US7672227B2 (en) Loop prevention system and method in a stackable ethernet switch system
EP2985959B1 (en) Progressive mac address learning
US8509248B2 (en) Routing frames in a computer network using bridge identifiers
US20110082921A1 (en) Auto-configuration of network captured traffic device
US8750122B1 (en) Method and apparatus for layer 2 loop prevention in a multi-node switch cluster
JP2002314571A5 (zh)
US9225634B2 (en) Modified ethernet preamble for inter line card communications in a modular communication chassis
CN107078974A (zh) 用于存储区域网中的网络交换机的多播通告消息
CN102461089A (zh) 用于使用标签进行策略执行的方法和设备
CN101222437B (zh) 在二层交换网络中透传bpdu报文的方法和系统
CN104092684A (zh) 一种OpenFlow协议支持VPN的方法及设备
WO2012119372A1 (zh) 一种报文处理方法、设备和系统
CN111628883B (zh) 在具有入网点的数据中心中部署网络配置的方法
CN108063715B (zh) 虚拟局域网实现方法和终端设备
CN105721346A (zh) 一种基于软件定义网络的应用带宽配置方法及控制器
TW201803314A (zh) 伺服器、開關、通信系統、通信方法及記錄媒體
JP5931842B2 (ja) スイッチ装置及びスイッチ装置制御方法
JP2006502637A (ja) 配電網の中の通信システム上に仮想ローカルエリアネットワークを実現するための方法
WO2016192208A1 (zh) 虚拟局域网vlan过滤处理方法及装置
CN112737915B (zh) 基于智能网卡的内网隧道跨域网关转发方法、系统、设备和介质
US11924096B2 (en) Layer-2 mesh replication
US20240022506A1 (en) Limiting layer-2 mesh flooding
CN101312426A (zh) 可堆叠以太网交换机系统中的环路防止系统和方法
TWI612783B (zh) 整合冗餘環狀網路及快速生成樹協定之系統及其方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant