1,問題描述
![交換機上連口分別為untagged和tagged的PC為何ping不通](http://p2.ttnews.xyz/loading.gif)
如上圖所示,兩臺交換機分別連接兩臺PC,LSW1的接口GE0/0/1的配置如下:
port hybrid tagged vlan 10
LSW2的接口GE0/0/1的配置如下:
port hybrid untagged vlan 10
發現兩臺不能ping通,如果將兩個接口的配置互換,兩臺PC可以ping通。
2,解決方案
![交換機上連口分別為untagged和tagged的PC為何ping不通](http://p2.ttnews.xyz/loading.gif)
如上圖所示,當LSW1的配置如下所示:
#
interface GigabitEthernet0/0/1
port hybrid tagged vlan 10
#
interface GigabitEthernet0/0/2
port link-type trunk
port trunk pvid vlan 10
port trunk allow-pass vlan 10
#
LSW2的配置如下所示:
#
interface GigabitEthernet0/0/1
port hybrid untagged vlan 10
#
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 10
#
現在模擬PC1開始ping PC2,PC1發出一個不帶tag的幀到LSW1的GE0/0/1口,該接口會打上缺省的VLAN ID,默認為1,1是默認在允許通過的VLAN ID列表裡,因此接收該報文,到LSW1的GE0/L0/2口,由於VLAN ID 1與缺省VLAN ID(本口已經通過port trunk pvid 10 修改為10)不同,且是該接口允許通過的VLAN ID,保持原有Tag 1,發送該報文;到達LSW2的GE0/0/2口時,由於此報文的VLAN ID 1在接口允許通過的VLAN ID(VLAN ID 1默認通過)列表裡,接收該報文,然後到達LSW2的GE0/0/1口,由於該口設置為untagged vlan 10,因此數據包將攜帶tag為1的幀發送給PC2,而PC是不能接受帶tag的幀的,所以PC1不能ping通PC2。
如果將端口配置改為如下:
LSW1的配置如下所示:
#
interface GigabitEthernet0/0/1
port hybrid untagged vlan 10
#
interface GigabitEthernet0/0/2
port link-type trunk
port trunk pvid vlan 10
port trunk allow-pass vlan 10
#
LSW2的配置如下所示:
#
interface GigabitEthernet0/0/1
port hybrid tagged vlan 10
#
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 10
#
仍然模擬PC1開始ping PC2,PC1發出一個不帶tag的幀到LSW1的GE0/0/1口,該接口會打上缺省的VLAN ID,默認為1,1是默認在允許通過的VLAN ID列表裡,因此接收該報文,到LSW1的GE0/L0/2口,由於VLAN ID 1與缺省VLAN ID(本口已經通過port trunk pvid 10 修改為10)不同,且是該接口允許通過的VLAN ID,保持原有Tag 1,發送該報文;到達LSW2的GE0/0/2口時,由於此報文的VLAN ID 1在接口允許通過的VLAN ID(VLAN ID 1默認通過)列表裡,接收該報文,然後到達LSW2的GE0/0/1口,由於該口設置為tagged vlan 10,因此攜帶tag為1的幀將去掉tag併發送給PC2。
PC2收到報文之後,將會回應一個不帶tag的報文給PC1,從PC1到達LSW2的GE0/0/1口,打上缺省的VLAN ID 1,而且缺省VLAN ID在允許通過的VLAN ID列表裡,接收該報文,報文到達LSW2的GE0/0/2口,而攜帶的VLAN ID 1與缺省VLAN ID 1相同,且是該接口允許通過的VLAN ID,去掉tag,發送該報文,因此報文去掉tag併到達LSW1的GE0/0/2口,由於此接口已將默認ID改為10,因此該報文將打上缺省的VLAN ID 10,並且在允許通過的VLAN ID列表裡,因此接受該報文,這是報文將攜帶的tag為10,併到達LSW1的GE0/0/1口,而該口配置為untagged vlan 10,因此該幀將去掉tag 10,併發送給PC1,因此兩臺PC之間可以ping通。如下所示。
本問題看起來非常的繞,事實上,本問題的關鍵在於LSW1的GE00/2口,由於華為交換機的端口缺省的VLAN ID為1,並且是默認通過的,而如果將端口的缺省VLAN ID修改之後,要注意報文從該接口接收和從該接口發出的不同區別,按照三種端口不同的接收和發送數據幀的處理方式,一步一步分析,就可以得出結論。
閱讀更多 王海軍老師 的文章