關于VLAN ( Virtual Local Area Networkd )
VLAN是在一個物理網絡上劃分出來的邏輯網絡。這個網絡對應與OSI模型的第二層網絡。
VLAN的劃分不受網絡端口的實際物理位置的限制;
VLAN有著和普通物理網絡同樣的屬性;
第二層的單播、廣播和多播幀在一個VLAN內轉發、擴散,而不會直接進入其他的VLAN之中。
交換機收到廣播幀后,只轉發到屬于統一vlan的其他端口
由于實現了廣播域分隔,VLAN可以將廣播風暴控制在一個VLAN內部,劃分VLAN后,隨著廣播域的縮小,網絡中廣播包消耗的帶寬所占的比例大大降低,網絡性能得到顯著的提高;
不同的VLAN間的數據傳輸是通過第三層(網絡層)的路由來實現的,因此使用VLAN技術,結合數據鏈路層和網絡層的交換設備可搭建安全可靠的網絡;
同時,由于VLAN是邏輯的而不是物理的,因此在規劃網絡時可以避免地理位置的限制。
VLAN的劃分方法
基于端口的VLAN ( Port-Based )
基于協議的VLAN ( Protocol-Based )
基于MAC層分組的VLAN ( MAC-Layer Grouping )
基于網絡層分組的VLAN ( Network-Layer Grouping )
基于IP組播分組的VLAN ( IP Multicast Grouping )
基于策略的VLAN ( Policy-Based )
基于端口的靜態VLAN
基于端口的靜態VLAN是劃分虛擬局域網最簡單也是最有效的方法,它實際上是某些交換機端口的集合,網絡管理員只需要管理和配置交換機的端口,而不管交換機端口連接什么設備。這種劃分VLAN的方法是根據以太網交換機的端口來劃分的,是目前業界定義VLAN最廣泛的方法。IEEE802.1Q規定了這種劃分VLAN的國際標準。
基于端口的VLAN在實現上包括兩個步驟:
1. 首先啟用VLAN(用VLAN ID標識);
2. 而后將交換機端口指定到相應VLAN下;
隔離的廣播域
基于端口的VLAN(Port VLAN)將交換機按端口的VLAN ID 指定實現了邏輯劃分,廣播域被限定在相同VLAN的端口集合中,不同VLAN間不能直接通信。當使用多臺交換機分別配置VLAN后,可以使用Trunk(干道)方式實現跨交換機的VLAN內部連通,交換機的Trunk端口不隸屬于某個VLAN, 而是可以承載所有VLAN的幀。
這種實現跨交換機的VLAN技術在早期使用幀過濾,而目前的國際標準規定采用幀標記。網絡管理的邏輯結構可以完全不受實際物理連接的限制,極大地提高了組網的靈活性。
何謂Trunk
所謂的Trunk是用來在不同的交換機之間進行連接,以保證在跨越多個交換機上建立的同一個VLAN的成員能夠相互通訊,其中交換機之間互聯用的端口就稱為Trunk端口。Trunk這個詞是干線或者樹干的意思,不過一般不翻譯,直接用原文。
注意:與一般的交換機級聯不同,Trunk是基于OSI第二層的。
在交換機之間或交換機與路由器之間,互相連接的端口上配置中繼模式(Trunk口是中繼口,同一端口傳輸不同VLAN信息的時候需要設置Trunk),使得屬于不同VLAN的數據幀都可以通過這條中繼鏈路進行傳輸。
幀的格式分為兩種:
ISL: Inter-Switch Link, 是Cisco交換機獨有的協議;
IEEE 802.1Q:是國際標準協議,被幾乎所有的網絡設備生產商所共同支持;
默認條件下,Trunk上會轉發交換機上存在的所有VLAN的數據。
IEEE 802.1Q標準
IEEE 802.1Q使用4Byte的標記頭來定義Tag(標記),Tag頭中包括2Byte的VPID(VLAN Protocol Identifier)和2Byte的VCI(VLAN Control Information)。
基于802.1Q Tag VLAN 用VID來劃分不同VLAN,當數據幀通過交換機的時候,交換機根據數據幀中的Tag的VID信息來識別它們所在的VLAN(若幀中無Tag頭,則應用幀所通過端口的默認VID來識別它們所在的VLAN)。這使得所有屬于該VLAN的數據幀,不管是單播幀、組播幀還是廣播幀,都將被限制在該邏輯VLAN中傳輸。當使用多臺交換機分別配置VLAN后,可以使用Trunk方式實現跨交換機的VLAN內部連通,交換機的Trunk端口不隸屬于某個VLAN,而是可以承載所有VLAN的幀;
在VLAN配置中,我們可以使用switchport mode命令來指定一個二層接口(switch port)的模式,可以指定該接口為access port或者為trunk port(缺省為access)。
如果一個switch port的模式是access,則該接口只能為一個VLAN的成員,這種接口又稱為Port VLAN。
如果一個switch port的模式是trunk,則該接口可以是多個VLAN的成員,這種配置被稱為Tag VLAN。
Trunk接口默認可以傳輸本交換機支持的所有VLAN(1~4094),但是也可以通過設置接口的許可VLAN列表來限制某些VLAN的流量不能通過這個Trunk口。
跨交換機的VLAN劃分實例
假設某企業的網絡中,計算機PC1和PC3屬于營銷部門,PC2和PC4屬于技術部門,PC1和PC2連接在S2126-1上,PC3和PC4連接在S2126-2上,而兩個部門要求互相隔離,本實驗的目的是實現跨兩臺交換機將不同端口劃歸不同的VLAN。
步驟:
1. 在交換機S2126G-1上創建Vlan10,并將F0/1端口劃分到VLAN10中;
2. 在交換機S2126G-1上創建Vlan20,并將F0/2端口劃分到VLAN20中;
3. 在交換機S2126G-2上創建Vlan10,并將F0/1端口劃分到VLAN10中;
4. 在交換機S2126G-2上創建Vlan20,并將F0/1端口劃分到VLAN20中;
5. 把S2126G-1和S2126-2相連的端口F0/6定義為tag vlan模式;
6. 驗證PC1和PC3能相互通信,PC2和PC4能相互通信,但PC2和PC3不能相互通信;
關于端口的tag和untag:
1. 若一個端口下將有多個VLAN通過,那這個端口就要以tag方式加到各個VLAN里;
2. 若一個端口下只有一個VLAN通過,那這個端口就可以使用untag方式加到這個VLAN里;
跨交換機實現不同vlan間的通信
操作步驟:
1在二層交換機上的操作
Switch》en
Switch#conf t
Switch1(config)#vlan 100創建vlan 100
Switch1(config-vlan)#exit
Switch1(config)#interface fastethernet 0/1
Switch1(config-if)#switchport access vlan 100 將端口f0/1劃分到vlan100中
Switch1(config-if)#exit
Switch1(config)#vlan 200 創建vlan 200
Switch1(config-vlan)#exit
Switch1(config)#interface fatethernet 0/6
Switch1(config-if)#switchport access vlan 200 將端口f0/6劃分到vlan200中
Switch1(config-if)#exitSwitch1(config)#vlan 300 創建vlan 300
Switch1(config-vlan)#exit
Switch1(config)#interface fatethernet 0/13
Switch1(config-if)#switchport access vlan 300 將端口f0/13劃分到vlan300中把三層交換機與二層交換機相連的端口(0/24)定義為tag vlan模式
Switch1(config)#interface fatethernet 0/24
Switch1(config-if)#switchport mode trunk! 把端口0/24定義為tag vlan模式。
Switch1#show interface fastethernet 0/24 switchport
2在三層交換機上的操作
Switch》en
Switch#conf t
Switch1(config)#vlan 100創建vlan 100
Switch1(config-vlan)#exit
Switch1(config)#interface fastethernet 0/1
Switch1(config-if)#switchport access vlan 100 將端口f0/1劃分到vlan100中
Switch1(config-if)#exit
Switch1(config)#vlan 200 創建vlan 200
Switch1(config-vlan)#exit
Switch1(config)#interface fatethernet 0/6
Switch1(config-if)#switchport access vlan 200 將端口f0/6劃分到vlan200中
Switch1(config-if)#exit
Switch1(config)#vlan 300 創建vlan 300
Switch1(config-vlan)#exit
Switch1(config)#interface fatethernet 0/13
Switch1(config-if)#switchport access vlan 300 將端口f0/13劃分到vlan300中把二層交換機與三層交換機相連的端口(0/24)定義為tag vlan模式
Switch2(config)#int fa 0/24Switch2(config-if)#switchport mode trunk! 把端口0/24定義為tag vlan模式。
Switch2#show interface fastethernet 0/24 switchport在三層交換機實現vlan間的通信。
Switch1(config)#interface vlan 100 !創建虛擬接口vlan 100。
Switch1(config-if)#ip address 192.168.1.254 255.255.255.0! 設置虛擬接口的ip。
Switch1(config-if)#no shutdown !開啟端口。Switch1(config-if)#exit
Switch1(config)#interface vlan 200 !創建虛擬接口vlan 200。
Switch1(config-if)#ip address 192.168.2.254 255.255.255.0! 設置虛擬接口的ip。
Switch1(config-if)#no shutdown !開啟端口。
Switch1(config-if)#exit
Switch1(config)#interface vlan 300 !創建虛擬接口vlan 300。
Switch1(config-if)#ip address 192.168.3.254 255.255.255.0! 設置虛擬接口的ip。
Switch1(config-if)#no shutdown !開啟端口。
Switch1#show ip interface ! 查看ip接口的狀態。
3在PC機上的操作
PC6:ip:192.168.1.1
默認網關:192.168.1.254
PC5:ip:192.168.2.1
默認網關:192.168.2.254
PC6:ip:192.168.3.1
默認網關:192.168.3.254
4 ping實現不同vlan間的通信
評論
查看更多