1. 程式人生 > >華為:Access、Hybrid和Trunk三種模式的理解

華為:Access、Hybrid和Trunk三種模式的理解

1.關於tag和untag:

    tag, untag以及交換機的各種埠模式我一直沒怎麼明白,這裡整理一下。

    untag就是普通的Ethernet報文,普通PC機的網絡卡是可以識別這樣的報文進行通訊;

    tag報文結構的變化是在源mac地址和目的mac地址後,加上了4bytes的vlan資訊,也就是vlan tag頭,一般來說這樣的報文普通PC機的網絡卡是不能識別的;

2.乙太網埠的三種鏈路型別:Access、Hybrid和Trunk:

  •     Access型別的埠只能屬於1個VLAN, 一般用於連線計算機的埠;
  •     Trunk型別的埠可以允許多個VLAN通過,可以接收和傳送多個VLAN的報文,一般用於交換機之間的連線埠;
  •     Hybrid型別的埠可以允許多個VLAN通過,可以接收和傳送多個VLAN的報文,可以用於交換機之間的連線,也可以用於連線使用者的計算機。

    Hybrid埠和Trunk埠在接收資料時,處理方法是一樣的,唯一不同之處在於傳送資料時:Hybrid埠可以允許多個VLAN的報文傳送時不打標籤,而Trunk埠只允許預設VLAN的報文傳送時不打標籤。

    在這裡大家要理解埠的預設VLAN這個概念:

    Access埠只屬於1個VLAN,所以它的預設VLAN就是它所在的VLAN,不用設定;而Hybrid埠和Trunk埠屬於多個VLAN, 所以需要設定預設VLAN ID。預設情況下,Hybrid埠和Trunk埠的預設VLAN為VLAN 1;如果設定了埠的預設VLAN ID,當埠接收到不帶VLAN tag的報文後,則將報文轉發到屬於預設VLAN的埠;當埠傳送帶有VLAN tag的報文時,如果該報文的VLAN ID與埠預設的VLAN ID相同,則系統將去掉報文的VLAN tag,然後再發送該報文。

注:對於華為交換機,預設VLAN被稱為“Pvid Vlan”,對於思科交換機預設VLAN被稱為“Native Vlan”。

3.交換機接口出入資料處理過程:

  • Access埠收報文:
            收到電腦或者其他裝置的一個報文,判斷是否有VLAN資訊:如果沒有則打上埠的PVID, 並進行交換轉發;如果有則直接丟棄(預設);
  • Access埠發報文:
            將報文的VLAN資訊剝離, 直接傳送出去;
  • Trunk埠收報文
            收到一個報文,判斷是否有VLAN資訊:如果沒有則打上埠的PVID,並進行交換轉發;如果有則判斷該Trunk埠是否允許該VLAN的資料進入:如果可以則轉發,否則丟棄;
  • Trunk埠發報文:
            比較埠的PVID和將要傳送報文的VLAN資訊,如果兩者相等則剝離VLAN資訊,再發送,如果不相等則直接傳送;
  • Hybrid埠收報文:
            收到一個報文,判斷是否有VLAN資訊:如果沒有則打上埠的PVID, 並進行交換轉發;如果有則判斷該Hybrid埠是否允許該VLAN的資料進入,如果可以則轉發,否則丟棄(此時埠上的untag配置是不用考慮的,untag配置只是對傳送報文時起作用)。
  • Hybrid埠發報文
            1、判斷該VLAN在本埠的屬性(disp interface即可看到該埠對哪些VLAN是untag,哪些VLAN是tag);             2、如果是untag則剝離VLAN資訊,再發送,如果是tag則直接傳送; 以下案例可以幫助大家深入理解華為交換機的Hybrid埠模式:
  1. [Switch-Ethernet0/1]int e0/1  
  2. [Switch-Ethernet0/1]port link-type hybrid  
  3. [Switch-Ethernet0/1]port hybrid pvid vlan 10  
  4. [Switch-Ethernet0/1]port hybrid vlan 10 20 untagged  
  5. [Switch-Ethernet0/1]int e0/2  
  6. [Switch-Ethernet0/2]port link-type hybrid  
  7. [Switch-Ethernet0/2]port hybrid pvid vlan 20  
  8. [Switch-Ethernet0/2]port hybrid vlan 10 20 untagged  

此時 inter e0/1和 inter e0/2下所接的PC是可以互通的,但互通時資料所走的往返vlan是不同的。以下以inter e0/1下的所接的pc1訪問inter e0/2下的所接pc2為例進行說明:
pc1所發出的資料,由inter0/1所在的pvid vlan10封裝vlan 10的標記後送入交換機,交換機發送inter e0/2允許vlan 10的資料通過,於是資料被轉發到inter e0/2上,由於inter e0/2上的vlan 10是untagged的,於是交換機此時去除資料包上的vlan 10的標記,以普通包的形式發給pc2,此時pc1->pc2走的是vlan 10。 再來分析pc2給pc1回包的過程: pc2所發出的資料,由inter0/2所在的pvid vlan 20封裝vlan 20的標記後送入交換機,交換機發送inter e0/1允許vlan 20的資料通過,於是資料被轉發到inter e0/1上,由於inter e0/1上的vlan 20是untagged的,於是交換機此時去除資料包上的vlan 20的標記,以普通包的形式發給pc1,此時pc2->pc1走的是vlan 20。