三层交换实现vlan间的通信(目前使用较多的方法):
拓扑图·:
pc-1和pc-2分别为不同的vlan
LSW1的g0/0/1和g0/0/2的接口模式为access
g0/0/3口为trunk模式
在g0/0/3接口下: port trunk allow-pass vlan all
#允许不同vlan的数据通过(all表示所有)
LSW2全局配置模式下创建vlan10和vlan20
然后:int vlan 10
设置ip地址为pc1的网关地址
vlan 20也一样。有关命令拓扑图上有,大家可自行参考,这里不过多赘述
单臂路由实现不同vlan之间的通信:
拓扑图:
基本原理:路由器重新封装mac地址,转换vlan标签;将路由器的物理接口进行逻辑划分,并设置对应网关
在LSW1上需要的命令:
- g0/0/2口和g0/0/3口放入相应的vlan中,链路模式均为access
- 在g0/0/1口上:链路模式为trunt
port trunk allow-pass vlan all(关键)
#允许不同vlan的数据通过(all表示所有)
在AR1上需要配置的命令(关键)
- 把物理接口再进行划分,这里注意虚拟子接口也要开启ARP广播!!!!
原因:因为单臂路由是通过重新封装mac地址,以及转换vlan标签来重新转发数据包,而获取mac地址需要ARP协议的支持,也就必不可少需要进行ARP广播
- Dot1q termination vid x(此处x表示vlan的代号,列如vlan10对应的x就为10)
#该命令作用:将该子接口与vlan进行绑定
当该命令生效后:新划分的逻辑子接口就会在接收到带有VLAN标签(此处是VLAN ID)的报文时,剥离VLAN标签并进行三层转发。而在发送报文时,则会添加该子接口对应的VLAN标签到报文中。这样,就可以实现在不同VLAN之间的通信,而不需要额外的三层路由器。
注意:子接口收到的vlan id应该与配置的vid一致,否则将被丢弃,此外该命令是累加性质的,配置结果会按照多次累加生效
- 在该接口上允许ARP地址解析协议报文通过(关键)
Arp broadcast enable
#该命令在子接口下配置,目的是允许arp广播报文在链路中传播