彻底搞懂交换机TAG和UNTAG.docx
- 文档编号:28746605
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:19
- 大小:1.76MB
彻底搞懂交换机TAG和UNTAG.docx
《彻底搞懂交换机TAG和UNTAG.docx》由会员分享,可在线阅读,更多相关《彻底搞懂交换机TAG和UNTAG.docx(19页珍藏版)》请在冰豆网上搜索。
彻底搞懂交换机TAG和UNTAG
实验环境:
1、SW1上创建VLAN1020
G1\G3口加入VLAN1,属于ACCESS,状态为UNTAGE,PVID为1
G4口加入VLAN10,属于ACCESS,状态为UNTAGE,PVID为10
G6口加入VLAN20,属于ACCESS,状态为UNTAGE,PVID为20
G2口为TRUNK口,允许VLAN10,20及VLAN1数据通过,PVID为1
SW2上创建VLAN102030
G1口加入VLAN1,属于ACCESS,状态为UNTAGE,PVID为1
G4口加入VLAN10,属于ACCESS,状态为UNTAGE,PVID为10
G6口加入VLAN20,属于ACCESS,状态为UNTAGE,PVID为20
G3口为TRUNK口,允许VLAN10,20,30及VLAN1数据通过,PVID为1
SW1VLAN配置如图:
SW2VLAN配置如图
实验1:
在SW1上为G2配置一个没有的PVID看效果?
失败
实验2:
SW1不变,在SW2上将G2口PVID由1改为20,在SW2的G2口抓包看效果?
1.1.1.1无法PING通1.1.1.3,
SW2上G2口抓包情况如上2图
数据转发过程说明:
当1.1.1.1数据包从SW1的G1口发出时,交换机发现是未打VLAN标签的数据,此时会为数据包打上VLAN1标签。
交换机检查与VLAN1关联的端口有G2/G3口,将会在2个口进行防洪,如下图:
当SW1G2口收到数据包时,拿数据包中的PVID【VLAN1ID号】与自己的PVID相比较,发现相同,此时商品在VLAN1中的状态是UNTAGE,所以将剥离VLANID后进行转发,如下图:
当数据包到达SWG2口,也就是G2口收到数据后,发现是未带标签的数据包,此时将对数据包打上PVID20,也就是将数据转发至VLAN20中,SW2查询后发现与VLAN20关联端口有UT:
G2G6G7TG:
G3,如下图:
所以此时SW2会将此数据包在G2G6G7【UT】口去标签后转发,如下图:
在G3【TG】口含标签转发,如下图:
在G3口抓包,看数据包是否被打上PVID为20并转发到VLAN20关联【TAG】的G3口?
是,如上图。
结论:
接收:
1、当普通数据包进入端口时,如果物理接口ACCESS模式,交换机将对数据帧打上与PVID相同的VLIANID号,变802.11Q格式后,进入交换机内部等待转发【如ACCESS----连接----PC】。
若收到802.11Q的数据帧,将直接丢弃【如TRUNK口----连接交换机----ACCESS口,且两端PVID不同时】。
要是两边PVID相同,是什么情况?
实验证明是可以PING通。
如下2图:
SW4执行以下两条命令,将G2口改为TRUNK模式:
[Huawei-GigabitEthernet0/0/2]portlink-typetrunk
[Huawei-GigabitEthernet0/0/2]porttrunkallow-passvlanall
2、当数据包进入端口时,如果物理接口TRUNK模式,交换机将比较本端口的PVID和数据的VLANID,如果相同,剥离数据帧中VLANID使用变为普通数据帧后,进入交换机内部等待转发。
如果不相同,保持数据帧原始形态,进入交换机内部等待转发。
查询:
1、当交换机以接收1的方式接收到带VLANID的数据帧时,在交换机内部以VLANID号进行查询,确认具体哪些接口与本VLAN关联。
将数据在这些接口进行泛洪。
转发:
1、当端口在此VLAN中处于TAG状态时,保持数据帧原始形态,直接转发。
2、当端口在此VLAN中处于UNTAG状态时,剥离数据帧中VLANID使用变为普通数据帧后再执行转发。
从此图可以得出以下数据在出方向的信息:
1、VLAN数据在通过G0/0/2转发时,将被剥离VLANID。
2、VLAN10数据在通过G0/0/4和G0/0/5时,将被剥离VLANID。
3、VLAN10数据在通过G0/0/2进,将保留VLANID。
进方向:
1、普通数据进入ACCESS口,打上PVID,使之成为802.11Q数据后,等待转发。
2、普通数据进入TRUNK时,在PVID相同的接口上,两端PC可以PING通。
如下4图:
2、当802.11Q数据进入TRUNK口后,首先比较VLANID是否与PVID相同,若相同,剥离VLANID后等待转发。
若不同,就拿VLANID与关联的VLANID号比较,若是允许通过的VLANID相同,就保持802.11Q形态等待转发,或不是,则进接丢弃。
SW2上G2口抓包看到VLANID为30的数据已转发出去,如下图:
在SW1的G2上抓包看,同样可以接收到
SW1的G0/0/2是如何丢弃的呢?
[没有找到查看的办法]
交换机有没有又是ACCESS口又是TAG状态的情况呢?
没有找到答案。
实验1:
交换机配置:
将E1E2配置上porthybridtaggedvlan10
代表当收到带有VLAN10标签的数据时,保持802.11Q格式不变,直接转发出去。
普通数据帧进入时,打上PVID为1。
通信正常。
将E1的PVID改为VLAN10看效果:
无法通信原因:
当数到达E1时,被打上VLAN10标签,交换机查询关联E2口与VLAN10关联,故将数据转发至E2口,此时E2口针对VLAN10的数据将保持802.11Q【TAG状态】转发,故无法通信。
此时可以将E2的PVID设置为VLAN10
原因同上
将E2配置为:
在E2口抓包:
此时数据从E1过来后,E2也给了回包,但为什么还是TIMEOUT呢?
因为
回包时E2以PVID为依据,给数据包打上VLAN10标签,交换机经过查询后,发现E1与VLAN10关联,将数据包转到至E1,E1在VLAN10中为TAG状态,此时将保持数据帧为802.11Q格式发给PC,PC无法识别。
在E1口抓包:
抓包证明了以上说法。
将E1配置为:
恢复正常
HYBRID应用:
PCAPINGPCC,G3口抓包
有去有回,通信正常。
PCAPINGPCC,G2口抓包
PCC给PCA的回包【只有回包】也在G2口进行了泛洪,此时PCB是可以收到这个数据包的,只是目标地址不是自己,将会把数据进行丢弃。
PCAPINGPCC,G1口抓包
通信正常
PCAPINGPCB,G2口抓包
没有数据包。
PCAPINGPCB,G3口抓包
有二层ARP请求包,但VLANID已经被剥离。
PCCPINGPCA,在G2口抓包:
只有请求包
PCCPINGPCA,在G1口抓包:
通信正常
PCCPINGPCA全过程:
1、PCC数据帧进入G3口,G3为其打上PVID为30的VLANID号。
交换机查询与VLAN30关联接口有G1\G2和自己G3,将数据帧转发到G1\G2。
G1和G2将同时执行UNTAGE操作剥离后转发给PCA和PCB。
PCB数据帧发现目标IP1.1.1.1自己1.1.1.2不符,故丢弃。
PCA发现1.1.1.1IP正是自己,故进行回包。
2、PCA数据帧进入G1口,G1为其打上PVID为10的VLANID号。
交换机查询与VLAN10关联接口有G3和自己G1,将数据帧转发到G3。
G3执行UNTAGE操作剥离VLANID后转发给PCC,PCA发现1.1.1.1IP正是自己,故接收,完成通信。
这也是为什么在G2口抓包里只有请求包,而没有回包的原因,因为回包时数据根本没有进入G2口去。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 彻底 交换机 TAG UNTAG