天天看點

vlan pvid tag untag

pvid英文解析為port-base vlan 是基于端口的vlan id.

1.pvid 不是加在幀頭的标記,而是端口的屬性。

怎麼了解呢,加在幀頭的标記叫VLAN identifier(802.1q術語),隻是常常加在幀頭的辨別值和pvid 值一樣而已。是以pvid隻是端口的屬性,就象端口的speed一樣。

2。pvid 是 用來辨別端口接收到的未标記的幀。

也就是說,當端口收到一個未标記的幀時,就把該幀打上vlan id,這個id值等于pvid的值,然後轉發到VID和PVID相等的VLAN 中。

3.

幀從端口出去時,如果幀頭中的VID和端口的PVID值相同,就把這個辨別去掉,再送出去。

下面是交換機接各種口收到和發送資料幀采取的動作

Access (接收) Tagged = PVID 不接收 注:部分高端産品可能接收。

Access (接收) Tagged =/ PVID 不接收 注:部分高端産品可能接收。

Access (接收) Untagged 接收 增加tag=PVID 從PC

Access (發送) Tagged = PVID 轉發 删除tag

Access (發送) Tagged =/ PVID 不轉發 不處理

Access (發送) Untagged 無此情況 無此情況 無此情況

Trunk (接收) Tagged = PVID 接收 不修改tag

Trunk (接收) Tagged =/ PVID 接收 不修改tag

Trunk (接收) Untagged 接收 增加tag=PVID

Trunk (發送) Tagged = PVID If Passing then 轉發 删除tag

Trunk (發送) Tagged =/ PVID If Passing then 轉發 不修改tag

Trunk (發送) Untagged 無此情況 無此情況 無此情況(注)

Hybrid (接收) Tagged = PVID 接收 不修改tag 對端是trunk

Hybrid (接收) Tagged =/ PVID 接收 不修改tag 對端是trunk

Hybrid (接收) Untagged 接收 增加tag=PVID 類Trunk

Hybrid (發送) Tagged = PVID Tag 和 untag 中列出的vlan可以passing 看Tag項和untag項

Hybrid (發送) Tagged =/ PVID Tag 和 untag 中列出的vlan可以passing 看Tag項和untag項

Hybrid (發送) Untagged 無此情況 無此情況 無此情況(注)

注:資料幀在交換機内部轉發過程中不會改變資料中的tag也不會删除資料幀中的tag; 改變資料幀中的tag隻發生在資料幀進入或離開端口時。

下面來解釋上面的幾種狀态。

1,Access (接收) Tagged = PVID 不接收 注:部分高端産品可能接收。

2,Access (接收) Tagged =/ PVID 不接收 注:部分高端産品可能接收。

3,Access (接收) Untagged 接收 增加tag=PVID 從PC

(1),這種狀态一般不會發生,在如下的情況會發生accsess端口收到帶tag=pvid的情況。pc1-----access(switch)trunk----------access(switch2)access------pc2

所有taccess端口都處于同一個vlan中。

pc發送給switch1的資料幀将增加tag=pid然後轉發到switch的trunk口參照“Trunk (發送) Tagged =/ PVID If Passing then 轉發 不修改tag”資料幀将會原樣轉發到swi

tch2的access端口。在這裡就出現了我們的第一種情況,Access (接收) Tagged = PVID 不接收.

第2個很容易明白access當然不會接收tagg 不等于pvid的資料幀,不然我們劃分vlan就沒有任何意義。(無法隔離廣播域)

第三種情況是我們最常用的access端口收到pc發送的untag資料幀會增加tag=pvid

下面來看看access發送資料幀的三種情況。

第一種情況比較常見在如下拓撲中

pc1-------access1(switch)access2-----pc2

過程大緻如下,

pc1的untag包到達access1打上Pvid轉發到access2發現發送過來的資料幀tag=pvid 會删除tag轉發。

第二種情況一般不會發生(還真想不出來哪種情況下會發生)

第三種情況  無此情況無此情況

下面來看看trunk口的情況

Trunk口的情況比較容易比較容易了解就不一一解釋了。

用幾個例子來說明上面遇到的幾種情況。

pc1-----fa0/1(switch1)fa0/2------fa0/3(switch2)fa0/4-------pc2

switch上每個端口都是access端口,switch1的端口都加入vlan 10 switch2的端口都加入vlan 20;pc1和pc二的IP位址在同一網段。經測試pc1可以正常通路

pc2下面我們來看看資料轉發的過程。

fa0/1 :Access (接收) Untagged 接收 增加tag=10  然後轉發到fa0/2

fa0/2      :Access (發送) Tagged = 10轉發 删除tag

fa0/3     :Access (接收) Untagged 接收 增加tag=20 然後轉發到fa0/4

fa0/4 :   Access (發送) Tagged = 20 轉發 删除tag

PC:       收到untagged包可以正常接收。

pfa0/1  fa0/2 加入vlan 10 fa0/3(trunk) fa0/4(vlan1)pc1和pc二的IP位址在同一網段。經測試pc1可以正常通路pc2

過程如下:

fa0/1:Access (接收) Untagged 接收 增加tag=10  然後轉發到fa0/2

fa0/2:Access (發送) Tagged = 10轉發 删除tag

fa0/3:Trunk (接收) Untagged 接收 增加tag=PVID(預設PVID=1)

fa0/4:Access (發送) Tagged = 10轉發 删除tag

pc: 正常接收到pc1的資料。

繼續閱讀