㈠ 什麼是交換機生成樹
STP 生成樹協議 防止交換迴路的
㈡ 怎樣用Java實現網橋自學習演算法
網橋的自學習演算法原理
珞辰
網橋:在數據鏈路層可以用網橋設備來擴展乙太網。網橋工作在數據鏈路層,它根據MAC 幀的目的地址對收到的幀進行存儲轉發和過濾。當網橋收到一個數據幀時,並不是向所有的介面轉發這個數據幀,而是會進行有條件的轉發(網橋會丟棄CRC檢驗有差錯的幀以及幀長過短和過長的無效幀)再根據此幀的目的MAC地址,然後查找轉發表(網橋會自己維護轉發表,轉發表中每一條目都記錄了到達某個目的MAC地址的數據幀可以從那個介面進行轉發)根據轉發表中的條目逐步匹配看該從那個介面轉發或是否需要丟棄該數據幀。最簡單的網橋只有兩個介面(這里所講的網橋都是兩個介面的網橋)。
使用網橋設備的優點:
1,過濾通信量,增大吞吐量(網橋可以隔離碰撞域提高網路的吞吐量)
2,擴大了物理網路的范圍(擴展乙太網)
3,提供了可靠性(隻影響單個網段)
4,可以互連不同的物理層,不同MAC子層和不同速率
使用網橋設備的缺點:
1,使用CMSA/CD演算法增加了時延
2,不能進行流量控制,緩存存儲空間可能會發生溢出
3,會產生廣播風暴
網橋自學習和轉發幀的一般步驟:
1,網橋收到一幀後先進行自學習。查找轉發表中與收到數據幀的源地址有無匹配的項目。如果沒有,就在轉發表中增加一個項目(記錄數據幀的源地址,進入網橋的介面和時間)。如果有,則把原來的項目進行更新。
2,轉發幀。查找轉發表中與收到數據幀的目的地址有無相匹配的項目。如果沒有,則通過其他的介面(但進入網橋的介面除外)進行轉發。如果有,則按轉發表中給出的介面進行轉發。但應當注意,若轉發表中給出的介面就是該幀進入網橋的介面,則應該丟棄這個數據幀(因為這種情況不需要經過網橋進行轉發)。
3,使用生成樹演算法,即互連載一起的網橋在進行彼此通信後,就能找出原來的網路拓撲的一個子集。在這個子集里,整個連通的網路中不存在迴路,即在任何兩個站點之間只有一條路徑。
for example: 如圖所示,6個站點通過透明網橋B1和B2連接到一個擴展的區域網上。初始時網橋B1和B2的轉發表都為空。假設需要傳輸的幀序列如下:H2傳輸給H1;H5傳輸給H4;H3傳輸給H5;H1傳輸給H2;H6傳輸給H5。請給出這些幀傳輸完後網橋B1和網橋B2的轉發表。假設轉發表表項的格式為:[ 站點, 埠 ]。
發送的幀B1轉發表 B1的處理 B2轉發表 B2的處理
H2--->H1 H2,1 登記,轉發 H2,1 登記,轉發
H5--->H4 H5,2 登記,轉發 H5,2 登記,轉發
H3--->H5 H3,2 登記,丟棄 H3,1 登記,轉發
H1--->H2 H1,1 登記,丟棄
H6--->H5 H6,2 登記,丟棄
解釋說明:
1,H2主機向H1主機發送幀。連接在同一個區域網上的主機H1和網橋B1都能收到H2主機發送的數據幀。網橋B1收到這個數據幀後,先按源地址H2查找轉發表。這時因為網橋B1的轉發表為空,於是就把地址H2和收到此幀的介面1 寫入到轉發表中。這就表示,以後若收到要發給H2的幀,應當從網橋B1的這個介面1 轉發出去。接著再按目的地址H1查找轉發表。轉發表中沒有H1的地址,於是通過除收到此幀的介面1 以外的所有介面轉發此幀。網橋B2 從其介面1 收到這個轉發過來的幀。網橋B2按同樣的方式處理收到的幀。網橋B2的轉發表中沒有H2的地址,因此在網橋B2的轉發表中寫入地址H2 和介面1 。網橋B2的轉發表中沒有H1的地址,因此網橋B2會通過除接收此幀的介面1 以外的所有介面轉發這個幀。(H1本來就可以直接收到H2發送的數據幀,為什麼還要讓網橋B1和B2盲目地轉發這個幀呢??? 答案是:這兩個網橋當時並不知道網路的拓撲結構,因此要通過自學習過程才能逐步弄清所連接的網路拓撲,建立起自己的轉發表)
2,H3主機向H5主機發送數據幀。首先看網橋B1,網橋B1從其介面2收到這個數據幀。網橋B1的轉發表中沒有H3,因此在B1的轉發表中寫入地址H3 和介面2。再查找目的地址H5。現在網橋B1的轉發表中可以查詢到H5,其轉發的介面是2,和這個幀進入網橋B1的介面一樣。於是網橋B1知道,不用自己轉發這個幀,H5也能收到H3發送的幀。於是網橋B1把這個幀丟棄,不再繼續轉發了。再看網橋B2,網橋B2從其借口1 收到這個幀。網橋B2的轉發表中沒有H3,因此在B2的轉發表中寫入地址H3 和介面 1。再查找目的地址H5。現在網橋B2的轉發表中可以查詢到H5,其轉發的介面是 2 ,於是網橋B2直接將這個幀從介面2 轉發出去。
3,H6主機向H5主機發送數據幀。首先看網橋B2,網橋B2從其介面2 收到這個數據幀。網橋B2的轉發表中沒有H6,因此在B2的轉發表中寫入地址H6 和介面 2。再查找目的地址H5。現在網橋B2的轉發表中可以查詢到H5,其轉發的介面是2,和這個幀進入網橋B2的介面一樣。於是網橋B2知道,不用自己轉發這個幀,H5也能收到H6發送的幀。於是網橋B2把這個幀丟棄,不再繼續轉發了。再看網橋B1,其根本不會收到H6主機向H5發送的數據幀,所以不會有任何其他操作。
PS:在網橋的轉發表中寫入的信息除了地址和介面外,還有幀進入該網橋的時間。網橋中的介面管理軟體周期性的掃描轉發表中的項目。只要在一定時間以前登記的都要刪除。這樣就使得網橋中的轉發表能反映當前網路的最新拓撲狀態。還有一點網橋是一種工作在數據鏈路層的網路設備,它能對於接收到的數據幀進行有條件的轉發並且能隔離沖突域。
㈢ 思科生成樹協議STP
思科生成樹協議STP
STP(生成樹協議)是一個二層鏈路管理協議。它的主要功能是在保證網路中沒有迴路的基礎上,允許在第二層鏈路中提供冗餘路徑,以保證網路可靠、穩定地運行。下面我整理了一位思科網路工程師關於STP筆記,現分享給大家!
STP定義
1.STP(生成樹協議)是一個二層鏈路管理協議。它的主要功能是在保證網路中沒有迴路的基礎上,允許在第二層鏈路中提供冗餘路徑,以保證網路可靠、穩定地運行。
2.迴路會造成數據在環路中無限循環,終端站點接收重復的信息,交換機在多個埠上得到同一個終端站點的MAC地址,產生廣播風暴,影響整個網路的正常運行。
3.IEEE802.1D是最早的STP標准,它提供了動態冗餘切換機制,是目前最流行、應用最廣泛的STP標准。STP運行在交換機和網橋設備上,通過計算建立一個穩定的樹狀結構網路,來避免網路中迴路的產生。
STP的基本工作原理
1.STP通過在交換機之間傳遞網橋協議數據單元BPDU,並用生成樹演算法STA,對其進行比較計算。
2.根據BPDU提供的參數和生成樹計算,STP首先選定一個根網橋,根網橋是整個生成樹拓撲結構的核心。所有的數據實際上都要通過根網橋。
3.然後確定交換機冗餘鏈路埠的工作狀態,讓一些埠進入阻塞工作模式,另一些埠進入轉發工作模式。其中被阻塞的埠仍然是一個激活的埠,但它只能接收和讀取BPDU,不能接收和轉發數據流。
4.用改變冗餘埠的工作狀態來阻斷網路中的部分冗餘路徑,使其成為備份鏈路,以保證在任何兩個終端站點之間,只存在一條激活的路徑,避免了迴路的產生。
5.STP還計算從根到二層網路中所有交換機的最佳路徑,並建立一個無環路的樹狀結構網路。
在網路運行過程中,如果一個網段在生成樹中因故障而失效,多餘的路徑又存在時,生成樹會重新計算生成樹拓撲,並強制將有故障的鏈路變為備份鏈路,而把原備份鏈路重新激活。(重新設置轉發埠和阻塞埠)
STP:交換機和網橋的區別
在STP的處理過程中,交換機和網橋是有區別的,交換機需要對VLAN進行處理。
1.首先要指定一個根交換機,然後為每一個VLAN選擇一個根網橋,因為每個虛擬網都是一個獨立的廣播域。最後再確定冗餘埠的工作模式,選擇備份鏈路和激活鏈路,生成無迴路的拓撲結構。
2.根的.確定,樹狀結構的生成,主要是依靠BPDU提供的信息。BPDU數據包有兩種類型,一種是包含配置信息的配置BPDU(不超過35B),另一種是包含拓撲變化信息的拓撲變化通知BPDU(不超過4B)。
3.在配置BPDU包中的BridgeID信息,是選取根網橋或根交換機的主要依據。BridgeID值最小的成為根網橋或根交換機。
4.BPDU每2秒定時發送一次,在網路發送故障或拓撲結構發生變化時也會發送新的BPDU,以維護生成樹樹狀結構。
5.在選擇根網橋時,如果優先順序值相同,那麼就根據MAC地址的值決定根網橋,MAC地址的值最小的為根網橋。
;㈣ 乙太網系統的組成和特點是什麼
乙太網系統組成:共享媒體和電纜、轉發器或集線器、網橋、交換機和乙太網協議。
區域網採用的最通用的通信協議標准。乙太網具有如下的一般特徵:
1)共享媒體:所有網路設備使用同一通信媒體。
2)廣播域:需要傳輸的幀被發送到所有節點,但只有定址到的節點才會接收到幀。
3) CSMA/CD:乙太網中利用載波監聽多路訪問/沖突檢測方法(Carrier Sense Multiple Access/Collision Detection)以防止兩個或更多節點同時發送。
4) MAC 地址:媒體訪問控制層的所有 Ethernet 網路介面卡(NIC)都採用48位網路地址。這種地址全球唯一。
(4)網橋或交換機採用生成樹演算法擴展閱讀
交換式乙太網
乙太網的發展很快,從單根長電纜的典型乙太網結構開始演變。單根電纜存在的問題,比如找出斷裂或者松動位置等連接相關的問題,驅使人們開發出一種不同類型的布線模式。
在這種模式中,每個站都有一條專用電線連接到一個中央集線器。集線器只是在電氣上簡單地連接所有連接線,就像把它們焊接在一起。集線器不能增加容量,因為它們邏輯上等同於單根電纜的經典乙太網。隨著越來越多的站加入,每個站獲得的固定容量共享份額下降。最終,LAN將飽和。
還有另一條出路可以處理不斷增長的負載:即交換式乙太網。交換式乙太網的核心是一個交換機,它包含一塊連接所有埠的高速背板。從外面看交換機很像集線器,它們都是一個盒子,通常擁有4-48個埠,每個埠都有一個標準的RJ-45連接器用來連接雙絞電纜。
交換機只把幀輸出到該幀想去的埠。通過簡單的插入或者拔出電纜就能完成或者刪除一台機器,而且由於片狀電纜或者埠通常隻影響到一台機器,因此大多數錯誤都很容易被發現。
這種配置模式仍然存在一個共享組件出現故障的問題,即交換機本身的故障:如果所有站都失去了網路連接,則IT人員知道該怎麼解決這個問題:更換整個交換機。
㈤ 寫出生成樹協議的基本作用和根網橋選舉的過程
生成樹協議的主要功能有兩個:一是在利用生成樹演算法、在乙太網絡中,創建一個以某台交換機的某個埠為根的生成樹,避免環路。二是在乙太網絡拓撲發生變化時,通過生成樹協議達到收斂保護的目的。
根網橋的選擇流程:
1、第一次啟動交換機時,自己假定是根網橋,發出BPDU報文宣告。
2、每個交換機分析報文,根據網橋ID選擇根網橋,網橋ID小的將成為根網橋(先比較網橋優先順序,如果相等,再比較MAC地址)。
3、經過一段時間,生成樹收斂,所有交換機都同意某網橋是根網橋。
4、若有網橋ID值更小的交換機加入,它首先通告自己為根網橋。其它交換機比較後,將它當作新的根網橋而記錄下來。
㈥ 生成樹協議IEEE802.1D的工作原理
STP協議的基本思想十分簡單。大家知道,自然界中生長的樹是不會出現環路的,如果網路也能夠像一棵樹一樣生長就不會出現環路。於是,STP協議中定義了根橋(Root Bridge)、根埠(Root Port)、指定埠(Designated Port)、路徑開銷(Path Cost)等概念,目的就在於通過構造一棵自然樹的方法達到裁剪冗餘環路的目的,同時實現鏈路備份和路徑最優化。用於構造這棵樹的演算法稱為生成樹演算法STA(Spanning Tree Algorithm)。要實現這些功能,網橋之間必須要進行一些信息的交流,這些信息交流單元就稱為配置消息BPDU(Bridge Protocol Data Unit,網橋協議數據單元)。STP BPDU是一種二層報文,目的MAC是多播地址01-80-C2-00-00-00,所有支持STP協議的網橋都會接收並處理收到的BPDU報文。該報文的數據區里攜帶了用於生成樹計算的所有有用信息。
了解生成樹協議的工作過程也不難,首先進行根橋的選舉。選舉的依據是網橋優先順序和網橋MAC地址組合成的橋ID(Bridge ID),橋ID最小的網橋將成為網路中的根橋。在圖6-15所示的網路中,網橋都以默認配置啟動,在網橋優先順序都一樣(默認優先順序是32768)的情況下,MAC地址最小的網橋成為根橋(如圖中的交換機1),它的所有埠的角色都成為指定埠(Designated port),進入轉發狀態。接下來,其他網橋將各自選擇一條「最粗壯」的樹枝作為到根橋的路徑,相應埠的角色就成為根埠。假設圖6-15中交換機2和交換機1、交換機3之間的鏈路都是千兆GE鏈路,交換機1和交換機3之間的鏈路是百兆FE鏈路,交換機3從埠1到根橋的路徑開銷的默認值是19,而從埠2經過交換機2到根橋的路徑開銷是4+4=8(千兆位鏈路的默認開銷為4,百兆位鏈路的默認開銷為19),因為後者的開銷要遠小於前者,所以埠2就成為根埠(Root Port),進入轉發狀態。根據同樣的計算道理可以得出,交換機2的埠2成為根埠,埠1成為指定埠,進入轉發狀態。
根橋和根埠都確定之後一棵樹就生成了,如圖6-15中的網橋就是從交換機1→交換機2的2號埠→交換機3的2號埠。下面的任務是裁剪冗餘的環路。這個工作是通過阻塞非根橋上相應埠來實現的,例如交換機3的埠1的角色成為禁用埠,進入阻塞狀態(圖中用「×」表示)。生成樹經過一段時間(默認值是30秒左右)穩定之後,所有埠要麼進入轉發狀態,要麼進入阻塞狀態。STP BPDU仍然會定時從各個網橋的指定埠發出,以維護鏈路的狀態。如果網路拓撲發生變化,生成樹就會重新計算,埠狀態也會隨之改變。
STP協議給透明網橋帶來了新生。但是,隨著應用的深入和網路技術的發展,它的缺點在應用中也被暴露出來。STP協議的缺陷主要表現在收斂速度上。當拓撲發生變化,新的配置消息要經過一定的時延才能傳播到整個網路,這個時延稱為Forward Delay(轉發延時),協議默認值是15秒。在所有網橋收到這個變化的消息之前,若舊拓撲結構中處於轉發的埠還沒有發現自己應該在新的拓撲中停止轉發,則可能存在臨時環路。為了解決臨時環路的問題,生成樹使用了一種定時器策略,即在埠從阻塞狀態到轉發狀態中間加上一個只學習MAC地址,但不參與轉發的中間狀態,兩次狀態切換的時間長度都是Forward Delay,這樣就可以保證在拓撲變化的時候不會產生臨時環路。但是,這個看似良好的解決方案實際上帶來的卻是至少兩倍Forward Delay的收斂時間!
㈦ 生成樹協議模式的區別
生成樹協議模式沒有區別,在工作時一種工作在OSI網路模型中的第二層(數據鏈路層)的通信協議,基本應用是防止交換機冗餘鏈路產生的環路.用於確保乙太網中無環路的邏輯拓撲結構.從而避免了廣播風暴,大量佔用交換機的資源。
生成樹協議工作原理:任意一交換機中如果到達根網橋有兩條或者兩條以上的鏈路.生成樹協議都根據演算法把其中一條切斷,僅保留一條.從而保證任意兩個交換機之間只有一條單一的活動鏈路.因為這種生成的這種拓撲結構.很像是以根交換機為樹乾的樹形結構.故為生成樹協議。
(7)網橋或交換機採用生成樹演算法擴展閱讀:
1、生成樹協議提供一種控制環路的方法。採用這種方法,在連接發生問題的時候,你控制的乙太網能夠繞過出現故障的連接。
2、生成樹中的根橋是一個邏輯的中心,並且監視整個網路的通信。最好不要依靠設備的自動選擇去挑選哪一個網橋會成為根橋。
3、生成樹協議重新計算是繁冗的。恰當地設置主機連接埠(這樣就不會引起重新計算),推薦使用快速生成樹協議。
4、生成樹協議可以有效的抑制廣播風暴。開啟生成樹協議後抑制廣播風暴,網路將會更加穩定,可靠性、安全性會大大增強。
STP的工作過程如下:首先進行根網橋的選舉,其依據是網橋優先順序(bridge priority)和MAC地址組合生成的橋ID,橋ID最小的網橋將成為網路中的根橋(bridge root)。
在此基礎上,計算每個節點到根橋的距離,並由這些路徑得到各冗餘鏈路的代價,選擇最小的成為通信路徑(相應的埠狀態變為forwarding),其就成為備份路徑(相應的埠狀態變為blocking)。
STP生成過程中的通信任務由BPDU完成,這種數據包又分為包含配置信息的配置BPDU(其大小不超過35B)和包含拓撲變化信息的通知BPDU(其長度不超過4B)。
㈧ 交換機生成樹的工作原理
生成樹的工作原理:
生成樹協議的國際標準是IEEE802.1b。運行生成樹演算法的網橋/交換機在規定的間隔(CISCO 默認2秒)內通過網橋協議數據單元(BPDU)的組播幀與其他交換機交換配置信息 ,其工作的過程如下:
·通過比較網橋優先順序選取根網橋(給定廣播域內只有一個根網橋)。
·其餘的非根網橋只有一個通向根交換機的埠稱為根埠。
·每個網段只有一個轉發埠。
·根交換機所有的連接埠均為轉發埠。
注意:生成樹協議在交換機上一般是默認開啟的,不經人工干預即可正常工作。但這種自動生成的方案可能導致數據傳輸的路徑並非最優化。因此,可以通過人工設 置網橋優先順序的方法影響生成樹的生成結果。
㈨ 生成樹協議IEEE802.1D的簡介
網路環路的發生有多種原因,最常見的一種是有意生成的冗餘 - 萬一一個鏈路或交換機失敗,會有另一個鏈路或交換機替代。
STP 允許網橋之間相互通信以發現網路物理環路。該協議定義了一種演算法,網橋能夠使用它創建無環路(loop-free)的邏輯拓樸結構。換句話說,STP 創建了一個由無環路樹葉和樹枝構成的樹結構,其跨越了整個第二層網路。
生成樹協議操作對終端站透明,也就是說,終端站並不知道它們自己是否連接在單個區域網段或多網段中。當有兩個網橋同時連接相同的計算機網段時,生成樹協議可以允許兩網橋之間相互交換信息,這樣只需要其中一個網橋處理兩台計算機之間發送的信息。
網橋之間通過橋接協議數據單元(Bridge Protocol Data Unit - BPDU)交換各自狀態信息。生成樹協議通過發送 BPDU 信息選出網路中根交換機和根節點埠,並為每個網段(switched segment)選出根節點埠和指定埠。
網橋中的程序能夠決定如何使用生成樹協議,這稱為生成樹演算法,該演算法能夠避免網橋環路,並確保在多路徑情形下網橋能夠選擇一條最有效的路徑。如果最佳路徑失敗,可以使用該演算法重新計算網路路徑並找出下一條最佳路徑。 利用生成樹演算法可以決定網路(哪台計算機主機在哪個區段),並通過 BPDU 信息交換以上數據。該過程主要分為以下兩個步驟:
步驟1:通過評估它所接收到的所有配置信息和選擇最優選項,來決定一個網橋可發送的最佳信息。
步驟2:一旦選定某網橋發送的信息,網橋將該信息與來自無根(non-root)連接的可能配置信息相比較。如果步驟1中選擇的最佳選項並不優於可能配置信息,便刪除該埠。
㈩ cisco交換機生成樹協議具體怎麼配置
具體的配置方法如下:
1、首先先在VLAN上面啟用生成樹,具體的命令如下:spanning-tree vlan 2。
2、然後就需要建立根網橋,具體的方法如下:
(1)直接建立根網橋,具體的命令如下:spanning-tree vlan 2 root primary。
(2)通過修改優先順序建立根網橋(根網橋在配置BPDU中設定TCN位,提示其他網橋快速清理MAC地址表。),具體的命令如下:spanning-treevlan 2 priority 24768(4096的倍數,值愈來愈小,優先順序就愈來愈高.默認值是為32768的)。
3、確定路徑,選定根埠,具體的方法如下:
(1)大家能夠通過修改一下埠成本,具體的命令如下:(注意這是在配置模式下面進行的)spanning-tree vlan 2 cost ***(100m是為19,10m是為100,值愈來愈小,路徑就愈來愈優先)。
(2)當然啦大家也可以修改一下埠優先順序,具體的命令如下:(注意這是在介面模式下面進行的)spanning-tree vlan 2 port-priority ***(0-255,默認值是為128)。
4、可修改計時器(這是一個可選的操作)
(1)修改一下HELLO時間,具體的命令如下:spanning-tree vlan 2 hello-time **(1-10s,默認值是為兩秒)。
(2)修改一下轉發延遲的時間,具體的命令如下:spanning-tree vlan 2 forward-time ***(4-30s,默認值是為15s)。
(3)修改一下最大老化的時間,具體的命令如下:spanning-tree vlan 2 max-age ****(6-40,默認值是為20秒)。
5、快速埠的配置,具體的命令如下:spanning-tree portfas。
6、上行埠的配置,具體的命令如下:spanning-tree uplinkfast。