範例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的封包(請參考tag port說明)
補充說明
為何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。
20170727