一、VLAN描述
簡單地講,VLAN是指那些看起來好像在同一個物理局域網中能夠相互通信的設備的集合。
對于以端口劃分的VLAN而言,任何一個端口的集合(甚至交換機上的所有端口)都可以被看作是一個VLAN。VLAN的劃分不受硬件設備物理連接的限制,用戶可以通過命令靈活地劃分端口,創建定義VLAN。使用VLAN的優點如下:
VLAN能幫助控制流量
VLAN提供更高的安全性
每個VLAN中的設備只能與本VLAN中的設備通信。例如,如果VLAN Market的設備要和VLAN Sales的設備通信,則只有通過路由器才能進行,在沒有三層路由設備的情況下兩個部門不能直接通信,從而提高了網絡安全性能。
VLAN使網絡設備的變更和移動更加方便
在傳統網絡中,網絡管理員不得不在網絡設備的變更和移動上花費大量的時間和精力。如果用戶移動到另一個不同的子網,那么每個終端的地址都得重新設置。而使用VLAN則不需要這些復雜繁瑣的設置。
1.1.1 VLAN的分類
用戶可以根據以下標準創建VLAN:
- 物理端口
- 802.1Q tag
- 以上標準的組合
1. 以端口劃分的VLAN
在一個Port-Based VLAN(基于端口的VLAN)中,用一個VLAN的名字來代表交換機中的一個或多個端口組成的一組端口。不同VLAN中的成員不能相互通信,即使它們在物理上屬于同一個交換機的同一個I/O模塊。如果要互相通信就必須通過三層交換機進行路由。這就意味著每一個VLAN的IP地址必須唯一,且不屬于相同網段。
例如,在交換機上,端口1、9和15屬于VLAN Market,端口3和14屬于VLAN Finance,端口 6、18-21屬于VLAN Sales。
2. 以標簽劃分的VLAN
標簽就是在以太網幀中插入的特定標記,稱為tag,它也是某個指定VLAN的標識號VLANID。
3. Tagged VLAN的應用
標簽(Tagging)最常應用在跨交換機創建VLAN的情況,此時交換機之間的連接通常稱為中繼。使用標簽后,可以通過一個或多個中繼創建跨多個交換機的VLAN。一個VLAN可以很輕易地通過中繼跨多個交換機。
4. 指定VLAN標簽
每個VLAN都可被賦予一個802.1Q VLAN tag。當向一個由802.1Q標簽定義的VLAN中添加端口時,可以決定該端口是否使用這個VLAN的標簽。缺省模式是所有端口都屬于一個名叫default的VLAN,其VLANID為2047。
并不是所有端口都必須使用標簽。當數據流從交換機的一個端口輸出時,交換機實時決定是否需將該VLAN的標簽加入到數據包中。交換機根據每個VLAN端口的配置情況決定加上或者去掉數據包中的標簽。
如果交換機收到帶tag標記的數據包,當這個tag值與接收數據端口的tag值不同時,說明這個數據包來自其他VLAN,因此交換機將丟棄該數據包。 |
為使用Tag(tagged)和未使用Tag(untagged)劃分VLAN的網絡物理結構圖。
圖1-1 以tagged和untagged劃分VLAN
交換機1的端口1和交換機2的端口1同時屬于VLAN Market和VLAN Sales,且兩個端口之間有中繼線連接。跨交換機的VLAN Market和VLAN Sales通過這條中繼線相連,從而實現跨交換機的VLAN通信。其中:
- 中繼端口都為tagged。
- 連接到交換機1端口9上的Server須含有支持802.1Q Tagged的網絡接口卡(NIC)。
- 連接Server的交換機1的端口9必須同時屬于VLAN Market和VLAN Sales。
- 除了連接Server的交換機1的端口8和兩臺交換機的端口1是tagged以外,其他端口都是untagged。
- 當數據轉發到交換機的端口時,交換機決定數據送達到目的端口是否需要加標簽(tagged)。所有Server收發的數據都是加標簽的(tagged);從其余終端工作站收和發的數據都是untagged。
1. 混合使用Tagged VLAN和Port-Based VLAN
可以混合使用Tagged VLAN和Port-Based VLAN。一個給定的端口可以屬于多個VLAN,前提是該端口只能在一個VLAN中是未加標簽的(Untagged)。換句話說,一個端口同時能屬于一個Port-Based VLAN和多個Tagged VLAN。
出于VLAN分類的目的,如果交換機收到一個含802.1Q標簽的數據包,但是該802.1Q標簽所含的VLANID的值為0,那么交換機會把該數據包當作是未加標簽的(untagged)。 |
1.1.2 配置VLAN的有關規則
VLAN配置要求遵循一定的規則,對VLAN的命名、端口的添加、IP Address的配置、Tag值的范圍等有一定的要求。
1. 缺省VLAN
交換機出廠時有一個缺省的VLAN,該VLAN有以下屬性:
- VLAN 的名字是default
- 它包含所有端口
- default VLAN的所有端口都是untagged的
- default VLAN的VLANID是2047
2. VLAN的名字
每個VLAN的名字可以是由以字母開頭的1至29個字符組成,這些字符只能是字母、數字或者下劃線“_”。空格符、逗號、引號等字符都是不合法的。
VLAN的名字只是本地標志。也就是說,在一臺交換機上設置的VLAN的名字只對該交換機有意義。如果另一臺交換機(Switch2)與該交換機(Switch1)相連,那么這個交換機(Switch1)的VLAN的名字對那臺交換機(Switch2)來講毫無意義。
1.2 配置VLAN
1.2.1 配置步驟
配置VLAN包括以下步驟:
配置步驟
步驟1 |
create vlan |
創建VLAN并給該VLAN取名 |
步驟2 |
config vlan |
給VLAN指定一個Tag,或者使用創建時系統分配的Tag |
步驟3 |
config vlan |
如果需要的話給該VLAN分配IP地址和子網掩碼 |
步驟4 |
config vlan |
在VLAN中加入端口,可以指定是否使用802.1Q tag |
步驟5 |
show vlan { |
使用命令delete vlan可以刪除VLAN。使用命令no vlan ip可以刪除VLAN的IP地址。
使用命令config port [add|delete] vlan也可以將一個或多個端口以tagged方式加入一個或多個vlan中,或從vlan中刪除。參見“配置端口”一章。
1.2.2 配置案例
案例描述
在交換機上創建一個名為development的VLAN,給該VLAN分配IP地址202.106.15.3和子網掩碼255.255.255.0,然后加入端口3,6,17-20,并指定端口為untagged模式。
配置步驟
步驟1 |
創建一個VLAN,名稱為development |
|
Harbour(config)#create vlan development |
步驟2 |
給該VLAN分配IP地址192.168.0.232/24 |
|
Harbour(config)# config vlan development ipaddress 192.168.0.232/24 |
步驟3 |
分配給該VLAN的VLANID是128 |
|
Harbour(config)#config vlan development tag 128 |
步驟4 |
給該VLAN加入端口3,6,17-20,并指定端口為untagged模式 |
|
Harbour(config)#config vlan development add port 3,6,17-20 untagged |
步驟5 |
查看VLAN的配置信息 |
|
Harbour(config)#show vlan development
VLAN ID : 128
Name : development
IP Address : 192.168.0.232/24
MAC address : 00:45:32:65:98:72
Tagged Ports :
Untagged Ports : 3 6 17 18 19 20
|
步驟6 |
向development添加一個以IEEE 802.1Q tagged模式屬于該VLAN的端口3 |
|
Harbour(config)#config vlan development add port 3 tagged |
步驟7 |
查看VLAN的配置信息,此時,端口3以IEEE 802.1Q tagged模式屬于development,所以untagged ports中就沒有端口3了 |
|
Harbour(config)#show vlan development
VLAN ID : 128
Name : development
MAC address : 00:45:32:65:98:72
Tagged Ports : 3
Untagged Ports : 6 17 18 19 20 |