实现同一vlan内端口跨设备隔离的系统、方法和交换设备的制作方法

文档序号:7767745阅读:602来源:国知局
专利名称:实现同一vlan内端口跨设备隔离的系统、方法和交换设备的制作方法
技术领域
本发明涉及隔离技术领域,特别涉及一种实现同一 VLAN内端口跨设备隔离的系统、方法和交换设备。
背景技术
随着网络的日益发展,对网络安全的要求也越来越高,因此,在实际的网络部署中,为了加强流量的安全、如信息的安全或网络免于无关流量的冲击等,需要对某些端口进行二层隔离。参见图1,交换机(Switch)A与SwitchB属于虚拟IP地址为202. 38. 160. 111/24的VRRP备份组(这里的Switch为具有路由功能的三层交换机),在 Switch A、Switch B 上分别创建 VLAN20 和 VLAN40,配置 Ethernetl/0/l 为上行端口,Ethernet 1/0/2 Ethernet 1/0/5 为下行端口,且端口 Ethernet 1/0/2 和端口 Ethernetl/0/3 属于 VLAN20,端口 Ethernetl/0/4 和端口 Ethernetl/0/5 属于 VLAN40 ;当 Switch A正常工作时,用户访问hternet时的报文通过Switch A转发,当Switch A的上行链路出现故障时,用户访问hternet时的报文通过Switch B转发。现要求VLAN20中的用户之间二层隔离、包括Switch A上VLAN20中的用户同Switch B上VLAN20中的用户之间隔离;VLAN40中的用户之间能够满足二层互通。目前,可通过将Switch A上VLAN20中的下行端口 Ethernetl/0/2配置为专用 VLAN边缘(PVE)端口,将Switch A上的上行端口 Ethernetl/0/1配置为Uplink端口,进而根据PVE方案中“将PVE端口收到的报文仅向指导的Uplink端口无条件转发,而不向其他非Uplink转发;Uplink端口进入的报文可以根据正常的转发流程转发所有其它端口”的思想,来实现SwitchA上VLAN20中下行端口间的二层隔离;同样地,在Switch B也需进行同 Switch A类似的配置。从上述分析可以看出,采用PVE方案的设置虽然能够实现端口二层隔离,然而只有在同一台交换机上配置的PVE端口才能实现相互间的二层报文隔离;而对于同一 VLAN 内,不同交换机之间的PVE端口间不能实现隔离。为此,可保留使用上述端口隔离组的配置,但将Switch B上的VLAN20改为与 Switch A上VLAN20不同的VLANjn VLAN200,即在PVE方案设置的基础上,将不同交换机之前需要进行二层隔离的端口加入不同的VLAN,利用VLAN的隔离特性达到不同交换机的PVE 端口间隔离的目的。这样虽然能够实现不同交换机上配置的PVE端口间的二层报文隔离, 然而,需要占用较多的VLAN资源,且对称部署的Switch A与Switch B的配置也不能够统
ο

