LAN表示為Local Area Network,本地局域網(wǎng)。通常用hub和switch來連接LAN中的計算機。計算機發(fā)出的廣播包可以被同一個LAN中其他計算機收到,但位于其他LAN的計算機則無法收到。VLAN將一個交換機分成了多個交換機,限制了廣播的范圍。在二層上將計算機隔離到不同的vlan中。不同vlan的機器無法訪問是指二層廣播包(比如arp)無法跨越VLAN的邊界。在三層上可以用過路由器讓A和B互通的。
交換機的端口有兩種模式:Access和Trunk。

image.png
access口被打上了vlan標簽,表明該端口屬于哪個vlan。范圍1-4096,access口都是直接與計算機網(wǎng)卡相連的,這樣從改網(wǎng)卡出來的數(shù)據(jù)包流入access口后,就會被打上vlan的標簽。access口只能屬于一個vlan。
trunk口讓交換機A和B上相同的vlan之間能夠通信,trunk口允許多個vlan通過。
不同vlan下有vm1和vm2.VM2向VM1發(fā)ping包之前,需要知道VM1的IP對應的mac,vm2會在網(wǎng)絡上廣播arp包,其作用就是詢問“誰知道ip***的mac地址,arp是二層協(xié)議。vlan的隔離作用使得arp只能在vlan20的范圍廣播。vlan10的設備收不到,所以ping不到。
物理交換機可以交換和隔離。同一vlan端口可以交換轉(zhuǎn)發(fā),不同vlan端口隔離。
linux的VLAN只有隔離功能,沒有數(shù)據(jù)交換功能,linux的bridge專門實現(xiàn)交換功能。
linux bridge + vlan = 虛擬交換機