保证城域传输设备中二层以太网交换机数据安全的方法

文档序号:7598808阅读:217来源:国知局
专利名称:保证城域传输设备中二层以太网交换机数据安全的方法
技术领域
本发明涉及网络通信技术领域,具体涉及一种保证城域传输设备中二层以太网交换机数据安全的方法。
背景技术
随着城域网技术的发展,传统的以太网透传技术已无法满足城域传输网应用的需求,因此出现了多种基于城域传输的二层以太网交换机,二层交换机属数据链路层设备,可以识别数据包中的MAC(媒体接入控制)地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在路由表中,该路由表标明了MAC地址和交换机端口的对应关系。当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;再去读取包头中的目的MAC地址,并在路由表中查找相应的端口;如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。
不断循环上述过程,对于全网的MAC地址信息都可以学习到,二层交换机即可建立并维护它自己的地址表。
传统的二层以太网交换机对报文的转发流程如图1所示路由表可以静态配置,也可以动态建立,即通过交换机根据接收报文中的MAC地址不断学习而建立的。
交换机收到报文后,如果没有相应的路由,则根据报文的源MAC地址+端口学习,建立源MAC地址和交换机端口的对应关系;该对应关系建立后,还要根据报文的目的MAC地址进行出端口的查找。
可能有以下几种情况(1)报文中的目的MAC地址为单播地址,且路由表中没有相应的路由;(2)报文中的目的MAC地址为组播地址,且路由表中没有相应的路由;(3)报文中的目的MAC地址为广播地址。
在上述三种情况下,都需要对报文进行广播处理,将报文复制到所有端口上。根据回应报文学习到对应的出端口,从而在路由表中建立起相应的路由。
可见,二层以太网交换机只单纯地利用MAC地址查找路由,由此会存在以下安全隐患a、端口攻击,即网络黑客利用交换机广播到本端口的另一个用户的报文获取MAC地址,通过一个或多个端口向这个用户的某端口发送大量垃圾报文,致使被攻击用户带宽资源被大量占用甚至被耗尽,网络处于瘫痪状态。
b、黑客可利用MAC地址假冒窃取被攻击方报文信息。
如图2所示端口A和端口C属于VLAN1,端口B和端口D属于VLAN2,端口A和端口C之间存在路由,在端口B发送源MAC地址与端口A所连接设备MAC地址相同的报文,则端口C的报文就会发往端口B,这样网络黑客便利用端口B窃取了端口C的信息。
c、当MAC地址共享不同的VLAN(虚拟局域网)和用户/VB(虚拟网桥)/Stack VLAN(嵌套虚拟局域网)/QinQ(多层802.1Q标签封装报文格式)时,由于表项的链接过多,导致查找效率降低,从而报文的转发效率也会随着降低。
而且,二层以太网交换机的广播机制也存在潜在的隐患当交换机在路由表项中找不到相应的端口则把数据包广播到所有端口上,攻击者就可以在某一个端口上接收到其它端口广播过来的报文,这样也会出现信息安全隐患。

