生成樹的技術,一直以來都是交換機很重要的技術,其目的是為了避免網路迴圈所造成的各種問題。而各個交換機之間到底如何透過一個共同的技術製作出一份生成樹是一個重要的議題,本文將簡述運作的原理,而如何改善運算生成樹的過程,也就是RSTP,也會做介紹。
如果某個埠是運作在全雙工的模式下,則會轉成Point to Point類型的埠,如果是運作在半雙工模式之下,就是會變成Shared類型。
當然,也可以自行指定所要運行的Link Type設定,而不使用這種依照全雙工或半雙工自動決定的機制。
認識多重生成樹協定(MSTP)
接著讓大家認識「多重生成樹協定」,英文是Multiple Spanning Tree Protocol,簡稱MSTP。一開始多重生成樹協定是定義在IEEE 802.1s之中,後來被合併到IEEE 802.1Q-2005標準中。
剛才提到多重生成樹協定是延伸自RSTP,從上面的介紹中,不難看出RSTP比原本的STP還要強很多,收斂速度快了不少。而基於RSTP這樣的協定,多重生成樹協定做了虛擬網路上的改進。
如果一個網路中只有一個虛擬網路,很明顯地,單一的生成樹協定可以運作得很好。如果網路中包含多個虛擬網路,一個很簡單的做法就是每個虛擬網路都製作一份生成樹,並自行維護。
但會看一個很大的問題,在大型的企業網路中,很可能會有很多很多個虛擬網路,假設有一百個虛擬網路,就代表要維護一百個生成樹。沒有一個階層性的架構,會嚴重增加交換機的運算負擔,這也是為什麼會有多重生成樹協定的出現。
多重生成樹協定最主要的概念就是可以把多個虛擬網路規劃在一個Instance之中,同一個Instance的多個虛擬網路共用一份生成樹。所以假設剛才說的一百個虛擬網路也許就可以分成十組,每組十個虛擬網路。
多重生成樹協定其實很類似於Cisco的MISTP(全名是Multiple Instances Spanning Tree Protocol)。簡單來說,多重生成樹協定的格式允許多個生成樹資料在同樣一個BPDU之中儲存並傳送。各個虛擬網路可以維護自己的生成樹,而一整個大網路又可以維護一個大型生成樹。
多重生成樹協定甚至與上述的RSTP和STP都是相容的。多重生成樹協定的做法很簡單,就是在標準的BPDU之後新增了額外的區域(Region)資訊,這裡的區域是一個虛擬的概念,每個區域之間的生成樹運算不會互相影響,各自獨立,大家可以把每一個區域再看成一個大型的虛擬交換機,所以所有區域所形成的虛擬交換機之間還會再運算一份大型的生成樹。
簡單來說,區域的概念就是讓「生成樹的運作」在「多個虛擬網路」之中有了「階層性」的設計。
剛才提到的BPDU在這個額外的區域資訊之後,還可以再加上多個MSTI(Multiple Spanning Tree Instance)的訊息,可以是0到64個。
結語
這篇文章真的是交換機設備的相關知識中相當重要的一篇!在交換機設備的知識中,最重要的就是生成樹(Spanning Tree)和VLAN,這也是交換機最大的用途。
在生成樹中,最重要的技術不外乎就是STP、RSTP以及MSTP,從最基本的生成樹運算模式,到收斂速度的改善,最後到大型多個虛擬網路的變形支援,這篇文章都為各位做了簡單的介紹,希望對大家有一個基本的幫助。在生成樹技術群之中,還有一個最短路徑橋接技術,以後有機會再介紹給各位。
<本文作者:胡凱智,目前在Solera Holdings Inc.擔任亞太區首席技術長,曾於美商Mozilla擔任全球技術專案總監,並在趨勢科技任職七年多,有兩年美國矽谷工作經驗,在美國專利局擁有軟體專利。讀者交流建議:https://www.facebook.com/khu.page>