工作中不可不知的VLAN理論:為什麼需要trunk、兩種封裝協議

說明 前提

學習知識點,一定要從實際出發~最終我們要把知識點運用到實際工作中去。


1 說需要設置跨越多臺交換機的VLAN時……

到此為止,我們學習的都是使用單臺交換機設置VLAN時的情況。那麼,如果需要設置跨越多臺交換機的VLAN時又如何呢?

在規劃企業級網絡時,很有可能會遇到隸屬於同一部門的用戶分散在同一座建築物中的不同樓層的情況,這時可能就需要考慮到如何跨越多臺交換機設置VLAN的問題了。假設有如下圖所示的網絡,且需要將不同樓層的A、C和B、D設置為同一個VLAN。

工作中不可不知的VLAN理論:為什麼需要trunk、兩種封裝協議

這時最關鍵的就是“交換機1和交換機2該如何連接才好呢?”最簡單的方法,自然是在交換機1和交換機2上各設一個紅、藍VLAN專用的接口並互聯了。

工作中不可不知的VLAN理論:為什麼需要trunk、兩種封裝協議

但是,這個辦法從擴展性和管理效率來看都不好。例如,在現有網絡基礎上再新建VLAN時,為了讓這個VLAN能夠互通,就需要在交換機間連接新的網線。建築物樓層間的縱向佈線是比較麻煩的,一般不能由基層管理人員隨意進行。並且,VLAN越多,樓層間(嚴格地說是交換機間)互聯所需的端口也越來越多,交換機端口的利用效率低是對資源的一種浪費、也限制了網絡的擴展。

為了避免這種低效率的連接方式,人們想辦法讓交換機間互聯的網線集中到一根上,這時使用的就是匯聚鏈接(Trunk Link)。


2 何謂匯聚鏈接?

匯聚鏈接(Trunk Link)指的是能夠轉發多個不同VLAN的通信的端口。

匯聚鏈路上流通的數據幀,都被附加了用於識別分屬於哪個VLAN的特殊信息。

現在再讓我們回過頭來考慮一下剛才那個網絡如果採用匯聚鏈路又會如何呢?用戶只需要簡單地將交換機間互聯的端口設定為匯聚鏈接就可以了。這時使用的網線還是普通的UTP線,而不是什麼其他的特殊佈線。圖例中是交換機間互聯,因此需要用交叉線來連接。

接下來,讓我們具體看看匯聚鏈接是如何實現跨越交換機間的VLAN的。A發送的數據幀從交換機1經過匯聚鏈路到達交換機2時,在數據幀上附加了表示屬於紅色VLAN的標記。

交換機2收到數據幀後,經過檢查VLAN標識發現這個數據幀是屬於紅色VLAN的,因此去除標記後根據需要將復原的數據幀只轉發給其他屬於紅色VLAN的端口。這時的轉送,是指經過確認目標MAC地址並與MAC地址列表比對後只轉發給目標MAC地址所連的端口。只有當數據幀是一個廣播幀、多播幀或是目標不明的幀時,它才會被轉發到所有屬於紅色VLAN的端口。藍色VLAN發送數據幀時的情形也與此相同。

工作中不可不知的VLAN理論:為什麼需要trunk、兩種封裝協議

通過匯聚鏈路時附加的VLAN識別信息,有可能支持標準的“IEEE 802.1Q”協議,也可能是Cisco產品獨有的“ISL(Inter Switch Link)”。如果交換機支持這些規格,那麼用戶就能夠高效率地構築橫跨多臺交換機的VLAN。

另外,匯聚鏈路上流通著多個VLAN的數據,自然負載較重。因此,在設定匯聚鏈接時,有一個前提就是必須支持100Mbps以上的傳輸速度。

另外,默認條件下,匯聚鏈接會轉發交換機上存在的所有VLAN的數據。換一個角度看,可以認為匯聚鏈接(端口)同時屬於交換機上所有的VLAN。由於實際應用中很可能並不需要轉發所有VLAN的數據,因此為了減輕交換機的負載、也為了減少對帶寬的浪費,我們可以通過用戶設定限制能夠經由匯聚鏈路互聯的VLAN。

3 匯聚方式

在交換機的匯聚鏈接上,可以通過對數據幀附加VLAN信息,構建跨越多臺交換機的VLAN。附加VLAN信息的方法,最具有代表性的有:

lIEEE802.1Q

ISL

現在就讓我們看看這兩種協議分別如何對數據幀附加VLAN信息。


4 802.1Q,IEEE標準(兼容性好)


IEEE802.1Q,俗稱“Dot One Q”,是經過IEEE認證的對數據幀附加VLAN識別信息的協議。

在此,請大家先回憶一下以太網數據幀的標準格式。IEEE802.1Q所附加的VLAN識別信息,位於數據幀中“發送源MAC地址”與“類別域(Type Field)”之間。具體內容為2字節的TPID和2字節的TCI,共計4字節。

在數據幀中添加了4字節的內容,那麼CRC值自然也會有所變化。這時數據幀上的CRC是插入TPID、TCI後,對包括它們在內的整個數據幀重新計算後所得的值。

工作中不可不知的VLAN理論:為什麼需要trunk、兩種封裝協議

而當數據幀離開匯聚鏈路時,TPID和TCI會被去除,這時還會進行一次CRC的重新計算。

TPID的值,固定為0x8100。交換機通過TPID,來確定數據幀內附加了基於IEEE802.1Q的VLAN信息。而實質上的VLAN ID,是TCI中的12位元。由於總共有12位,因此最多可供識別4096個VLAN。

基於IEEE802.1Q附加的VLAN信息,就像在傳遞物品時附加的標籤。因此,它也被稱作“標籤型VLAN(Tagging VLAN)”。

5 ISL(Inter Switch Link)


ISL,是Cisco產品支持的一種與IEEE802.1Q類似的、用於在匯聚鏈路上附加VLAN信息的協議。

使用ISL後,每個數據幀頭部都會被附加26字節的“ISL包頭(ISL Header)”,並且在幀尾帶上通過對包括ISL包頭在內的整個數據幀進行計算後得到的4字節CRC值。換而言之,就是總共增加了30字節的信息。

在使用ISL的環境下,當數據幀離開匯聚鏈路時,只要簡單地去除ISL包頭和新CRC就可以了。由於原先的數據幀及其CRC都被完整保留,因此無需重新計算CRC。

工作中不可不知的VLAN理論:為什麼需要trunk、兩種封裝協議

ISL有如用ISL包頭和新CRC將原數據幀整個包裹起來,因此也被稱為“封裝型VLAN(Encapsulated VLAN)”。


需要注意的是,不論是IEEE802.1Q的“Tagging VLAN”,還是ISL的“Encapsulated VLAN”,都不是很嚴密的稱謂。不同的書籍與參考資料中,上述詞語有可能被混合使用,因此需要大家在學習時格外注意。並且由於ISL是Cisco獨有的協議,因此只能用於Cisco網絡設備之間的互聯。


分享到:


相關文章: