CN106302263B - 一种路由口与非路由口二层隔离的方法、装置及交换机 - Google Patents
一种路由口与非路由口二层隔离的方法、装置及交换机 Download PDFInfo
- Publication number
- CN106302263B CN106302263B CN201510266107.5A CN201510266107A CN106302263B CN 106302263 B CN106302263 B CN 106302263B CN 201510266107 A CN201510266107 A CN 201510266107A CN 106302263 B CN106302263 B CN 106302263B
- Authority
- CN
- China
- Prior art keywords
- message
- mouth
- routing
- received
- layers
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种路由口与非路由口二层隔离的方法、装置及交换机,涉及交换机领域,解决现有交换机二层隔离技术存在缺陷的问题,该方法包括:获取交换机的路由口位图和非路由口位图;分别获取路由口位图中的路由口接收的二层报文及非路由口位图中的非路由口接收的二层报文;分别获取路由口接收的二层报文中及非路由口接收的二层报文中转发类型为二层转发的报文;对路由口接收的二层报文中转发类型为二层转发的报文执行丢弃的操作;对非路由口接收的二层报文中转发类型为二层转发的报文,在交换机的访问控制列表中按照所述路由口位图执行出口掩码EgressMask的操作。本发明的方案很好的实现了路由口与非路由口的二层隔离。
Description
技术领域
本发明涉及交换机领域,特别涉及一种路由口与非路由口二层隔离的方法、装置及交换机。
背景技术
如今,交换机三层转发的功能越来越强,路由口或者路由子接口已经成为交换机的主要功能之一。路由口作为三层转发端口,只能承载三层转发功能,不能进行二层转发。但是默认情况下,一个端口必须属于某个VLAN(Virtual Local Area Network,虚拟局域网)才能进行正常的报文转发。也就是说,路由端口必须在某个VLAN中,一般情况下路由口默认在VLAN1。然而,其它二层口也有可能在VLAN1。这就会导致路由口和二层口在一个VLAN广播域中,从而使得路由口和二层口之间出现二层转发的情况。
为此,我们必须做到以下两点才能解决路由口和其它端口的二层隔离问题。一、非路由口发往路由口方向二层隔离。对于非路由口收到的二层报文,禁止其向路由口转发,但是可以向其它非路由口转发。二、路由口发往非路由口方向二层隔离。对于路由口收到的二层转发报文进行丢弃处理,只转发三层报文。
目前交换机的路由口与非路由口二层隔离的实现方案为:
非路由口发往路由口方向二层隔离:将路由口加入路由口对应的三层VLAN中,但是不加入该VLAN的广播域。这样可以防止其他二层口将报文广播到路由口。
路由口发往非路由口方向二层隔离:使用访问控制列表匹配报文目的MAC(MediaAccess Control,媒体访问控制)地址,将机架MAC地址和组播地址报文放行,其它MAC地址丢弃。
上述方案的缺陷:
1、只有少数交换芯片支持VLAN属性和广播域的分离设置,大部分芯片VLAN属性和广播域是合一的,没法分开设置。因此,上述方案只适用于少数交换芯片,适用范围小。
2、使用VLAN属性和广播域的分离设置的方式,在级联双芯片或者堆叠场景下会影响三层转发功能,只适合于单芯片场景。因为跨芯片三层转发时,需要端口加入VLAN所在的广播域。因此,上述方案无法在级联双芯片或堆叠场景下应用。
3、只匹配报文MAC地址,没法确定这个报文是否是三层报文。因为机架MAC地址的报文和组播地址报文,也有可能会走二层转发。因此,上述方案无法准确区分报文的二三层转发类型,存在误匹配问题。
由此可见,目前的路由口与非路由口二层隔离技术限制很多,无法很好的满足交换机的功能需求。
发明内容
本发明要解决的技术问题是提供一种路由口与非路由口二层隔离的方法、装置及交换机,解决现有路由口与非路由口二层隔离技术限制很多,无法很好的满足交换机的功能需求的问题。
为解决上述技术问题,本发明的实施例提供一种路由口与非路由口二层隔离的方法,所述方法包括:
获取交换机的路由口位图和非路由口位图;
分别获取所述路由口位图中的路由口接收的二层报文及所述非路由口位图中的非路由口接收的二层报文;
分别获取所述路由口接收的二层报文中及所述非路由口接收的二层报文中转发类型为二层转发的报文;
对所述路由口接收的二层报文中转发类型为二层转发的报文执行丢弃的操作;
对所述非路由口接收的二层报文中转发类型为二层转发的报文,在交换机的访问控制列表中按照所述路由口位图执行出口掩码EgressMask的操作。
其中,所述分别获取所述路由口位图中的路由口接收的二层报文及所述非路由口位图中的非路由口接收的二层报文,具体包括:
根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述路由口位图中的路由口接收的报文中报文类型与所述二层报文包含的报文类型相同的报文,作为所述路由口接收的二层报文;
根据所述访问控制列表中对所述二层报文包含的报文类型记录的标识信息,获取所述非路由口位图中的非路由口接收的报文中报文类型与所述二层报文包含的报文类型相同的报文,作为所述非路由口接收的二层报文。
其中,所述二层报文包含的报文类型包括:已知单播、未知单播、广播、二层未知组播和三层未知组播;
相应的,所述根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述路由口位图中的路由口接收的报文中报文类型与所述二层报文包含的报文类型相同的报文,作为所述路由口接收的二层报文,具体为:
根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述路由口接收的报文中报文类型为已知单播、未知单播、广播、二层未知组播和/或三层未知组播的报文,作为所述路由口接收的二层报文;以及
所述根据所述访问控制列表中对所述二层报文包含的报文类型记录的标识信息,获取所述非路由口位图中的非路由口接收的报文中报文类型与所述二层报文包含的报文类型相同的报文,作为所述非路由口接收的二层报文,具体为:
根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述非路由口接收的报文中报文类型为已知单播、未知单播、广播、二层未知组播和/或三层未知组播的报文,作为所述非路由口接收的二层报文。
其中,所述对所述路由口接收的二层报文中转发类型为二层转发的报文执行丢弃的操作之前,所述方法还包括:
对所述路由口接收的报文中报文类型为已知单播的报文,禁止媒体访问控制MAC学习。
其中,所述分别获取所述路由口接收的二层报文中及所述非路由口接收的二层报文中转发类型为二层转发的报文,具体包括:
根据所述访问控制列表中对虚拟局域网VLAN转发的转发类型记录的标识信息,获取所述路由口接收的二层报文中转发类型为VLAN转发的报文;
根据所述访问控制列表中对所述VLAN转发的转发类型记录的标识信息,获取所述路由口接收的二层报文中转发类型为VLAN转发的报文。
其中,所述非路由口包括:在所述交换机与其他交换机级联时,所述交换机的级联口;
相应的,所述获取交换机的非路由口位图,具体为:
根据所述访问控制列表中记录的级联口信息,获取所述交换机的级联口位图。
其中,所述获取所述非路由口位图中的非路由口接收的二层报文,具体为:
根据所述访问控制列表中的操作码OPCODE,获取所述级联口位图中的级联口接收的二层报文。
为解决上述技术问题,本发明的实施例还提供一种路由口与非路由口二层隔离的装置,所述装置包括:
第一获取模块,用于获取交换机的路由口位图和非路由口位图;
第二获取模块,用于分别获取所述路由口位图中的路由口接收的二层报文及所述非路由口位图中的非路由口接收的二层报文;
第三获取模块,用于分别获取所述路由口接收的二层报文中及所述非路由口接收的二层报文中转发类型为二层转发的报文;
丢弃模块,用于对所述路由口接收的二层报文中转发类型为二层转发的报文执行丢弃的操作;
掩码模块,用于对所述非路由口接收的二层报文中转发类型为二层转发的报文,在交换机的访问控制列表中按照所述路由口位图执行出口掩码EgressMask的操作。
其中,所述第二获取模块具体包括:
第一获取子模块,用于根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述路由口位图中的路由口接收的报文中报文类型与所述二层报文包含的报文类型相同的报文,作为所述路由口接收的二层报文;
第二获取子模块,用于根据所述访问控制列表中对所述二层报文包含的报文类型记录的标识信息,获取所述非路由口位图中的非路由口接收的报文中报文类型与所述二层报文包含的报文类型相同的报文,作为所述非路由口接收的二层报文。
其中,所述二层报文包含的报文类型包括:已知单播、未知单播、广播、二层未知组播和三层未知组播;
相应的,所述第一获取子模块具体用于:根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述路由口接收的报文中报文类型为已知单播、未知单播、广播、二层未知组播和/或三层未知组播的报文,作为所述路由口接收的二层报文;以及
所述第二获取子模块具体用于:根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述非路由口接收的报文中报文类型为已知单播、未知单播、广播、二层未知组播和/或三层未知组播的报文,作为所述非路由口接收的二层报文。
其中,所述装置还包括:
禁止模块,用于对所述路由口接收的报文中报文类型为已知单播的报文,禁止媒体访问控制MAC学习。
其中,所述第三获取模块具体包括:
第三获取子模块,用于根据所述访问控制列表中对虚拟局域网VLAN转发的转发类型记录的标识信息,获取所述路由口接收的二层报文中转发类型为VLAN转发的报文;
第四获取子模块,用于根据所述访问控制列表中对所述VLAN转发的转发类型记录的标识信息,获取所述路由口接收的二层报文中转发类型为VLAN转发的报文。
其中,所述非路由口包括:在所述交换机与其他交换机级联时,所述交换机的级联口;
相应的,所述第一获取模块包括:
第五获取子模块,用于根据所述访问控制列表中记录的级联口信息,获取所述交换机的级联口位图。
其中,所述第二获取模块包括:
第六获取子模块,用于根据所述访问控制列表中的操作码OPCODE,获取所述级联口位图中的级联口接收的二层报文。
为解决上述技术问题,本发明的实施例还提供一种交换机,包括:如上所述的路由口与非路由口二层隔离的装置。
本发明的上述技术方案的有益效果如下:
本发明实施例的路由口与非路由口二层隔离的方法,首先获取交换机的路由口位图和非路由口位图;然后分别获取路由口位图中的路由口接收的二层报文及非路由口位图中的非路由口接收的报文;再分别获取路由口接收的报文中及非路由口接收的报文中转发类型为二层转发的报文;最后,对路由口接收的报文中转发类型为二层转发的报文执行丢弃的操作,从而准确、有效地实现了路由口发往非路由口方向的二层隔离,且避免了只匹配报文MAC地址造成的误匹配问题;对非路由口接收的二层报文中转发类型为二层转发的报文,在交换机的访问控制列表中按照路由口位图执行出口掩码EgressMask的操作,这样,非路由口的二层报文就不会向路由口转发了,同时也不影响这些报文向其他非路由口转发,准确、有效地实现了非路由口发往路由口方向的二层隔离。由此,本发明实施例的方法很好的实现了路由口与非路由口的二层隔离,且适应性广,支持级联双芯片和堆叠场景下的应用,具有广阔的应用前景。
附图说明
图1为本发明路由口与非路由口二层隔离的方法流程图;
图2为本发明路由口与非路由口二层隔离的方法一具体应用实施例的第一网络架构示意图;
图3为本发明路由口与非路由口二层隔离的方法一具体应用实施例的第二网络架构示意图;
图4为本发明路由口与非路由口二层隔离的方法一具体应用实施例的第三网络架构示意图;
图5为本发明路由口与非路由口二层隔离的方法一具体应用实施例的流程图;
图6为本发明路由口与非路由口二层隔离的装置的结构示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明实施例的路由口与非路由口二层隔离的方法,很好的实现了路由口与非路由口的二层隔离,具有广阔的应用前景。
如图1所示,本发明实施例的路由口与非路由口二层隔离的方法,包括:
步骤11,获取交换机的路由口位图和非路由口位图;
步骤12,分别获取所述路由口位图中的路由口接收的二层报文及所述非路由口位图中的非路由口接收的二层报文;
步骤13,分别获取所述路由口接收的二层报文中及所述非路由口接收的二层报文中转发类型为二层转发的报文;
步骤14,对所述路由口接收的二层报文中转发类型为二层转发的报文执行丢弃的操作;
步骤15,对所述非路由口接收的二层报文中转发类型为二层转发的报文,在交换机的访问控制列表中按照所述路由口位图执行出口掩码EgressMask的操作。
本发明实施例的路由口与非路由口二层隔离的方法,通过对路由口接收的报文中转发类型为二层转发的报文执行丢弃的操作,准确、有效地实现了路由口发往非路由口方向的二层隔离,且避免了只匹配报文MAC地址造成的误匹配问题。通过对非路由口接收的二层报文中转发类型为二层转发的报文,在交换机的访问控制列表中按照路由口位图执行出口掩码EgressMask的操作,使非路由口的二层报文不会向路由口转发,同时也不影响这些报文向其他非路由口转发,准确、有效地实现了非路由口发往路由口方向的二层隔离。由此,很好的实现了路由口与非路由口的二层隔离,且适应性广,支持级联双芯片和堆叠场景下的应用,具有广阔的应用前景。
其中,上述步骤11中,具体可通过交换机的访问控制列表记录的端口信息,匹配交换机的路由口位图和非路由口位图。
其中,上述步骤12的步骤具体可以包括:
步骤121,根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述路由口位图中的路由口接收的报文中报文类型与所述二层报文包含的报文类型相同的报文,作为所述路由口接收的二层报文;
步骤122,根据所述访问控制列表中对所述二层报文包含的报文类型记录的标识信息,获取所述非路由口位图中的非路由口接收的报文中报文类型与所述二层报文包含的报文类型相同的报文,作为所述非路由口接收的二层报文。
这里,二层报文具体指需要二层转发的报文。
此时,通过交换机的访问控制列表,可准确获取预设二层报文包含的报文类型的标识信息,从而准确匹配出路由口及非路由口接收的报文中的二层报文,以对这些二层报文进行后续隔离处理。提高了处理的准确性和有效性。
本发明的具体实施例中,所述二层报文包含的报文类型一般包括:已知单播L2UC(UniCast)、未知单播L2UCUNKNOWN(UniCastUnknown)、广播L2BC(BroadCast)、二层未知组播L2MCUNKNOWN(MultiCastUnknown)和三层未知组播L3MCUNKNOWN(MultiCastUnknown)。且访问控制列表中一般都有字段可以匹配这些报文。
基于此,上述步骤121的步骤具体可为:
步骤1211,根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述路由口接收的报文中报文类型为已知单播L2UC、未知单播L2UCUNKNOWN、广播L2BC、二层未知组播L2MCUNKNOWN和/或三层未知组播L3MCUNKNOWN的报文,作为所述路由口接收的二层报文;以及
上述步骤122的步骤具体可为:
步骤1221,根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述非路由口接收的报文中报文类型为已知单播L2UC、未知单播L2UCUNKNOWN、广播L2BC、二层未知组播L2MCUNKNOWN和/或三层未知组播L3MCUNKNOWN的报文,作为所述非路由口接收的二层报文。
此时,对于路由口和非路由口中可能需要二层转发的已知单播L2UC、未知单播L2UCUNKNOWN、广播L2BC、二层未知组播L2MCUNKNOWN和/或三层未知组播L3MCUNKNOWN等二层报文,通过上述步骤1211和1221都可准确匹配出来,不会出现遗漏和偏差,从而保证了对路由口与非路由口的二层隔离的准确性和有效性。
优选的,上述步骤14之前,所述方法还可以包括:
步骤16,对所述路由口接收的报文中报文类型为已知单播L2UC的报文,禁止媒体访问控制MAC学习。
此时,通过对路由口的已知单播报文禁止MAC学习,可有效防止已知单播L2UC的转发,且节约了对已知单播L2UC进行MAC学习造成的资源浪费,节省了设备资源和能耗,提高了实用性。
由于路由口还可能作为二层VPN(Virtual Private Network,虚拟专用网络)的网络侧,所以还要区分二层报文是走二层转发还是走二层VPN转发。这里,我们可以使用访问控制列表来匹配报文的转发类型是否为VLAN转发,以此来区分二层报文是走二层转发还是走二层VPN转发。具体的,若某二层报文的转发类型为VLAN转发,则可判定该二层报文走的是二层转发,否则,可判定该二层报文走的是二层VPN转发。
基于此,本发明的具体实施例中,上述步骤13的步骤具体可以包括:
步骤131,根据所述访问控制列表中对虚拟局域网VLAN转发的转发类型记录的标识信息,获取所述路由口接收的二层报文中转发类型为VLAN转发的报文;
步骤132,根据所述访问控制列表中对所述VLAN转发的转发类型记录的标识信息,获取所述路由口接收的二层报文中转发类型为VLAN转发的报文。
此时,通过访问控制列表中对VLAN转发类型的标识信息,可准确匹配路由口及非路由口接收的二层报文中转发类型为VLAN转发的报文(即二层转发的报文),以通过对这些报文进行后续处理,实现路由口与非路由口的二层隔离,提高了处理的准确性和有效性。
本发明实施例的方法还适用于级联双芯片和堆叠场景下的应用。
其中,在级联双芯片和堆叠场景下,所述非路由口可以包括:在所述交换机与其他交换机级联时,所述交换机的级联口;
相应的,上述步骤11中,所述获取交换机的非路由口位图的步骤具体可为:
步骤111,根据所述访问控制列表中记录的级联口信息,获取所述交换机的级联口位图。
进一步的,上述步骤12中,所述获取所述非路由口位图中的非路由口接收的二层报文的步骤具体可为:
步骤123,根据所述访问控制列表中的操作码OPCODE,获取所述级联口位图中的级联口接收的二层报文。
此时,通过访问控制列表中的操作码OPCODE,可准确匹配出级联口接收的二层报文,这里,二层报文可为已知单播L2UC、未知单播L2UCUNKNOWN、广播L2BC、二层未知组播L2MCUNKNOWN和/或三层未知组播L3MCUNKNOWN等二层报文。
相应的,上述步骤13中,所述获取所述非路由口接收的二层报文中转发类型为二层转发的报文的步骤具体可为:
步骤131,获取所述级联口接收的二层报文中转发类型为二层转发的报文。
相应的,上述步骤15的步骤具体可为:
步骤151,对所述级联口接收的二层报文中转发类型为二层转发的报文,在交换机的访问控制列表中按照所述路由口位图执行出口掩码EgressMask的操作。
由此,完成了级联芯片的级联口与路由口的二层隔离。
本发明实施例的方法,很好的实现了路由口与非路由口的二层隔离,且适应性广,支持级联双芯片和堆叠场景下的应用,具有广阔的应用前景。
下面对本发明的一具体应用实例举例说明如下:
假定交换机1的端口Port 1配置为路由口,端口Port 2配置为非路由口(包括普通二层端口和级联口),Port 1和Port2都在VLAN1中。对交换机1应用本发明实施例的方法,如图5所示,方法包括:
步骤S01,获取交换机1的路由口位图(即Port1)和非路由口位图(即Port2);
步骤S02,根据交换机1的访问控制列表中对二层报文记录的标识信息,获取Port1接收的已知单播L2UC、未知单播L2UCUNKNOWN、广播L2BC、二层未知组播L2MCUNKNOWN和三层未知组播L3MCUNKNOWN等二层报文;
步骤S03,根据交换机1的访问控制列表中对二层报文记录的标识信息,获取Port2接收的已知单播L2UC、未知单播L2UCUNKNOWN、广播L2BC、二层未知组播L2MCUNKNOWN和三层未知组播L3MCUNKNOWN等二层报文;
步骤S04,根据交换机1的访问控制列表中对VLAN转发类型的标识信息,获取Port1接收的二层报文中二层转发的报文;
步骤S05,根据交换机1的访问控制列表中对VLAN转发类型的标识信息,获取Port2接收的二层报文中二层转发的报文;
步骤S06,对Port1接收的报文中报文类型为已知单播L2UC的报文,禁止MAC学习,防止已知单播转发;
步骤S071,Port1发往Port2方向丢弃二层转发的已知单播报文;
步骤S072,Port1发往Port2方向丢弃二层转发的未知单播报文;
步骤S073,Port1发往Port2方向丢弃二层转发的广播报文;
步骤S074,Port1发往Port2方向丢弃二层转发的二层未知组播报文;
步骤S075,Port1发往Port2方向丢弃二层转发的三层未知组播报文;
步骤S081,Port2发往Port1方向EgressMask二层转发的已知单播报文,EgressMask动作的位图为Port1的位图;
步骤S082,Port2发往Port1方向EgressMask二层转发的未知单播报文,EgressMask动作的位图为Port1的位图;
步骤S083,Port2发往Port1方向EgressMask二层转发的广播报文,EgressMask动作的位图为Port1的位图;
步骤S084,Port2发往Port1方向EgressMask二层转发的二层未知组播报文,EgressMask动作的位图为Port1的位图;
步骤S085,Port2发往Port1方向EgressMask二层转发的三层未知组播报文,EgressMask动作的位图为Port1的位图。
其中,因级联口为内部口,在非路由口为级联口时,不存在路由口发往级联口的二层隔离问题,这种情况下可忽略路由口发往级联口方向的隔离步骤(如上述步骤S02、S04、S06及S071-S075)。
本发明实施例的路由口与非路由口二层隔离的方法,很好的实现了路由口与非路由口的二层隔离,适应性广,避免了只匹配报文MAC地址造成的误匹配问题,且支持级联双芯片和堆叠场景下的应用,具有广阔的应用前景。
下面从“路由口发往非路由口方向的二层隔离”、“非路由口发往路由口方向的二层隔离”和“级联口发往路由口方向的二层隔离”三个方向对本发明实施例的方法做进一步说明。
一、路由口发往非路由口方向的二层隔离:
如图2所示,假定交换机2的端口3配置为路由口,端口4配置为二层端口(即非路由口),端口3和端口4都在VLAN1中。对交换机2应用本发明实施例的方法,完成路由口发往非路由口方向的二层隔离,主要通过上文描述的步骤实现以下几个方面:
1)、使用交换机2的访问控制列表,匹配“路由口位图”、“已知单播L2UC”、“转发类型为二层转发”,执行动作“丢弃”。
2)、使用交换机2的访问控制列表,匹配“路由口位图”、“未知单播L2UCUNKNOWN”、“转发类型为二层转发”,执行动作“丢弃”。
3)、使用交换机2的访问控制列表,匹配“路由口位图”、“广播L2BC”、“转发类型为二层转发”,执行动作“丢弃”。
4)、使用交换机2的访问控制列表,匹配“路由口位图”、“二层未知组播L2MCUNKNOWN”、“转发类型为二层转发”,执行动作“丢弃”。
5)、使用交换机2的访问控制列表,匹配“路由口位图”、“三层未知组播L3MCUNKNOWN”、“转发类型为二层转发”,执行动作“丢弃”。
这里,对于路由口收到的二层转发报文,我们直接丢弃处理,准确、有效地实现了路由口发往非路由口方向的二层隔离,且避免了只匹配报文MAC地址造成的误匹配问题。
二、非路由口发往路由口方向的二层隔离:
如图3所示,假定交换机2的端口3配置为路由口,端口4配置为二层端口(即非路由口),端口3和端口4都在VLAN1中。对交换机2应用本发明实施例的方法,完成非路由口发往路由口方向的二层隔离,主要通过上文描述的步骤实现以下几个方面:
1)、使用交换机2的访问控制列表,匹配“非路由口位图”、“已知单播L2UC”、“转发类型为二层转发”。执行动作“EgressMask掩码”,掩码端口位图为所有路由口。
2)、使用交换机2的访问控制列表,匹配“非路由口位图”、“未知单播L2UCUNKNOWN”、“转发类型为二层转发”。执行动作“EgressMask掩码”,掩码端口位图为所有路由口。
3)、使用交换机2的访问控制列表,匹配“非路由口位图”、“广播L2BC”、“转发类型为二层转发”。执行动作“EgressMask掩码”,掩码端口位图为所有路由口。
4)、使用交换机2的访问控制列表,匹配“非路由口位图”、“二层未知组播L2MCUNKNOWN”、“转发类型为二层转发”。执行动作“EgressMask掩码”,掩码端口位图为所有路由口。
5)、使用交换机2的访问控制列表,匹配“非路由口位图”、“三层未知组播L3MCUNKNOWN”、“转发类型为二层转发”。执行动作“EgressMask掩码”,掩码端口位图为所有路由口。
这里,对于非路由口接收的二层转发报文,我们不能简单的丢弃,因为这些报文是可以向其它二层口转发的。为此,我们使用访问控制列表的EgressMask掩码功能,将路由口位图从报文转发的出口位图中掩掉,这样这些二层报文就不会向路由口转发了,同时又不影响这些报文向其它二层口转发。准确、有效地实现了非路由口发往路由口方向的二层隔离。
三、级联口发往路由口方向的二层隔离:
如图4所示,假定交换机2和交换机3级联,级联口位图分别是位图bitmap1和位图bitmap2。对交换机2和交换机3应用本发明实施例的方法,完成级联口发往路由口方向的二层隔离,主要通过上文描述的步骤实现以下几个方面:
1)、使用交换机2的访问控制列表,匹配交换机2的级联口位图bitmap1和操作码OPCODE(操作码可以直接匹配到未知单播L2UCUNKNOWN、广播L2BC、未知组播MCUNKNOWN等报文)。执行动作“EgressMask掩码”,掩码端口位图为交换机2上的所有路由口。
2)、使用交换机3的访问控制列表,匹配交换机3的级联口位图bitmap2和操作码OPCODE。执行动作“EgressMask掩码”,掩码端口位图为交换机3上的所有路由口。
这里,由于访问控制列表只能匹配本端芯片的端口,无法匹配对端芯片的端口,因此,我们可以通过两个芯片各自的访问控制列表,分别匹配两个芯片之间级联口的端口位图,来实现本端芯片和对端芯片级联口与路由口的二层隔离。
从上述三个方向的描述可以进一步看出,本发明实施例的路由口与非路由口二层隔离的方法,使用了访问控制列表匹配报文转发类型的方式来进行二层隔离,适合于几乎所有的交换芯片,适应性广;且避免了直接匹配报文MAC地址带来的误匹配问题(同样MAC地址的报文可能走三层转发,也有可能走二层转发),真正做到了区分报文的二三层转发类型的目的;另外,支持级联双芯片和堆叠场景下的应用,具有广阔的应用场景。
如图6所示,本发明的实施例还提供了一种路由口与非路由口二层隔离的装置,所述装置包括:
第一获取模块,用于获取交换机的路由口位图和非路由口位图;
第二获取模块,用于分别获取所述路由口位图中的路由口接收的二层报文及所述非路由口位图中的非路由口接收的二层报文;
第三获取模块,用于分别获取所述路由口接收的二层报文中及所述非路由口接收的二层报文中转发类型为二层转发的报文;
丢弃模块,用于对所述路由口接收的二层报文中转发类型为二层转发的报文执行丢弃的操作;
掩码模块,用于对所述非路由口接收的二层报文中转发类型为二层转发的报文,在交换机的访问控制列表中按照所述路由口位图执行出口掩码EgressMask的操作。
本发明实施例的路由口与非路由口二层隔离的装置,很好的实现了路由口与非路由口的二层隔离,适应性广,避免了只匹配报文MAC地址造成的误匹配问题,支持级联双芯片和堆叠场景下的应用,具有广阔的应用前景。
本发明的具体实施例中,所述第二获取模块具体可以包括:
第一获取子模块,用于根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述路由口位图中的路由口接收的报文中报文类型与所述二层报文包含的报文类型相同的报文,作为所述路由口接收的二层报文;
第二获取子模块,用于根据所述访问控制列表中对所述二层报文包含的报文类型记录的标识信息,获取所述非路由口位图中的非路由口接收的报文中报文类型与所述二层报文包含的报文类型相同的报文,作为所述非路由口接收的二层报文。
进一步的,所述二层报文包含的报文类型可以包括:已知单播、未知单播、广播、二层未知组播和三层未知组播;
相应的,所述第一获取子模块具体用于:根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述路由口接收的报文中报文类型为已知单播、未知单播、广播、二层未知组播和/或三层未知组播的报文,作为所述路由口接收的二层报文;以及
所述第二获取子模块具体用于:根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述非路由口接收的报文中报文类型为已知单播、未知单播、广播、二层未知组播和/或三层未知组播的报文,作为所述非路由口接收的二层报文。
优选的,所述装置还可以包括:
禁止模块,用于对所述路由口接收的报文中报文类型为已知单播的报文,禁止媒体访问控制MAC学习。
本发明的具体实施例中,所述第三获取模块具体可以包括:
第三获取子模块,用于根据所述访问控制列表中对虚拟局域网VLAN转发的转发类型记录的标识信息,获取所述路由口接收的二层报文中转发类型为VLAN转发的报文;
第四获取子模块,用于根据所述访问控制列表中对所述VLAN转发的转发类型记录的标识信息,获取所述路由口接收的二层报文中转发类型为VLAN转发的报文。
其中,所述非路由口可以包括:在所述交换机与其他交换机级联时,所述交换机的级联口;
相应的,所述第一获取模块可以包括:
第五获取子模块,用于根据所述访问控制列表中记录的级联口信息,获取所述交换机的级联口位图。
进一步的,所述第二获取模块可以包括:
第六获取子模块,用于根据所述访问控制列表中的操作码OPCODE,获取所述级联口位图中的级联口接收的二层报文。
本发明实施例的路由口与非路由口二层隔离的装置,很好的实现了路由口与非路由口的二层隔离,适应性广,避免了只匹配报文MAC地址造成的误匹配问题,支持级联双芯片和堆叠场景下的应用,具有广阔的应用前景。
需要说明的是,该路由口与非路由口二层隔离的装置是与上述路由口与非路由口二层隔离的方法相对应的装置,其中上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到同样的技术效果。
由于本发明实施例的路由口与非路由口二层隔离的装置应用于交换机,因此,本发明实施例还提供了一种交换机,包括:如上述实施例中所述的路由口与非路由口二层隔离的的装置。其中,上述路由口与非路由口二层隔离的装置的所述实现实施例均适用于该光线路终端的实施例中,也能达到相同的技术效果。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种路由口与非路由口二层隔离的方法,其特征在于,所述方法包括:
获取交换机的路由口位图和非路由口位图;
分别获取所述路由口位图中的路由口接收的二层报文及所述非路由口位图中的非路由口接收的二层报文;
分别获取所述路由口接收的二层报文中及所述非路由口接收的二层报文中转发类型为二层转发的报文;
对所述路由口接收的二层报文中转发类型为二层转发的报文执行丢弃的操作;
对所述非路由口接收的二层报文中转发类型为二层转发的报文,在交换机的访问控制列表中按照所述路由口位图执行出口掩码EgressMask的操作。
2.根据权利要求1所述的方法,其特征在于,所述分别获取所述路由口位图中的路由口接收的二层报文及所述非路由口位图中的非路由口接收的二层报文,具体包括:
根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述路由口位图中的路由口接收的报文中报文类型与所述二层报文包含的报文类型相同的报文,作为所述路由口接收的二层报文;
根据所述访问控制列表中对所述二层报文包含的报文类型记录的标识信息,获取所述非路由口位图中的非路由口接收的报文中报文类型与所述二层报文包含的报文类型相同的报文,作为所述非路由口接收的二层报文。
3.根据权利要求2所述的方法,其特征在于,所述二层报文包含的报文类型包括:已知单播、未知单播、广播、二层未知组播和三层未知组播;
相应的,所述根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述路由口位图中的路由口接收的报文中报文类型与所述二层报文包含的报文类型相同的报文,作为所述路由口接收的二层报文,具体为:
根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述路由口接收的报文中报文类型为已知单播、未知单播、广播、二层未知组播和/或三层未知组播的报文,作为所述路由口接收的二层报文;以及
所述根据所述访问控制列表中对所述二层报文包含的报文类型记录的标识信息,获取所述非路由口位图中的非路由口接收的报文中报文类型与所述二层报文包含的报文类型相同的报文,作为所述非路由口接收的二层报文,具体为:
根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述非路由口接收的报文中报文类型为已知单播、未知单播、广播、二层未知组播和/或三层未知组播的报文,作为所述非路由口接收的二层报文。
4.根据权利要求3所述的方法,其特征在于,所述对所述路由口接收的二层报文中转发类型为二层转发的报文执行丢弃的操作之前,所述方法还包括:
对所述路由口接收的报文中报文类型为已知单播的报文,禁止媒体访问控制MAC学习。
5.根据权利要求1所述的方法,其特征在于,所述分别获取所述路由口接收的二层报文中及所述非路由口接收的二层报文中转发类型为二层转发的报文,具体包括:
根据所述访问控制列表中对虚拟局域网VLAN转发的转发类型记录的标识信息,获取所述路由口接收的二层报文中转发类型为VLAN转发的报文;
根据所述访问控制列表中对所述VLAN转发的转发类型记录的标识信息,获取所述路由口接收的二层报文中转发类型为VLAN转发的报文。
6.根据权利要求1所述的方法,其特征在于,所述非路由口包括:在所述交换机与其他交换机级联时,所述交换机的级联口;
相应的,所述获取交换机的非路由口位图,具体为:
根据所述访问控制列表中记录的级联口信息,获取所述交换机的级联口位图。
7.根据权利要求6所述的方法,其特征在于,所述获取所述非路由口位图中的非路由口接收的二层报文,具体为:
根据所述访问控制列表中的操作码OPCODE,获取所述级联口位图中的级联口接收的二层报文。
8.一种路由口与非路由口二层隔离的装置,其特征在于,所述装置包括:
第一获取模块,用于获取交换机的路由口位图和非路由口位图;
第二获取模块,用于分别获取所述路由口位图中的路由口接收的二层报文及所述非路由口位图中的非路由口接收的二层报文;
第三获取模块,用于分别获取所述路由口接收的二层报文中及所述非路由口接收的二层报文中转发类型为二层转发的报文;
丢弃模块,用于对所述路由口接收的二层报文中转发类型为二层转发的报文执行丢弃的操作;
掩码模块,用于对所述非路由口接收的二层报文中转发类型为二层转发的报文,在交换机的访问控制列表中按照所述路由口位图执行出口掩码EgressMask的操作。
9.根据权利要求8所述的装置,其特征在于,所述第二获取模块具体包括:
第一获取子模块,用于根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述路由口位图中的路由口接收的报文中报文类型与所述二层报文包含的报文类型相同的报文,作为所述路由口接收的二层报文;
第二获取子模块,用于根据所述访问控制列表中对所述二层报文包含的报文类型记录的标识信息,获取所述非路由口位图中的非路由口接收的报文中报文类型与所述二层报文包含的报文类型相同的报文,作为所述非路由口接收的二层报文。
10.根据权利要求9所述的装置,其特征在于,所述二层报文包含的报文类型包括:已知单播、未知单播、广播、二层未知组播和三层未知组播;
相应的,所述第一获取子模块具体用于:根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述路由口接收的报文中报文类型为已知单播、未知单播、广播、二层未知组播和/或三层未知组播的报文,作为所述路由口接收的二层报文;以及
所述第二获取子模块具体用于:根据所述访问控制列表中对预设的二层报文包含的报文类型记录的标识信息,获取所述非路由口接收的报文中报文类型为已知单播、未知单播、广播、二层未知组播和/或三层未知组播的报文,作为所述非路由口接收的二层报文。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
禁止模块,用于对所述路由口接收的报文中报文类型为已知单播的报文,禁止媒体访问控制MAC学习。
12.根据权利要求8所述的装置,其特征在于,所述第三获取模块具体包括:
第三获取子模块,用于根据所述访问控制列表中对虚拟局域网VLAN转发的转发类型记录的标识信息,获取所述路由口接收的二层报文中转发类型为VLAN转发的报文;
第四获取子模块,用于根据所述访问控制列表中对所述VLAN转发的转发类型记录的标识信息,获取所述路由口接收的二层报文中转发类型为VLAN转发的报文。
13.根据权利要求8所述的装置,其特征在于,所述非路由口包括:在所述交换机与其他交换机级联时,所述交换机的级联口;
相应的,所述第一获取模块包括:
第五获取子模块,用于根据所述访问控制列表中记录的级联口信息,获取所述交换机的级联口位图。
14.根据权利要求13所述的装置,其特征在于,所述第二获取模块包括:
第六获取子模块,用于根据所述访问控制列表中的操作码OPCODE,获取所述级联口位图中的级联口接收的二层报文。
15.一种交换机,其特征在于,包括:如权利要求8-14任一项所述的路由口与非路由口二层隔离的装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510266107.5A CN106302263B (zh) | 2015-05-22 | 2015-05-22 | 一种路由口与非路由口二层隔离的方法、装置及交换机 |
PCT/CN2016/076745 WO2016188202A1 (zh) | 2015-05-22 | 2016-03-18 | 一种路由口与非路由口二层隔离的方法、装置及交换机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510266107.5A CN106302263B (zh) | 2015-05-22 | 2015-05-22 | 一种路由口与非路由口二层隔离的方法、装置及交换机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106302263A CN106302263A (zh) | 2017-01-04 |
CN106302263B true CN106302263B (zh) | 2019-12-03 |
Family
ID=57392597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510266107.5A Active CN106302263B (zh) | 2015-05-22 | 2015-05-22 | 一种路由口与非路由口二层隔离的方法、装置及交换机 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106302263B (zh) |
WO (1) | WO2016188202A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110061922B (zh) * | 2019-04-30 | 2021-06-11 | 新华三技术有限公司 | 报文转发方法和装置 |
CN112714052B (zh) * | 2020-12-20 | 2022-12-27 | 苏州浪潮智能科技有限公司 | 一种流量隔离方法、装置、交换机及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7822024B2 (en) * | 2004-04-16 | 2010-10-26 | Samsung Electronics Co., Ltd. | Apparatus and method for performing security and classification in a multiprocessor router |
CN101572655B (zh) * | 2008-04-29 | 2012-04-25 | 华为技术有限公司 | 端口隔离的方法和设备 |
CN101494610B (zh) * | 2009-03-12 | 2011-06-22 | 福建星网锐捷网络有限公司 | 处理报文的方法及交换机 |
US9331938B2 (en) * | 2012-04-13 | 2016-05-03 | Nicira, Inc. | Extension of logical networks across layer 3 virtual private networks |
US8948179B2 (en) * | 2012-08-21 | 2015-02-03 | Futurewei Technologies, Inc. | Method of multiprotocol label switching encapsulation for united router farm forwarding |
US9917849B2 (en) * | 2013-05-01 | 2018-03-13 | Fortinet, Inc. | Security system for physical or virtual environments |
CN103780630B (zh) * | 2014-02-18 | 2018-07-10 | 迈普通信技术股份有限公司 | 虚拟局域网端口隔离方法及系统 |
CN104065552B (zh) * | 2014-06-26 | 2017-06-23 | 福建星网锐捷网络有限公司 | 一种数据传输方法及设备 |
-
2015
- 2015-05-22 CN CN201510266107.5A patent/CN106302263B/zh active Active
-
2016
- 2016-03-18 WO PCT/CN2016/076745 patent/WO2016188202A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN106302263A (zh) | 2017-01-04 |
WO2016188202A1 (zh) | 2016-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11411776B2 (en) | Multi-cloud VPC routing and registration | |
US11539619B1 (en) | Local-bias forwarding of L2 multicast, unknown unicast, and broadcast traffic for an ethernet VPN | |
US8339973B1 (en) | Multicast traceroute over MPLS/BGP IP multicast VPN | |
EP3065358B1 (en) | Method and device for message forwarding | |
CN103685022B (zh) | 报文转发方法及服务提供商网络边缘设备 | |
CN104009926B (zh) | Evi网络中的组播方法及边缘设备ed | |
US10200212B2 (en) | Accessing IP network and edge devices | |
US9860169B1 (en) | Neighbor resolution for remote EVPN hosts in IPV6 EVPN environment | |
US7583674B2 (en) | Switch and method for supporting internet protocol (IP) network tunnels | |
CN109873760A (zh) | 处理路由的方法和装置、以及数据传输的方法和装置 | |
EP3054634B1 (en) | Scheme for performing one-pass tunnel forwarding function on two-layer network structure | |
US10673737B2 (en) | Multi-VRF universal device internet protocol address for fabric edge devices | |
US10020954B2 (en) | Generic packet encapsulation for virtual networking | |
CN104579954A (zh) | 报文跨域转发方法、装置及通信设备 | |
EP4057578A1 (en) | Internet group management protocol host mobility in ethernet virtual private network multicast networks | |
WO2022105289A1 (zh) | 流量转发方法、业务卡和系统 | |
CN109120492B (zh) | 一种存储单元、源交换机、报文转发方法及镜像系统 | |
CN107547342A (zh) | 基于vxlan隧道的报文广播方法和装置 | |
CN106302263B (zh) | 一种路由口与非路由口二层隔离的方法、装置及交换机 | |
CN104780090A (zh) | Vpn组播传输的方法、装置、pe设备 | |
CN108055215A (zh) | 报文转发方法和装置 | |
CN112910777B (zh) | 报文处理方法及装置 | |
CN110120906B (zh) | 用于实现双活接入trill园区边缘的方法和设备 | |
WO2016091098A1 (zh) | 实现路由接口二层隔离和三层互通的方法及网络设备 | |
US20120044946A1 (en) | Router and method of passing ipv6 data packets through the router |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |