兄弟们,还有谁不懂trunk的?这篇文章绝对看了,保你学会!

文摘   2024-10-08 07:59   江苏  

点击关注即到哥,带你看更深一层的IT知识!

需求描述
兄弟们,对于trunk接口,相信大家并不陌生,对于很多人都知道trunk是怎么使用的,但原理大部分人可能讲不明白。
trunk接口通常是用于网络设备之间传输多个vlan数据包。trunk允许在同一个物理线路上传输属于不同vlan的数据包,而access接口,只能传输一个vlan,所以access接口通常连接电脑,而trunk线路上,允许传输多个vlan数据,通过连接两个网络设置互联。
在trunk上传输的数据,会被打上vlan标记tag,来区别不同的vlan数据包,这样可以确保数据包的正确传输。
解决过程

我们来看一下,trunk线路中的数据是如何传输的。

我们先来看一下,接收帧。
接收帧,也发两种情况:
第一种情况:交换机trunk接口连接到电脑上了,电脑上发送过来的数据是没有标记的数据帧untag,当电脑发送数据到交换机trunk接口之后,这个数据该如何处理呢?
当电脑的数据到达trunk口之后,如果这个trunk口,没有更改PVID,那默认就是在vlan1,那数据就会默认在vlan1中的数据。如果trunk口的PVID更改为10了,那么数据到这个交换机的trunk口之后,就会自动将数据划分到vlan10中,如果在传输的过程中就打上了vlan10的标签。

第二种情况:交换机trunk接口互联。

当SW2接收到SW1发送过来的带vlan10的数据帧的时候,当然了trunk是允许所有vlan通过的,这个是前提,如没有这个前提所有vlan都无法通过。SW2收到vlan10或者vlan20的数据之后,会默认将vlan10和vlan20的数据继续按带标签tag的数据发送出去。
我们再来看一下,发送帧。

第一种情况:交换机收到带vlan标签数据如何处理?

当SW1发送出来的数据是带vlan标记tag的数据帧,就会将数据继续带着标签转发,PC1默认是在vlan10中,所以在SW1发送PC1的数据帧的时候,是带着标签tag转发的,那为什么没有去掉PC1数据帧的vlan10的标签呢?
那是因为SW1的G0/0/24接口的PVID默认是1,当PC1的数据vlan是10的时候,SW1的G0/0/24trunk接口的默认PVID1时,这时数据帧的vlan ID和G0/0/24 trunk接口的PVID不同时,这时PC1的数据就带着vlan10的标签tag转发到SW2了。
第二种情况:电脑收到PC1发送过来的数据如何处理?

当SW2接到PC1发送过来的vlan10数据之后,准备将这个数据从SW2的G0/0/10发送出去,这时SW2的G0/0/10就会比较一下,G0/0/10的PVID和PC1发送过来的数据vlan ID是否相同,我们可以看到PC2也是划分到vlan10的所以SW2的G0/0/10的PVID接口也是10,那PC1发送过来的vlan10的数据和SW2的G0/0/10的PVID相同,这时就会把PC1的数据去掉vlan10标签变成untag数据,然后转到到PC2,这时PC2就接收到了PC1的数据了。

测试

先将一个路由器连接到SW1的G1/0/21口,PC连接到SW1的G1/0/22口,然后,将SW1的G1/0/21和G1/0/22口设置为trunk口,允许所有vlan通过。

配置完成之后,可以看到G1/0/21和G1/0/22接口虽说都设置为trunk接口了,但是PVID还是默认1。

当然了,这样的设置,PC是可以从路由器上获取到IP地址的。

这时我把G1/0/22连接PC的接口,trunk口的PVID更改为20。

可以看到G1/0/22trunk口的PVID是20了。

这时当SW1的G1/0/22口trunk口的PVID更改为20时候,PC就无法获取到IP地址了。

为什么呢?就是因为SW1接到到的数据是默认在vlan1,发送出去的时候,发现是G1/0/22接口的PVID是20了,那DHCP数据是要发往vlan1的,vlan1的数据和PVID20不相同,所以PC就无法获取到vlan1中的数据了。

那我这时,将SW1的G1/0/21trunk接口的PVID也更改为20。

可以看到配置完成,配置完成之后,发现PC还是获取不到IP地址,后来发现交换机没有配置vlan20。

由于交换机中,连vlan20都没有,trunk配置pvid20当然是没有任何意义的。

这时在交换机上划分vlan20。

在SW1上划分好vlan20之后,这时PC就又可以从路由器上获取到正确的IP地址了。

当然了,把路由器更改为PC,那PC1和PC2都在默认的PVID中,也是可以互相ping通的。只要在同一个PVID接口中,两台电脑在一个网段,那就可以正常通信。

SW1接收到的数据就是加标签tag,当然G1/0/24转发出去时,如果PC1中的vlan标签和SW1发送出去的G0/0/24的PVID相同,那就去掉标签,转发到PC2,PC2就可以和PC1正常通信。

如果SW1的G0/0/10的trunk口的PVID是10,那PC1发送过来的数据是默认的vlan10,和G0/0/24的PVID20不同,那PC2就无法接收到PC1发送过来的数据。SW1将PC1发送出去的数据是带着vlan10的标签的,这时G0/0/24的PVID是20,是没有办法将PC1发送过来的vlan10的tag vlan标签去掉的,又因为PC2是不认识带vlan10的标签的,所以PC2无法接收。

相关文章:

即到哥
即到哥---专业互联网技术出教程,在留言框中留言你近期最想学习的技能,电脑、网络、服务器、网站、SEO、linux、监控、上网行为等。即到哥会按照人数最多想学的技术出一篇至一套相应的系列教程。
 最新文章