原理
1.trunk 端口收报文:收到一个报文,判断是否有VLAN 信息;如果有,判断该trunk 端口是否允许该VLAN 的数据进入;如果可以则转发,否则丢弃;如果没有VLAN 信息则打上端口的PVID,并进行交换转发。(可以将trunk口看做是access口功能上的扩充,对于有VLAN信息的数据包Access直接丢弃,而Trunk则会对有指定VLAN的数据包直接转发)
2.Trunk 端口发报文:比较将要发送报文的VLAN 信息和端口的PVID;如果不相等则直接发送;如果两者相等则剥离VLAN 信息,再发送。(Access口发数据包时对所有数据包去除VLAN信息,而Trunk只对与自己端口PVID相等(Trunk默认PVID与VLAN1相等)的数据包去VLAN信息,其他则直接转发)
总结:结合Trunk口接受与发送数据包特点,可以得出经双绞线相连的一对Trunk口或同一交换机上的两个Trunk口可以将数据包(有或无VLAN信息)原封不动的从一端传到另一端。
实验内容:
实验拓扑:
实验编址:
按照实验编址配置好基本IP地址后,使用Ping命令检测各直连线路的连通性。目前还没有划分VLAN,PC1、PC2、PC3和PC4应该能互相ping通(属于默认VLAN1)
这里以PC1 ping PC3为例,其他的同理。
创建VLAN:
display vlan 查看所配置的vlan信息
分别将S1,S2的各个接口配置为Access,并加入相应的VLAN
由拓扑图可知,需将S1上的E0/0/2和E0/0/3配置为Access接口,并划分到相应的VLAN
S2,S3如法炮制,这里为了只截取了S1的图
之后看一下vlan的配置(display port vlan)
测试一下PC1与PC3是否可以通信:
可以看到同部门间还不能通信。这是因为交换机与交换机之间相连的接口上并没有相应的VLAN信息,不能识别和发送跨越交换机的VLAN报文。此时VLAN只具有在每台交换机上本地意义,无法实现相同VLAN的跨交换机通信。
为了让交换机间能识别和发送跨越交换机的VLAN数据报,需要将交换机间相连的接口配置成Trunk接口,配置时要明确被允许通过的VLAN,实现对VLAN流量传输的控制。
在S1配置E0/0/1为Trunk接口,允许VLAN 10和VLAN 20通过。
S2上配置E0/0/2为Trunk接口,允许VLAN 10和VLAN 20通过。
(这里只截了S1配置的图)
在S3上配置GE0/0/1和GE0/0/2为Trunk接口,允许所有VLAN通过
最后使用display port vlan命令检查Trunk的配置情况,以S3为例:
可以看到S3的GE0/0/1和GE0/0/2已经被成功配置为Trunk接口,并且允许所有
VLAN流量通过(VLAN1~4094)
再次验证同一部门(PC1与PC3)跨交换机的连通性:
PC2与PC4:
可以看到已经可以连通了。
原文地址:https://www.cnblogs.com/arisskz6/p/11954204.html