接下來就讓咱們來依次學習交換機三種不一樣端口的特徵。首先說幾個重要過的概念: 網絡
3.1 VLAN的幾個重要概念介紹 ide
1)PVID:Port VLAN ID,指端口的卻省VLAN ID。Hybrid端口和Trunk端口屬於多個VLAN,因此須要設置缺省VLAN ID。缺省狀況下,Hybrid端口和Trunk端口的缺省VLAN爲VLAN 1。PVID主要有兩個做用:第一對於接收到的Untag包則添加本端口的PVID再進行轉發;第二是接收過濾做用,好比只接收等於PVID的VLAN TAG包。學習
2)VLAN ID:VLAN TAG包的VLAN ID號,有效範圍是1-4094,0和4095都爲協議保留值,VLAN ID 0 表示不屬於任何VLAN,但攜帶802.1Q的優先級標籤,因此通常被稱爲Priority-only frame,其通常做爲系統使用,用戶不可以使用和刪除。1爲系統默認VLAN,即Native VLAN,2-1001是普通的vlan,1006-1024保留僅系統使用,用戶不能查看和使用,1002-1005是支持fddi和令牌環的vlan,1025-4095是擴展的vlan。Cisco的專有協議isl,相比之下它僅支持的vlan數目比較少,僅爲1-1005。 this
3)Vlan表:配置VLAN的信息表,表示交換機的各個端口所屬於的VLAN ID,當交換機進行交換數據時則查看該表進行業務轉發。VLAN表的容量通常支持1-32個VLAN ID。其VLAN表格以下:
spa
VLAN ID |
端口號 |
1 |
1 |
1 |
2 |
2 |
3 |
2 |
4 |
★ UNTAG包:指不攜帶802.1Q信息的普通以太網包。翻譯
★ TAG包: 指攜帶4字節802.1Q信息的VLAN以太網包。blog
★ Priority-only 包:指VLAN ID爲0,優先級爲0-7的以太網包。用途:通常用於要求高優先級的重要報文使用,當端口發生擁塞時使其可以優先轉發。
接口
★ VLAN間路由:指VLAN間可以互相通訊,通常是由路由器和三層交換機實現VLAN間互通,經過IP網段來實現VLAN間的互通。當使能VLAN間路由後,則ARP廣播包,多播包以及單播包都可以在VLAN間互相通訊。 資源
對於UNTAG包、TAG包以及Priority-only 包的處理過程在下面將一一介紹。路由
交換機的端口類型:
交換機的端口,能夠分爲如下三種:
● 訪問連接(Access Link)
● 匯聚連接(Trunk Link)
● 混合連接(Hybrid Link)
端口模式主要是指在輸入輸出端口對VLAN數據包的處理。即在輸入端口是Admit All Frames仍是Admit Only VLAN Tagged Frames,是 Only frames that share a VID assigned to this bridge port are admitted仍是All frames are forwarded;在輸出端口輸出數據包類型是tagged frames 仍是untagged frames。不一樣的端口模式對數據包的處理不一樣,下面就介紹一下各個端口模式吧。
3.2 Access端口
Access即用戶接入端口,該類型端口只能屬於1個VLAN,通常用於鏈接計算機的端口。
收端口:收到untagged frame,加上端口的PVID和default priority再進行交換轉發;對於tagged frame不論VID=PVID仍是VID\=PVID則有的廠家是直接丟棄,而有的廠家是可以接收VID=PVID的TAG包。通常Access端口只接收untagged frame,部分產品可能接收tagged frame,咱們的REOP、ES0十一、E4114等都接收VID=PVID的TAG端口包。
發報文:對於VID=PVID的tagged frame去除標籤並進行轉發。對於VID\=PVID的數據包丟棄不進行轉發,untagged frame則無此狀況。而咱們的REOP、ES0十一、E4114則對於VID=PVID或VID\=PVID的tagged frame都進行轉發處理。
注:所說的刪除標籤是指刪除4字節的VLAN標籤,而且CRC通過從新計算。
3.3 Trunk端口
當須要設置跨越多臺交換機的VLAN時則須要設置TRUNK功能。
在規劃企業級網絡時,頗有可能會遇到隸屬於同一部門的用戶分散在同一座建築物中的不一樣樓層的狀況,這時可能就須要考慮到如何跨越多臺交換機設置VLAN的問題了。假設有以下
圖所示的網絡,且須要將不一樣樓層的A、C和B、D設置爲同一個VLAN。
這時最關鍵的就是「交換機1和交換機2該如何鏈接纔好呢?」 最簡單的方法,天然是在交換機1和交換機2上各設一個紅、藍VLAN專用的接口並互聯了。
可是,這個辦法從擴展性和管理效率來看都很差。例如,在現有網絡基礎上再新建VLAN時,爲了讓這個VLAN可以互通,就須要在交換機間鏈接新的網線。建築物樓層間的縱向佈線是比較麻煩的,通常不能由基層管理人員隨意進行。而且,VLAN越多,樓層間(嚴格地說是交換機間)互聯所需的端口也愈來愈多,交換機端口的利用效率低是對資源的一種浪費、也限制了網絡的擴展。 爲了不這種低效率的鏈接方式,人們想辦法讓交換機間互聯的網線集中到一根上,這時使用的就是匯聚連接(Trunk Link)。
何謂匯聚連接?
技術領域中把TRUNK翻譯爲中文是「主幹、幹線、中繼線、長途線」 ,不過通常不翻譯,直接用原文。並且這個詞在不一樣場合也有不一樣的解釋:
一、在網絡的分層結構和寬帶的合理分配方面,TRUNK被解釋爲「端口匯聚」,是帶寬擴展和鏈路備份的一個重要途徑。TRUNK把多個物理端口捆綁在一塊兒看成一個邏輯端口使用,能夠把多組端口的寬帶疊加起來使用。TRUNK技術能夠實現TRUNK內部多條鏈路互爲備份的功能,即當一條鏈路出現故障時,不影響其餘鏈路的工做,同時多鏈路之間還能實現流量均衡,就像咱們熟悉的打印機池和MODEM池同樣。
二、在電信網絡的語音級的線路中,Trunk指「主幹網絡、電話幹線」,即兩個交換局或交換機之間的鏈接電路或信道,它可以在兩端之間進行轉接,並提供必要的信令和終端設備。 三、可是在最廣泛的路由與交換領域,VLAN的端口聚合也有的叫TRUNK,不過大多數都叫TRUNKING。
所謂Trunking即匯聚端口,該類型端口能夠屬於多個VLAN,能夠接收和發送多個VLAN的報文,通常用於交換機之間或交換機與路由器之間鏈接的端口;
匯聚鏈路上流通的數據幀,都被附加了用於識別分屬於哪一個VLAN的特殊信息。
如今再讓咱們回過頭來考慮一下剛纔那個網絡若是採用匯聚鏈路又會如何呢?用戶只須要簡單地將交換機間互聯的端口設定爲匯聚連接就能夠了。這時使用的網線仍是普通的UTP線,而不是什麼其餘的特殊佈線。圖例中是交換機間互聯,所以須要用交叉線來鏈接。 接下來,讓咱們具體看看匯聚連接是如何實現跨越交換機間的VLAN的。 A發送的數據幀從交換機1通過匯聚鏈路到達交換機2時,在數據幀上附加了表示屬於紅色VLAN的標記。 交換機2收到數據幀後,通過檢查VLAN標識發現這個數據幀是屬於紅色VLAN的,所以去除標記後根據須要將復原的數據幀只轉發給其餘屬於紅色VLAN的端口。這時的轉送,是指通過確認目標MAC地址並與MAC地址列表比對後只轉發給目標MAC地址所連的端口。只有當數據幀是一個廣播幀、多播幀或是目標不明的幀時,它纔會被轉發到全部屬於紅色VLAN的端口。 藍色VLAN發送數據幀時的情形也與此相同。
經過匯聚鏈路時附加的VLAN識別信息,有可能支持標準的「IEEE 802.1Q」協議,也多是Cisco產品獨有的「ISL(Inter Switch Link)」。若是交換機支持這些規格,那麼用戶就可以高效率地構築橫跨多臺交換機的VLAN。
另外,匯聚鏈路上流通着多個VLAN的數據,天然負載較重。所以,在設定匯聚連接時,有一個前提就是必須支持100Mbps以上的傳輸速度。
默認條件下,匯聚連接會轉發交換機上存在的全部VLAN的數據。換一個角度看,能夠認爲匯聚連接(端口)同時屬於交換機上全部的VLAN。因爲實際應用中極可能並不須要轉發全部VLAN的數據,所以爲了減輕交換機的負載、也爲了減小對帶寬的浪費,咱們能夠經過用戶設定限制可以經由匯聚鏈路互聯的VLAN。
另外因爲Trunk端口屬於多個VLAN,因此須要設置缺省VLAN ID即PVID(port vlan ID)。缺省狀況下,Trunk端口的PVID爲VLAN 1。若是設置了端口的PVID,當端口接收到不帶VLAN Tag的報文後,則加上端口的PVID並將報文轉發到屬於缺省VLAN的端口;當端口發送帶有VLAN Tag的報文時,若是該報文的VLAN ID與端口缺省的VLAN ID相同,則系統將去掉報文的VLAN Tag,而後再發送該報文。
下面就講一下Trunk的輸入輸出端口對數據包的處理:
接收端口:同時都可以接收VID=PVID和VID\=PVID的tagged frame,不改變TAG;對於untaged frame則加上端口的PVID和default priority再進行交換轉發,對於priority only tagged frame則添加PVID再進行轉發。
發送端口:對於VID=PVID的TAG包則去掉VIDTAG再進行轉發。對於VID\=PVID的TAG包則轉發不修改TAG,對於UNTAG包則無此狀況。
3.4 Hybrid端口
Hybrid即混合端口模式,該類型的端口能夠屬於多個VLAN,能夠接收和發送多個VLAN的報文,能夠用於交換機之間鏈接,交換機與路由器之間,也能夠用於交換機與用戶計算機的鏈接。
下面就講一下 Hybrid的輸入輸出端口對數據包的處理:
接收端口:同時都可以接收VID=PVID和VID\=PVID的tagged frame,不改變TAG;對於untaged frame則加上端口的PVID和default priority再進行交換轉發,對於priority only tagged frame則添加PVID再進行轉發。
發送端口:一、判斷該VLAN在本端口的屬性(disp interface 便可看到該端口對哪些VLAN是untag, 哪些VLAN是tag)。 二、若是輸入爲untag包則在輸出端口剝離VLAN信息,再發送,若是是tag則直接發送。
Hybrid端口和Trunk端口的區別:
Hybrid端口和Trunk端口的不一樣之處在於Hybrid端口能夠容許多個VLAN的報文發送時不打標籤,而Trunk端口只容許缺省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,而後再發送該報文。
3.5端口實際處理方式
Hybrid 00 不加標籤不去標籤
TAG 10 只加標籤不去標籤
ACCESS 01 只去標籤不加標籤同時入口過濾不等於PVID的包
PVID 設置範圍 1-4094 ,默認值爲1(0 爲vlanid=NULL,4095保留)
我來解釋一下:
收報文:
Acess端口一、收到一個報文,判斷是否有VLAN信息:若是沒有則打上端口的PVID,並進行交換轉發,若是有則直接丟棄(缺省)。
發報文:
Acess端口: 一、將報文的VLAN信息剝離,直接發送出去。
收報文:
trunk端口: 一、收到一個報文,判斷是否有VLAN信息:若是沒有則打上端口的PVID,並進行交換轉發,若是有判斷該trunk端口是否容許該 VLAN的數據進入:若是能夠則轉發,不然丟棄。
發報文:
trunk端口: 一、比較端口的PVID和將要發送報文的VLAN信息,若是二者相等則剝離VLAN信息,再發送,若是不相等則直接發送!。
收報文:
hybrid端口:一、收到一個報文,判斷是否有VLAN信息:若是沒有則打上端口的PVID,並進行交換轉發,若是有則判斷該hybrid端口是否容許該VLAN的數據進入:若是能夠則轉發,不然丟棄。
發報文:
hybrid端口:一、判斷該VLAN在本端口的屬性(disp interface 便可看到該端口對哪些VLAN是untag, 哪些VLAN是tag)。
二、若是是untag則剝離VLAN信息,再發送,若是是tag則直接發送。