报文在交换机内是否一定带标签?交换机外部存在不带标签的报文吗?不带标签和带vlan1标签是一回事吗?
无组网
(0)
最佳答案
交换机内的报文,总体上可以分为两类,1是发给交换机或者交换机发出的报文(例如其他设备/PCping交换机的报文),2是过路报文,即通过交换机转发的报文。猜测题主说的应该是第二种,即过路报文。对于这类报文的标签处理:
1、报文在交换机内是否一定带标签?
交换机收到带tag的报文时,通常会剥掉该tag,然后再查表找出接口转发,即报文在交换机内部是没有标签的。但是剥掉tag后,交换机怎么来识别这个报文是哪个vlan的呢,此时交换机会为报文打上一个内部标识符(仅内部芯片可以识别),通过该标识符完成内部表项查询、报文封装等处理,当这个报文从交换机转发出来的时候,会被交换机打上原来的标签。
2、交换机外部存在不带标签的报文吗?
存在,例如PC发出来的报文就是不带标签的。
3、不带标签和带vlan1标签是一回事吗?
严格来说,不是一回事。带标签的报文会有vlan tag的字段,通过抓包是可以看到这个字段的。
由于默认情况下交换机的所有端口都是属于vlan1,不带标签的报文在vlan1内转发的时候,给人感觉就是不带标签也能正常转发。
(0)
我是刚刚学习,有错误请指出
结论一:逻辑上报文在交换机内一定带tag标签
1. 最佳答案里说:“交换机收到带tag的报文时,通常会剥掉该tag,此时交换机会为报文打上一个内部标识符(仅内部芯片可以识别),当这个报文从交换机转发出来的时候,会被交换机打上原来的标签。”
那既然这样,为了方便理解,我们可以认为在逻辑上交换机内部的报文都是带标签的数据。
2. 但是结论二里说三层接口产生的报文不带tag,那如果在三层交换机上开启一个三层接口
结论二:交换机外部存在不带tag标签的报文。三层设备产生的报文不带tag,例如PC和三层接口
1. PC不带tag的抓包,在下图拓扑的红圈接口处抓包
<Fa0/1的抓包>
<Fa0/2的抓包>
可以看到Fa0/2的抓包有一层802.1Q的报头而Fa0/1的则没有
2. 三层接口的不带tag
查看三层交换机的VLAN接口
在G0/0接口中执行#no switchport 开启三层接口,再查看VLAN和TRUNK
这时会发现G0/0接口从VLAN中消失了,这也说明三层接口的报文是不带tag的,毕竟VLAN就是用来隔离广播域的,而三层接口没有广播域(不知道怎么描述了)
结论三:不带标签和VLAN1不是一回事。
我个人认为:VLAN的作用是用来隔离广播域的,所以交换机接口收到报文时先查看目的MAC地址,如果报文的目的MAC地址是广播地址,交换机就会依照tag标签在VLAN中进行转发报文;如果报文的目的MAC地址不是广播地址,交换机就会按照MAC地址表进行转发。
1.根据我在网上了解,交换机的TRUNK口往外发送报文时会携带着报文原来的tag,access口会对收到的报文打上tag,对发出去的报文去掉tag。
2. 对于报文有无tag又有两种情况:
第一种:不带tag的报文。交换机收到不带tag的报文时,无论是TRUNK口还是access口都会为报文打上‘收到该报文接口所属VLAN’的tag,交换机所有接口所属VLAN默认为1,trunk口所属VLAN还叫本征VLAN(native VLAN)。trunk口转发的都是交换机内部的报文,而内部的报文都是带tag的,且trunk口往外发送报文时会携带着报文原来tag,所以trunk口发出的报文都是带tag的,而access口发出的报文都是不带tag的。
第二种:带tag的报文。
从第一种情况可知只有trunk发出的报文带tag,因此接口想接收到带tag的报文只能与trunk口相连接。交换机收到带tag的报文时,trunk口会判断tag是否被允许通过,如果允许将报文连同tag转发到交换机内部,然后交换机查看目的MAC是不是广播MAC。trunk和trunk相连接没有问题,而trunk口和access口相连接会导致模式不匹配无法通信(我测试的是这样的,不确定),所以access口无法收到带tag的报文。
说了这么多,相信你也能够清晰的认识到不带tag和VLAN1标签不是一回事。
(0)
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论