发明内容
本发明的目的是提供一种保证城域传输设备中二层以太网交换机数据安全的方法,以克服现有技术中单纯利用MAC地址查找路由及查找路由时采用广播机制存在的安全隐患,提高城域传输设备中数据的安全性。
本发明的目的是通过以下技术方案实现的一种保证城域传输设备中二层以太网交换机数据安全的方法,包括A、建立报文过滤表;B、根据所述报文过滤表对所述交换机接收的报文进行过滤;C、建立路由表,所述路由表包括MAC地址及与其对应的交换机端口、用户信息、虚拟局域网标识;D、根据所述路由表对过滤后的报文进行转发。
所述步骤A具体为根据所述交换机的配置信息建立所述报文过滤表,所述报文过滤表包括交换机入端口、所述交换机入端口所属的虚拟局域网标识和用户信息。
所述步骤B包括B1、获取所述交换机接收的报文相关信息,所述报文相关信息包括报文中的虚拟局域网标识、接收报文的入端口、所述报文的入端口对应的用户信息。
B2、根据所述获取的报文相关信息查找所述报文过滤表;B3、当所述报文相关信息与所述过滤表中交换机入端口所属的虚拟局域网标识和用户信息不同时,丢弃所述报文。
所述步骤D包括D1、获取路由表入端口索引;D2、根据所述路由表入端口索引查找所述路由表;D3、当所述路由表中没有与所述路由表入端口索引对应的表项时,将所述交换机入端口与所述报文的源MAC地址、虚拟局域网标识、用户信息的对应关系学习到所述路由表中;D4、当所述路由表有与所述路由表入端口索引对应的表项时,获取路由表出端口索引;D5、根据所述路由表出端口索引查找所述路由表;D6、根据查找结果对所述过滤后的报文进行转发。
可选地,所述步骤D1具体为根据所述获取的报文中的源MAC地址获取路由表入端口索引。与此对应,所述步骤D4具体为根据所述获取的报文中的目的MAC地址获取路由表出端口索引。
可选地,所述步骤D1具体为根据二元组“源MAC地址+虚拟局域网标识或用户信息”获取路由表入端口索引。与此对应,所述步骤D4具体为根据二元组“目的MAC地址+虚拟局域网标识或用户信息”获取路由表出端口索引。
可选地,所述步骤D1具体为根据三元组“源MAC地址+虚拟局域网标识+用户信息”获取路由表入端口索引。与此对应,所述步骤D4具体为根据三元组“目的MAC地址+虚拟局域网标识+用户信息”获取路由表出端口索引。
所述步骤D6包括D61、当所述路由表中有与所述路由表出端口索引对应的表项时,则将所述过滤后的报文发送到对应的交换机出端口上;D62、当所述路由表中没有与所述路由表出端口索引对应的表项时,则将所述过滤后的报文广播到所述过滤后的报文所带虚拟局域网标识所属的所有端口上。
所述用户信息具体为用户标识或虚拟网桥标识或嵌套虚拟局域网或多层802.1Q标签封装报文格式。
由以上本发明提供的技术方案可以看出,本发明利用过滤机制来隔离不同的VLAN和用户/VB/Stack VLAN/QinQ,有效地避免了假冒MAC地址的端口攻击,保障了交换机中数据的安全;利用不同的查找方式只通过MAC地址、通过MAC地址与VLAN和/或用户ID/VBID/Stack VLAN/QinQ构成二元组或三元组来查找路由,从而使查找路由支持区分同一VLAN内的不同用户ID/VBID/Stack VLAN/QinQ具有相同的MAC地址的应用,进一步增强了对报文的过滤功能,提高了网络的安全性。利用优选的方式用户ID/VBID/StackVLAN/QinQ+VLAN+MAC三元组查找路由还可以缩短路由表表项查找深度,提高MAC地址共享VLAN、用户/VB/Stack VLAN/QinQ时的表项查找效率。


