vmware虛擬交換機二層詳解

一、背景介紹

實驗室進了一批新設備,計劃用vmware搭建集羣,使用華爲S5700三層交換機將管理與業務網分離,架構拓撲如下:
vmware虛擬交換機二層詳解
物理交換機的1--12口爲管理口,端口類型爲access,pvid爲10;物理交換機13--20口爲業務口,端口類型爲trunk,pvid爲20;21--24口爲物理交換機上聯接口,網關位於三層交換機的vlanif接口上

二、問題描述

配置完成後,管理網絡通信正常,但此時發現業務網絡通信異常,問題如下:
規劃業務口走vlan20,所以,在業務的虛擬交換機端口組上給的VID是20
vmware虛擬交換機二層詳解
業務口上聯至物理交換機的13口,鏈路狀態是TRUNK,物理接口配置如下:
vmware虛擬交換機二層詳解
業務網絡的網關在物理交換機的vlanif20口上
vmware虛擬交換機二層詳解
此時發現,這麼配置後VM沒法ping通網關,如果把虛擬交換機端口組的VID改成0或者4095,VM都可以ping通網關

三、問題定位

仔細觀察虛擬交換機,發現數據包從vm出來後2次經過了虛擬交換機,並不是之前以爲的1次,標記1處的vid可以在端口組上設置,標記2處的端口類型與pvid在vmware產品中有默認設置,不允許用戶修改
vmware虛擬交換機二層詳解
通過實踐得出結論,標記處2的端口類型爲trunk,且trunk pvid爲1,此時的數據報文傳輸如下圖所示:
vmware虛擬交換機二層詳解
此時入方向的二層傳輸路徑爲:

  1. vm發出純以太網幀
  2. 進入虛擬交換機時,打上tag20
  3. 離開虛擬交換機時,trunk允許報文帶tag20通過
  4. 進入物理交換機時,trunk允許報文帶tag20進入交換模塊

此時報文已經進入物理交換機的內部,數據在返回時二層傳輸路徑爲:

  1. 此時報文在物理交換機內部tag爲20,且物理交換機trunk口的pvid也爲20,所以報文在離開物理交換機端口時剝離tag,以純以太網幀離開物理交換機
  2. 進入虛擬交換機時,打上trunk口的pvid,此時tag爲1
  3. 但vm連接虛擬交換機的端口組tag爲20,所以不通

四、解決方法

在明白了問題點後,按照上面數據報文的流經過程,就能解釋出爲什麼將虛擬交換機端口組(標籤1)處的vid設置爲0或者4095可以正常通信,而根據規劃,業務網絡的vid爲20,此時只需要將物理交換機trunk口的pvid改爲1,就可以正常通信,具體的通信過程爲:
vmware虛擬交換機二層詳解

  1. vm發出純以太網幀
  2. 經過虛擬交換機端口組時,打上tag20
  3. 攜帶tag20離開虛擬交換機trunk端口
  4. 攜帶tag20進入物理交換機內部
  5. 攜帶tag20離開物理交換機trunk端口
  6. 攜帶tag20通過虛擬交換機trunk端口,進入交換模塊
  7. 離開虛擬交換機access端口時,剝離tag20,以純以太網幀送往vm

五、總結

通過上述特徵,可以得出以下幾個結論:

  1. 所有進入交換機內部的報文都是攜帶tag的
  2. vmware虛擬交換機的上行口儘管不能配置,端口類型爲trunk,且pvid爲1,允許所有vlan通過
  3. 虛擬交換機的端口組vid爲0時,端口類型爲access,pvid爲1;vid爲4095時,端口類型爲trunk,pvid爲1,且允許所有vlan通過(vid4095之前有文章介紹,此處不再贅述)

vmware虛擬交換機二層詳解

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章