LAN表示为Local Area Network,本地局域网。通常用hub和switch来连接LAN中的计算机。计算机发出的广播包可以被同一个LAN中其他计算机收到,但位于其他LAN的计算机则无法收到。VLAN将一个交换机分成了多个交换机,限制了广播的范围。在二层上将计算机隔离到不同的vlan中。不同vlan的机器无法访问是指二层广播包(比如arp)无法跨越VLAN的边界。在三层上可以用过路由器让A和B互通的。
交换机的端口有两种模式:Access和Trunk。
access口被打上了vlan标签,表明该端口属于哪个vlan。范围1-4096,access口都是直接与计算机网卡相连的,这样从改网卡出来的数据包流入access口后,就会被打上vlan的标签。access口只能属于一个vlan。
trunk口让交换机A和B上相同的vlan之间能够通信,trunk口允许多个vlan通过。
不同vlan下有vm1和vm2.VM2向VM1发ping包之前,需要知道VM1的IP对应的mac,vm2会在网络上广播arp包,其作用就是询问“谁知道ip***的mac地址,arp是二层协议。vlan的隔离作用使得arp只能在vlan20的范围广播。vlan10的设备收不到,所以ping不到。
物理交换机可以交换和隔离。同一vlan端口可以交换转发,不同vlan端口隔离。
linux的VLAN只有隔离功能,没有数据交换功能,linux的bridge专门实现交换功能。
linux bridge + vlan = 虚拟交换机