图1是现有技术中二层以太网交换机对报文的转发流程图;图2是现有技术中利用MAC地址假冒进行网络攻击的示意图;图3是本发明方法的实现流程图;图4是本发明方法中报文过滤转发的第一实施例的实现流程图;图5是本发明方法中报文过滤转发的第二实施例的实现流程图;图6是本发明方法中报文过滤转发的第三实施例的实现流程图。
具体实施例方式
本发明的核心在于根据交换机的配置信息预先建立表示交换机入端口与其所属VLAN(虚拟局域网)和用户ID/VBID/Stack VLAN/QinQ对应关系的报文过滤表,交换机接收报文后,首先对收到的报文进行端口过滤,将不属于本交换机入端口接收的报文丢弃,以防止端口攻击并保证端口数据安全;同时,利用MAC地址与用户ID/VBID/Stack VLAN/QinQ、VLAN组成二元组或三元组来查找路由,以提高查找效率。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
参照图3,图3示出了本发明方法的实现流程,包括以下步骤步骤301根据交换机的配置信息建立报文过滤表,所述报文过滤表包括交换机入端口、所述交换机入端口所属的虚拟局域网标识和用户信息。所述用户信息具体为用户标识或虚拟网桥标识或嵌套虚拟局域网或多层802.1Q标签封装报文格式。
本技术领域人员知道,用户是二层交换机中报文的所属域,一般是根据端口划分的,即每个端口只能属于一个用户,每个用户拥有一个完整的VLAN(虚拟局域网)域。用户ID(标识码)就是二层交换机中用来标识用户的,从原理上来讲,VBID(虚拟网桥标识)、Stack VLAN(嵌套VLAN)在二层交换机所起的作用与用户ID是相同的,VB(虚拟网桥)就是在二层交换机中划分出多个不同的虚拟域,这些虚拟域在对报文处理时是完全隔离的,VBID就是标识这些VB的,Stack VLAN实际上就是对VLAN(虚拟局域网)的扩充,在二层交换时可以起到与VB相同的隔离作用,而QinQ(多层802.1Q标签封装报文格式)标签在报文中可能存在多层,只有一层时就相当于StackVLAN,当存在两层以上时,就相当于对Stack VLAN的扩充,在二层交换时也起着信息隔离的作用。
这四个概念一般不会在同一个二层交换机中同时存在。因此,为了描述方便,下面仅以用户来说明。
步骤302根据报文过滤表对交换机接收的报文进行过滤。具体过滤过程为首先,交换机接收报文并获取报文的相关信息,即报文中的虚拟局域网标识、接收报文的入端口、所述报文的入端口对应的用户信息。其中,虚拟局域网标识是报文本身所带的;接收报文的入端口是交换机自己可以知道的;有了接收报文的入端口信息,则根据交换机的配置信息就可获知该入端口对应的用户信息。
然后,根据获取的报文中的虚拟局域网标识、入端口信息查找报文过滤表。
如果报文中的虚拟局域网标识与交换机入端口所属的虚拟局域网标识和用户信息不相同,则丢掉该报文;否则,将该报文作为合法报文,即过滤后的报文。
这样,即可排除交换机接收的非法报文。
步骤303建立路由表,所述路由表包括MAC地址及与其对应的交换机端口、用户信息、虚拟局域网标识。
步骤304根据路由表对过滤后的报文进行转发。
由上述流程可见,根据网络实际需要及交换机的配置信息,可以首先使交换机对接收的报文进行过滤,利用过滤表来隔离不同的VLAN和用户,可有效地避免网络中的端口攻击。然后,再根据路由表对过滤后的报文进行转发。
在本发明中,可以采用多种不同的路由检索方式,来支持区分同一VLAN内的不同用户具有相同的MAC地址的应用。
下面分别对不同的检索转发流程作详细描述。
参照图4所示报文过滤转发的第一实施例的实现流程,在该实施例中,只通过MAC地址来查找路由,具体包括以下步骤首先,在步骤401根据报文的源MAC地址获取路由表入端口索引查找路由表,比如利用常用的Hash算法,但不限于这种算法。
步骤402判断查找是否命中,也就是说,路由表中是否有对应该路由表入端口索引的表项。
如果没有,则进到步骤403将交换机入端口与报文的源MAC地址、VLAN标识、用户ID的对应关系学习到所述路由表中,也就是说在路由表中增加交换机入端口与报文的源MAC地址、VLAN标识、用户ID的对应关系的表项,因为该报文是过滤后的报文,说明交换机的入端口已划分给对应于报文中的VLAN和相应的用户,只是还未建立对应于该报文的转发路由,因此可以将交换机入端口与报文的源MAC地址、VLAN、用户ID的路由学习到路由表中,建立起入端口的路由。然后,再通过后面将描述的广播方式,将报文发送到出端口,在出端口有报文回应后通过与上面相同的步骤建立起出端口的路由,使路由表不仅可以通过静态配置的方式建立,还可通过动态学习的方式进行维护。
如果查找命中,则直接进到步骤404根据报文的目的MAC地址获取路由表出端口索引查找路由表,使用与步骤401相同的算法。
然后,进到步骤405判断查找是否命中,也就是说,路由表中是否有对应该路由表出端口索引的表项。
如果有,则进到步骤406将过滤后的报文发送到对应的交换机出端口上,根据报文的目的MAC地址的不同,可能有两种情况单播或组播。
如果是单播,则将报文发送到对应的出端口上;如果是组播,则将报文复制到该组播组内所有的出端口上。
如果没有,则进到步骤407将过滤后的报文广播到所述过滤后的报文所带VLAN所属的所有端口上。
参照图5所示报文转发的第二实施例的实现流程,在该实施例中,通过“MAC地址+用户ID”二元组来查找路由,具体包括以下步骤首先,在步骤501根据报文的“源MAC地址+用户ID”获取路由表入端口索引查找路由表,比如利用常用的Hash算法,但不限于这种算法。
步骤502判断查找是否命中,也就是说,路由表中是否有对应该路由表入端口索引的表项。
如果没有,则进到步骤503将交换机入端口与报文的源MAC地址、VLAN标识、用户ID的对应关系学习到路由表中,也就是说在路由表中增加交换机入端口与报文的源MAC地址、VLAN标识、用户ID的对应关系的表项,因为该报文是过滤后的报文,说明交换机的入端口已划分给对应于报文中的VLAN和相应的用户,只是还未建立对应于该报文的转发路由,因此可以将交换机入端口与报文的源MAC地址、VLAN、用户ID的对应关系学习到路由表中,建立起入端口的路由。然后,再通过后面将描述的广播方式将报文发送到出端口,在出端口有报文回应后通过与上面相同的步骤建立起出端口的路由,使路由表不仅可以通过静态配置的方式建立,还可通过动态学习的方式进行维护。
如果查找命中,则直接进到步骤504根据报文的“目的MAC地址+用户ID”获取路由表出端口索引查找路由表,使用与步骤501相同的算法。
然后,进到步骤505判断查找是否命中,也就是说,路由表中是否有对应该路由表出端口索引的表项。
如果有,则进到步骤506将过滤后的报文发送到对应的交换机出端口上,根据报文的目的MAC地址的不同,可能有两种情况单播或组播。
如果是单播,则将报文发送到对应的出端口上;如果是组播,则将报文复制到该组播组内所有的出端口上。
如果没有,则进到步骤507将过滤后的报文广播到所述过滤后的报文所带VLAN所属的所有端口上。
同样,还可以通过“MAC地址+VLAN”二元组来查找路由,实现过程同图5所示流程类似,在此不再赘述。
在上述路由查找过程中,利用了Hash算法或其他类似算法来计算路由查找索引。本技术领域人员知道,根据Hash算法,在MAC地址共享VLAN、用户时,表项可能会产生冲突,这时就需要通过链表等方式加大表项深度,也就是一个MAC地址会对应多个查找结果。为了在这多个查找结果中找到正确的结果,就要对这多个结果进行遍历,当表项冲突较多时查找效率会降低。
因此,为了缩短这种表项的查找深度,提高路由查找效率,从而进一步提高报文的转发效率,本发明还提供了更优化的路由查找方式,即利用“MAC地址+VLAN+用户ID”三元组查找路由。
图6示出了这种方式的详细流程,包括以下步骤首先,在步骤601根据报文的“源MAC地址+VLAN+用户ID”获取路由表入端口索引查找路由表,同样,可以利用Hash算法,但不限于这种算法。
步骤602判断查找是否命中。
如果没有,则进到步骤603将交换机入端口与报文的源MAC地址、VLAN标识、用户ID的对应关系学习到路由表中,也就是说在路由表中增加交换机入端口与报文的源MAC地址、VLAN标识、用户ID的对应关系的表项,因为该报文是过滤后的报文,说明交换机的入端口已划分给对应于报文中的VLAN和相应的用户,只是还未建立对应于该报文的转发路由,因此可以将交换机入端口与报文的源MAC地址、VLAN、用户ID的路由学习到路由表中,建立起入端口的路由。然后,再通过后面将描述的广播方式将报文发送到出端口,在出端口有报文回应后通过与上面相同的步骤建立起出端口的路由,使路由表不仅可以通过静态配置的方式建立,还可通过动态配置的方式进行维护。
如果查找命中,则直接进到步骤604根据报文的“目的MAC地址+VLAN+用户ID”获取路由表出端口索引查找路由表。
然后,进到步骤605判断查找是否命中,也就是说,路由表中是否有对应该路由表出端口索引的表项。
如果有,则进到步骤606将过滤后的报文发送到对应的交换机出端口上,根据报文的目的MAC地址的不同,可能有两种情况单播或组播。
如果是单播,则将报文发送到对应的出端口上;如果是组播,则将报文复制到该组播组内所有的出端口上。
如果没有,则进到步骤607将过滤后的报文广播到所述过滤后的报文所带VLAN所属的所有端口上。
通过上述对不同的实施例的描述可见,与现有技术中二层以太网交换机大都根据MAC地址查找路由相比,本发明利用MAC地址和用户ID/VBID/StackVLAN/QinQ、VLAN组成二、三元组查找路由,这样网络便可支持区分同一VLAN内的不同用户/VB/Stack VLAN/QinQ具有相同的MAC地址的应用,同时主要可通过不同用户/VB/Stack VLAN/QiniQ之间的隔离来加强城域传输设备中的二层以太网交换机的安全性能,进行端口过滤防止恶意MAC地址攻击,同时还通过缩短表项查找深度解决MAC地址共享VLAN、用户ⅣB/StackVLAN/QinQ导致的效率过低问题。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
权利要求
1.一种保证城域传输设备中二层以太网交换机数据安全的方法,其特征在于,包括A、建立报文过滤表;B、根据所述报文过滤表对所述交换机接收的报文进行过滤;C、建立路由表,所述路由表包括MAC地址及与其对应的交换机端口、用户信息、虚拟局域网标识;D、根据所述路由表对过滤后的报文进行转发。
2.根据权利要求1所述的方法,其特征在于,所述步骤A具体为根据所述交换机的配置信息建立所述报文过滤表,所述报文过滤表包括交换机入端口、所述交换机入端口所属的虚拟局域网标识和用户信息。
3.根据权利要求2所述的方法,其特征在于,所述步骤B包括B1、获取所述交换机接收的报文相关信息,所述报文相关信息包括报文中的虚拟局域网标识、接收报文的入端口、所述报文的入端口对应的用户信息。B2、根据所述获取的报文相关信息查找所述报文过滤表;B3、当所述报文相关信息与所述过滤表中交换机入端口所属的虚拟局域网标识和用户信息不同时,丢弃所述报文。
4.根据权利要求3所述的方法,其特征在于,所述步骤D包括D1、获取路由表入端口索引;D2、根据所述路由表入端口索引查找所述路由表;D3、当所述路由表中没有与所述路由表入端口索引对应的表项时,将所述交换机入端口与所述报文的源MAC地址、虚拟局域网标识、用户信息的对应关系学习到所述路由表中;D4、当所述路由表有与所述路由表入端口索引对应的表项时,获取路由表出端口索引;D5、根据所述路由表出端口索引查找所述路由表;D6、根据查找结果对所述过滤后的报文进行转发。
5.根据权利要求4所述的方法,其特征在于,所述步骤D1具体为根据所述获取的报文中的源MAC地址获取路由表入端口索引。
6.根据权利要求5所述的方法,其特征在于,所述步骤D4具体为根据所述获取的报文中的目的MAC地址获取路由表出端口索引。
7.根据权利要求4所述的方法,其特征在于,所述步骤D1具体为根据二元组“源MAC地址+虚拟局域网标识或用户信息”获取路由表入端口索引。
8.根据权利要求7所述的方法,其特征在于,所述步骤D4具体为根据二元组“目的MAC地址+虚拟局域网标识或用户信息”获取路由表出端口索引。
9.根据权利要求4所述的方法,其特征在于,所述步骤D1具体为根据三元组“源MAC地址+虚拟局域网标识+用户信息”获取路由表入端口索引。
10.根据权利要求9所述的方法,其特征在于,所述步骤D4具体为根据三元组“目的MAC地址+虚拟局域网标识+用户信息”获取路由表出端口索引。
11.根据权利要求4至10任一项所述的方法,其特征在于,所述步骤D6包括D61、当所述路由表中有与所述路由表出端口索引对应的表项时,则将所述过滤后的报文发送到对应的交换机出端口上;D62、当所述路由表中没有与所述路由表出端口索引对应的表项时,则将所述过滤后的报文广播到所述过滤后的报文所带虚拟局域网标识所属的所有端口上。
12.根据权利要求1至4任一项所述的方法,其特征在于,所述用户信息具体为用户标识或虚拟网桥标识或嵌套虚拟局域网或多层802.1Q标签封装报文格式。
全文摘要
本发明公开了一种保证城域传输设备中二层以太网交换机数据安全的方法,包括建立报文过滤表;根据报文过滤表对交换机接收的报文进行过滤;建立路由表;根据路由表对过滤后的报文进行转发。利用本发明,可以防止网络端口攻击,提高城域传输设备中数据的安全性。
文档编号H04L12/56GK1767495SQ20041008682
公开日2006年5月3日 申请日期2004年10月28日 优先权日2004年10月28日
发明者金志国, 李大为, 刘明伟 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1