交换是疏通领域另外一个知识块,与路由同样有着举足轻重的地方,本片就经过不一样vlan间通讯的三个实现方式来说解交换的通讯过程。 网络
以下图所示,两个交换机之间使用端口绑定的方式以trunk链接,下联2台同网段的pc,但不属于同一个vlan,大部分的案例都是不一样的vlan属于不一样网段经过子接口进行通讯,本示例则以纯二层网络设备进行通讯,顺便说明通讯的过程。
(1)建立vlan2,并将链接pc的端口加入vlan2 ide
[SW1]vlan 2 [SW1-vlan2]q [SW1]int e0/0/1 [SW1-Ethernet0/0/1]port link-type access [SW1-Ethernet0/0/1]port default vlan 2
(2)建立eth-trunk接口,并将10/11接口加入eth-trunk 3d
[SW1]int Eth-Trunk 1 [SW1-Eth-Trunk1]int e0/0/10 [SW1-Ethernet0/0/10]eth-trunk 1 [SW1-Ethernet0/0/10]int e0/0/11 [SW1-Ethernet0/0/11]eth-trunk 1
(3)将eth-trunk口类型设置为trunk,并将SW1上eth-trunk口pvid改成2 code
[SW1]int Eth-Trunk 1 [SW1-Eth-Trunk1]port link-type trunk [SW1-Eth-Trunk1]port trunk pvid vlan 2
(4)经过display interface brief命令查看端口都已激活
(5)再经过display port vlan查看每一个端口的vlan信息,此时能够看到eth-trunk1的pvid虽然已经为2,可是默认放通vlan仍为1,1为默认放通的管理vlan,全部端口默认pvid也为1
此时ping操做发现pc1与pc2之间没法正常通讯,缘由就在于尽管sw1的eth-trunk口pvid是2,可是他并无放通vlan 2,sw2也是没有放通vlan 3,只有当使用命令 blog
[SW1]int Eth-Trunk 1 [SW1-Eth-Trunk1]undo port trunk allow-pass vlan 1 #取消默认放通的vlan 1,可省略 [SW1-Eth-Trunk1]port trunk allow-pass vlan 2
再查看sw1确认vlan2已经放通,两个pc间才能正查光通讯,sw2上的配置相似,再也不赘述。
经过本实例能够总结出数据通讯的过程为:
(1)pc1发出报文从sw1的e0/0/1口进入,再经过e0/0/1口时被打上该端口的default vlan
(2)报文再经过eth-trunk 1口发出前先判断是否容许经过,若是没有放通,即便tag等于该端口的pvid也会丢弃,本例中pvid与tag相同,因此从eth-trunk 1口出来时剥离tag变为纯以太网帧
(3)报文进入sw2的eth-trunk 1口时打上该端口的pvid
(4)从sw2的e0/0/1流出时,由于tag等于该端口的pvid因此脱掉tag变为纯以太网帧发送给pc2。tag是由交换机添加的信息,pc并不能识别,pc只能识别纯以太网帧
这样,尽管没有借用三层设备但最终pc1和oc2实现了通讯。 接口
拓扑以下图所示,此时交换机上联路由器,属于不一样vlan的pc1和pc2将经过路由器子接口的方式进行通讯。
(1) SW1上的配置
建立vlan10,20 ip
[SW1]vlan batch 10 20
将e0/0/1口加入vlan 10 路由
[SW1]int e0/0/1 [SW1-Ethernet0/0/1]port link-type access [SW1-Ethernet0/0/1]port default vlan 10
将e0/0/1口加入vlan 20 it
[SW1-Ethernet0/0/1]int e0/0/2 [SW1-Ethernet0/0/2]port link-type access [SW1-Ethernet0/0/2]port default vlan 20
将g0/0/1口配置成trunk模式,并放通vlan 10/20 io
[SW1]int g0/0/1 [SW1-GigabitEthernet0/0/1]port link-type trunk [SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20 [SW1-GigabitEthernet0/0/1]undo port trunk allow-pass vlan 1
检查配置,至此SW上配置完成
(2) 路由器上配置
首先能看到,在交换机上并无三层口,g0/0/1属于二层端口
而在路由器上g0/0/1是三层端口,此时是用交换机的二层口链接路由器的三层口,且tag是二层标签,三层口没法直接识别,因此要先进行dot1q封装
路由器上建立子接口,用dot1q封装用于终结vlan标签,并将网关地址配置在该端口上
[R1]interface g0/0/1.10 [R1-GigabitEthernet0/0/1.10]dot1q termination vid 10 [R1-GigabitEthernet0/0/1.10]ip add 192.168.10.254 24 [R1-GigabitEthernet0/0/1.10]arp broadcast enable [R1]interface g0/0/1.20 [R1-GigabitEthernet0/0/1.20]dot1q termination vid 10 [R1-GigabitEthernet0/0/1.20]ip add 192.168.20.254 24 [R1-GigabitEthernet0/0/1.20]arp broadcast enable
至此,R1的配置完成,此时pc1与pc2就能正常通讯了,须要注意的是:当开启子接口后,物理接口的功能就将小时此时的物理接口只是接收数据,子接口默认状况下不启用arp广播,因此须要手动开启。
方法2的方法当然能实现不一样vlan间通讯,但实际生产环境中不多会用到,缘由是:单臂路由引入了单点故障,尽管能够经过eth-trunk的方式将多跟链路绑定作冗余,但vlan的1次间通讯会在该链路上一进一出,该链路的负载较大,因此常见的方式是使用三层交换机完成,以下图所示:
建立vlan10/20,并加入对应vlan
SW1]vlan batch 10 20 [SW1]int e0/0/1 [SW1-Ethernet0/0/1]port link-type access [SW1-Ethernet0/0/1]port default vlan 10 [SW1-Ethernet0/0/1]int e0/0/2 [SW1-Ethernet0/0/2]port link-type access [SW1-Ethernet0/0/2]port default vlan 20
建立vlanif子接口,并将网关配置到该接口上
[SW1]interface Vlanif 10 [SW1-Vlanif10]ip address 192.168.10.254 24 [SW1-Vlanif10]int vlanif 20 [SW1-Vlanif20]ip add 192.168.20.254 24
至此,SW1配置完成pc1与pc2之间可以正常通讯,此时有几个须要注意的地方: (1)vlanif的子接口必需要跟vlan号保持一致 (2)vlanif是一个三层逻辑端口,使用三层交换机进行多vlan间通讯时,不须要进行dot1q封装,由于二层的tag信息在交换机的物理口就已经被剥离