实验拓扑:
实验说明: SW1为三层交换机,SW2和SW3为二层交换机,PC1属于VLAN 100,PC2属于VLAN 110,PC3属于VLAN 120,现通过三层交换机实现不同VLAN间的通信。
实验步骤: 1.为各PC配置IP地址和网关: 为PC1配置IP地址和网关:
为PC2配置IP地址和网关:
为PC3配置IP地址和网关: 2.在交换机上创建VLAN: 在三层交换机SW1上创建VLAN 100,110和120: 在二层交换机SW2上创建VLAN 100: 在二层交换机SW3上创建VLAN 110和120: 3.将SW2和SW3的下联接口设置为access并将其划进VLAN中: 在SW2设置access口: 在SW3设置access口: 4.在三层交换机SW1上配置SVI: 补充:SVI(switch virtual interface)交互式虚拟接口,SVI有两种类型:一种为主机管理接口,管理员可以利用该接口管理交换机。一种为网关接口,用于三层交换机跨vlan间路由。具体可以用interface vlan接口配置命令来创建svi,然后为其配置ip地址即可实现路由功能。(故本实验配置的为网关接口) 至此,本实验配置已基本完成,但还有一个问题,交换机接口模式还没有设置,没有设置接口模式是不能实现不同VLAN通信的,如下图,这是因为数据包在交换机下联接口进入是会打上VALN标签的,但在转发时是会脱离标签的,所以在交换机上联接口进入时没有标签,这是默认的标签是交换机的缺省标签,并不能实现不同VLAN通信,这时又涉及到交换的两种口:Access口和Trunk口 5.如果想要实现VLAN 100和VLAN 120之间通信,可以将交换机的上联接口设置为Access口,如下图配置: 将SW2的上联接口设置为Access口,并划进VLAN 100: 将SW3的上联接口设置为Access口,并划进VLAN 120: 将SW1的接口接口设置为Access口,并分别划进VLAN 100,120: 6.在PC上测试结果: 7.如果想实现各个VLAN 之间的通信,可以将交换机的上联接口设置为Trunk口,如下图配置: 将SW2之前的接口模式删除并配置为Trunk:
将SW3之前的接口模式删除并配置为Trunk: 将SW1之前的接口模式删除并配置为Trunk: 8.在PC1上测试结果: 总结: Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口; Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;
交换机接口出入数据处理过程: Acess端口收报文: 收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)(PVID也就是说,当端口收到一个未标记的帧时,就把该帧打上vlan id,这个id值等于pvid的值,然后转发到VID和PVID相等的VLAN 中。) Acess端口发报文: 将报文的VLAN信息剥离,直接发送出去 trunk端口收报文: 收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有判断该trunk端口是否允许该 VLAN的数据进入:如果可以则转发,否则丢弃 trunk端口发报文: 比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接发送