0
关注
16194
浏览

同一交换机的不同VLAN如何做到隔离?

为什么被折叠? 0 个回复被折叠
陈卓文 核心会员 用户来自于: 北京市
2026-01-11 14:45
两个交换机分别配置VLAN10和VLAN20,如果未配置trunk,交换机A的VLAN10能否与交换机B的VLAN20互通? 不可以互通,没有trunk无法有标签,交换机无法转到对应access口。 可以通过交换机之间连线分别部署access口(自身另一个接口相同的vlan) ,此时可以通信。
肖昀博 核心会员 用户来自于: 北京市
2026-01-11 14:33
打个比方,一间房子里有9扇门,原本从一扇门进来随便哪个门都可以出去。 现在立了两堵墙让房间划分为三个区域,每个区域三扇门,比如区域A,B,C,现在你从一扇门进来只能从相同区域的门出去,因为其它区域被挡住了。 划分VLAN就好比划分区域。 第二个问题楼上已经回答了,可以通也可以不通。通的话接口用access
古月胡 核心会员 用户来自于: 北京市
2026-01-11 14:43
1.交换机上区分各vlan的数据是通过 vlan tag来区分的,数据进入acc口的话会加上相应的vlan 标签(tag),出access口的话会剥离相应的vlan 标签。而如果进出trunk口的话是不对标签进行操作的(ps:如果没有标签的数据进入trunk一般会打上pvid的tag)。带标签的数据能否通过接口就是查看该接口有没有配置相应的vlan。 2. 两台交换机不同vlan互通的问题,可以通过A配置access vlan 10接口与B配置acc vlan 20接口实现互通(ps:这种连接方式某些交换机可能会报pvid不一致down掉接口)。三层交换机的话配置相应的路由就可以实现vlan间的互通
陈建设 核心会员 用户来自于: 北京市
2026-01-11 14:15
简单来说交换机根据mac表转发,mac表的三个基本要素:端口,vlan,mac地址,所以,交换机学习mac的时候,不同vlan是分开学习的,当然上面有些答主用trunk把不同vlan串通了(两端的交换机native vlan不一致),实际上是一种并不符合预期(非常规)做法,与问题本身关系不是特别大,简单来说,不同vlan mac表是分开的,所以交换机获取到报文后,首先拿到报文的vlan,然后去查对应vlan的mac表,查mac转发,天然形成了隔离
夏川 核心会员 用户来自于: 北京市
2026-01-11 14:18
我给别人说VLAN的时候就说过,你把VLAN想象成游泳池,不同VLAN号是不同的池子。 这时候你就看了,ACCESS口就是池子进/出口,既然出了,那么对面流到哪里是看进口到哪个池子,和你出的没关系 所有 两个口都是Access的话是可以通信的,不过这样容易产生乱七八糟的问题
阿卡 核心会员 用户来自于: 北京市
2026-01-11 14:18
主机一般情况下发送的数据帧都是ethernet2数据帧,不含vlan tag。当数据帧进入交换机时,交换机为帧加上了vlan tag,变成802.1q数据帧,并在交换机内部转发。当802.1q数据帧离开交换机时,交换机把vlan tag去掉,又变成了ethernet2数据帧。
tckidd 核心会员 用户来自于: 北京市
2026-01-11 14:39
我个人的理解是这样的: 首先dot1q封装会在以太网帧中加入vlan tag,标识出这个帧属于哪个VLAN。 交换机端口主要是两种模式access和trunk,区别在于access口的报文出去不带tag,而trunk口的报文出去仍然带tag。在交换机内部处理的时候这些vlan tag都是存在的,交换机通过识别tag来进行逻辑隔离。

如果不配置trunk,那也就没有封装,同一交换机如何实现VLAN的隔离?

对于这个问题,两个不同VLAN的access接口,在交换机外部是不带VLAN的,报文相同,但是进方向的报文会打上tag,出方向的报文会剥离tag。在交换机内部,两个接口的报文是带有不同vlan tag的,与接口是access还是trunk无关。 下面说一下trunk的问题。trunk接口作为中继接口,对进出报文的vlan tag不作处理,使得可以保留报文的vlan tag标签,在另外一台交换机内部处理时仍然是保持之前的vlan。