发明内容
有鉴于此,本发明提供了一种实现同一 VLAN内端口跨设备隔离的系统,能够在使用少量VLAN资源的情况下,实现同一 VLAN内端口跨交换机设备的二层隔离。本发明还提供了一种实现同一 VLAN内端口跨设备隔离的方法和交换设备,能够在使用少量VLAN资源的情况下,实现同一 VLAN内端口跨交换机设备的二层隔离。为了达到上述目的,本发明提出的技术方案为一种实现同一 VLAN内端口跨设备隔离的系统,该系统包括服务器krver、路由器Router、通过级连端口 Trunk Port相连的两个以上的交换机Switch和客户端Host,其中,某一个Switch通过自身的上行端口与处于同一主VLAN的Router的下行端口相连,每一个Switch分别通过自身不同的隔离端口与处于同一辅助VLAN的多个Host相连,Router对自身的下行端口、允许通过的VLAN、以及通过流量的形式进行设置,每一个Switch分别对自身的上行端口、Trunk Port和隔离端口的PVID、允许通过的VLAN、 以及通过流量的形式进行设置;每一个Switch设置辅助VLAN和主VLAN中学习的MAC地址相互复制,且将隔离端口学习到的MAC地址修改目的匹配动作为目的丢弃或将目的端口修改为空端口 ;每一个Switch设置自身的隔离端口,使流量在辅助VLAN中的入VLAN检查 ingress VLAN-Check 成功、出 VLAN 检查 egress VLAN-Check 失败,则, 对于不同的流量,Switch选择上述设置的组合,使流量在辅助VLAN中的所有Host 之间隔离。所述Router对自身的下行端口、允许通过的VLAN、以及通过流量的形式进行设置,每一个Switch分别对自身的上行端口、Trunk Port和隔离端口的PVID、允许通过的 VLAN、以及通过流量的形式进行设置包括Router设置自身的下行端口的PVID为主VLAN、允许主VLAN通过、且为untagged ;与Router相连的Switch设置自身的上行端口的PVID为主VLAN、允许主VLAN和辅助VLAN通过、且都为untagged ;每一个Switch设置iTrunk Port允许主VLAN和辅助VLAN通过、且都为tagged ;每一个Switch设置隔离端口的PVID为辅助VLAN、允许主VLAN和辅助VLAN通过、 且者β为 untagged。所述每一个Switch设置自身的隔离端口,使流量在辅助VLAN中的入VLAN检查 ingress VLAN-Check 成功、出 VLAN 检查 egress VLAN-Check 失败包括所述每一个Switch将隔离端口加入辅助VLAN的入VLAN端口列表 ingressVLAN-Port List 中,使其在辅助 VLAN 中的 ingress VLAN-Check 通过,将隔离端口从辅助VLAN的出VLAN端口列表egress VLAN-Port List中删除,使其在辅助VLAN的 egress VLAN-Check 失败,或,所述每一个Switch将隔离端口的使能入VLAN检查ingress VLAN-CheckEnable开关关闭,使其在辅助VLAN中的ingress VLAN-Check通过,将隔离端口从辅助VLAN的VLAN-Port List中删除、并将隔离端口的使能出VLAN检查egress VLAN-Check Enable开关开启,使其在辅助VLAN中的egressVLAN-Check失败。所述对于不同的流量,Switch选择上述设置的组合,使流量在辅助VLAN中的所有 Host之间隔离包括对于Router在主VLAN中发出的untagged下行广播、下行未知单播和下行组播流量,一直在主VLAN中传播,各个端口的ingress VLAN-Check和egressVLAN-Check都成功, 流量以untagged形式到达Host ;对于Host发出的untagged上行广播、上行未知单播和上行组播流量,在隔离端口上ingress VLAN-Check成功,被标志为辅助VLAN,进而分别被广播到与Router相连的 Switch的上行端口、隔离端口、以及Trunk Port 当流量被广播到上行端口时上行端口允许辅助VLAN,且为untagged,流量被以untagged的形式发送到Router,被标志为主VLAN ; 当流量被广播到隔离端口时隔离端口在辅助VLAN中egress VLAN-Check失败,流量被丢弃;当流量被广播到iTrunk Port时egress VLAN-Check通过,且以辅助VLAN的tagged流量传输到其它Switch,在其它Switch上的iTrunk Port ingress VLAN-Check成功,被标记为辅助VLAN后,继续被广播到辅助VLAN中的隔离端口中,隔离端口在辅助VLAN中egress VLAN-Check失败,流量被丢弃;对于下行已知单播流量对于Router到与Router相连的Switch的Host中的下行已知单播流量,在与Router相连的Switch上,在主VLAN中,ingressVLAN-Check成功, 匹配到Host的MAC表项后,egress VLAN-Check成功,流量以untagged形式到达Host ;对于Router到不与Router相连的Switch的Host中的下行已知单播流量,在与Router相连的 Switch 上,在主 VLAN 中,ingressVLAN-Check 成功,匹配到 Host 的 MAC 表项后,egress VLAN-Check成功,流量以主VLAN tagged到达不与Router相连的Switch,在不与Router 相连的Switch上,在主VLAN中,ingress VLAN-Check成功,匹配到Host的MAC表项后, egressVLAN-Check 成功,流量以 untagged 到达 Host ;对于上行已知单播流量,对于与Router相连的Switch中的Host到Router的上行已知单播流量,在与Router相连的Switch上,在辅助VLAN中,ingressVLAN-Check成功,匹配到Router的MAC表项后,egress VLAN-Check成功,流量以untagged到达Router ;对于不与Router相连的Switch中的Host到Router的上行已知单播流量,在不与Router相连的 Switch 上,在辅助 VLAN 中,ingressVLAN-Check 成功,匹配到 Router 的 MAC 表项后,egress VLAN-Check成功,流量以辅助VLAN tagged到达与Router相连的Switch,在与Router相连的Switch上,在辅助VLAN中,ingress VLAN-Check成功,匹配到Router的MAC表项后, egress VLAN-Check 成功,流量以 untagged 到达 Router ;对于Host间的已知单播流量,在辅助VLAN中,匹配对应的辅助VLAN中的Host MAC表项后,如果出端口为隔离端口,egress VLAN-Check失败或匹配的目的MAC表项为目的丢弃或目的端口为空端口,流量被丢弃;如果出端口为iTrunk Port, egress VLAN-Check 成功,流量带辅助VLAN的tag到达另一个Switch,在另一个Switch上,egress VLAN-Check 失败或匹配的目的MAC表项为目的丢弃或目的端口为空端口,流量被丢弃。一种实现同一 VLAN内端口跨设备隔离的方法,应用于实现同一 VLAN内端口跨设备隔离的系统中,该方法包括Router对自身的下行端口、允许通过的VLAN、以及通过流量的形式进行设置,每一个Switch分别对自身的上行端口、级连端口 Trunk Port和隔离端口的PVID、允许通过的 VLAN、以及通过流量的形式进行设置;每一个Switch设置辅助VLAN和主VLAN中学习的MAC 地址相互复制,且将隔离端口学习到的MAC地址修改目的匹配动作为目的丢弃或将目的端口修改为空端口 ;每一个Switch设置自身的隔离端口,使流量在辅助VLAN中的入VLAN检查 ingressVLAN-Check 成功、出 VLAN 检查 egress VLAN-Check 失败,则,对于不同的流量,Switch选择上述设置的组合,使流量在辅助VLAN中的Host之间隔离。
所述Router对自身的下行端口、允许通过的VLAN、以及通过流量的形式进行设置,每一个Switch分别对自身的上行端口、Trunk Port和隔离端口的PVID、允许通过的 VLAN、以及通过流量的形式进行设置包括Router设置自身的下行端口的PVID为主VLAN、允许主VLAN通过、且为untagged ;与Router相连的Switch设置自身的上行端口的PVID为主VLAN、允许主VLAN和辅助VLAN通过、且都为untagged ;每一个Switch设置Trunk Port允许主VLAN和辅助VLAN通过、且都为tagged ;每一个Switch设置隔离端口的PVID为辅助VLAN、允许主VLAN和辅助VLAN通过、 且者β为 untagged。所述每一个Switch设置自身的隔离端口,使流量在辅助VLAN中的入VLAN检查 ingress VLAN-Check 成功、出 VLAN 检查 egress VLAN-Check 失败包括所述每一个Switch将隔离端口加入辅助VLAN的入VLAN端口列表 ingressVLAN-Port List 中,使其在辅助 VLAN 中的 ingress VLAN-Check 通过,将隔离端口从辅助VLAN的出VLAN端口列表egress VLAN-Port List中删除,使其在辅助VLAN的 egress VLAN-Check 失败,或,所述每一个Switch将隔离端口的使能入VLAN检查ingress VLAN-CheckEnable开关关闭,使其在辅助VLAN中的ingress VLAN-Check通过,将隔离端口从辅助VLAN的VLAN-Port List中删除、并将隔离端口的使能出VLAN检查egress VLAN-Check Enable开关开启,使其在辅助VLAN中的egressVLAN-Check失败。所述对于不同的流量,Switch选择上述设置的组合,使流量在辅助VLAN中的所有 Host之间隔离包括对于Router在主VLAN中发出的untagged下行广播、下行未知单播和下行组播流量,一直在主VLAN中传播,各个端口的ingress VLAN-Check和egressVLAN-Check都成功, 流量以untagged形式到达Host ;对于Host发出的untagged上行广播、上行未知单播和上行组播流量,在隔离端口上ingress VLAN-Check成功,被标志为辅助VLAN,进而分别被广播到与Router相连的 Switch的上行端口、隔离端口、以及Trunk Port 当流量被广播到上行端口时上行端口允许辅助VLAN,且为untagged,流量被以untagged的形式发送到Router,被标志为主VLAN ; 当流量被广播到隔离端口时隔离端口在辅助VLAN中egress VLAN-Check失败,流量被丢弃;当流量被广播到iTrunk Port时egress VLAN-Check通过,且以辅助VLAN的tagged流量传输到其它Switch,在其它Switch上的iTrunk Port ingress VLAN-Check成功,被标记为辅助VLAN后,继续被广播到辅助VLAN中的隔离端口中,隔离端口在辅助VLAN中egress VLAN-Check失败,流量被丢弃;对于下行已知单播流量对于Router到与Router相连的Switch的Host中的下行已知单播流量,在与Router相连的Switch上,在主VLAN中,ingressVLAN-Check成功, 匹配到Host的MAC表项后,egress VLAN-Check成功,流量以untagged形式到达Host ;对于Router到不与Router相连的Switch的Host中的下行已知单播流量,在与Router相连的 Switch 上,在主 VLAN 中,ingressVLAN-Check 成功,匹配到 Host 的 MAC 表项后,egress VLAN-Check成功,流量以主VLAN tagged到达不与Router相连的Switch,在不与Router相连的Switch上,在主VLAN中,ingress VLAN-Check成功,匹配到Host的MAC表项后, egressVLAN-Check 成功,流量以 untagged 到达 Host ;对于上行已知单播流量,对于与Router相连的Switch中的Host到Router的上行已知单播流量,在与Router相连的Switch上,在辅助VLAN中,ingressVLAN-Check成功,匹配到Router的MAC表项后,egress VLAN-Check成功,流量以untagged到达Router ;对于不与Router相连的Switch中的Host到Router的上行已知单播流量,在不与Router相连的 Switch 上,在辅助 VLAN 中,ingressVLAN-Check 成功,匹配到 Router 的 MAC 表项后,egress VLAN-Check成功,流量以辅助VLAN tagged到达与Router相连的Switch,在与Router相连的Switch上,在辅助VLAN中,ingress VLAN-Check成功,匹配到Router的MAC表项后, egress VLAN-Check 成功,流量以 untagged 到达 Router ;对于Host间的已知单播流量,在辅助VLAN中,匹配对应的辅助VLAN中的Host MAC表项后,如果出端口为隔离端口,egress VLAN-Check失败或匹配的目的MAC表项为目的丢弃或目的端口为空端口,流量被丢弃;如果出端口为iTrunk Port, egress VLAN-Check 成功,流量带辅助VLAN的tag到达另一个Switch,在另一个Switch上,egress VLAN-Check 失败或匹配的目的MAC表项为目的丢弃或目的端口为空端口,流量被丢弃。一种实现同一 VLAN内端口跨设备隔离的交换设备,该交换设备包括端口设置模块、MAC复制模块、过滤模块和转发模块,其中,所述端口设置模块,用于对上行端口、级连端口 Trunk Port和隔离端口的PVID、 允许通过的VLAN、以及通过流量的形式进行设置;所述MAC复制模块,用于设置辅助VLAN和主VLAN中学习的MAC地址相互复制,且将隔离端口学习到的MAC地址修改目的匹配动作为目的丢弃或将目的端口修改为空端口 ;所述过滤模块,用于设置隔离端口,使流量在辅助VLAN中的入VLAN检查ingress VLAN-Check 成功、出 VLAN 检查 egress VLAN-Check 失败;所述转发模块,用于对于不同的流量,选择所述端口设置模块、MAC复制模块和过滤模块中设置的组合,使流量在辅助VLAN中的Host之间隔离。所述设置模块中对上行端口、Trunk Port和隔离端口的PVID、允许通过的VLAN、 以及通过流量的形式进行设置包括设置上行端口的PVID为主VLAN、允许主VLAN和辅助VLAN通过、且都为 untagged ;设置"Trunk Port允许主VLAN和辅助VLAN通过、且都为tagged ;设置隔离端口的PVID为辅助VLAN、允许主VLAN和辅助VLAN通过、且都为 untagged。所述过滤模块中设置隔离端口,使流量在辅助VLAN中的ingressVLAN-Check成功、egress VLAN-Check 失败包括将隔离端口加入辅助VLAN的入VLAN端口列表ingress VLAN-Port List中,使其在辅助VLAN中的ingress VLAN-Check通过,将隔离端口从辅助VLAN的出VLAN端口列表 egress VLAN-Port List 中删除,使其在辅助 VLAN 的 egressVLAN-Check 失败,或,将隔离端口的使能入VLAN检查ingress VLAN-Check Enable开关关闭,使其在辅助VLAN中的ingress VLAN-Check通过,将隔离端口从辅助VLAN的VLAN-Port List中删除、并将隔离端口的使能出VLAN检查egress VLAN-CheckEnable开关开启,使其在辅助 VLAN 中的 egress VLAN-Check 失败。所述转发模块中对于不同的流量,选择所述端口设置模块、MAC复制模块和过滤模块中设置的组合,使流量在辅助VLAN中的Host之间隔离包括对于Router在主VLAN中发出的untagged下行广播、下行未知单播和下行组播流量,一直在辅助VLAN中传播,各个端口的ingress VLAN-Check和egressVLAN-Check都成功,流量以untagged形式到达Host ;对于Host发出的untagged上行广播、上行未知单播和上行组播流量,在隔离端口上ingress VLAN-Check成功,被标志为辅助VLAN,进而分别被广播到上行端口、隔离端口、 以及Trunk Port 当流量被广播到上行端口时上行端口允许辅助VLAN,且为untagged,流量被以untagged的形式发送到Router,被标志为主VLAN ;当流量被广播到隔离端口时隔离端口在辅助VLAN中egressVLAN-Check失败,流量被丢弃;当流量被广播到Trunk Port 时EgressVLAN-Check通过,且以辅助VLAN的tagged流量传输到其它交换设备,在其它交换设备上的iTrunk Port ingress VLAN-Check成功,被标记为辅助VLAN后,继续被广播到辅助VLAN中的隔离端口中,隔离端口在辅助VLAN中egressVLAN-Check失败,流量被丢弃;对于下行已知单播流量在主VLAN中,ingress VLAN-Check成功,匹配到MAC表项后,egress VLAN-Check成功,流量以untagged形式到达Host ;或,在主VLAN中,ingress VLAN-Check成功,匹配到MAC表项后,egressVLAN-Check成功,流量以主VLAN tagged到达其它交换设备,在其它交换设备上,在主VLAN中,ingress VLAN-Check成功,匹配到其它交换设备上的MAC表项,egressVLAN-Check成功,流量以untagged到达Host ;对于上行已知单播流量,在辅助VLAN中,ingress VLAN-Check成功,匹配到MAC 表项后,egress VLAN-Check成功,流量以untagged到达Router ;或,在其它交换设备上, 在辅助VLAN中,ingress VLAN-Check成功,匹配到其它交换设备上的MAC表项后,egress VLAN-Check成功,流量以辅助VLANtagged到达后,在辅助VLAN中,ingress VLAN-Check成功,匹配到MAC表项后,egress VLAN-Check成功,流量以untagged到达Router ;对于Host间的已知单播流量,在辅助VLAN中,匹配对应的辅助VLAN中的Host MAC表项后,如果出端口为隔离端口,egress VLAN-Check失败或匹配的目的MAC表项为目的丢弃或目的端口为空端口,流量被丢弃;如果出端口为iTrunk Port, egress VLAN-Check 成功,流量带辅助VLAN的tag到达其它交换设备,在其它交换设备上,egress VLAN-Check 失败或匹配的目的MAC表项为目的丢弃或目的端口为空端口,流量被丢弃。综上所述,本发明所采用的实现同一 VLAN内端口跨设备隔离的系统,是通过由每个交换机分别对自身的各个端口(包括上行端口、Trunk Port和隔离端口)的PVID、允许通过的VLAN、以及通过流量的形式进行设置,并设置辅助VLAN和主VLAN中学习的MAC地址相互复制,以及设置自身的隔离端口使流量在辅助VLAN中的ingress VLAN-Check成功、 egressVLAN-Check失败,从而对于不同的流量,交换机能够选择上述各个设置的组合,使得流量在辅助VLAN中的所有Host之间隔离。因此,本发明方案能够在使用最少VLAN资源的情况下(仅使用了辅助VLAN和主VLAN两种VLAN),实现端口跨交换机设备之间的二层隔离。


