1.本发明涉及计算机网络通讯技术领域,尤其是涉及一种流量隔离方法、装置、交换机及存储介质。
背景技术:2.在以太网交换机设备使用过程中,经常会遭遇arp攻击、环路风暴等,为了保证数据的安全和网络通畅,人们希望能够隔离端口或用户之间的未知流量的互通。
3.在现有技术中,交换机采用的隔离方法如下:
4.1、vlan隔离;通过将不同的端口加入到不同的vlan,或者是匹配用户特征划分到不同的vlan而实现vlan隔离,这种方案实现了流量的二层隔离,但会使得原本有二层通信需求的用户无法得到服务。如果在一个大的网络当中的话,接入交换机端口很多,用户很多的情况下,会需要分配大量的vlan,vlan资源会无法满足要求。
5.2、端口隔离;这种方式在端口之间实现隔离,不同端口下的用户不能直接通信,只能通过上游汇聚或核心交换机转发通信,它能够很好地隔离arp攻击,环路风暴等,但是增加了上游汇聚或核心交换机地链路负担,而且增加了转发路径,延时增大,对于用户的二层通信需求也无法满足;
6.综上所述,无论是vlan隔离还是端口隔离,都有其局限性,无法按流量类型进行隔离,无法让目的已知的单播报文通过,而只隔离目的未知的泛洪流量,无法满足用户间的二层通信需求;另一方面,端口隔离依赖于上游汇聚或核心交换机实现用户间的三层通信,占用核心带宽,且延时大,效率低。
技术实现要素:7.本发明的目的在于提供一种流量隔离方法、装置、交换机及存储介质,通过该方法可实现隔离目的未知的泛洪流量,让目的已知的二层和三层报文都可以正常通过,减少网络中的泛洪攻击,环路风暴,提高网络带宽利用率,保护用户安全。
8.第一方面,本发明提供的一种流量隔离方法,应用于虚拟局域网的交换机,所述方法包括:
9.接收待转发的报文;
10.识别报文的类型,对目标类型的报文添加目标类型标签;
11.设置标签出口acl规则,且所述标签出口acl规则的优先级高于默认出口acl规则;
12.根据所述标签出口acl规则,转发带有目标类型标签的报文,丢弃不带有目标类型标签的报文。
13.进一步的,在接收待转发的报文的步骤之前,还包括:
14.为每种目标类型分配各自的目标类型标签。
15.进一步的,在接收待转发的报文的步骤之前,还包括:
16.为每个入端口和出端口分别分配入端口标签和出端口标签。
17.进一步的,识别报文的类型,对目标类型的报文添加目标类型标签的步骤,包括:
18.识别报文的进入端口,对报文添加相应的入端口标签;
19.识别报文的类型,对目标类型的报文添加相应的目标类型标签;
20.识别报文的目的端口,对报文添加相应的出端口标签。
21.进一步的,根据所述标签出口acl规则,转发带有目标类型标签的报文,丢弃不带有目标类型标签的报文的步骤,包括:
22.根据所述标签出口acl规则,确定可转发的目标出入端口;
23.读取报文的入端口标签和出端口标签,判断报文的出入端口是否与目标出入端口一致;
24.若是,则转发带有目标类型标签的报文,丢弃不带有目标类型标签的报文。
25.进一步的,读取报文的入端口标签和出端口标签,判断报文的出入端口是否与目标出入端口一致的步骤之后,还包括:
26.若否,则丢弃报文。
27.进一步的,所述目标类型包括二层单播报文、二层组播报文、三层单播报文、三层组播报文中的一种或多种。
28.第二方面,本发明还提供了一种流量隔离装置,应用于虚拟局域网的交换机,所述装置包括:
29.接收模块,用于接收待转发的报文;
30.标签模块,用于识别报文的类型,对目标类型的报文添加目标类型标签;
31.规则模块,用于设置标签出口acl规则,且所述标签出口acl规则的优先级高于默认出口acl规则;
32.转发模块,用于根据所述标签出口acl规则,转发带有目标类型标签的报文,丢弃不带有目标类型标签的报文。
33.第三方面,本发明还提供了一种交换机,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述流量隔离方法的步骤。
34.第四方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述流量隔离方法。
35.本发明提供的一种流量隔离方法,能够有效隔离环路风暴、泛洪攻击等,同时又能满足用户正常的二层三层通信需求,保障了网络安全,提高了网络带宽利用率。
36.相应地,本发明实施例提供的一种流量隔离装置、交换机及计算机可读存储介质,也同样具有上述技术效果。
附图说明
37.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1为本发明实施例提供的实现交换机流量隔离的流程图;
39.图2为本发明实施例提供的给进入交换机的报文添加标签的逻辑框图;
40.图3为本发明实施例提供的交换机的模块组图。
具体实施方式
41.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
42.本发明实施例中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
43.请参阅图1和图2,本发明提供的一种流量隔离方法,应用于虚拟局域网的交换机,方法包括:
44.接收待转发的报文;
45.识别报文的类型,对目标类型的报文添加目标类型标签;
46.设置标签出口acl规则,且标签出口acl规则的优先级高于默认出口acl规则;
47.根据标签出口acl规则,转发带有目标类型标签的报文,丢弃不带有目标类型标签的报文。
48.在接收待转发的报文的步骤之前,还包括:
49.为每种目标类型分配各自的目标类型标签。
50.在接收待转发的报文的步骤之前,还包括:
51.为每个入端口和出端口分别分配入端口标签和出端口标签。
52.识别报文的类型,对目标类型的报文添加目标类型标签的步骤,包括:
53.识别报文的进入端口,对报文添加相应的入端口标签;
54.识别报文的类型,对目标类型的报文添加相应的目标类型标签;
55.识别报文的目的端口,对报文添加相应的出端口标签。
56.根据标签出口acl规则,转发带有目标类型标签的报文,丢弃不带有目标类型标签的报文的步骤,包括:
57.根据标签出口acl规则,确定可转发的目标出入端口;
58.读取报文的入端口标签和出端口标签,判断报文的出入端口是否与目标出入端口一致;
59.若是,则转发带有目标类型标签的报文,丢弃不带有目标类型标签的报文。
60.读取报文的入端口标签和出端口标签,判断报文的出入端口是否与目标出入端口一致的步骤之后,还包括:
61.若否,则丢弃报文。
62.目标类型包括二层单播报文、二层组播报文、三层单播报文、三层组播报文中的一种或多种。
63.上述流量隔离方法,在具体实施时,步骤如下:
64.步骤1标签分配单元,给入端口、出端口、l2uc、l2mc、l3uc、l3mc分配标签。
65.步骤2报文识别单元,识别报文进入的端口,打上入端口标签,识别报文类型是l2uc、l2mc、l3uc或l3mc,给其打上分配的标签,识别报文目的端口,打上出端口标签。
66.步骤3报文隔离单元,设置优先级高的出口acl,通过匹配报文的入端口标签和出端口标签识别报文的进出端口,通过匹配l2uc、l2mc、l3uc或l3mc标签识别报文类型为已知流量,放行通过,设置优先级低的默认出口acl规则,匹配报文的入端口标签和出端口标签,设置其动作为丢弃,丢弃未知流量。
67.通过识别报文入端口、出端口和报文类型(l2uc、l2mc、l3uc和l3mc,除此之外的认为是目的未知的流量),给其打上不同的标签,然后在出端口绑定acl来匹配报文的标签,根据需求将其设置为转发,放行通过;通过添加默认丢弃规则,丢弃除l2uc、l2mc、l3uc和l3mc以外的其它流量,达到丢弃目的未知的流量,从而隔离泛洪的流量。
68.另外,请参阅图1,为实现交换机流量隔离的流程图,具体包括:
69.s501:分配标签;表1为各个端口分配入端口标签和出端口标签,将该标签写入硬件端口表项;
70.端口入端口标签出端口标签端口1ing_port_label1egr_port_label1端口2ing_port_label2egr_port_label2端口ning_port_labelnegr_port_labeln
71.表1
72.表2为根据流量类型分配对应标签,交换机在配置时,将l2uc_label写入l2uc表,l2mc_label写入l2mc表,l3uc_label写入l3uc表,l3mc_label写入l3mc表。
73.流量类型标签l2ucl2uc_lablel2mcl2mc_labell3ucl3uc_labell3mcl3mc_label
74.表2
75.s502:添加标签;如图2所示,当报文进入交换机的端口时,芯片为其打上入端口标签ing_port_label,识别报文目的端口,为其打上出端口标签egr_port_label。根据报文的转发流程判断其属于何种类型,如果命中l3mc表项,则会打上l3mc_label,如果命中l3uc表项,则会打上l3uc_label;如果命中l2mc表项,则会打上l2mc_label表项;如果命中l2uc表项,则会打上l2uc_label标签。如果以上4种表项都未命中,则报文不会携带这些标签;
76.s503:报文隔离;根据需要隔离的端口下发acl规则,通过匹配报文携带的标签实现未知流量的隔离。以port2隔离port1进来的未知流量为例,设定acl规则如表3所示,规则4~规则0优先级从高到低;
[0077][0078]
表3
[0079]
需要说明的是:规则4:报文命中该表项,表示是从入端口port1进来,目的是出端口port2的三层组播报文,执行permit动作转发;
[0080]
规则3:报文命中该表项,表示是从入端口port1进来,目的是出端口port2的三层单播报文,执行permit动作转发;
[0081]
规则2:报文命中该表项,表示是从入端口port1进来,目的是出端口port2的二层组播报文,执行permit动作转发;
[0082]
规则1:报文命中该表项,表示是从入端口port1进来,目的是出端口port2的二层单播报文,执行permit动作转发;
[0083]
规则0(defau lt规则):默认表项,匹配从port1进来,目的是出端口port2的所有报文,在规则4~规则1都未命中的情况下,报文命中该表项,执行drop动作丢弃,从而实现隔离目的未知的流量。
[0084]
另外,本发明还提供了一种流量隔离装置,应用于虚拟局域网的交换机,装置包括:
[0085]
接收模块,用于接收待转发的报文;
[0086]
标签模块,用于识别报文的类型,对目标类型的报文添加目标类型标签;
[0087]
规则模块,用于设置标签出口acl规则,且标签出口acl规则的优先级高于默认出口acl规则;
[0088]
转发模块,用于根据标签出口acl规则,转发带有目标类型标签的报文,丢弃不带有目标类型标签的报文。
[0089]
综上,该流量隔离方法及装置,能够有效隔离环路风暴、泛洪攻击等,同时又能满足用户正常的二层三层通信需求,保障了网络安全,提高了网络带宽利用率。
[0090]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0091]
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该
发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0092]
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0093]
本发明实施例提供的一种交换机,如图3所示,交换机800包括存储器801、处理器802,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例提供的方法的步骤。
[0094]
如图3所示,交换机还包括:总线803和通信接口804,处理器802、通信接口804和存储器801通过总线803连接;处理器802用于执行存储器801中存储的可执行模块,例如计算机程序。
[0095]
其中,存储器801可能包含高速随机存取存储器(random access memory,简称ram),也可能还包括非易失性存储器(non
‑
volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口804(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
[0096]
总线803可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0097]
其中,存储器801用于存储程序,所述处理器802在接收到执行指令后,执行所述程序,前述本发明任一实施例揭示的过程定义的装置所执行的方法可以应用于处理器802中,或者由处理器802实现。
[0098]
处理器802可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器802中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器802可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field
‑
programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器801,处理器802读取存储器801中的信息,结合其硬件完成上述方法的步骤。
[0099]
对应于上述方法,本发明实施例还提供了一种计算机可读存储介质,所述计算机
可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述方法的步骤。
[0100]
本发明实施例所提供的装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
[0101]
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0102]
又例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,再例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0103]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0104]
另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0105]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read
‑
only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0106]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0107]
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明
的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。