交換技術(shù)應(yīng)用連載:廣播風(fēng)暴問題解決
橋接環(huán)路
在交換機設(shè)備出現(xiàn)之前,曾經(jīng)出現(xiàn)過一種用來隔離碰撞的設(shè)備叫網(wǎng)橋(bridge)。網(wǎng)橋的工作原理和交換機相同,只是比交換機端口少,只有兩個端口。另外一個不同點是網(wǎng)橋是軟件實現(xiàn)的,交換速度比交換機慢。基于歷史原因,今天仍然把交換機稱為橋接設(shè)備,把交換機形成的環(huán)路稱為橋接環(huán)路(bridge loop)。
交換機把原本處于同一個碰撞域和廣播域的主機分割開來,使它們分別處于不同的碰撞域,提高了網(wǎng)絡(luò)性能。這樣做雖然解決了一個問題(提高了性能),但又引入了一個新問題,就是單點失敗(single point failure),即當交換機出現(xiàn)故障時原本能夠通信的主機就不能通信了。為了避免單點失敗,人們很自然地想到了冗余技術(shù)--使用兩臺交換機連接兩個分離的網(wǎng)段,一旦一臺交換機出現(xiàn)故障還有另外一臺交換機可以替代工作。單點失敗的問題雖然解決了,但是由于兩條路徑的出現(xiàn)又會產(chǎn)生環(huán)路(如圖1所示)。環(huán)路的產(chǎn)生將引起廣播風(fēng)暴(broadcast storm)和MAC地址表不穩(wěn)定。這兩個問題要比單點失敗嚴重的多。
圖 1環(huán)路的形成
廣播風(fēng)暴的形成
在圖2所示的拓撲中,當網(wǎng)段1(segmeng1)中的主機hostX發(fā)出一個廣播幀后(例如ARP廣播),該網(wǎng)段中所有節(jié)點都接收到它,SwitchA和switchB也不例外,這里以switchA為例。由于是廣播幀,SwitchA將它轉(zhuǎn)發(fā)到所有其他端口,因此,這個廣播幀會出現(xiàn)在網(wǎng)段2(segment2)中。
被交換機switchA轉(zhuǎn)發(fā)到網(wǎng)段2的廣播幀被交換機switchB處于網(wǎng)段2的端口收到。SwitchB并不知道該數(shù)據(jù)幀是由switchA轉(zhuǎn)發(fā)過來的,因為數(shù)據(jù)幀上沒有任何跡象表明它曾經(jīng)被交換機處理過,正是基于這個原因,以太網(wǎng)交換機也稱為透明(transparent)網(wǎng)橋--對于數(shù)據(jù)的接收端來說是透明的,它看不到路徑中經(jīng)由的交換機,它認為數(shù)據(jù)是從發(fā)送端直接到達目的地的的。SwitchB收到該廣播幀后查閱地址表,沒有找到任何匹配的地址條目,只好將該幀向其它所有端口轉(zhuǎn)發(fā),該廣播幀又被轉(zhuǎn)發(fā)到網(wǎng)段1上。SwitchA還會收到它并執(zhí)行前面的過程。如此往復(fù),廣播幀在環(huán)路中無休止地傳播,形成廣播風(fēng)暴。廣播風(fēng)暴將嚴重影響網(wǎng)絡(luò)性能,甚至造成網(wǎng)絡(luò)癱瘓。
圖 2 廣播風(fēng)暴的形成
MAC地址表不穩(wěn)定
環(huán)路也會造成交換機的MAC地址表不穩(wěn)定。以圖3為例解釋為什么MAC地址表不穩(wěn)定。
圖 3 MAC地址表不穩(wěn)定 (做圖時把SW1下面的黑條去掉,SW1、SW2后面的陰影去掉)
假如主機A向主機B發(fā)送數(shù)據(jù)。該數(shù)據(jù)幀被交換機SW1和交換機SW2在網(wǎng)段1(S1)上的端口收到,通過學(xué)習(xí)數(shù)據(jù)幀中的源地址,兩臺交換機都認為主機A在網(wǎng)段S1上,并把這樣的信息寫入地址表中。此時如果兩臺交換機的地址表中并沒有主機B的地址條目,它們會把該數(shù)據(jù)幀向其他所有端口轉(zhuǎn)發(fā),這樣該數(shù)據(jù)幀就會被轉(zhuǎn)發(fā)到網(wǎng)段2(S2)上。交換機SW2通過其在S2網(wǎng)段上的端口收到交換機SW1轉(zhuǎn)發(fā)到S2網(wǎng)段上的數(shù)據(jù)幀后,再次讀取源地址,發(fā)現(xiàn)仍然是主機A的地址,那么它認為主機A在網(wǎng)段2上,便修改自己的地址表,以反映出最新的狀態(tài)。同理,交換機SW1從S2網(wǎng)段上收到該數(shù)據(jù)幀后也修改自己的地址表,把主機A對應(yīng)在S2網(wǎng)段上。這樣,隨著數(shù)據(jù)幀在環(huán)上不停地旋轉(zhuǎn),兩臺交換機會認為主機A不停地在兩個網(wǎng)段上變換,造成MAC地址表不穩(wěn)定。MAC地址表不穩(wěn)定會影響主機之間的通信,因為某些數(shù)據(jù)轉(zhuǎn)發(fā)不到正確的目的地。
提示:如果交換機在其兩個或以上端口上收到了同一個數(shù)據(jù)幀,它就認為出現(xiàn)了環(huán)路,并報告故障信息。
【編輯推薦】