關于以太網交換機中生成樹協議的實現方法
以太網交換機還是比較常用的,于是我研究了一下以太網交換機中生成樹協議的實現方法,在這里拿出來和大家分享一下,希望對大家有用。以太網交換機在第二層即MAC層必須具有路由功能。目前普遍使用的MAC層路由方式是IEEE802.1組織發布的標準:基于生成樹算法的路由。
在局域網內的以太網交換機執行了生成樹算法以后,會組成一個生成樹動態拓撲結構,該拓撲結構使局域網內任意兩個工作站之間不存在回路,以防止由此產生的局域網廣播風暴,同時,生成樹算法還負責監測物理拓撲結構的變化,并能在拓撲結構發生變化之后建立新的生成樹。例如當一個以太網交換機壞了或某一條數據通咱斷了后,能提供一定的容錯能力而重新配置生成樹的拓撲結構。以太網交換機根據生成樹動態拓撲結構的狀態信息來維護和更新MAC路由表,最終實現MAC層的路由。
一、以太網交換機在MAC層體系結構
以太網交換機在MAC層的功能主要是實現LAN的互連。根據IEEE802.1D協議的規定,在MAC層工作的體系結構必須包含以下內容:(1)一個用于連接交換機端口的MAC轉發實體;(2)至少兩個端口;(3)高層協議實體,其中包括交換機協議實體。如圖1所示。
MAC轉發實體主要實現交換機不同端口間的內部通信。該實體存儲各個端口的工作狀態并維護一個過濾數據庫。數據庫中存放了一張MAC地址表,用以實現MAC層的路由。當數據幀從一個端口的底層服務進程傳上來時,MAC實體首先判斷目的端口的工作狀態,如果目的端口沒有被阻塞,MAC轉發實體將依據MAC地址表的對應關系將該幀從目的端口轉發出去。同時MAC轉發實體還可以進行過濾、記錄MAC地址等操作。
以太網交換機端口的功能是從與其相連的LAN上接收或傳送數據。端口的狀態由生成樹算法規定,包括轉發、學習、監聽、阻塞和禁止狀態。高層協議實體位于LLC層,主要用于計算和配置LAN的拓撲結構。下面介紹的生成樹協議算法就是運行在該協議實體內,用來實現MAC層的路由。在運行生成樹算法時,高層協議實體可以直接調用MAC轉發實體提供的服務,并能讀取或更改MAC實體數據庫中維護的信息,如從MAC實體中讀取或更改某端口的狀態信息等。
在運行生成樹算法時,以太網交換機的高層協議實體將使用一個統一的組地址01-80-C2-00-00-00作為目的MAC地址,該數據被稱為BPDU(橋協議數據單元)。BPDU中攜帶了實現生成樹算法的有關信息。在實現生成樹算法時,從端口接收上來BPDU,由LLC層的服務進程將其傳給交換機協議實體。在執行了生成樹算法以后,交換機的協議實體將根據算法的結果更新端口的狀態信息并更新過濾數據庫,以決定交換機端口的工作狀態(阻塞或轉發等),從而建立生成樹拓撲結構。
二、生成樹協議
1、生成樹協議介紹
生成樹協議基于以下幾點:(1)有一個唯一的組地址(01-80-C2-00-00-00)標識一個特定LAN上的所有的交換機。這個組地址能被所有的交換機識別;(2)每個交換機有一個唯一的標識(BridegIdentifier);(3)每個交換機的端口有一個唯一的端口標識(PortIdentifier)。對生成樹的配置進行管理還需要:對每個交換機調協一個相對的優先級;對每個交換機的每個端口調協一個相對的優先級;對每個端口調協一個路徑花費。
具有***優先級的交換機被稱為根(root)交換機。每個交換機端口都有一個根路徑花費,根路徑花費是該交換機到根交換機所經過的各個跳段的路徑花費的總和。一個交換機中根路徑花費的值為***的端口稱為根端口,若有多個端口具有相同的根路徑花費,則具有***優先級的端口為根端口。
在每個LAN中都有一個交換機被稱為選取(designated)交換機,它屬于該LAN中根路徑花費最少的交換機。把LAN和選取交換機連接起來的端口就是LAN的選取端口(designatedport)。如果選取交換機中有兩個以上的端口連在這個LAN上,則具有***優先級的端口被選為選取端口。拓撲結構如圖2所示。
由于以太網交換機A具有***優先級(橋標識***),被選為根交換機,所以交換機A是LANA和LANB的選取交換機;假設交換機B的根路徑花費為6,交換機C的根路徑花費為4,那么交換機C被選為LANC的選取交換機,亦即LANC與交換機A之間的消息通過交換機C轉發,而不是通過交換機B。LANC與交換機B之間的鏈路是一條冗余鏈路。
2、BPDU編碼
以太網交換機之間定期發送BPDU包,交換生成樹配置信息,以便能夠對網絡的拓撲、花費或優先級的變化做出及時的響應。BPDU分為兩種類型,包含配置信息的BPDU包稱為配置BPDU(ConfigurationBPDU),當檢測到網絡拓撲結構變化時則要發送拓撲變化通知BPDU(TopologycHANGEnOTIFICATIONBPDU)。配置BPDU編碼如圖3所示。