天天看點

VLAN之access,trunk,hybrid三種模式差別

  1. tag封包結構是在源mac位址和目的mac位址之後,加上了4bytes的vlan資訊,普通的PC網卡是不能識别 的。
  2. Access端口隻屬于1個VLAN,一般用于連接配接計算機端口。
  3. Trunk類型的端口可用于多VLAN通信。
  4. Hybrid類型的端口允許多VLAN通過,可以接收發送多VLAN封包,可用于交換機與交換機的連接配接,也可用于交換機和計算機的連接配接。
  5. Hybrid類型的端口和trunk端口在處理資料包時,方法是一樣的。唯一不同之處在于發送資料包時,hybrid端口可以允許多個VLAN的資料包發送時不打标簽,而truck端口隻允許預設vlan(native vlan或者default vlan)的資料包發送時不打标簽。
  6. Access端口隻屬于一個vlan, 是以它的預設VLAN就是它所在的VLAN, 不用設定。hybrid 端口 和trunk端口屬于多個VLAN, 是以需要設定預設VLAN, 預設情況下,它們的預設VLAN是VLAN 1.
  7. 如果設定了端口的預設VLAN ID, 當端口接收到不帶VLAN tag的資料包之後,則将資料包轉發到預設VLAN 所在的交換機端口;當端口發送帶有VLAN tag的資料包時,如果該資料包的VLAN ID與端口預設VLAN相同,則交換機将去掉資料包攜帶的VLAN tag, 然後轉發到該端口。
  8. 華為交換機的預設VLAN 被稱為PVID, 思科交換機則稱為Native VLAN.
  9. 交換機端口處理進出資料包過程如下:
  • Access 端口接收資料包:

    收到一個資料包,判斷是否有VLAN資訊,如果沒有則打上端口的Native VLAN ID, 并進行交換轉發。

    有人問了:如果有VLAN資訊呢?一般情況下不應該将access端口與帶有vlan的另一端口相連,因為access本來就是為接入普通計算機而設計的,而普通計算機的網卡發送資料包是不帶vlan的。如果由于配置錯誤将其連到了對端trunk端口,或者現在有些計算機的網卡已經可以收發帶有VLAN tag資料包,在這兩種情況下,我的了解是,如果trunk端口發來的資料的VLAN ID與Access端口的native vlan相同,則交換機轉發該資料包。如果trunk端口發來的資料包的VLAN ID與access端口的native vlan不同,則交換機丢棄該資料包。

  • Access 端口發送資料包:

    将資料包的VLAN資訊剝離,直接發送出去。

  • Trunk端口接收資料包:

    收到一個資料包,判斷是否有VLAN資訊,如果沒有則打上端口的Native VLAN ID,并進行交換轉發。

    如果有VLAN資訊,則判斷該trunk端口是否允許該VLAN的資料包進入,如果允許則轉發,否則丢棄。

  • Trunk端口發送資料包:

    比較端口的Native VLAN和發送資料包的VLAN資訊,如果兩者相等則剝離VLAN資訊,然後發送。如果不相等,則直接發送。

  • Hybrid端口接收資料包:

    收到一個資料包,判斷是否有VLAN資訊, 如果沒有則打上端口的Native VLAN ID, 并進行交換轉發。

    如果有VLAN資訊,則判斷該hybrid端口是否允許該VLAN的資料包進入,如果允許則轉發,否則丢棄。

  • Hybrid端口發送資料包:

    判斷該VLAN在本端口配置的屬性,如果屬性是untag, 則剝離VLAN tag再進行轉發。如果屬性是tag, 則直接發送。

有一點必須清楚,就是交換機内部在處理資料包時,所有的資料包一定是打上VLAN tag的,知道了這一點,那麼交換機處理VLAN的具體過程就很容易了解了。

舉例1:

    兩台交換機,一台端口配置trunk, native vlan為100, 另一台端口配置access, native vlan 為預設的1.

問: 連接配接到兩台交換機的PC, 能互通嗎? 為毛?

VLAN之access,trunk,hybrid三種模式差別