交換機埠untaged、taged、trunk、access 的區別
首先,將交換機的型別進行劃分,交換機分為低端(SOHO級)和高階(企業級)。
其兩者的重要區別就是低端的交換機,每一個物理埠為一個邏輯埠,而高階交換機則是將多個物理埠捆綁成一個邏輯埠再進行的配置的。
cisco網路中,交換機在區域網中最終穩定狀態的介面型別主要有四種:access/ trunk/ multi/ dot1q-tunnel。
1、access: 主要用來接入終端裝置,如PC機、伺服器、列印伺服器等。
2、trunk: 主要用在連線其它交換機,以便線上路上承載多個vlan。
3、multi: 在一個線路中承載多個vlan,但不像trunk,它不對承載的資料打標籤。主要用於接入支援多vlan的伺服器或者一些網路分析裝置。現在基本不使用此類介面,在cisco的網路裝置中,也基本不支援此類介面了。
4、dot1q-tunnel: 用在Q-in-Q隧道配置中。
Cisco網路裝置支援動態協商埠的工作狀態,這為網路裝置的實施提供了一定的方便(但不建議使用動態方式)。cisco動態協商協議從最初的DISL(Cisco私有協議)發展到DTP(公有協議)。根據動態協議的實現方式,Cisco網路裝置介面主要分為下面幾種模式:
1、switchport mode access: 強制介面成為access介面,並且可以與對方主動進行協商,誘使對方成為access模式。
2、switchport mode dynamic desirable: 主動與對協商成為Trunk介面的可能性,如果鄰居介面模式為Trunk/desirable/auto之一,則介面將變成trunk介面工作。如果不能形成trunk模式,則工作在access模式。這種模式是現在交換機的預設模式。
3、switchport mode dynamic auto: 只有鄰居交換機主動與自己協商時才會變成Trunk介面,所以它是一種被動模式,當鄰居介面為Trunk/desirable之一時,才會成為Trunk。如果不能形成trunk模式,則工作在access模式。
4、switchport mode trunk: 強制介面成為Trunk介面,並且主動誘使對方成為Trunk模式,所以當鄰居交換機介面為trunk/desirable/auto時會成為Trunk介面。
5、switchport nonegotiate: 嚴格的說,這不算是種介面模式,它的作用只是阻止交換機介面發出DTP資料包,它必須與switchport mode trunk或者switchport mode access一起使用。
6、switchport mode dot1q-tunnel: 配置交換機介面為隧道介面(非Trunk),以便與使用者交換機的Trunk介面形成不對稱鏈路。
什麼是鏈路型別?
vlan的鏈路型別可以分為接入鏈路和幹道鏈路。
(1)接入鏈路(access link)指的交換機到使用者裝置的鏈路,即是接入到戶,可以理解為由交換機向用戶的鏈路。由於大多數電腦不能傳送帶vlan tag的幀,所以這段鏈路可以理解為不帶vlan tag的鏈路。
(2) 幹道鏈路(trunk link)指的交換機到上層裝置如路由器的鏈路,可以理解為向廣域網走的鏈路。這段鏈路由於要靠vlan來區分使用者或者服務,所以一般都帶有vlan tag。
什麼是埠型別?
埠型別在以前主要分為兩種,基本上用的也是access和trunk這兩種埠。
(1)access埠:它是交換機上用來連線使用者電腦的一種埠,只用於接入鏈路。例如:當一個埠屬於vlan 10時,那麼帶著vlan 10的資料幀會被髮送到交換機這個埠上,當這個資料幀通過這個埠時,vlan 10 tag 將會被剝掉,到達使用者電腦時,就是一個乙太網的幀。而當用戶電腦傳送一個乙太網的幀時,通過這個埠向上走,那麼這個埠就會給這個幀加上一個vlan 10 tag。而其他vlan tag的幀則不能從這個埠上下發到電腦上。
(2)trunk埠:這個埠是交換機之間或者交換機和上層裝置之間的通訊埠,用於幹道鏈路。一個trunk埠可以擁有一個主vlan和多個副vlan,這個概念可以舉個例子來理解:例如:當一個trunk埠有主vlan 10 和多個副vlan11、12、30時,帶有vlan 30的資料幀可以通過這個埠,通過時vlan 30不被剝掉;當帶有vlan 10的資料幀通過這個埠時也可以通過。如果一個不帶vlan 的資料幀通過,那麼將會被這個埠打上vlan 10 tag。這種埠的存在就是為了多個vlan的跨越交換機進行傳遞。
也可以看出,這兩種鏈路方式恰好對應兩種埠方式,理解起來也不算困難。原理理解了,當看到交換機時,配置幾遍就完全明白了。
access和truck 主要是區分VLAN中交換機的埠型別
truck埠為與其它交換機埠相連的VLAN匯聚口,access埠為交換機與VLAN域中主機相連的埠
trunk一般是打tag標記的,一般只允許打了該tag標記的vlan 通過,所以該埠可以允許多個打tag標記的vlan 通過,而access埠一般是untag不打標記的埠,而且一個access vlan埠只允許一個access vlan通過.
access,trunk,hybid是三種埠屬性;
具有access性質的埠只能屬於一個vlan,且該埠不打tag;
具有trunk性質的埠可以屬於多個vlan,且該埠都是打tag的;
具有hybid性質的埠可以屬於多個vlan,至於該埠在vlan中是否打tag由使用者根據具體情況而定;
交換機三種埠模式Access、Hybrid和Trunk的理解
埠有三種模式:access,hybrid,trunk。access性質的埠只能屬於一個vlan,且該埠不打tag,trunk可以屬於多個vlan,可以接收和傳送多個vlan的報文,一般用於交換機之間的連線;hybrid也可以屬於多個vlan,可以接收和傳送多個vlan的報文,可以用於交換機之間的連線也可以用於交換機和使用者計算機之間的連線。trunk和hybrid的區別主要是,hybrid埠可以允許多個vlan的報文不打標籤,而 trunk埠只允許預設vlan的報文不打標籤,同一個交換機上不能hybrid和trunk並存。
Tag,untag以及交換機的各種埠模式是網路工程技術人員除錯交換機時接觸最多的概念了,然而筆者發現在實際工作中技術人員往往對這些概念似懂非懂,筆者根據自己的理解再結合一個案例,試圖向大家闡明這些概念untag就是普通的ethernet報文,普通PC機的網絡卡是可以識別這樣的報文進行通訊;
tag報文結構的變化是在源mac地址和目的mac地址之後,加上了4bytes的vlan資訊,也就是vlan tag頭;一般來說這樣的報文普通PC機的網絡卡是不能識別的
帶802.1Q的幀是在標準乙太網幀上插入了4個位元組的標識。其中包含:
2個位元組的協議識別符號(TPID),當前置0x8100的固定值,表明該幀帶有802.1Q的標記資訊。
2個位元組的標記控制資訊(TCI),包含了三個域。
Priority域,佔3bits,表示報文的優先順序,取值0到7,7為最高優先順序,0為最低優先順序。該域被802.1p採用。
規範格式指示符(CFI)域,佔1bit,0表示規範格式,應用於乙太網;1表示非規範格式,應用於Token Ring。
VLAN ID域,佔12bit,用於標示VLAN的歸屬。
乙太網埠有三種鏈路型別: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”
交換機接口出入資料處理過程如下:
Acess埠收報文:
收到一個報文,判斷是否有VLAN資訊:如果沒有則打上埠的PVID,並進行交換轉發,如果有則直接丟棄(預設)
Acess埠發報文:
將報文的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埠模式:
[Switch-Ethernet0/1]int e0/1
[Switch-Ethernet0/1]port link-type hybrid
[Switch-Ethernet0/1]port hybrid pvid vlan 10
[Switch-Ethernet0/1]port hybrid vlan 10 20 untagged
[Switch-Ethernet0/1] int e0/2
[Switch-Ethernet0/2]port link-type hybrid
[Switch-Ethernet0/2]port hybrid pvid vlan 20
[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封裝vlan10的標記後送入交換機,交換機發現inter e0/2允許vlan
10的資料通過,於是資料被轉發到inter e0/2上,由於inter e0/2上vlan
10是untagged的,於是交換機此時去除資料包上vlan10的標記,以普通包的形式發給pc2,此時pc1->p2走的是vlan10
再來分析pc2給pc1回包的過程,pc2所發出的資料,由inter0/2所在的pvid
vlan20封裝vlan20的標記後送入交換機,交換機發現inter e0/1允許vlan 20的資料通過,於是資料被轉發到inter
e0/1上,由於inter e0/1上vlan
20是untagged的,於是交換機此時去除資料包上vlan20的標記,以普通包的形式發給pc1,此時pc2->pc1走的是vlan20
Cisco 交換機 裝置 access、trunk、hybrid 埠的處理流程
為交換機裝置上access、trunk、hybrid埠的處理流程:注:資料幀在交換機內部處理時,均帶有vlan tag。
a)access埠
傳送(從交換機內部往外發送):
帶有vlan tag:刪除tag後,傳送
不帶vlan tag:不可能出現
接收:
帶有vlan tag:若該tag等於該access埠的pvid,則可以接收,進入交換機內部
不帶vlan tag:新增該access埠的pvid,進入交換機內部
b)trunk埠(允許傳送native VLAN資料的時候,可以不加tag)
傳送(從交換機內部往外發送):
帶有vlan tag:若tag等於該trunk埠的pvid,則刪除tag後傳送;否則保留tag直接傳送
不帶vlan tag:不可能出現
接收:
帶有vlan tag:保留該tag,進入交換機內部
不帶vlan tag:新增該trunk埠的pvid,進入交換機內部
c)hybrid埠(允許傳送多個VLAN資料的時候,可以不加tag)
傳送(從交換機內部往外發送):
帶有vlan tag:是否帶tag進行傳送,取決於使用者配置(使用者可以配置tagged list,untagged list)
不帶vlan tag:不可能出現
接收:
帶有vlan tag:保留該tag,進入交換機內部
不帶vlan tag:新增該hybrid埠的pvid,進入交換機內部
在裝置上允許trunk和hybrid埠同時存在,但是不能將hybrid埠直接改為trunk埠(hybrid--》access---》trunk),反之亦然(早期是這樣,現在不知道改沒改)。id埠可以允許多個vlan的資料不帶tag,而802.1q的trunk只能是native vlan(即pvid)對應的vlan的資料不帶tag,應該說hybrid可以實現trunk埠的特性。實際使用時都可以用hybrid埠,而不用trunk。
原文連結:http://blog.chinaunix.net/uid-12427199-id-169985.html