網橋的分類
透明網橋
第一種802網橋是透明網橋transparent bridge或生成樹網橋spanning tree bridge支持這種設計的人首要關心的是完全透明按照他們的觀點裝有多個LAN的單位在買回IEEE標準網橋之后只需把連接插頭插入網橋就萬事大吉不需要改動硬件和軟件無需設置地址開關無需裝入路由表或參數總之什么也不干只須插入電纜就完事現有LAN的運行完全不受網橋的任何影響這真是不可思議他們最終成功了
透明網橋以混雜方式工作它接收與之連接的所有LAN傳送的每一幀當一幀到達時網橋必須決定將其丟棄還是轉發如果要轉發則必須決定發往哪個LAN這需要通過查詢網橋中一張大型散列表里的目的地址而作出決定該表可列出每個可能的目的地以及它屬于哪一條輸出線路LAN在插入網橋之初所有的散列表均為空由于網橋不知道任何目的地的位置因而采用擴散算法floodingalgorithm把每個到來的目的地不明的幀輸出到連在此網橋的所有LAN中(除了發送該幀的LAN)隨著時間的推移網橋將了解每個目的地的位置一旦知道了目的地位置發往該處的幀就只放到適當的LAN上而不再散發
透明網橋采用的算法是逆向學習法backwardlearning網橋按混雜的方式工作故它能看見所連接的任一LAN上傳送的幀查看源地址即可知道在哪個LAN上可訪問哪臺機器于是在散列表中添上一項
當計算機和網橋加電斷電或遷移時網絡的拓撲結構會隨之改變為了處理動態拓撲問題每當增加散列表項時均在該項中注明幀的到達時間每當目的地已在表中的幀到達時將以當前時間更新該項這樣從表中每項的時間即可知道該機器最后幀到來的時間網橋中有一個進程定期地掃描散列表清除時間早于當前時間若干分鐘的全部表項于是如果從LAN上取下一臺計算機并在別處重新連到LAN上的話那么在幾分鐘內它即可重新開始正常工作而無須人工干預這個算法同時也意味著如果機器在幾分鐘內無動作那么發給它的幀將不得不散發一直到它自己發送出一幀為止
到達幀的路由選擇過程取決于發送的LAN源LAN和目的地所在的LAN目的LAN如下所示
(1)如果源LAN和目的LAN相同則丟棄該幀
(2)如果源LAN和目的LAN不同則轉發該幀
(3)如果目的LAN未知則進行擴散
為了提高可靠性有人在LAN之間設置了并行的兩個或多個網橋但是這種配置引起了另外一些問題因為在拓撲結構中產生了回路可能引發無限循環其解決方法就是下面要講的生成樹spanningtree算法
解決上面所說的無限循環問題的方法是讓網橋相互通信并用一棵到達每個LAN的生成樹覆蓋實際的拓撲結構使用生成樹可以確保任兩個LAN之間只有唯一一條路徑一旦網橋商定好生成樹LAN間的所有傳送都遵從此生成樹由于從每個源到每個目的地只有唯一的路徑故不可能再有循環
為了建造生成樹首先必須選出一個網橋作為生成樹的根實現的方法是每個網橋廣播其序列號(該序列號由廠家設置并保證全球唯一)選序列號最小的網橋作為根接著按根到每個網橋的最短路徑來構造生成樹如果某個網橋或LAN故障則重新計算
網橋通過BPDUBridgeProtocolDataUnit互相通信在網橋做出配置自己的決定前每個網橋和每個端口需要下列配置數據
網橋網橋ID唯一的標識
端口端口ID唯一的標識
端口相對優先權
各端口的花費高帶寬=低花費
配置好各個網橋后網橋將根據配置參數自動確定生成樹這一過程有三個階段
(1)選擇根網橋
具有最小網橋ID的網橋被選作根網橋網橋ID應為唯一的但若兩個網橋具有相同的最小ID則MAC地址小的網橋被選作根
(2)在其它所有網橋上選擇根端口
除根網橋外的各個網橋需要選一個根端口這應該是最適合與根網橋通信的端口通過計算各個端口到根網橋的花費取最小者作為根端口
(3)選擇每個LAN的指定designated網橋和指定端口
如果只有一個網橋連到某LAN它必然是該LAN的指定網橋如果多于一個則到根網橋花費最小的被選為該LAN的指定網橋指定端口連接指定網橋和相應的LAN如果這樣的端口多于一個則低優先權的被選
一個端口必須為下列之一
(1)根端口
(2)某LAN的指定端口
(3)阻塞端口
當一個網橋加電后它假定自己是根網橋發送出一個CBPDUConfiguration Bridge Protocol Data Unit告知它認為的根網橋ID一個網橋收到一個根網橋ID小于其所知ID的CBPDU它將更新自己的表如果該幀從根端口上傳到達則向所有指定端口下傳分發當一個網橋收到一個根網橋ID大于其所知ID的CBPDU該信息被丟棄如果該幀從指定端口到達則回送一個幀告知真實根網橋的較低ID
當有意地或由于線路故障引起網絡重新配置上述過程將重復產生一個新的生成樹
源路由網橋
透明網橋的優點是易于安裝只需插進電纜即大功告成但是從另一方面來說這種網橋并沒有最佳地利用帶寬因為它們僅僅用到了拓撲結構的一個子集生成樹這兩個(或其他)因素的相對重要性導致了802委員會內部的分裂支持CSMA/CD和令牌總線的人選擇了透明網橋而令牌環的支持者則偏愛一種稱為源路由選擇source routing的網橋(受到IBM的鼓勵)
源路由選擇的核心思想是假定每個幀的發送者都知道接收者是否在同一LAN上當發送一幀到另外的LAN時源機器將目的地址的高位設置成1作為標記另外它還在幀頭加進此幀應走的實際路徑
源路由選擇網橋只關心那些目的地址高位為1的幀當見到這樣的幀時它掃描幀頭中的路由尋找發來此幀的那個LAN的編號如果發來此幀的那個LAN編號后跟的是本網橋的編號則將此幀轉發到路由表中自己后面的那個LAN如果該LAN編號后跟的不是本網橋則不轉發此幀這一算法有3種可能的具體實現軟件硬件混合這三種具體實現的價格和性能各不相同第一種沒有接口硬件開銷但需要速度很快的CPU處理所有到來的幀最后一種實現需要特殊的VLSI芯片該芯片分擔了網橋的許多工作因此網橋可以采用速度較慢的CPU或者可以連接更多的LAN
源路由選擇的前提是互聯網中的每臺機器都知道所有其他機器的最佳路徑如何得到這些路由是源路由選擇算法的重要部分獲取路由算法的基本思想是如果不知道目的地地址的位置源機器就發布一廣播幀詢問它在哪里每個網橋都轉發該查找幀discovery frame這樣該幀就可到達互聯網中的每一個LAN當答復回來時途經的網橋將它們自己的標識記錄在答復幀中于是廣播幀的發送者就可以得到確切的路由并可從中選取最佳路由
雖然此算法可以找到最佳路由(它找到了所有的路由)但同時也面臨著幀爆炸的問題透明網橋也會發生有點類似的狀況但是沒有這么嚴重其擴散是按生成樹進行所以傳送的總幀數是網絡大小的線性函數而不象源路由選擇是指數函數一旦主機找到至某目的地的一條路由它就將其存入到高速緩沖器之中無需再作查找雖然這種方法大大遏制了幀爆炸但它給所有的主機增加了事務性負擔而且整個算法肯定是不透明的
透明網橋一般用于連接以太網段而源路由選擇網橋則一般用于連接令牌環網段