图1为现有网络的组网示意图;图2为本发明同一 VLAN内端口跨设备隔离系统实施例的结构示意图;图3为本发明实现同一 VLAN内端口跨隔离方法实施例的工作流程图;图4为本发明所采用的交换设备的结构示意图。
具体实施例方式为了解决现有技术中存在的问题,本发明提供了一种实现同一 VLAN内端口跨设备隔离的系统,即通过由每个交换机分别对自身的各个端口(包括上行端口、Trunk Port 和隔离端口)的PVID、允许通过的VLAN、以及通过流量的形式进行设置,并设置辅助VLAN 和主VLAN中学习的MAC地址相互复制,以及设置自身的隔离端口使流量在辅助VLAN中的 ingressVLAN-Check成功、egress VLAN-Check失败,从而对于不同的流量,交换机能够选择上述各个设置的组合,使得流量在辅助VLAN中的所有Host之间隔离。基于上述介绍,本发明所述方案的具体实现包括Router对自身的下行端口、允许通过的VLAN、以及通过流量的形式进行设置,每一个Switch分别对自身的上行端口、Trunk Port和隔离端口的PVID、允许通过的VLAN、 以及通过流量的形式进行设置;每一个Switch设置辅助VLAN和主VLAN中学习的MAC地址相互复制,且将隔离端口学习到的MAC地址修改目的匹配动作为目的丢弃或将目的端口修改为空端口 ;每一个Switch设置自身的隔离端口,使流量在辅助VLAN中的入VLAN检查 ingress VLAN-Check 成功、出 VLAN 检查 egress VLAN-Check 失败,则,对于不同的流量,Switch选择上述设置的组合,使流量在辅助VLAN中的所有Host 之间隔离。为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。参见图2所示的同一 VLAN内端口跨设备隔离系统的结构示意图,如图2所示, 该系统包括服务器(krver)、路由器(Router)-A、通过级连端口(Trunk Port)相连的 Switch A和Switch B等多个Switch (本实施例以两个Switch为例来说明,这里的Switch 仅具有交换功能,不具有路由功能,路由功能由Router来完成,多个Switch存在的情况类同,不再赘述)、以及客户端(Host)l、HOSt2等多个客户端。其中,Switch A通过自身的上行端口与处于同一主VLAN(这里为VLAN2)的Router-A的下行端口相连(即Switch A通过Portl与Router-A的Port2相连,这里也可以为Switch B或其它任意一个Switch同 Router-B连接,本实施例仅以Switch A同Router-A连接为例来说明),Switch A分别通过自身的隔离端口(即Switch A的下行端口,由于本实施例是实现下行端口间的二层隔离,故将下行端口称为隔离端口)Portll、Portl2和Portl3与处于同一辅助VLAN(这里为 VLAN20)的 Hostl、Host2 和 Host3 相连,Switch B 分别通过自身的隔离端口 Port21、Port22 和Port23与处于同一辅助VLAN(这里为VLAN20)的Host4、Host5和Host6相连。在本实施例中,要求Hostl Host6之间能够在VLAN20中实现二层隔离,但能通过Portl与Router-A在VLAN2中进行流量互通,且能够通过Router-A作为默认网关与 Server进行三层互通,为此,需要预先进行如下设置
1、Router-A 设置端口 Port2 的 PVID 为 VLAN2,允许 VLAN2 通过,且为 untagged ; Switch A 设置端口 Portl 的 PVID 为 VLAN2,允许 VLAN2 和 VLAN20 通过,且都为 untagged ; Switch A和Switch B分别设置Trunk Port允许VLAN2和VLAN20通过,且都为tagged ;分别设置端口 Portll Portl3、Port21 Port23 的 PVID 为 VLAN20,允许 VLAN2 和 VLAN20 通过,且者β为untagged。2、Switch A和Switch B分别设置VLAN2中学习的MAC地址,复制一份到VLAN20 中,VLAN20中学习的MAC地址,复制一份到VLAN2中;且对于在VLAN20中隔离端口(即端口 Portll Portl3 和 Port21 Port23)学习到的 MAC 地址(即 Hostl Host6 的 MAC 地址),修改目的匹配动作为目的丢弃或将目的端口修改为空端口,以将VLAN20中匹配 Hostl Host6的二层流量丢弃。3、Switch A和 Switch B 分别设置Portll Portl3 和 Port21 Port23 在 VLAN20 中的入 VLAN 检查(ingress VLAN-Check)通过、出 VLAN 检查(egressVLAN-Check)失败, 以使得在VLAN20中Portll Portl3和Port21 Port23不会有出流量,达到Portll Portl3和Port21 Port23在VLAN20中二层隔离的目的。需要说明的是,在本实施例中,可使用VLAN过滤机制1和VLAN过滤机制2两种过滤机制来实现Portll Portl3 和 Port21 Port23 在 VLAN20 中的 ingress VLAN-Check通过、egress VLAN-Check失败的功能。当使用VLAN过滤机制1时,需要将Portll Portl3 和 Port21 Port23 加入 VLAN20 的入 VLAN端口列表(ingress VLAN-Port List)中,使其在 VLAN20 中的 ingress VLAN-Check 通过,而将 Portll Portl3 和 Port21 Port23 从 VLAN20 的出 VLAN 端口列表(egress VLAN-Port List)中删除,使其在 VLAN20 中的 egress VLAN-Check失败;当使用VLAN过滤机制2时,需要将Port 11 Port 13和Port21 Port23 的使能入VLAN检查(ingress VLAN-Check Enable)开关关闭,使其在VLAN20中的ingress VLAN-Check通过,将 Portll Portl3 和 Port21 Port23 从 VLAN20 的 VLAN-Port List 中删除、并将 Portll Portl3 和 Port21 Port23 的使能出 VLAN 检查(egress VLAN-Check Enable)开关开启,使其在VLAN20中的egressVLAN-Check失败。完成上述设置之后,对于不同的流量,不同的Switch选择上述设置的组合(可以为某几种设置的组合),使流量在辅助VLAN中的所有Host之间隔离,以下对不同的流量进行具体的分析1、对于下行广播、下行未知单播和下行组播流量Router-A在VLAN2中发出
untagged 的流量,一直在 VLAN2 中传播,各个端口 (Portl 1,Portl2,......, Port23, Trunk
Port)的 ingress VLAN-Check 和 egress VLAN-Check 都通过,流量以 untagged 形式到达 Hostl Host6中的一个或多个。2、对于上行广播、上行未知单播和上行组播流量(以Hostl发出流量为例说明) Hostl 发出 untagged 的流量,到达 Switch-A 的隔离端口 Portll,在 Switch-A 的 Portll 上 ingress VLAN-Check 成功(隔离端口 Portll 在 VLAN20 的 ingressVLAN-Port List 中,或隔离端口 Portll ingress VLAN-Check开关关闭),并且被标志为VLAN20,进而被分别广播到 Switch-A 的 Portl、Switch-A 的 Portl2 和 Portl3、以及 Switch-A 与 Switch-B 的 Trunk Port,其具体的流向分别为当流量被广播到Switch-A的Portl时因Portl允许VLAN20,且为untagged,所
1以被以untagged的形式发送到Router-A的Port2,被标志为VLAN2 ;当流量被广播到 Switch-A 的 Port 12 和 Port 13 时因 Port 12 和 Port 13 在 VLAN20 中 egress VLAN-Check失败(端口 Portl2和Portl3不在VLAN20 的egress VLAN-Port List 中,或端口 Portl2 和 Portl3 使能 egress VLAN-Check 开关,但不在 VLAN20 的 VLAN-Port List中),因此流量被丢弃;当流量被广播到 Switch-A 与 Switch-B 的 Trunk Port 时egress VLAN-Check 成功,且以 VLAN20 的 tagged 报文传输到 Switch-B,在 Switch-B 上的 Trunk Portingress VLAN-Check成功,被标记为VLAN20后,继续被广播到VLAN20中的Port21,Port22和Port23 中,同样地,因 Port21,Port22 和 Port23 在 VLAN20 中 egress VLAN-Check 失败,因此流量被丢弃。3、对于下行已知单播流量假设krver、Hostl和Host4的MAC地址分别为MAC-R、 MAC-I和MAC-4,由于VLAN2和VLAN20中学习的MAC地址相互复制,则在Switch-A上会有如下MAC表项MAC-R+VLAN2+Portl ;MAC-R+VLAN20+Port 1 (复制 VLAN2 中学习的 MAC-R);MAC-1+VLAN20+CMD-DR0P/NULL-P0RT (VLAN20 中隔离端口学习到的 MAC 地址,修改目的匹配动作为目的丢弃或将目的端口修改为空端口);MAC-l+VLAN2+Portll(复制 VLAN20 中学习的 MAC-1);MAC-4+VLAN20+TrunkPort ;MAC-4+VLAN2+TrunkPort (复制 VLAN20 中学习的 MAC-4)。同样地,在Switch-B上会有如下MAC表项MAC-R+VLAN2+TrunkPort ;MAC-R+VLAN20+TrunkPort (复制 VLAN2 中学习的 MAC-R);MAC-1+VLAN20+TrunkPort ;MAC-1 +VLAN2+TrunkPort (复制 VLAN20 中学习的 MAC-1);MAC-4+VLAN20+CMD-DR0P/NULL-P0RT (VLAN20 中隔离端口学习到的 MAC 地址,修改目的匹配动作为目的丢弃或将目的端口修改为空端口);MAC-4+VLAN2+Port21 (复制 VLAN20 中学习的 MAC-4)。对于Router-A到Hostl的下行已知单播流量在Switch-A上,在VLAN2中, 由于端口 Portl 在 VLAN2 的 ingress VLAN-Port List 中,或,端口 Portl 使能 ingress VLAN-Check,且端口 Portl 在 VLAN2 的 VLAN-Port List 中,则 ingress VLAN-Check 成功; 匹配到Switch-A上的MAC-l+VLAN2+Port 11后,确定出端口是Port 11,出VLAN保持为VLAN2 后;由于端口 Portll 在 VLAN2 的 egress VLAN-Port List 中,或,端口 Portll 使能了 egress VLAN-Check,且端口 Portll 在 VLAN2 的 VLAN-Port List 中,则 egress VLAN-Check 成功, 以 untagged 流量至Ij达 Hostl ;对于Router-A到Host4的下行已知单播流量在Switch-A上,在VLAN2中,由于端口 Portl 在 VLAN2 的 ingress VLAN-Port List 中,或,端口 Portl 使能 ingressVLAN-Check, 且端口 Portl 在 VLAN2 的 VLAN-Port List 中,ingress VLAN-Check 成功;匹配到 Switch-A 上的 MAd+VLA^+I^runkPort 后,确定出端口是 iTrunkPort,出 VLAN 保持 VLAN2 后;由于端 Π TrunkPort 在 VLAN2 的 egress VLAN-PortList 中,或,TrunkPort 使能了 egress VLAN-Check,且 TrunkPort 在 VLAN2 的 VLAN-Port List 中,则 egress VLAN-Check 成功, 流量以 VLAN2 tagged 的形式到达 Switch-B ;在 Switch-B 上,在 VLAN2 中,由于 iTrunkPort 在 VLAN2 的 ingressVLAN-Port List 中,或,TrunkPort 使能 ingress VLAN-Check,且 TrunkPort 在 VLAN2 的 VLAN-Port List 中,则 ingress VLAN-Check 成功;匹配到 Switch-B 上的 MAC-4+VLAN2+Port21 后,确定出端口是 Port21,出 VLAN 保持 VLAN2 后;由于 Port21 在 VLAN2 的 egress VLAN-Port List 中,或,Port21 使能 egressVLAN-Check,且 Port21 在 VLAN2 的 VLAN-Port List 中,egressVLAN-Check成功,流量以 untagged 的形式到达 Host4。4、对于上行已知单播流量同下行已知单播流量一样,假设Router-Α、Hostl和 Host4的MAC地址分别为MAC-R、MAC-1和MAC-4,则在Switch-A和Switch-B上也会有如上的MAC表项,这里不再赘述。对于Hostl到Router-A的上行已知单播流量在Switch-A上,在VLAN20中, 由于 Portll 在 VLAN20 的 ingress VLAN-Port List 中,或,Portll 没有使能 ingress VLAN-Check,且 Portll 没有在 VLAN20 的 VLAN-Port List 中,则 ingressVLAN-Check 成功; 匹配到 Switch-A 上的 MAC-R+VLAN20+Portl 后,确定出端口是 Portl,出 VLAN 保持 VLAN20 ; 由于 Portl 在 VLAN20 的 egressVLAN-Port List 中或,Portl 使能了 egress VLAN-Check, 且 Portl 在 VLAN20 的 VLAN-Port List 中,egress VLAN-Check 成功,流量以 untagged 的形式到达Router-A的Port2中;对于Host4到Router-A的上行已知单播流量在Switch-B上,在VLAN20中,由于 Port21 在 VLAN20 的 ingress VLAN-Port List 中,或,Port21没有使能 ingressVLAN-Check, 且 Port21 没有在 VLAN20 的 VLAN-Port List 中,则 ingressVLAN-Check 成功;匹配到 Switch-B 上的 MAC-R+VLAN20+TrunkPort,确定出端口 是 TrunkPort,出 VLAN 保持 VLAN20 ; 由于 TrunkPort 在 VLAN20 的 egressVLAN-Port List 中,或,TrunkPort 使能了 egress VLAN-Check,且 TrunkPort 在 VLAN20 的 VLAN-Port List 中,egress VLAN-Check 成功,流量以 VLAN20 tagged 的形式到达 Switch-A ;在 Switch-A 上,在 VLAN20 中,由于 TrunkPort 在 VLAN20 的 ingress VLAN-Port List 中,或,TrunkPort 使能 ingress VLAN-Check,且 TrunkPort 在 VLAN20 的 VLAN-Port List 中,则 ingress VLAN-Check成功;匹配到 Switch-A 上的 MAC-R+VLAN20+Port 1,确定出端口是 Port 1,出 VLAN保持 VLAN20 ;由于 Port 1 在 VLAN20 的 egress VLAN-Port List 中,或,Portl 使能了 egressVLAN-Check,且 Portl 在 VLAN20 的 VLAN-Port List 中,则 egress VLAN-Check 成功,流量以 untagged 的形式到达 Router-A 的 Port2 中。5、对于Hostl Host6间的已知单播流量在VLAN20中,匹配对应的VLAN20中的Host MAC表项后,有两种情况如果出端口为隔离端口,则由于egress VLAN-Check失败 (端口不在 VLAN20 的 egress VLAN-Port List 中,或端口使能 egress VLAN-Check 开关、但端口不在VLAN20的VLAN-Port List中),或(且)匹配的目的MAC表项为目的丢弃或目的端口为空端口,因而被丢弃;如果出端口为iTrunk Port, egress VLAN-Check成功,流量带 VLAN20的tag到达另一个Switch,在另一个Switch上,由于egress VLAN-Check失败(端口不在 VLAN20 的 egress VLAN-Port List 中,或端口使能 egress VLAN-Check 开关、但端口不在VLAN20的VLAN-Port List中),或(且)匹配的目的MAC表项为目的丢弃或目的端口为空端口,因而被丢弃,由此,即可达到Hostl Hoste间二层流量隔离的目的。至此,即得到了本发明实现同一 VLAN内端口跨设备隔离的系统。基于上述系统,图3为本发明实现同一 VLAN内端口跨设备隔离方法实施例的工作流程图。如图3所示,该流程包括步骤301 =Router对自身的下行端口、允许通过的VLAN、以及通过流量的形式进行设置,每一个Switch分别对自身的上行端口、Trunk Port和隔离端口的PVID、允许通过的 VLAN、以及通过流量的形式进行设置。在本步骤中,设置具体可以包括Router设置自身的下行端口的PVID为主VLAN、允许主VLAN通过、且为untagged ;与Router相连的Switch设置自身的上行端口的PVID为主VLAN、允许主VLAN和辅助VLAN通过、且都为untagged ;每一个Switch设置iTrunk Port允许主VLAN和辅助VLAN通过、且都为tagged ;每一个Switch设置隔离端口的PVID为辅助VLAN、允许主VLAN和辅助VLAN通过、 且者β为 untagged。步骤302 每一个Switch设置辅助VLAN和主VLAN中学习的MAC地址相互复制,且将隔离端口学习到的MAC地址修改目的匹配动作为目的丢弃或将目的端口修改为空端口。步骤303 每一个Switch设置自身的隔离端口使流量在辅助VLAN中的入VLAN检查 ingress VLAN-Check 成功、出 VLAN 检查 egress VLAN-Check 失败。需要说明的是,在本步骤中,可使用VLAN过滤机制1和VLAN过滤机制2两种过滤机制来实现流量在辅助VLAN中的入VLAN检查ingressVLAN-Check成功、出VLAN检查 egress VLAN-Check失败。当使用VLAN过滤机制1时,所述每一个Switch将隔离端口加入辅助VLAN的入VLAN端口列表ingress VLAN-Port List中,使其在辅助VLAN中的 ingressVLAN-Check 通过,将隔离端口 从辅助 VLAN 的出 VLAN 端口 列表 egressVLAN-Port List中删除,使其在辅助VLAN的egress VLAN-Check失败;当使用VLAN过滤机制2时,所述每一个Switch将隔离端口的入VLAN检查ingress VLAN-Check Enable开关关闭,使其在辅助VLAN中的ingressVLAN-Check通过,将隔离端口从辅助VLAN的VLAN-Port List中删除、并将隔离端口的使能出VLAN检查egress VLAN-Check Enable开关开启,使其在辅助 VLAN 中的 egress VLAN-Check 失败。步骤304 对于不同的流量,Switch选择上述设置的组合,使流量在辅助VLAN中的所有Host之间隔离。在本步骤中,对于不同的流量有不同的处理过程,以下分别介绍对于Router在主VLAN中发出的untagged下行广播、下行未知单播和下行组播流量,一直在主VLAN中传播,各个端口的ingress VLAN-Check和egressVLAN-Check都成功, 流量以untagged形式到达Host ;对于Host发出的untagged上行广播、上行未知单播和上行组播流量,在隔离端口上ingress VLAN-Check成功,被标志为辅助VLAN,进而分别被广播到与Router相连的 Switch的上行端口、隔离端口、以及Trunk Port 当流量被广播到上行端口时上行端口允许辅助VLAN,且为untagged,流量被以untagged的形式发送到Router,被标志为主VLAN ; 当流量被广播到隔离端口时隔离端口在辅助VLAN中egress VLAN-Check失败,流量被丢弃;当流量被广播到iTrunk Port时egress VLAN-Check通过,且以辅助VLAN的tagged 流量传输到其它Switch,在其它Switch上的Trunk Port ingress VLAN-Check成功,被标记为辅助VLAN后,继续被广播到辅助VLAN中的隔离端口中,隔离端口在二层中egress VLAN-Check失败,流量被丢弃;对于下行已知单播流量对于Router到与Router相连的Switch的Host中的下行已知单播流量,在与Router相连的Switch上,在主VLAN中,ingressVLAN-Check成功, 匹配到Host的MAC表项后,egress VLAN-Check成功,流量以untagged形式到达Host ;对于Router到不与Router相连的Switch的Host中的下行已知单播流量,在与Router相连的 Switch 上,在主 VLAN 中,ingressVLAN-Check 成功,匹配到 Host 的 MAC 表项后,egress VLAN-Check成功,流量以主VLAN tagged到达不与Router相连的Switch,在不与Router 相连的Switch上,在主VLAN中,ingress VLAN-Check成功,匹配到Host的MAC表项后, egressVLAN-Check 成功,流量以 untagged 到达 Host ;对于上行已知单播流量,对于与Router相连的Switch中的Host到Router的上行已知单播流量,在与Router相连的Switch上,在辅助VLAN中,ingressVLAN-Check成功,匹配到Router的MAC表项后,egress VLAN-Check成功,流量以untagged到达Router ;对于不与Router相连的Switch中的Host到Router的上行已知单播流量,在不与Router相连的 Switch 上,在辅助 VLAN 中,ingressVLAN-Check 成功,匹配到 Router 的 MAC 表项后,egress VLAN-Check成功,流量以辅助VLAN tagged到达与Router相连的Switch,在与Router相连的Switch上,在辅助VLAN中,ingress VLAN-Check成功,匹配到Router的MAC表项后, egress VLAN-Check 成功,流量以 untagged 到达 Router ;对于Host间的已知单播流量,在辅助VLAN中,匹配对应的辅助VLAN中的Host MAC表项后,如果出端口为隔离端口,egress VLAN-Check失败或匹配的目的MAC表项为目的丢弃或目的端口为空端口,流量被丢弃;如果出端口为iTrunk Port, egress VLAN-Check 成功,流量带辅助VLAN的tag到达另一个Switch,在另一个Switch上,egress VLAN-Check 失败或匹配的目的MAC表项为目的丢弃或目的端口为空端口,流量被丢弃。至此,即完成了本发明所采用的实现同一 VLAN内端口跨设备隔离方法实施例的整个工作流程。基于上述系统和方法,图4给出了本发明实现同一 VLAN内端口跨设备隔离系统中的交换设备,如图4所示,该交换设备包括端口设置模块41、MAC复制模块42、过滤模块43 和转发模块44,其中,所述端口设置模块41,用于对上行端口、Trunk Port和隔离端口的PVID、允许通过的VLAN、以及通过流量的形式进行设置。所述对上行端口、Trunk Port和隔离端口的PVID、允许通过的VLAN、以及通过流量的形式进行设置包括设置上行端口的PVID为主VLAN、允许主VLAN和辅助VLAN通过、且都为 untagged ;设置"Trunk Port允许主VLAN和辅助VLAN通过、且都为tagged ;设置隔离端口的PVID为辅助VLAN、允许主VLAN和辅助VLAN通过、且都为 untagged。
所述MAC复制模块42,用于设置辅助VLAN和主VLAN中学习的MAC地址相互复制,
且将隔离端口学习到的MAC地址修改目的匹配动作为目的丢弃或将目的端口修改为空端□。所述过滤模块43,用于设置隔离端口,使流量在辅助VLAN中的入VLAN检查 ingress VLAN-Check 成功、在辅助 VLAN 中的出 VLAN 检查 egressVLAN-Check 失败。所述设置隔离端口使流量在辅助VLAN中的ingress VLAN-Check成功、在辅助 VLAN 中的 egress VLAN-Check 失败包括将隔离端口加入辅助VLAN的入VLAN端口列表ingress VLAN-Port List中,使其在辅助VLAN中的ingress VLAN-Check通过,将隔离端口从辅助VLAN的出VLAN端口列表 egress VLAN-Port List 中删除,使其在辅助 VLAN 的 egressVLAN-Check 失败,或,将隔离端口的使能入VLAN检查ingress VLAN-Check Enable开关关闭,使其在辅助VLAN中的ingress VLAN-Check通过,将隔离端口从辅助VLAN的VLAN-Port List 中删除、并将隔离端口的使能出VLAN检查egressVLAN-Check Enable开关开启,使其在辅助 VLAN 中的 egress VLAN-Check 失败。所述转发模块44,用于对于不同的流量,选择所述端口设置模块41、MAC复制模块 42和过滤模块43中设置的组合,使流量在辅助VLAN中的Host之间隔离。所述对于不同的流量,选择所述端口设置模块、MAC复制模块和过滤模块中设置的组合,使流量在辅助VLAN中的Host之间隔离包括对于Router在主VLAN中发出的untagged下行广播、下行未知单播和下行组播流量,一直在主VLAN中传播,各个端口的ingress VLAN-Check和egressVLAN-Check都成功, 流量以untagged形式到达Host ;对于Host发出的untagged上行广播、上行未知单播和上行组播流量,在隔离端口上ingress VLAN-Check成功,被标志为辅助VLAN,进而分别被广播到上行端口、隔离端口、 以及Trunk Port 当流量被广播到上行端口时上行端口允许辅助VLAN,且为untagged,流量被以untagged的形式发送到Router,被标志为主VLAN ;当流量被广播到隔离端口时隔离端口在辅助VLAN中egressVLAN-Check失败,流量被丢弃;当流量被广播到Trunk Port 时EgressVLAN-Check通过,且以辅助VLAN的tagged流量传输到其它交换设备,在其它交换设备上的iTrunk Port ingress VLAN-Check成功,被标记为辅助VLAN后,继续被广播到辅助VLAN中的隔离端口中,隔离端口在辅助VLAN中egressVLAN-Check失败,流量被丢弃;对于下行已知单播流量在主VLAN中,ingress VLAN-Check成功,匹配到MAC表项后,egress VLAN-Check成功,流量以untagged形式到达Host ;或,在主VLAN中,ingress VLAN-Check成功,匹配到MAC表项后,egressVLAN-Check成功,流量以主VLAN tagged到达其它交换设备,在其它交换设备上,在主VLAN中,ingress VLAN-Check成功,匹配到其它交换设备上的MAC表项,ingress/egressVLAN-Check成功,流量以untagged到达Host ;对于上行已知单播流量,在辅助VLAN中,ingress VLAN-Check成功,匹配到MAC 表项后,egress VLAN-Check成功,流量以untagged到达Router ;或,在其它交换设备上, 在辅助VLAN中,ingress VLAN-Check成功,匹配到其它交换设备上的MAC表项后,egress VLAN-Check成功,流量以辅助VLANtagged到达后,在辅助VLAN中,ingress VLAN-Check成功,匹配到MAC表项后,egress VLAN-Check成功,流量以untagged到达Router ;
对于Host间的已知单播流量,在辅助VLAN中,匹配对应的辅助VLAN中的Host MAC表项后,如果出端口为隔离端口,egress VLAN-Check失败或匹配的目的MAC表项为目的丢弃或目的端口为空端口,流量被丢弃;如果出端口为iTrunk Port, egress VLAN-Check 成功,流量带辅助VLAN的tag到达其它交换设备,在其它交换设备上,egress VLAN-Check 失败或匹配的目的MAC表项为目的丢弃或目的端口为空端口,流量被丢弃。至此,即得到了本发明实施例所采用的交换设备。总之,本发明所采用的实现同一 VLAN内端口跨设备隔离的系统,是通过由每个交换机分别对自身的各个端口(包括上行端口、Trunk Port和隔离端口)的PVID、允许通过的VLAN、以及通过流量的形式进行设置,并设置辅助VLAN和主VLAN中学习的MAC地址相互复制,以及设置自身的隔离端口使流量在辅助VLAN中的ingress VLAN-Check成功、 egressVLAN-Check失败,从而对于不同的流量,交换机能够选择上述各个设置的组合,使得流量在辅助VLAN中的所有Host之间隔离。因此,本发明方案能够在使用最少VLAN资源的情况下(仅使用了辅助VLAN和主VLAN两种VLAN),实现端口跨交换机设备之间的二层隔
1 O以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种实现同一 VLAN内端口跨设备隔离的系统,该系统包括服务!krver、路由器 Router、通过级连端口 Trunk Port相连的两个以上的交换机Switch和客户端Host,其中, 某一个Switch通过自身的上行端口与处于同一主VLAN的Router的下行端口相连,每一个 Switch分别通过自身不同的隔离端口与处于同一辅助VLAN的多个Host相连,其特征在于,Router对自身的下行端口、允许通过的VLAN、以及通过流量的形式进行设置,每一个 Switch分别对自身的上行端口、Trunk Port和隔离端口的PVID、允许通过的VLAN、以及通过流量的形式进行设置;每一个Switch设置辅助VLAN和主VLAN中学习的MAC地址相互复制,且将隔离端口学习到的MAC地址修改目的匹配动作为目的丢弃或将目的端口修改为空端口 ;每一个Switch设置自身的隔离端口,使流量在辅助VLAN中的入VLAN检查ingress VLAN-Check 成功、出 VLAN 检查 egress VLAN-Check 失败,则,对于不同的流量,Switch选择上述设置的组合,使流量在辅助VLAN中的所有Host之间隔离。
2.根据权利要求1所述的系统,其特征在于,所述Router对自身的下行端口、允许通过的VLAN、以及通过流量的形式进行设置,每一个Switch分别对自身的上行端口、Trunk Port和隔离端口的PVID、允许通过的VLAN、以及通过流量的形式进行设置包括Router设置自身的下行端口的PVID为主VLAN、允许主VLAN通过、且为untagged ;与Router相连的Switch设置自身的上行端口的PVID为主VLAN、允许主VLAN和辅助 VLAN通过、且都为untagged ;每一个Switch设置Trunk Port允许主VLAN和辅助VLAN通过、且都为tagged ;每一个Switch设置隔离端口的PVID为辅助VLAN、允许主VLAN和辅助VLAN通过、且都为 untagged。
3.根据权利要求1所述的系统,其特征在于,所述每一个Switch设置自身的隔离端口,使流量在辅助VLAN中的入VLAN检查ingress VLAN-Check成功、出VLAN检查egress VLAN-Check失败包括所述每一个Switch将隔离端口加入辅助VLAN的入VLAN端口列表ingressVLAN-Port List中,使其在辅助VLAN中的ingress VLAN-Check通过,将隔离端口从辅助VLAN的出 VLAN端口列表 egress VLAN-Port List 中删除,使其在辅助 VLAN 的 egress VLAN-Check 失败,或,所述每一个Switch将隔离端口的使能入VLAN检查ingress VLAN-CheckEnable 开关关闭,使其在辅助VLAN中的ingress VLAN-Check通过,将隔离端口从辅助VLAN的 VLAN-Port List中删除、并将隔离端口的使能出VLAN检查egress VLAN-Check Enable开关开启,使其在辅助VLAN中的egressVLAN-Check失败。
4.根据权利要求1所述的系统,其特征在于,所述对于不同的流量,Switch选择上述设置的组合,使流量在辅助VLAN中的所有Host之间隔离包括对于Router在主VLAN中发出的untagged下行广播、下行未知单播和下行组播流量, 一直在主VLAN中传播,各个端口的ingress VLAN-Check和egressVLAN-Check都成功,流量以untagged形式到达Host ;对于Host发出的untagged上行广播、上行未知单播和上行组播流量,在隔离端口上 ingress VLAN-Check成功,被标志为辅助VLAN,进而分别被广播到与Router相连的Switch的上行端口、隔离端口、以及Trunk Port 当流量被广播到上行端口时上行端口允许辅助 VLAN,且为untagged,流量被以untagged的形式发送到Router,被标志为主VLAN ;当流量被广播到隔离端口时隔离端口在辅助VLAN中egress VLAN-Check失败,流量被丢弃;当流量被广播到iTrunk Port时egress VLAN-Check通过,且以辅助VLAN的tagged流量传输到其它Switch,在其它Switch上的iTrunk Port ingress VLAN-Check成功,被标记为辅助VLAN后,继续被广播到辅助VLAN中的隔离端口中,隔离端口在辅助VLAN中egress VLAN-Check失败,流量被丢弃;对于下行已知单播流量对于Router到与Router相连的Switch的Host中的下行已知单播流量,在与Router相连的Switch上,在主VLAN中,ingressVLAN-Check成功,匹配到 Host的MAC表项后,egress VLAN-Check成功,流量以untagged形式到达Host ;对于Router 到不与Router相连的Switch的Host中的下行已知单播流量,在与Router相连的Switch 上,在主 VLAN 中,ingressVLAN-Check 成功,匹配到 Host 的 MAC 表项后,egress VLAN-Check 成功,流量以主VLAN tagged到达不与Router相连的Switch,在不与Router相连的Switch 上,在主 VLAN 中,ingress VLAN-Check 成功,匹配到 Host 的 MAC 表项后,egressVLAN-Check 成功,流量以untagged到达Host ;对于上行已知单播流量,对于与Router相连的Switch中的Host到Router的上行已知单播流量,在与Router相连的Switch上,在辅助VLAN中,ingressVLAN-Check成功,匹配到Router的MAC表项后,egress VLAN-Check成功,流量以untagged到达Router ;对于不与Router相连的Switch中的Host到Router的上行已知单播流量,在不与Router相连的 Switch 上,在辅助 VLAN 中,ingressVLAN-Check 成功,匹配到 Router 的 MAC 表项后,egress VLAN-Check成功,流量以辅助VLAN tagged到达与Router相连的Switch,在与Router相连的Switch上,在辅助VLAN中,ingress VLAN-Check成功,匹配到Router的MAC表项后, egress VLAN-Check 成功,流量以 untagged 到达 Router ;对于Host间的已知单播流量,在辅助VLAN中,匹配对应的辅助VLAN中的Host MAC表项后,如果出端口为隔离端口,egress VLAN-Check失败或匹配的目的MAC表项为目的丢弃或目的端口为空端口,流量被丢弃;如果出端口为iTrunk Port, egress VLAN-Check成功,流量带辅助VLAN的tag到达另一个Switch,在另一个Switch上,egress VLAN-Check失败或匹配的目的MAC表项为目的丢弃或目的端口为空端口,流量被丢弃。
5.一种实现同一VLAN内端口跨设备隔离的方法,应用于如权利要求1所述的实现同一 VLAN内端口跨设备隔离的系统中,其特征在于,该方法包括Router对自身的下行端口、允许通过的VLAN、以及通过流量的形式进行设置,每一个Switch分别对自身的上行端口、级连端口 Trunk Port和隔离端口的PVID、允许通过的 VLAN、以及通过流量的形式进行设置;每一个Switch设置辅助VLAN和主VLAN中学习的MAC 地址相互复制,且将隔离端口学习到的MAC地址修改目的匹配动作为目的丢弃或将目的端口修改为空端口 ;每一个Switch设置自身的隔离端口,使流量在辅助VLAN中的入VLAN检查 ingressVLAN-Check 成功、出 VLAN 检查 egress VLAN-Check 失败,则,对于不同的流量,Switch选择上述设置的组合,使流量在辅助VLAN中的Host之间隔离。
6.根据权利要求5所述的方法,其特征在于,所述Router对自身的下行端口、允许通过的VLAN、以及通过流量的形式进行设置,每一个Switch分别对自身的上行端口、Trunk Port和隔离端口的PVID、允许通过的VLAN、以及通过流量的形式进行设置包括Router设置自身的下行端口的PVID为主VLAN、允许主VLAN通过、且为untagged ; 与Router相连的Switch设置自身的上行端口的PVID为主VLAN、允许主VLAN和辅助 VLAN通过、且都为untagged ;每一个Switch设置Trunk Port允许主VLAN和辅助VLAN通过、且都为tagged ; 每一个Switch设置隔离端口的PVID为辅助VLAN、允许主VLAN和辅助VLAN通过、且都为 untagged。
7.根据权利要求5所述的方法,其特征在于,所述每一个Switch设置自身的隔离端口,使流量在辅助VLAN中的入VLAN检查ingress VLAN-Check成功、出VLAN检查egress VLAN-Check失败包括所述每一个Switch将隔离端口加入辅助VLAN的入VLAN端口列表ingressVLAN-Port List中,使其在辅助VLAN中的ingress VLAN-Check通过,将隔离端口从辅助VLAN的出 VLAN端口列表 egress VLAN-Port List 中删除,使其在辅助 VLAN 的 egress VLAN-Check 失败,或,所述每一个Switch将隔离端口的使能入VLAN检查ingress VLAN-CheckEnable 开关关闭,使其在辅助VLAN中的ingress VLAN-Check通过,将隔离端口从辅助VLAN的 VLAN-Port List中删除、并将隔离端口的使能出VLAN检查egress VLAN-Check Enable开关开启,使其在辅助VLAN中的egressVLAN-Check失败。
8.根据权利要求5所述的方法,其特征在于,所述对于不同的流量,Switch选择上述设置的组合,使流量在辅助VLAN中的所有Host之间隔离包括对于Router在主VLAN中发出的untagged下行广播、下行未知单播和下行组播流量, 一直在主VLAN中传播,各个端口的ingress VLAN-Check和egressVLAN-Check都成功,流量以untagged形式到达Host ;对于Host发出的untagged上行广播、上行未知单播和上行组播流量,在隔离端口上 ingress VLAN-Check成功,被标志为辅助VLAN,进而分别被广播到与Router相连的Switch 的上行端口、隔离端口、以及Trunk Port 当流量被广播到上行端口时上行端口允许辅助 VLAN,且为untagged,流量被以untagged的形式发送到Router,被标志为主VLAN ;当流量被广播到隔离端口时隔离端口在辅助VLAN中egress VLAN-Check失败,流量被丢弃;当流量被广播到iTrunk Port时egress VLAN-Check通过,且以辅助VLAN的tagged流量传输到其它Switch,在其它Switch上的iTrunk Port ingress VLAN-Check成功,被标记为辅助VLAN后,继续被广播到辅助VLAN中的隔离端口中,隔离端口在辅助VLAN中egress VLAN-Check失败,流量被丢弃;对于下行已知单播流量对于Router到与Router相连的Switch的Host中的下行已知单播流量,在与Router相连的Switch上,在主VLAN中,ingressVLAN-Check成功,匹配到 Host的MAC表项后,egress VLAN-Check成功,流量以untagged形式到达Host ;对于Router 到不与Router相连的Switch的Host中的下行已知单播流量,在与Router相连的Switch 上,在主 VLAN 中,ingressVLAN-Check 成功,匹配到 Host 的 MAC 表项后,egress VLAN-Check 成功,流量以主VLAN tagged到达不与Router相连的Switch,在不与Router相连的Switch上,在主 VLAN 中,ingress VLAN-Check 成功,匹配到 Host 的 MAC 表项后,egressVLAN-Check 成功,流量以untagged到达Host ;对于上行已知单播流量,对于与Router相连的Switch中的Host到Router的上行已知单播流量,在与Router相连的Switch上,在辅助VLAN中,ingressVLAN-Check成功,匹配到Router的MAC表项后,egress VLAN-Check成功,流量以untagged到达Router ;对于不与Router相连的Switch中的Host到Router的上行已知单播流量,在不与Router相连的 Switch 上,在辅助 VLAN 中,ingressVLAN-Check 成功,匹配到 Router 的 MAC 表项后,egress VLAN-Check成功,流量以辅助VLAN tagged到达与Router相连的Switch,在与Router相连的Switch上,在辅助VLAN中,ingress VLAN-Check成功,匹配到Router的MAC表项后, egress VLAN-Check 成功,流量以 untagged 到达 Router ;对于Host间的已知单播流量,在辅助VLAN中,匹配对应的辅助VLAN中的Host MAC表项后,如果出端口为隔离端口,egress VLAN-Check失败或匹配的目的MAC表项为目的丢弃或目的端口为空端口,流量被丢弃;如果出端口为iTrunk Port, egress VLAN-Check成功,流量带辅助VLAN的tag到达另一个Switch,在另一个Switch上,egress VLAN-Check失败或匹配的目的MAC表项为目的丢弃或目的端口为空端口,流量被丢弃。
9.一种实现同一 VLAN内端口跨设备隔离的交换设备,其特征在于,该交换设备包括 端口设置模块、MAC复制模块、过滤模块和转发模块,其中,所述端口设置模块,用于对上行端口、级连端口 Trunk Port和隔离端口的PVID、允许通过的VLAN、以及通过流量的形式进行设置;所述MAC复制模块,用于设置辅助VLAN和主VLAN中学习的MAC地址相互复制,且将隔离端口学习到的MAC地址修改目的匹配动作为目的丢弃或将目的端口修改为空端口 ;所述过滤模块,用于设置隔离端口,使流量在辅助VLAN中的入VLAN检查ingress VLAN-Check 成功、出 VLAN 检查 egress VLAN-Check 失败;所述转发模块,用于对于不同的流量,选择所述端口设置模块、MAC复制模块和过滤模块中设置的组合,使流量在辅助VLAN中的Host之间隔离。
10.根据权利要求9所述的交换设备,其特征在于,所述设置模块中对上行端口、Trunk Port和隔离端口的PVID、允许通过的VLAN、以及通过流量的形式进行设置包括设置上行端口的PVID为主VLAN、允许主VLAN和辅助VLAN通过、且都为untagged ;设置iTrunk Port允许主VLAN和辅助VLAN通过、且都为tagged ;设置隔离端口的PVID为辅助VLAN、允许主VLAN和辅助VLAN通过、且都为untagged。
11.根据权利要求9所述的交换设备,其特征在于,所述过滤模块中设置隔离端口,使流量在辅助VLAN中的ingress VLAN-Check成功、egressVLAN-Check失败包括将隔离端口加入辅助VLAN的入VLAN端口列表ingress VLAN-Port List中,使其在辅助VLAN中的ingress VLAN-Check通过,将隔离端口从辅助VLAN的出VLAN端口列表egress VLAN-Port List 中删除,使其在辅助 VLAN 的 egressVLAN-Check 失败,或,将隔离端口的使能入VLAN检查ingress VLAN-Check Enable开关关闭,使其在辅助VLAN中的ingress VLAN-Check通过,将隔离端口从辅助VLAN的VLAN-Port List中删除、并将隔离端口的使能出VLAN检查egress VLAN-CheckEnable开关开启,使其在辅助 VLAN 中的 egress VLAN-Check 失败。
12.根据权利要求9所述的交换设备,其特征在于,所述转发模块中对于不同的流量, 选择所述端口设置模块、MAC复制模块和过滤模块中设置的组合,使流量在辅助VLAN中的 Host之间隔离包括对于Router在主VLAN中发出的untagged下行广播、下行未知单播和下行组播流量, 一直在主VLAN中传播,各个端口的ingress VLAN-Check和egressVLAN-Check都成功,流量以untagged形式到达Host ;对于Host发出的untagged上行广播、上行未知单播和上行组播流量,在隔离端口上 ingress VLAN-Check成功,被标志为辅助VLAN,进而分别被广播到上行端口、隔离端口、以及Trunk Port 当流量被广播到上行端口时上行端口允许辅助VLAN,且为untagged,流量被以untagged的形式发送到Router,被标志为主VLAN ;当流量被广播到隔离端口时隔离端口在辅助VLAN中egressVLAN-Check失败,流量被丢弃;当流量被广播到iTrunk Port时 egressVLAN-Check通过,且以辅助VLAN的tagged流量传输到其它交换设备,在其它交换设备上的iTrunk Port ingress VLAN-Check成功,被标记为辅助VLAN后,继续被广播到辅助 VLAN中的隔离端口中,隔离端口在辅助VLAN中egressVLAN-Check失败,流量被丢弃;对于下行已知单播流量在主VLAN中,ingress VLAN-Check成功,匹配到MAC表项后,egress VLAN-Check 成功,流量以 untagged 形式到达 Host ;或,在主 VLAN 中,ingress VLAN-Check成功,匹配到MAC表项后,egressVLAN-Check成功,流量以主VLAN tagged到达其它交换设备,在其它交换设备上,在主VLAN中,ingress VLAN-Check成功,匹配到其它交换设备上的MAC表项,egressVLAN-Check成功,流量以untagged到达Host ;对于上行已知单播流量,在辅助VLAN中,ingress VLAN-Check成功,匹配到MAC表项后,egress VLAN-Check成功,流量以untagged到达Router ;或,在其它交换设备上,在辅助VLAN中,ingress VLAN-Check成功,匹配到其它交换设备上的MAC表项后,egress VLAN-Check成功,流量以辅助VLANtagged到达后,在辅助VLAN中,ingress VLAN-Check成功,匹配到MAC表项后,egress VLAN-Check成功,流量以untagged到达Router ;对于Host间的已知单播流量,在辅助VLAN中,匹配对应的辅助VLAN中的Host MAC表项后,如果出端口为隔离端口,egress VLAN-Check失败或匹配的目的MAC表项为目的丢弃或目的端口为空端口,流量被丢弃;如果出端口为iTrunk Port, egress VLAN-Check成功,流量带辅助VLAN的tag到达其它交换设备,在其它交换设备上,egress VLAN-Check失败或匹配的目的MAC表项为目的丢弃或目的端口为空端口,流量被丢弃。
全文摘要
本发明公开了一种实现同一VLAN内端口跨设备隔离的系统通过由每个交换机Switch分别对自身的各个端口,包括上行端口、级连端口和隔离端口的PVID、允许通过的VLAN、以及通过流量的形式进行设置,并设置辅助VLAN和主VLAN中学习的MAC地址相互复制,以及设置自身的隔离端口,使流量在辅助VLAN中的ingress VLAN-Check成功、egress VLAN-Check失败,从而对于不同的流量,与流量相关的Switch能够选择上述各个设置的组合,使得流量在辅助VLAN中的所有Host之间隔离。本发明同时公开了一种实现同一VLAN内端口跨设备隔离的方法和交换设备,应用本发明所述的实现同一VLAN内端口跨设备隔离的系统、方法和交换设备,能够在使用少量VLAN资源的情况下,实现同一VLAN内端口跨交换机设备的二层隔离。
文档编号H04L29/06GK102480485SQ20101057462
公开日2012年5月30日 申请日期2010年11月30日 优先权日2010年11月30日
发明者吕志勇 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1