一、为什么不同VLAN间不通过路由就无法通信:
在LAN内的通信,必须在数据帧头中指定通信目标的MAC地址。而为了获取MAC地址,TCP/IP协议下使用的是ARP。ARP解析MAC地址的方法,则是通过广播。也就是说,如果广播报文无法到达,那么就无从解析MAC地址,亦即无法直接通信。
因此在交换机上划分VLAN后,VLAN间计算机就不能通信了,VLAN间的通信需要借助第三层设备。
二、多臂路由:
原理:通过access口联通多个子网,使得VLAN1和VLAN2互不干扰,VLAN内直连,VLAN间通过路由器通信。
缺点:如果需要实现N个VLAN间的通信,则路由器需要N个接口,同时也需要占用交换机上的N个以太网接口,这在实际中并不可行。
三、单臂路由:
原理:通过Trunk端口连接多个子网V,在路由器上创建多个子接口和不同的VLAN连接;
缺点:路由器同一接口被多个子网共用,可能存在单点故障和拥塞等问题,只适合小型网络。
实验:单臂路由实现VLAN间路由
1、路由器子接口配置
配置
branch(config)#Default interface e0/0 //使e0/0接口恢复成默认配置
branch(config)#Int e0/0
branch(config-if)#No shutdown //开启(切记),但不配IP地址
branch(config)#Int e0/0.10 //划分子接口
branch(config-subif)#Encapsulation dot1Q 10 //封装子接口为VLAN10,用于识别帧所属的VLAN
branch(config-subif)#Ip address 10.1.10.254 255.255.255.0 //配置子接口的IP
branch(config)#Int e0/0.20 //划分子接口
branch(config-subif)#Encapsulation dot1Q 20 //封装子接口为VLAN20,用于识别帧所属的VLAN
branch(config-subif)#Ip address 10.1.20.254 255.255.255.0 //配置子接口的IP
恢复
branch(config)#default int e0/0
branch(config)#no int e0/0.10
branch(config)#no int e0/0.20
验证
branch(config)#do show ip int b
2、交换机连接路由器接口
SW1(config)#Default interface e0/0 //使e0/0接口恢复成默认配置
SW1(config-if)#Switchport trunk allowed vlan 10,20 //暂先属于VLAN10与VLAN20,起到保护作用
四、交换机虚拟接口:
1、创建管理Vlan,如果要工作的话,需要满足如下条件:
0. 交换机开启路由功能 ip routing
0. 必须有接口access到相应VLAN
0. 或者是有trunk允许VLAN通过
2、关键配置
SW1(config)#int vlan 10
SW1(config-if)#no shu
SW1(config-if)#ip add 10.1.10.254 255.255.255.0
SW1(config-if)#exit
SW1(config)# do show ip rout
SW1(config)#int vlan 20
SW1(config-if)#no shu
SW1(config-if)#ip add 10.1.20.100 255.255.255.0
SW1(config-if)#exit
SW1(config)# do show ip route
SW1(config)#int vlan 30
SW1(config-if)#no shu
SW1(config-if)#ip add 192.168.1.2 255.255.255.0
SW1(config-if)#exit
SW1(config)# do show ip rout