Switch設定PVID、VID、Tag\Untag

1.PVID(Port VLAN ID)

Untag的port可以轉發哪個VLAN的封包(如果是Tag port則例外) 例如: 此port的PVID = 1,代表此port可以轉發VLAN1的封包,因為Untag的封包進入port後,會被標上VID1。

2.VID(Vlan ID)

VLAN內的Port可以接收發自這個VLAN的封包

例如: 此port的VID = 2,代表此port可以接收VLAN2的封包。

PVID與VID範例 :

當Port1同時屬於VLAN1、VLAN2和VLAN3時,而它的PVID為1,那麽Port1 可以接收到VLAN1,2,3的封包,但發出的封包只能發到VLAN1中。

3.UnTag

此封包不帶Tag,意思不帶VLAN ID。

4.Tag

此封包帶Tag,意思帶VLAN ID。

5.untagged port

此port轉發出的封包上都沒有Tag (untagged)。若有Tag的封包進入switch,則其經過untagged port時,Tag將被去除。(用於一般設備、電腦)

6.tagged port

從此port轉發出的封包上都將有Tag (tagged)。若有非Tag的封包進入Switch,則其經過tagged port時,Tag將被加上。將使用在ingress(流入) 端口上的pvid設定作为Tag的vlan id。(用於交換機與交換機之間傳輸)


舉例1:

同一台Switch 24 port 分三個VLAN,第port 24連到firewall,各個VLAN之間不能互通,但全透過port 24上網。

設定方式

1.分別設定VLAN1 : 1-8&24、VLAN2 : 9-16&24、VLAN3 :17-23&24、VLAN4 :1-24

2.設定PVID及VID  如下圖所示

說明:

PC1接在Port1,PC1發送一個Untag的封包從Port1進入,Port1的PVID=1,此Untag的封包則變成帶VID=1的tag封包,在switch內移動,可移動範圍為VID=1的port,所以Port 1-8、24可通行也可透過port 24 連接到firewall上網。

而防火牆透過port 24進入的Untag的封包,因Port 24 的PVID=4

此Untag的封包則變成帶VID=4的tag封包,在switch內移動,可移動範圍為VID=4的port,所以Port 1-24 都可通行,所以port 24可以跟port 1 通。

補充 :  untagged port  &  tagged port

PC1接在Port1,PC2接在Port5,因為這兩個port都是untagged port,所以PC1的Untag的封包從Port1的進入後帶上VID1的tag,要從Port5出來時,因為untagged port所以會將Tag移掉,再把Untag的封包交給PC2。

tagged port則不會將Tag移掉,會將封包交到正確的VLAN。


舉例2:

2台Switch都切2個VLAN,相同VLAN要通,但是如果依照下圖

這樣接,雖然VLAN切開,但是還是會造成loop

解決方式只能移掉其中一條實體線路,才能解決loop問題

被移除掉線的那個VLAN則會無法通訊,這時必須要依靠剩下

的那條線路,讓那條線路同時走2個VLAN的封包,必須依靠

VLAN TAG(802.1Q)來達成。

修改後如下圖

設定方式如下:

1. Switch1切2個VLAN,VLAN1跟VLAN2。

2. Switch2也切2個VLAN,VLAN1跟VLAN2。

3. 要注意要互通的同一個VLAN要記的VID要一樣,所以SWITCH1的VLAN1跟SWITCH2的        VLAN1要互通,所以VID都是1,相對的另外2個SWITCH的VLAN2的VID都要設定2。

4.這樣設定後2台SWITCH的VLAN1就會通了,但是VLAN2沒有接線路,2台SWITCH的VLAN2   不會通,再來就是設定tag了。

5. 上面提到VLAN2要通,需要藉VLAN1的實體線路來走,那條實體線路是由SWITCH1的Port2接到SWITCH2的Port1,這2個port都是VLAN1的Utag port,這時必須分別將Switch1的port2也加入SWITCH1的VLAN2並設定tag port,Switch2的port1加入SWITCH2的VLAN2並設定tag port,這樣就可以藉由VLAN1的實體線路來走VLAN2的封包。

說明:

依照上面提到VID與PVID的功能,VID代表可以接受的VLAN,所以當SWITCH1的Port2跟SWITCH2的Port1也加入VLAN2代表它也能接收VID2的封包,所以才能通時接收2個VLAN的封包。

但是為何要設tag的原因,則跟PVID有關,一個port可以加入多個VLAN,所有它會有多VID,但是PVID只能一個,PVID主要功能上面有說過,所以原本實體線路接的那2個port是VLAN1,所以PVID都是1,它只能轉發VLAN1的封包,不能轉發VLAN2的封包,所以必須設定Tag port它能轉發其他VLAN的封包。

 

補充 :

為何VLAN1不需設定tag port,就可以達成2台Switch交換互通封包,原因是vlan1是預設的,PVID剛好也都是1,untag port的發送及接收行為如下說明:

Switch1 的port2發送封包時將tag拿掉,才發送出去,此時封包沒有任何tag

Switch2 的port1接收封包時會判斷是否有tag,如果有則直接丟棄,如果沒有則會打上該port 的PVID,並進行轉發,該port也是vlan1所以PVID為1,所以就轉發到VLAN1各port,這就是為什麼可以互通原因。

而為什麼VLAN2一定要設定tag Port,如果不設定則會像VLAN1一樣,封包發出去後是沒tag,當接收時PVID是1,封包只會送到VLAN1,VLAN2是收不到的,有人會想想如果該port的PVID設定2,是否VLAN2就會收到,這樣是沒錯,但是前面有提到1個Port可以加到多個VLAN,但是只能有一個PVID,所以才需要tag port接收跟發送都帶VLAN tag ,封包則都會送到該送的VLAN。

Author: admlplmaduty

發佈留言