崔德友
(通化廣播電視大學(xué) 吉林 134000)
交換網(wǎng)絡(luò)的實(shí)際應(yīng)用中,基于可靠性從而對整個(gè)應(yīng)用網(wǎng)絡(luò)予以提高,繼而實(shí)現(xiàn)單點(diǎn)失效的故障消除。通常情況,在設(shè)計(jì)網(wǎng)絡(luò)的過程中其冗余的連接方式所涉及的線路、端口以及設(shè)備都相對較多。但是,由于這種拓?fù)浣Y(jié)構(gòu)的存在不可避免的產(chǎn)生了二層環(huán)路,交換機(jī)如果對二層環(huán)路又不采取相應(yīng)的措施予以處理,最終網(wǎng)絡(luò)會產(chǎn)生嚴(yán)重的問題,比如幀重復(fù)、廣播風(fēng)暴及不穩(wěn)定的MAC地址等。針對這樣的環(huán)路問題如何予以解決便產(chǎn)生了相應(yīng)的解決協(xié)議即生成樹協(xié)議。當(dāng)拓?fù)渚W(wǎng)絡(luò)中出現(xiàn)冗余,STP(Spanning Tree Protocol)可以自發(fā)性的鎖定其中的鏈路,將其中最佳的一條鏈路保留完成相應(yīng)的轉(zhuǎn)發(fā)功能,從而將其他的冗余鏈路予以阻塞[1]。并且可以保證當(dāng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)發(fā)生變化時(shí)能夠?qū)崿F(xiàn)重新計(jì)算,使得網(wǎng)絡(luò)中的所有網(wǎng)段都能信息到達(dá)且沒有環(huán)路產(chǎn)生。相較于網(wǎng)絡(luò)的其他協(xié)議,STP協(xié)議一樣是伴隨著不斷發(fā)展的網(wǎng)絡(luò)技術(shù)而更新不斷。如今較常見的是快速生成樹協(xié)議RSTP(Rapid Spanning Tree Protocol)和多生成樹協(xié)議MSTP(Multi Spanning Tree Protocol)。本文通過對某公司的交換網(wǎng)絡(luò)拓?fù)鋱D分析研究,了解其環(huán)路的生成,從而制定防治方案。如圖1所示。

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

通過以上的防治設(shè)置,對整個(gè)交換網(wǎng)絡(luò)進(jìn)行測試得知信息通信正常。
生成樹協(xié)議專門在交換設(shè)備中運(yùn)行,旨在避免生成樹環(huán)路所造成的混亂形式的數(shù)據(jù)轉(zhuǎn)發(fā)。同時(shí)該協(xié)議針對物理上的環(huán)路能夠允許其存在,這樣有利于主鏈路發(fā)生故障時(shí),之前邏輯上被阻斷的鏈路變可以借此恢復(fù)數(shù)據(jù)的轉(zhuǎn)發(fā)功能[4],從而真正意義上實(shí)現(xiàn)生成樹環(huán)路的防治。
[1] 林狀輝,使用交換機(jī)時(shí)如何避免環(huán)路現(xiàn)象產(chǎn)生[J].科技信息,2009(24).
[2] 劉海峰、孫敏,論利用生成樹協(xié)議阻止交換網(wǎng)絡(luò)環(huán)路[J].現(xiàn)代商貿(mào)工業(yè),2010(24).
[3] 薛志良,巧解生成樹環(huán)路問題[J].電腦知識與技術(shù),2011(35).
[4] 郭彥偉、鄭建德,生成樹協(xié)議與交換網(wǎng)絡(luò)環(huán)路研究[J].廈門大學(xué)學(xué)報(bào)(自然科學(xué)版),2006(S1).