VLAN技術詳解三(VLAN三種訪問模式)

接下來就讓我們來依次學習交換機三種不同端口的特徵。首先說幾個重要過的概念:

3.1 VLAN的幾個重要概念介紹

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。

3)Vlan表:配置VLAN的信息表,表示交換機的各個端口所屬於的VLAN ID,當交換機進行交換數據時則查看該表進行業務轉發。VLAN表的容量一般支持1-32個VLAN ID。其VLAN表格如下:

VLAN ID 端口號
1 1
1 2
2 3
2 4

★ UNTAG包:指不攜帶802.1Q信息的普通以太網包。

★ TAG包: 指攜帶4字節802.1Q信息的VLAN以太網包。

★ 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、ES011、E4114等都接收VID=PVID的TAG端口包。
發報文:對於VID=PVID的tagged frame去除標籤並進行轉發。對於VID=PVID的數據包丟棄不進行轉發,untagged frame則無此情況。而我們的REOP、ES011、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翻譯爲中文是“主幹、幹線、中繼線、長途線” ,不過一般不翻譯,直接用原文。而且這個詞在不同場合也有不同的解釋:

1、在網絡的分層結構和寬帶的合理分配方面,TRUNK被解釋爲“端口匯聚”,是帶寬擴展和鏈路備份的一個重要途徑。TRUNK把多個物理端口捆綁在一起當作一個邏輯端口使用,可以把多組端口的寬帶疊加起來使用。TRUNK技術可以實現TRUNK內部多條鏈路互爲備份的功能,即當一條鏈路出現故障時,不影響其他鏈路的工作,同時多鏈路之間還能實現流量均衡,就像我們熟悉的打印機池和MODEM池一樣。

2、在電信網絡的語音級的線路中,Trunk指“主幹網絡、電話幹線”,即兩個交換局或交換機之間的連接電路或信道,它能夠在兩端之間進行轉接,並提供必要的信令和終端設備。 3、但是在最普遍的路由與交換領域,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再進行轉發。
發送端口:1、判斷該VLAN在本端口的屬性(disp interface 即可看到該端口對哪些VLAN是untag, 哪些VLAN是tag)。 2、如果輸入爲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端口1、收到一個報文,判斷是否有VLAN信息:如果沒有則打上端口的PVID,並進行交換轉發,如果有則直接丟棄(缺省)。

發報文:
Acess端口: 1、將報文的VLAN信息剝離,直接發送出去。

收報文:
trunk端口: 1、收到一個報文,判斷是否有VLAN信息:如果沒有則打上端口的PVID,並進行交換轉發,如果有判斷該trunk端口是否允許該 VLAN的數據進入:如果可以則轉發,否則丟棄。

發報文:
trunk端口: 1、比較端口的PVID和將要發送報文的VLAN信息,如果兩者相等則剝離VLAN信息,再發送,如果不相等則直接發送!。

收報文:
hybrid端口:1、收到一個報文,判斷是否有VLAN信息:如果沒有則打上端口的PVID,並進行交換轉發,如果有則判斷該hybrid端口是否允許該VLAN的數據進入:如果可以則轉發,否則丟棄。

發報文:
hybrid端口:1、判斷該VLAN在本端口的屬性(disp interface 即可看到該端口對哪些VLAN是untag, 哪些VLAN是tag)。

2、如果是untag則剝離VLAN信息,再發送,如果是tag則直接發送。

轉自: https://blog.51cto.com/wushank/1305510

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