VLAN的作用:N1P429
1. 控制廣播
2. 確保安全
3. 靈活擴展
VLAN類型
靜態VLAN(基於端口)
動態VLAN(基於MAC地址) 通過VPMS
VLAN幀標識 【N6eP301】
傳統交換機:數據幀進入交換機,交換機只檢查目的MAC地址,參照MAC地址錶轉發到適當端口,而不考慮數據幀從哪裏來的。如果不知道目的MAC,交換機則開始泛洪。
VLAN交換機:數據幀進入交換機 — 獲取VLAN_ID — 匹配過濾表 同時將數據幀轉發給trunk口,trunk口不刪除VLAN ID — 在交換機access出口刪除VLAN_ID 【N1P435】
除了考慮目的MAC地址進行轉發外,還必須考慮數據幀的源地址,以便查看它所屬的VLAN。追蹤一個幀至少有兩種方法:
第一種根據數據幀進入的端口屬於哪個VLAN,這種方法被稱爲“幀標記”或“顯示標記”
第二種追蹤數據幀的源地址的方法是爲每個VLAN保持一張MAC地址表,確定目的地址之後,再做出是否轉發的決定。此方法稱爲“幀過濾”或“隱式標記”
幀標記的優點是能夠立即標識VLAN,不需要對幀做進一步VLAN成員關係決定。缺點是大多數不支持VLAN的設備會把這種幀當成無效幀。爲了解決這個問題,IEEE組織定義了IEEE802.1Q標準。
幀過濾的優點是不修改幀,因此幀通過網絡設備時不會出現問題。缺點是所有VLAN設備必須能對每個幀做出唯一VLAN決定。這意味着如果按數據幀中的源MAC地址進行過濾。那麼所有VLAN交換機必須擁有一張MAC地址表,該表還要包含每個MAC地址所屬的VLAN。【N6eP301】
VLAN間通信的過程【N6eP303】
1. PC1要與PC3通信,開始PC1並不知道PC3的MAC地址,所以,PC1首先發送了一個ARP的查詢包,查詢包以廣播形式發送。
2. 交換機SW1收到PC1發來的ARP廣播包。SW1知道該數據包是從F1/1接口收到的,F1/1接口被分配到了VLAN2中,是一個Access端口,SW1知道這是一個來自VLAN2的廣播包。
3. SW1在MAC地址表中加入PC1的MAC地址和對應的VLAN號及端口號。(VLAN交換機與非VLAN交換機都會根據幀的源MAC地址進行學習,但是VLAN交換機除了記錄MAC地址對應的端口外,還要記錄MAC地址對應的VLAN號)
4. SW1在數據幀中加入VLAN2的標識,VLAN交換機從Access端口接收到數據幀時,需要插入VLAN標識。SW1把ARP廣播包從除了F1/1之外的所有屬於VLAN2的端口發送出去,發送出去之前,要去除VLAN標識。交換機除了把廣播幀從所有屬於VLAN2的端口發送出去外,還要從所有主幹端口把廣播幀發送出去,也就是F1/24。從主幹端口轉發數據幀時,不修改數據幀的格式
5. 當SW2從f1/24端口收到數據幀時,SW2查看數據幀中的VLAN標識,並在MAC地址中添加學到的MAC地址和對應的VLAN號及端口號。SW2接下來決定要向哪裏轉發數據幀,SW2查看數據幀中的VLAN標識,知道是VLAN2的數據幀,SW2查看數據幀的目的MAC地址,知道這是VLAN2的一個廣播幀。SW2把廣播包從除1/24之外所有屬於VLAN2的端口發送出去,發送出去之前,交換機要去除數據幀中被加入的VLAN2標識。
6. PC3收到數據幀後,知道是PC1發給自己的ARP請求幀。PC3封裝ARP應答包,把應答包發往交換機SW2
VLAN間路由
VLAN間通訊需要三層路由或路由器
每個VLAN都是一個獨立子網,最好將VLAN配置爲獨立的子網,雖然並非必須這樣
交換機的VLAN支持矩陣
交換機
VLAN數量
VLAN ID
Catalyst 2940
4
1 - 1005
Catalyst2950/2955
250
1 - 4094
Catalyst 2960
255
1 - 4094
Catalyst 2970/3550/3560/3570
1005
1 - 4094
Catalyst 2848G/2980G/4000/4500
4094
1 - 4094
Catalyst 6500
4094
1 - 4094
VLAN範圍
範圍
用途
VTP傳播
0, 4096
保留
僅系統使用N/A1正常
Cisco默認VLAN 用戶無法刪除
是
2 - 1001
正常
以太網VLAN 正常使用
是
1002 - 1005
正常
用於FDDI和令牌環 用戶無法刪除
是
1006 - 1024
保留
僅系統使用
N/A
1025 - 4094
擴展
僅用於以太網 動態以太網VLAN
僅VTP v3支持
VLAN配置詳解《CCNP Switch》P56
交換機端口
交換機的接口只有 接入口Access 和 中繼口Trunk 兩種選擇。
Access接口:
1.只能傳輸一個VLAN的數據,除非是 語音VLAN。【N1P433】
2.如果接入端口收到標記過(如IEEE802.1Q 標記)的分組會將其丟棄,因爲Access口 轉發數據時,不查看源地址,只識別VLAN標識
3.將幀轉發給與接入鏈路相連的設備前,交換機將刪除所有的VLAN信息。
4.對於靜態接入端口,可手工分配其所屬的VLAN ,也可通過RADIUS 服務器進行分配(使用IEEE 802.1x 時)。【N1P432】
Trunk接口:[N2P61]
1.Trunk接口爲多個VLAN傳輸數據流 。分爲ISL和802.1Q。ISL封裝,MTU是1548字節,802.1Q封裝,MTU是1522字節。
2. ISL Cisco私有標識 在以太網幀頭部封裝26字節,尾部封裝4字節,總共30字節標識。ISL性能更好,因爲他是通過硬件加載的標識。ISL只能用於快速以太網和吉比特以太網鏈路。ISL l各由選擇多才多藝,可用於交換機端口、路由器接口和服務器接口卡。
ISL幀頭部有10個bit用來標識VLAN,能夠表示1024個VLAN,編號從0到1023
Cisco Catalyst 4000和4500交換機根據其Superverisor引擎的型號來決定其運行Cisco IOS還是Cisco CatOS。Catalyst 4000 和4500的Supervisor引擎不支持給予每個端口來執行ISL封裝。【N2P64】
3. IEEE802.1q 在以太網幀內插入4字節的標識。爲讓這些端口能夠通信,必須指定它們所屬的Native VLAN。默認爲VLAN1.
802.1Q封裝,MTU是1522字節。
802.1Q出現之前,很多廠商都聲稱他們的交換機實現了VLAN,但是不同廠商之間實現的方法不同,所以彼此無法互聯。而現在,802.1Q出現後,在以太網幀頭中的源地址後增加了一個4個字節的802.1Q幀頭,用新的FCS替換了原來幀中的FCS,其他字段保持不變。
新增標籤頭中的4個字節信息如下:
* 網絡類型:2個字節的標籤協議標識,以太網值是0x8100
* VLAN標識:一個12位的域,指明VLAN的ID,最大支持4096個VLAN。
* 令牌環標記:這1位主要使以太網與FDDI、令牌環網交換數據是更容易。
* 優先級:這3位指明幀的優先級,被用於QOS,一共8鍾優先級,用於當交換機阻塞時,有線發送哪些數據幀。
4.Catalyst 3560交換機支持ISL和802.1q封裝,Catalyst2960只支持802.1q封裝,不支持ISL封裝。另外,在支持ISL或802.1Q的路由器中,最便宜的是2600。1600、1700和2500系列路由器都不支持ISL或802.1Q。【N1P439】
5.Trunk口 既可以通過標識幀,也可以通過未標識幀。標識幀經過trunk時,直接轉發且不刪除VLAN標識。未標識幀經過trunk時,標記PVID(默認爲VLAN1)通過native VLAN轉發。
6.中繼端口有一個默認VLAN ID(PVID)用於轉發未標記數據流的VLAN ID。默認是VLAN 1,也叫本地VLAN。
幀標記方法ISL 和802.1Q 的基本用途是,提供交換機間VLAN 通信。另外,別忘了,將幀轉發到接入鏈路前,將刪除ISL 或802.1Q 幀標記標記只用於中繼鏈路內部。
VLAN配置命令:
S1#config t
S1(config)# vlan 3
S1(config-vlan)# name Sales \\創建VLAN
S1(config)# no vlan 3 \\刪除VLAN
一旦刪除VLAN,除非該VLAN所屬的Access端口移動到其他VLAN,否則這些接入端口就會進入“inactive”狀態,不再轉發流量
驗證VLAN:
S1# show vlan ?
brief VTP all VLAN status in brief
id VTP VLAN status by VLAN id
internal VLAN internal usage
name VTP VLAN status by VLAN name
summary VLAN summary information
==========================
S1# show vlan brief 【N5P183】
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa1/0, Fa1/1, Fa1/2, Fa1/3
Fa1/4, Fa1/5, Fa1/6, Fa1/7
Fa1/8, Fa1/9, Fa1/10, Fa1/11
Fa1/12, Fa1/13, Fa1/14, Fa1/15
3 IT active
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
\\ 第一列是VLAN ID;第二列是VLAN的狀態,active或act爲激活,unsup爲非掛起;第三列列出了本交換機上屬於該VLAN的接口
==========================
S1#show vlan id 3 【N5P183】
S1#show vlan name IT 【N2P56各項詳解】
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
3 IT active
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
3 enet 100003 1500 - - - - - 0 0
\\ 顯示各個VLAN的類型和最大傳輸單元等信息;
==========================
S1#show vlan summary 【N5P183】
Number of existing VLANs : 6 \\ 全部VLAN數量
Number of existing VTP VLANs : 6 \\ 普通VLAN數量
Number of existing extended VLANs : 0 \\ 擴展VLAN數量
==========================
端口加入VLAN
S1#config t
S1(config-if)#swichport mode access
S1(config-if)# switchport host (此命令相當於下面三條命令)
* switchport mode access
* spanning-tree portfast
* disable channel group
S1(config-if)#swichport access vlan 3
配置Trunk
S1#config t
S1(config)# interface f0/1
S1(config-if)# switchport trunk encapsulation { isl | dot1q | negotiate}
S1(config-if)# swichport mode trunk
S1(config-if)# swichport negotiate \\關閉自動協商
==========================
S1(config-if)# switchport trunk allowed vlan ? \\ 將某個VLAN從Trunk中添加或者刪除
add add VLANs to the current list
all all VLANs
except all VLANs except the following
none no VLANs
remove remove VLANs from the current list
==========================
驗證端口的Trunk狀態
SW1#show interfaces f1/5 trunk
Port Mode Encapsulation Status Native vlan
Fa1/5 on 802.1q not-trunking 1
Port Vlans allowed on trunk
Fa1/5 none
Port Vlans allowed and active in management domain
Fa1/5 none
Port Vlans in spanning tree forwarding state and not pruned
Fa1/5 none
==========================
驗證端口Switchport狀態
SW1#show interfaces f1/5 switchport
Name: Fa1/5 \\ 接口的名字
Switchport: Enabled \\ 接口是交換端口
Administrative Mode: static access \\ 管理員已經配置接口爲access模式
Operational Mode: down \\ 接口當前模式爲access模式,和管理員的配置時一樣的。有可能管理員配置的是自動協商,而最終結果爲access
Administrative Trunking Encapsulation: dot1q \\ 封裝格式爲802.1Q
Negotiation of Trunking: Disabled \\ 已經關閉了自動協商
Access Mode VLAN: 2 (VLAN0002) \\ 接口屬於VLAN2
Trunking Native Mode VLAN: 1 (default) \\ VLAN1爲默認的Native VLAN
Trunking VLANs Enabled: ALL \\
Trunking VLANs Active: none
Protected: false
Priority for untagged frames: 0
Override vlan tag priority: FALSE
Voice VLAN: none \\ 沒有配置語音VLAN
Appliance trust: none
SW1# sh interfaces f1/10 status
Port Name Status Vlan Duplex Speed Type
Fa1/10 connected trunk full 100 10/100BaseTX
==========================
(1) 進入接口配置 Switch(config)# interface {Fastethernet | GigabitEthernet} slot/port
(3) 將接口配置爲trunk Switch(config-if)# switchport mode { dynamic {desirable | auto | trunk}
(4) 指定Native VLAN Switch(config-if)# switchport trunk native vlan {vlan-id}
(7) 查看接口狀態: Switch(config)# show interface {interface-id} switchport
(8) 還原接口默認配置狀態 Sw(config)#default interface {interface-id}
Native VLAN【N6eP312】
PC1:192.168.1.1 VLAN2
PC2:192.168.1.2 VLAN3
PC3:192.168.1.3 VLAN2
PC4:192.168.1.4 VLAN3
配置之後,PC1可以Ping通PC3,PC2可以Ping通PC4。但是PC1無法通過集線器(Hub)ping通PC5。PC1查詢PC5的MAC地址,ARP請求包被以廣播的形式發送出去。交換機SW1在廣播幀上添加VLAN標識,然後從F0/24端口發出,F0/24是中繼端口,該端口的Native VLAN是默認的VLAN1,中繼端口的Native VLAN和數據幀中的VLAN標識不一樣,交換機不能修改數據幀把數據發出。Hub接收到的數據幀並不能被PC識別
PC5收到了PC1發過來的ARP請求,但因爲該ARP請求包中的數據幀格式已經被改變,被SW1添加了802.1Q封裝,PC5不能識別這樣的數據幀,把PC1發過來的ARP請求包丟棄。PC1獲取不到PC5的MAC地址,無法完成數據包的封裝,也無法與PC5通信。
SW1# config t
SW1(config)# interface f0/24
SW1(config-if)# switchport trunk native vlan 2 \\ 將nativeVLAN 更改爲默認VLAN2
SW1(config-if)# no switchport trunk native vlan \\ 端口配置命令回到缺省的狀態
在PC1上再次測試到PC5的連通性,結果可以ping通了。這是因爲SW1從F0/24端口把數據幀發出時,當數據幀中的VLAN標識與中繼端口的native VLAN號相同,交換機清除數據幀中的VLAN標識。PC5就能夠識別該標識。
802.1q 在設計時,爲了兼容不支持VLAN的交換機混合部署,特地設計了一個Native VLAN 默認爲VLAN 1
指定native VLAN 臨街端口兩端的nativeVLAN 必須相同 native VLAN 也稱 本地VLAN 或 PVID。
需要重點關注的是,兩臺設備間的802.1Q Trunk端口有一個要求,那就是兩邊的Native VLAN必須相同。如果兩邊Native VLAN不同的話,CDP會發送一條“VLAN配置錯誤”消息。如果禁用了Trunk鏈路上的VLAN1,CDP有可能就不會傳輸,或關閉了【N2P63】
另外,如果兩邊Native VLAN不匹配,就會產生二層環路。理由是在這種情況下,VLAN1的STP BPDU(橋協議數據單元)會在未標記的情況下被髮送給IEEE STP MAC地址(0180. c200.0000)【N2P63】
====================================================================
Q&A:
VLAN 與 子網劃分的關係? 如果不同VLAN 使用不同子網 會是怎樣的呢?每個VLAN都必須處於同一個子網是爲什麼?(單臂和三層個有什麼不同?)
VLAN劃分廣播域,那麼廣播佔用帶寬的比例是多少呢?
VLAN的打標籤的過程的怎麼樣的?上次面試的那道題是爲什麼?
Accsee和trunk口 能不能通?
如何查看端口是access 還是trunk?
如何查看native vlan? 如何指定native vlan
Native vlan 和 PVID 一樣嗎?如何指定PVID
VTP可不可以有兩臺server模式的交換機
能否查看交換機中VLAN,端口等等數據庫信息
爲什麼二層交換機上,無法使用show ip arp 命令
Mac地址在交換機以及PC上的存活時間是怎樣的?
VTP修剪是怎麼的過程?
DTP與自適應是一回事嗎?
CCNP交換P65、P52的內容:P65 爲什麼分佈層不能直接相連呢?
如果採用全交換模式,那麼路由器應該連接在什麼位置呢?匯聚層(分佈層) ?核心層 ?
交換機爲什麼會有MAC地址?VLAN1的MAC地址對應的是哪個口?