如果跨交换机,两个交换机分别配置VLAN10和VLAN20,如果未配置trunk,交换机A的VLAN10能否与交换机B的VLAN20互通?

最后说一下这个问题,我记得前两天在其他问题下面回答过。对于access口,vlan是在交换机内部有效,出接口的时候会进行剥离,因此当A交换机VLAN10的报文经一个access口出来的时候会剥离VLAN10变成untag报文,而之后进入B交换机的access接口时会根据端口配置再次打上VLAN20的tag。 如果两个接口都是trunk会怎么样?A交换机的VLAN10报文带着VLAN tag进入交换机B,如果交换机B的trunk接口没有permit VLAN10,那么报文根本无法进入;如果允许,那么VLAN10的报文会进入交换机B进行处理,此时与B交换机上的VLAN20是逻辑隔离的。
warrior fys 核心会员 用户来自于: 北京市
2026-01-11 14:40
因为同一个交换机也不是一个简单的整体,在这里简单介绍一下交换机。为了便于理解,将交换机简化为以下模型。(实在太简单了,自己都有点看不下去了,只为解释本题用吧。) 入接口--------CPU--------出接口 数据包从交换机入接口进入,交换机会进行入接口的第一步操作,查看VLAN database和接口下命令配置,打标签。 如果是默认配置,划为native vlan,不打标签。 如果是access vlan XX,划为XX vlan,在以太帧包头后打上dot1q相应标签。 如果是trunk,检查是否是合法流量(不合法直接drop掉)。 然后是第二步,CPU判断复制转发。 接第一步,CPU判断流量是否目的地为本机(目的地为本机与此问题无关),如不是则根据数据包类型,经过交换矩阵完成数据包的复制和转发,将流量发往允许该流量出去的相应接口。 第三步,出接口最后一步操作。 如果是默认配置,划为native vlan,不做操作。 如果是access vlan XX,划为XX vlan,在以太帧包头后去除dot1q相应标签。 如果是trunk,不做操作,带标签转发。 除最后一个问题已基本回答清楚,至于最后一个问题,不做trunk是否可以完成转发 PC1--------(vlan 10)--SW1--(vlan 10)--------(vlan 20)--SW2--(vlan 20)--------PC2 这种情形PC1和PC2是可以通信的,但除实验外,强烈不建议进行这种配置。
车小胖 核心会员 用户来自于: 北京市
2026-01-11 14:50
问题一: 交换机有一张map表:VLAN ID Port List ,一个access接口上收到帧,会打上其VLAN ID。 比如 VLAN10 的映射表: VLAN 10: G0/1,G0/3… VLAN 20: G0/2,G0/4… 帧从access mode 接收到帧,会打上接口上的VLAN Tag,然后根据其VLAN Tag查询特定的表,做出转发动作。 如果从access mode 接口出,在出接口去掉VLAN Tag 。 如果需要转发到trunk mode 接口 if ( vlan ID == trunk native vlan ID ) 去掉VLAN Tag Else 保留VLAN Tag 问题二: 至于VLAN10 VLAN20 上的主机是否可以通信,要分这两种情况: a) 10.1.1.2 ---vlan10--SW1(vlan10)--(vlan20)--SW2-vl an 20--10.1.1.3 这种情况可以通信,10.1.1.2 可以ping通10.1.1.3 b) 10.1.1.2 ---vlan10----SW1---vlan20----10.1.1.3 这种情况10.1.1.2 与10.1.1.3 无法通信

关于作者

问题动态

发布时间
2026-01-11 15:27
更新时间
2026-01-11 15:27
关注人数
0 人关注

推荐内容

三层交换机和路由器有什么区别?
六类网线用测线器看8芯全通,连上网件GS308千兆交换机再测第4号灯不亮是怎么回事?
交换机冗余要怎么配置?
交换机二三层转发原理是什么?
AC控制器的16AP授权和32AP授权有什么区别?
交换机要ip有什么用?
请教一下二层交换机的环路问题?
网络工程师的HCNP数通认证要具备哪些专业能力?
作为一个网络工程师,是什么体验,是如何提高自身技能的?
被硬盘录像机自动删除的监控视频还能找回来了吗?
All Rights Reserved Powered BY WeCenter V4.1.0 © 2026 粤ICP备20025096号-2
  

粤公网安备 44190002007303号