崔德友
(通化廣播電視大學 吉林 134000)
交換網(wǎng)絡的實際應用中,基于可靠性從而對整個應用網(wǎng)絡予以提高,繼而實現(xiàn)單點失效的故障消除。通常情況,在設計網(wǎng)絡的過程中其冗余的連接方式所涉及的線路、端口以及設備都相對較多。但是,由于這種拓撲結(jié)構(gòu)的存在不可避免的產(chǎn)生了二層環(huán)路,交換機如果對二層環(huán)路又不采取相應的措施予以處理,最終網(wǎng)絡會產(chǎn)生嚴重的問題,比如幀重復、廣播風暴及不穩(wěn)定的MAC地址等。針對這樣的環(huán)路問題如何予以解決便產(chǎn)生了相應的解決協(xié)議即生成樹協(xié)議。當拓撲網(wǎng)絡中出現(xiàn)冗余,STP(Spanning Tree Protocol)可以自發(fā)性的鎖定其中的鏈路,將其中最佳的一條鏈路保留完成相應的轉(zhuǎn)發(fā)功能,從而將其他的冗余鏈路予以阻塞[1]。并且可以保證當網(wǎng)絡的拓撲結(jié)構(gòu)發(fā)生變化時能夠?qū)崿F(xiàn)重新計算,使得網(wǎng)絡中的所有網(wǎng)段都能信息到達且沒有環(huán)路產(chǎn)生。相較于網(wǎng)絡的其他協(xié)議,STP協(xié)議一樣是伴隨著不斷發(fā)展的網(wǎng)絡技術(shù)而更新不斷。如今較常見的是快速生成樹協(xié)議RSTP(Rapid Spanning Tree Protocol)和多生成樹協(xié)議MSTP(Multi Spanning Tree Protocol)。本文通過對某公司的交換網(wǎng)絡拓撲圖分析研究,了解其環(huán)路的生成,從而制定防治方案。如圖1所示。
圖1 企業(yè)交換網(wǎng)絡環(huán)路拓撲圖
圖1所示,兩臺交換機如果生成樹沒有運行,主機A所發(fā)送的MAC地址的廣播幀信息①基于總線形或星形的以太網(wǎng)拓撲結(jié)構(gòu),同時向交換機1和2發(fā)送信息②,當①到達交換機1/1端口后,隨后通過1/2端口發(fā)送信息③④到達交換機2的1/2端口,交換機2再利用1/1端口又將信息⑤⑥發(fā)送到交換機1的1/1端口,交換機1再次利用1/2端口將信息⑦發(fā)送到交換機2的1/2端口,于是生成一個廣播環(huán)路。并且實際上廣播幀信息在發(fā)送給交換機1的1/1端口時也同時發(fā)送到交換機2的1/1端口,交換機2也通過鏈路將信息發(fā)送到交換機1,便生成了雙向的廣播環(huán)路。
交換機作為一種交換設備工作于二層上,相應的具有相當重要的一個功能即是每個數(shù)據(jù)幀被對應端口接受后其源設備所具備的硬件地址(即MAC地址)能夠被記住,并且在MAC地址表中對應的寫入接受數(shù)據(jù)幀的端口號以及MAC地址等相關信息。當數(shù)據(jù)幀被交換機的某一個端口接受后,其源設備的硬件地址會由交換機進行查看,在MAC地址表中將外出端口找到,從而轉(zhuǎn)發(fā)數(shù)據(jù),這一過程即是交換機交換數(shù)據(jù)的工作原理。
交換機啟動前,不存在MAC地址表的相應數(shù)據(jù)庫,其生成是伴隨交換機進行數(shù)據(jù)交換的過程且處于一個動態(tài)的變化狀態(tài)。當交換網(wǎng)絡中存在冗余鏈路時,由工作站所發(fā)出的某一數(shù)據(jù)幀便會沿著兩條鏈路進行相應的兩個交換機中,此時由于未形成MAC地址表,則以廣播的形式將數(shù)據(jù)幀完整的向?qū)粨Q機的其他端口發(fā)送,因此產(chǎn)生重復性的數(shù)據(jù)幀信息轉(zhuǎn)發(fā),即兩臺交換機通過對應兩點間的環(huán)路重復轉(zhuǎn)發(fā)同一數(shù)據(jù)幀信息,所謂的廣播風暴由此形成。除此之外,數(shù)據(jù)幀通過工作站發(fā)送后到達網(wǎng)絡中,當交換機接收到數(shù)據(jù)幀后向MAC地址表中寫入源MAC地址,此時兩臺交換機都會在各自的MAC地址表中寫入源MAC地址與對應的端口號,同時將該數(shù)據(jù)幀向?qū)粨Q機予以轉(zhuǎn)發(fā)。如此重復性的工作使得MAC地址表被源MAC地址不斷的更新,數(shù)據(jù)幀的轉(zhuǎn)發(fā)則無法進行,從而導致MAC地址的系統(tǒng)無法實現(xiàn)功能??芍嬖诘娜哂噫溌钒殡S上述兩種危害阻塞了整個網(wǎng)絡,最終使得整個網(wǎng)絡處于癱瘓的狀態(tài)。
生成樹協(xié)議STP的產(chǎn)生基于解決冗余鏈路所帶來的危害。其根本的目的是針對網(wǎng)絡架構(gòu)的轉(zhuǎn)換即將存在物理環(huán)路的某一交換網(wǎng)絡轉(zhuǎn)變?yōu)椴淮嬖诃h(huán)路的對應的邏輯樹型的網(wǎng)絡,從而在邏輯上實現(xiàn)冗余環(huán)路的裁剪,物理上備份鏈路及最優(yōu)的路徑的選擇。針對實際的交換網(wǎng)絡,生成樹協(xié)議借助STA算法的運行管理鏈路,當環(huán)路存在于網(wǎng)絡中,邏輯上主動對某一或多個冗余的端口實行阻斷,保證和其他計算機進行通信的過程中存在一條有效鏈路,STP協(xié)議對網(wǎng)絡進行持續(xù)性探測,當鏈路出現(xiàn)無法使用的故障或網(wǎng)絡的拓撲發(fā)生相應的改變,網(wǎng)絡的鏈路會由生成樹協(xié)議重新計算與端口的分配[2]。由此,保證網(wǎng)絡運行正常和冗余的能力。
針對交換網(wǎng)絡存在物理環(huán)路時,如果想要消除此物理環(huán)路形成一邏輯的樹型網(wǎng)絡,其具體的實現(xiàn)規(guī)則為:在冗余鏈路中選舉一臺交換機作為根交換機且唯一存在。選舉交換機的依據(jù)是其優(yōu)先級以及由MAC地址所組合而成的BD。作為BPDU(Bridge Protocol Data Unit)其中一部分,BD具體包括2字節(jié)的優(yōu)先級與6字節(jié)的MAC地址,計長為8個字節(jié)。當存在冗余鏈路的交換網(wǎng)絡中其交換機中最小的橋D即作為根交換機,若出現(xiàn)一樣的優(yōu)先級時,具有最小MAC地址的交換機即是根交換機。根交換機選定之后便是設定端口,在不屬于根交換機上STP都建立一個相應的根端口。根端口的選擇依據(jù)存在于根交換機與非根交換機之間路徑的成本,生成樹路徑的成本基于所有鏈路存在的累積帶寬路徑的總成本。根端口的設定為路徑成本最低的端口且通常情況下處于轉(zhuǎn)發(fā)的狀態(tài)。當路徑的成本一樣時,比較BD值,即小BD值的交換機的端口作為指定的端口,反之亦為非指定的端口。指定的端口處于轉(zhuǎn)發(fā)的狀態(tài)可以實現(xiàn)流量的發(fā)送與接收,而非指定的端口由于處于阻塞的狀態(tài)造成流量僅能完成接收而無法實現(xiàn)轉(zhuǎn)發(fā)。BPDU之中記錄著交換機端口的信息,交換機通過相互間BPDU的交換,即可實現(xiàn)相應參數(shù)的獲取,通過信息的分析從而選出最小代價的通信路徑,其他的則作為備用候選。
通常vlan的創(chuàng)建都是由管理員完成,基于管理員的操作使得每個vlan對應相應的交換機端口,此vlan類型即是靜態(tài)vlan;管理員如果進行更深入的操作即在某一數(shù)據(jù)庫中完成所有主機設備等相應硬件地址的分配,意味著無論何時在交換機中插入主機,交換機都能夠完成動態(tài)的vlan配置,即為動態(tài)vlan。
冗余連接的建立基于核心層設備及接入層交換機與分布層設備,如果其中的某一設備或鏈路有故障產(chǎn)生,此時上述連接可以實現(xiàn)備用路徑的提供。工作于第三層上的設備使用適宜路由協(xié)議作用在分布層上,當鏈路出現(xiàn)故障時可及時迅速應對,從而避免網(wǎng)絡的運行受到影響。工作于第二層的設備,通過STP的啟用穩(wěn)定網(wǎng)絡。STP如果沒有,則二層冗余鏈路的網(wǎng)絡中便會產(chǎn)生廣播風暴。交換機由于無法實現(xiàn)端口信息的正確獲得,使得交換機中出現(xiàn)流量泛洪現(xiàn)象[3]。借組于將其中的一條鏈路實行禁用,于是兩個相應的設備中由于STP保證活動路徑的唯一性。如果針對其中的一條鏈路有故障產(chǎn)生,則生成樹的拓撲便會重新開始計算且自動啟用備用的鏈路,實現(xiàn)環(huán)路危害的避免。
IEEE 802.1w定義了快速生成樹協(xié)議(RSTP),技術(shù)構(gòu)建在IEEE 802.1d上,能夠?qū)崿F(xiàn)生成樹收斂能力的快速性。生成樹協(xié)議所具有的功能快速生成樹協(xié)議不僅能夠全部完成,其關鍵之處在于當配置的參數(shù)或物理拓撲發(fā)生了相應的變化后,其重新收斂網(wǎng)絡的時間會明顯的縮短,端口由阻塞變成轉(zhuǎn)發(fā)的時間延遲也會相應的降低。
相較于生成樹協(xié)議,快速生成樹協(xié)議從端口的角度額外的定義了兩種類型:替換與備份,且定義了三種端口狀態(tài):丟棄、轉(zhuǎn)發(fā)及學習。為了防治生成樹環(huán)路,快速生成樹協(xié)議通過對網(wǎng)橋間“橋-橋握手的機制”的利用使得端口的任務在通過網(wǎng)絡的分配后能夠相應的保持一致。這種握手機制由于不依賴定時器,基于此,信息可以實現(xiàn)網(wǎng)絡中各處的迅速傳送,極短的時間內(nèi)實現(xiàn)連接的恢復伴隨拓撲結(jié)構(gòu)的變化。
IEEE 802.1s定義了多生成樹協(xié)議(MSTP),是一種新型且多實例化的生成樹協(xié)議。目前,這個協(xié)議處于優(yōu)化的過程中,當前能夠獲得的只有草案版本,但是實際中有一些制造設備的企業(yè)建立的相應的技術(shù)支持。實例化其實指的就是集合多個VLAN,且將其進行捆綁應用在一個實例中實現(xiàn)通信開銷以及占用資源的節(jié)省。在具體的使用過程中針對相同的拓撲可以完成一個實例中映射多個VLAN,端口上相對應的MSTP中實例狀態(tài)決定這些VLAN轉(zhuǎn)發(fā)的狀態(tài)。這里需要注意的是在實際的交換網(wǎng)絡中必須保持實例的映射與所有交換機VLAN的一致,否則交換網(wǎng)絡的連通性會受到影響。
多生成樹協(xié)議較之之前的各種生成樹協(xié)議具有明顯的優(yōu)勢。能夠?qū)LAN完成認知的能力,均衡負載,快速切換端口的狀態(tài),在一個實例中捆綁多個VLAN使得資源的占用得以降低,重要的是對于STP/RSTP協(xié)議的兼容表現(xiàn)十分良好。在實際的應用中可以顯著提高生成樹環(huán)路的防治效果。
前面所述某公司廣播環(huán)路的交換網(wǎng)絡拓撲圖,由于二層交換機間的鏈路有問題即環(huán)路的原因,導致無法正常運行生成樹。其防治的措施即通過生成樹協(xié)議使得兩點間存在一條正確的通信鏈路,自動阻塞其他的冗余鏈路以作備份。具體的設置如下:
通過以上的防治設置,對整個交換網(wǎng)絡進行測試得知信息通信正常。
生成樹協(xié)議專門在交換設備中運行,旨在避免生成樹環(huán)路所造成的混亂形式的數(shù)據(jù)轉(zhuǎn)發(fā)。同時該協(xié)議針對物理上的環(huán)路能夠允許其存在,這樣有利于主鏈路發(fā)生故障時,之前邏輯上被阻斷的鏈路變可以借此恢復數(shù)據(jù)的轉(zhuǎn)發(fā)功能[4],從而真正意義上實現(xiàn)生成樹環(huán)路的防治。
[1] 林狀輝,使用交換機時如何避免環(huán)路現(xiàn)象產(chǎn)生[J].科技信息,2009(24).
[2] 劉海峰、孫敏,論利用生成樹協(xié)議阻止交換網(wǎng)絡環(huán)路[J].現(xiàn)代商貿(mào)工業(yè),2010(24).
[3] 薛志良,巧解生成樹環(huán)路問題[J].電腦知識與技術(shù),2011(35).
[4] 郭彥偉、鄭建德,生成樹協(xié)議與交換網(wǎng)絡環(huán)路研究[J].廈門大學學報(自然科學版),2006(S1).