摘要:下面是由希賽小編整理的通信互聯網技術知識點精講之生成樹網橋,希望能幫助學友們。
下面是由希賽小編整理的通信互聯網技術知識點精講之生成樹網橋,希望能幫助學友們。具體內容如下:
生成樹網橋
生成樹(SpanningTree)網橋是一種完全透明的網橋,這種網橋插入電纜后就可以自動完成路由選擇功能,無需由用戶配置路由表或設置參數,網橋的功能是自己學習獲得的。下面從幀轉發(fā)、地址學習和環(huán)路分解三個方面介紹這種網橋的工作原理。
1.幀轉發(fā)
網橋為了能夠決定是否轉發(fā)一個傾,必須為每個轉發(fā)端口保存一個轉發(fā)數據庫,該數據庫中保存著必須通過該端口轉發(fā)的左右站的地址。下面通過圖5-14說明這種轉發(fā)機制。圖5-14中的網橋102把所有互聯網中的站分為兩類,分別對應它的兩個端口:在LANA,B,D和E上的站在網橋102的LANA端口一邊,這些站的地址列在一個數據庫中;在LANC和F中的站在網橋102的LANC端口一邊,這些站的地址列在另一個數據庫中。當網橋收到一個幀時就可以根據目標地址和這兩個數據庫的內容決定是否把它從一個端口轉發(fā)到另一個端口。作為一般情況,假設網橋從端口X收到一個MAC幀,則它按以下步驟進行路由決策(見圖5-15)。
查找除X端口之外的其他轉發(fā)數據庫。
如果沒有發(fā)現目標地址,則丟棄幀;如果在某個端口Y的轉發(fā)數據庫中發(fā)現目標站地址,并且Y端口沒有阻塞,則把收到的MAC幀從Y端口發(fā)送出去;若Y端口阻塞,則丟棄該幀。
2.地址學習
以上轉發(fā)方案假設網橋已經安裝入了轉發(fā)數據庫。如果采用靜態(tài)路由策略,轉發(fā)信息可以預先裝入網橋。還有一種更有效的自動學習機制,可以使網橋自己學習并建立合適的轉發(fā)數據庫。獲取轉發(fā)信息的一種簡單方案利用了MAC幀中源地址字段,下面介紹這種學習機制。
如果一個MAC幀從某個端口到達網橋,顯然它的源工作站處于網橋的入口LAN-邊,從幀的源地址字段可以知道該站的地址,于是網橋就據此更氣相應端口的轉發(fā)數據庫。為了應付網絡拓撲結構的改變,轉發(fā)數據庫的每一數據項(站地址)都配備一個定時器,當一個新的數據加入數據庫時,定時器復位;如果定時器超時,則該數據項被刪除,從而相應傳輸方向的信息失效。每當接收到一個MAC幀時,網橋就取出源地址字段并査看該地址是否在以上假定在數據庫中直接存儲站地址。如果采用兩級地址結構,則數據庫只需存儲LAN地址部分就可以了,這樣可以節(jié)省網橋中的存儲空間。
3.環(huán)路分解—生成樹算法
以上介紹的學習算法適用于互聯網為樹型拓撲結構的情況,即網絡中沒有環(huán)路,任意兩個站點之間只有通路。當互聯網中出現環(huán)路時,這種方法就失效了。下面通過圖5-16說明問題是怎樣產生的,假定在時刻t0,站丨向站2發(fā)送了一個幀,兩個網橋都捕獲了這個幀并在各自的數據庫中把站1地址記錄在LANA一邊,隨之把該幀發(fā)往LANB.在稍后的某個時刻tl或t2網橋101和102又收到源地址為站1、目的地址為站2的MAC幀,但這一次是從LANB的方向傳來的,這時兩個網橋又要更新各自的轉發(fā)數據庫,把站A的地址記在LANB的一邊。
由此可見,由環(huán)路引起的循環(huán)轉發(fā)破壞了網橋的數據庫,使得網橋無法獲得正確的轉發(fā)信息,克服這個問題的思路就是要設法消除環(huán)路,從而避免出現相互轉發(fā)的情況,但圖論中有一種提取連通圖生成樹的簡單算法,可以用于互連網絡消除其中的環(huán)路。在互連網絡中,每一個LAN對應于連通圖中的一個頂點,而每一個網橋則對應于連通圖的一個邊,圖5-16有環(huán)路的局域網互連刪去連通圖的一邊等價于移去一個網橋,凡是構成回路的網橋都可以逐個移去,最后得到的生成樹不含回路,又不改變圖的連通性。
這里需要一種算法,使得各個網橋之間通過交換信息自動阻塞一些傳輸端口,從而破壞所有的環(huán)路并導出互連網絡的生成樹。這種算法應該是動態(tài)的,即當網絡拓撲結構改變時。
網橋能察覺到這種變化,并能導出新的生成樹。這里假定:
每一個網橋有MAC地址和優(yōu)先級,地址和優(yōu)先級構成網橋的標識符:
有一個特殊的地址用于標識所有網橋;
網橋的每一個端口有標識符,該標識符只在網橋內部有效。
另外,還要建立以下概念。
根橋:作為生成樹樹根的網橋,例如,可選擇地址值最小的網橋作為根橋。
通路費用:為網橋的每一個端口指定一個通路費用,該費用表示通過該端口向其連接的LAN傳送一個幀的代價。兩個站之間的通路可能要經過多個網橋,這些網橋的有關費用相加就構成了兩站之間的通路費用。例如,假定沿路每個網橋端口的費用為1,則兩個站之間通路費用就是經過的網橋數。也可以把網橋端口的通路費用與有關LAN的通信速率聯系起來。根通路:每一個網橋通句根橋的費用最小的通路。
根端口:每一個網橋與根通路相連接的端口。
指定橋:每一個LAN有一個指定橋,這是在該LAN上提供最小費用根通路的網橋。
指定端口:每一個LAN的指定橋連接該LAN的端口為指定端口,對于直接連接根橋的LAN,根橋就是指定橋,連接根橋的端口即為指定端口。
根據以上建立的概念,生成樹算法可采用以下步驟:
(1)確定一個根橋:
(2)確定其他網橋的根端口:
(3)每一個LAN確定一個指定橋和指定端口,如果有兩個以上網橋的根通路費用相同,則選擇優(yōu)先級較高的網橋作為指定橋;如果指定橋有多個端口連接LAN,則選取標識符最小的端口為指定端口。
按照以上算法,直接連接兩個LAN的網橋中只有一個作為指定橋,其他都刪除掉。這就排除了任何兩個LAN之間的環(huán)路。同理,以上算法也排除了多個LAN之間的環(huán)路,同時保持了連通性。應用這個算法導出互連網絡生成樹的例子如圖5-17所示。
為了實現以上算法,網橋之間要交換信息。這種信息以網橋協議數據單元(BPDU)的形式在網橋之間傳播。網橋發(fā)出的BPDU包括:該網橋的地址標識符和端口標識符;該網橋認為可以作為根橋的地址標識符以及該網橋的根通路費用。
開始時每個網橋都申明自己是根橋并把以上信息廣播給所有與它相連的LAN上的網橋。
在每一個LAN上只有一個地址值最小的標識符,只有該網橋可以堅持自己的聲明,其他網橋則放棄自己的聲明,并根據收到的信息確定自己的根端口,重新計算根通路費用。當這種BPDU在整個互連網絡中傳播時,所有網橋可最終確定一個根橋,其他網橋據此計算自己的根端口和根通路。在同一個LAN上連接的各個網橋還需根據自己的根通路費用確定指定橋和指定端口。顯然,這個過程要求在網橋之間多次交換消息,自認為是根橋的那個網絡不斷廣播自己的聲明。圖5-17(a)的互連網絡中通過交換信息導出生成樹的過程如下。
LAN2相連的三個網橋1、3和4選出網橋1為根橋,網橋3把它與LAN2相連的端口確定為根端口。類似地,網橋4把它與LAN2相連的端口確定為根端口。
與LAN1相連的三個網橋1、2、5中選出網橋1為根橋,網橋2和5相應地確定其通路費用和端口。
與LAN5相連的三個網橋通過比較各自的各根通路費用的優(yōu)先級選出網橋4為指定網橋,其根端口為指定端口。
其他計算過程從略。最后導出的生成樹如圖5-17(b)所示。只有指定橋的指定端口可轉發(fā)信息,其他網橋的端口都必須阻塞起來。在生成樹建立起來以后,網橋之間還必須周期地轉發(fā)BPDU,以適應網絡拓撲、通路費用以及優(yōu)先級改變的情況。
相關推薦:
通信工程師備考資料免費領取
去領取