tagged和untagged遵循以下五條原則
1.
Tagged數據幀 | Tagged數據幀 | Untagged數據幀 | Untagged數據幀 | |
in | out | in | out | |
Tagged端口 | 原樣接收 | 原樣發送 | 按端口的pvid打 tag標記 |
按端口的pvid打 tag標記 |
Untagged端口 | 丟棄 | 去掉tag標記發送 | 按端口的pvid打 tag標記 |
發送 |
2. 端口的tagged和untagged設置,並非對於物理端口的設置,而是對屬於這個物理端口的vlan的設置,也就是說一個vlan可以在這個端口下是tag的,另一個vlan在這個端口下untagged的
3. 每個端口只有一個pvid,而且和這個pvid相同tag的vid,在這個端口上一定是untagged的
4. 端口的pvid參數,作用是當接收到沒有標簽的數據包時進行打標操作,不影響設備內部的數據轉發
5. 如果擁有和tag標記相同的vid的物理端口,不管這個vid在這個物理端口是untagged的還是tagged的,都可以接收來自內部的有這個tag標記的數據包
6. 如果擁有和tag標記相同的vid的物理端口,只有當這個vid在這個物理端口是tagged的時候,才能夠接收來自外部的有這個tag標記的數據包
下面是實際情況,港灣6808下面連接了港灣24E
第一種情況:
1.港灣6808上的1/1端口連接港灣24E的25端口,在1/1端口上vlan 2是untagged的,vlan3是tagged的
2.港灣24E的25端口上vlan3是tag的,vlan2047(默認vlan)是untagged的
3.配置港灣24E的2,3,4,5為vlan3的untagged端口,其他端口不做配置
Harbour_6808(config)# show running-config
!VLAN config
interface vlan Test2 2
add port 1/1 untagged
ip address 192.168.2.1 255.255.255.0
exit
interface vlan Test3 3
add port 1/1 tagged
ip address 192.168.3.1 255.255.255.0
exit
Harbour_24E(config)# show running-config
!Vlan config
create vlan Test3 tag 3
config vlan Test3 add port 25 tagged
config vlan Test3 add port 2,3,4,5 untagged
config port 2 inputvlan Test3
config port 3 inputvlan Test3
config port 4 inputvlan Test3
config port 5 inputvlan Test3
config ipaddress 192.168.2.230 255.255.255.0
Harbour_24E (config)# show vlan
VLAN ID : 2047
Name : default
Mac address : 00:05:3b:0a:62:23
Tagged Ports :
Untagged Ports : 1 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Description : normal
VLAN ID : 3
Name : Test3
Mac address : 00:05:3b:0a:62:23
Tagged Ports : 25
Untagged Ports : 2 3 4 5
Description : normal
做完上述配置后,在港灣24E上查看vlan相關信息,發現2,3,4,5端口是vlan3的untagged,其他端口是vlan2047(默認vlan)的untagged口
PC2自動獲取地址流程如下:
1.DHCP工作流程是:DHCP Discover,DHCP Offer,DHCP request和DHCP Ack
2.流程1,PC2使用DHCP獲取地址時,會往端口2廣播DHCP Discover報文,港灣24E上的端口2上vlan3是untagged的,所以從該端口接收數據時,會為該數據打上vlan3的vlan信息,這里遵循的是原則1
3.流程2,然后發送到本地的vlan3,同時也會發送到和vlan3有相同vid的物理端口,這里遵循的是原則5。如果vlan3在某個端口上是untagged的,會剝離vlan信息發送出去,如果在某個端口是tagged的,會直接發送有vlan3信息的數據包。這里遵循的是原則1,這里會在端口25上發送有vlan3信息的數據包
4.港灣6808從對端收到有vlan3信息的數據包,因為在本地端口1/1上,vlan3是tagged的,所以可以接收處理該數據包,這里遵循的是原則6。然后發送到本地的vlan3,同時也會發送到和vlan3有相同vid的物理端口,這里遵循的是原則5。
5.流程3,港灣6808上設置了兩個DHCP池,vlan3的DHCP池對應的網關地址是192.168.3.1/24,所以港灣6808上的vlan3會回應該DHCP Discover報文。因為在端口1/1上,vlan3是tagged的,所以會為該數據包添加vlan3的vlan信息
6.流程4,港灣24E從對端收到有vlan3信息的數據包,因為在本地端口1/1上,vlan3是tagged的,所以可以接收處理該數據包,這里遵循的是原則6。然后會發送到本地的vlan3,同時也會發送到和vlan3有相同vid的物理端口。如果vlan3在某個端口上是untagged的,會剝離vlan信息發送出去,如果在某個端口是tagged的,會直接發送有vlan3信息的數據包。這里遵循的是原則1,這里會在端口2上發送剝離vlan信息的數據包
7.DHCP的其他數據包類似如上流程
第二種情況是:更改配置港灣24E的2為vlan3的tagged端口
Harbour_24E(config)# config vlan Test3 add port 2 tagged
C119_5Floor_88_230(config)# show vlan
VLAN ID : 2047
Name : default
Mac address : 00:05:3b:0a:62:23
Tagged Ports :
Untagged Ports : 1 2 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Description : normal
VLAN ID : 3
Name : Test3
Mac address : 00:05:3b:0a:62:23
Tagged Ports : 2 25
Untagged Ports : 3 4 5
PC2自動獲取地址流程如下:
1.DHCP工作流程是:DHCP Discover,DHCP Offer,DHCP request和DHCP Ack
2.流程1,PC2使用DHCP獲取地址時,會往端口2廣播DHCP Discover報文,港灣24E上的端口2上vlan2047是untagged的,所以從該端口接收數據時,會為該數據打上vlan2047的vlan信息,這里遵循的是原則1
3.流程2,發送到本地的vlan2047,同時也會發送到有和vlan2047相同vid的物理端口,這里遵循的是原則5。如果vlan2047在某個端口上是untagged的,會剝離vlan信息發送出去,如果在某個端口是tagged的,會直接發送帶有vlan2047信息的數據包。這里遵循的是原則1,這里會1,3,25上發送有vlan2047信息的數據包,發送剝離vlan信息的數據包
4.港灣6808從對端收到沒有vlan信息的數據包,因為在本地端口1/1上,vlan2是untagged的。然后發送到本地的vlan2,同時也會發送到和vlan2有相同vid的物理端口,這里遵循的是原則5。
5.流程3,港灣6808上設置了兩個DHCP池,vlan2的DHCP池對應的網關地址是192.168.2.1/24,所以港灣6808上的vlan2會回應該DHCP Discover報文。因為在端口1/1上,vlan2是untagged的,所以發送DHCP Offer時發送不帶有vlan信息的數據包
6.流程4,港灣24E從對端收到沒有vlan信息的數據包,因為在本地端口1/1上,vlan2047是untagged的。然后會發送到本地的vlan2047,同時也會發送到和vlan2047有相同vid的物理端口。如果vlan2047在某個端口上是untagged的,會剝離vlan信息發送出去,如果在某個端口是tagged的,會直接發送帶有vlan2047信息的數據包。這里遵循的是原則1,這里會在1,2,3上發送剝離vlan信息的數據包
7.DHCP的其他數據包類似如上流程