韓明
摘要:早期企業(yè)園區(qū)網絡設計時往往采用了扁平型的組網架構,多采用單點互聯方式。這樣的組網架構過于簡單,運行時沒有冗余功能,往往其中一臺交換機故障就會造成企業(yè)網絡通信故障,網絡服務終止?,F在是一個信息化飛速發(fā)展的時代,企業(yè)網絡在設計時往往對網絡穩(wěn)定性的要求比較高,要求其網絡架構多點互聯,多機熱備。生成樹技術能夠在二層交換網中保證企業(yè)網絡多點互聯,同時也能夠避免交換網絡的環(huán)路。
關鍵詞:生成樹;Stp;Rstp;Mstp
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)09-0003-02
1 傳統(tǒng)單點互聯交換網絡的缺陷
早期的小型網絡往往采用單點互連,企業(yè)的終端計算機通過多臺交換機連接在一起,這種網絡部署簡單,成本低廉。但是單點互聯往往會因為交換機故障造成數據通信失敗。對于一些大型的企業(yè)園區(qū)網絡,特別是銀行、證券等對網絡穩(wěn)定性要求非常高的企業(yè),這種網絡架構是不合格的。如果部署這種網絡架構會給企業(yè)帶來巨大的經濟損失和不良社會影響。
2 采用多點互連交換網絡的問題
2.1以太網環(huán)路問題
當我們采用多點互聯時,由于以太網對于未知的單播幀采用泛洪的廣播方式,這樣就會形成廣播風暴。以太網的廣播特性就是將自己收到的廣播幀復制到所有其他端口進行發(fā)送,其他的設備都能收到這樣一個廣播幀,但是由于多點互聯原因,這個廣播幀會被發(fā)送的交換機收到,此交換機又接著將此廣播幀接著復制擴散到其他端口進行發(fā)送,形成一個死循環(huán),一直到設備硬件資源消耗殆盡,網絡停止服務為止。
2.2交換機Mac地址表抖動問題
交換機在進行數據轉發(fā)時是依靠Mac地址表的,這張表是交換機基于端口連接的終端主機的源地址自己動態(tài)學習到的。如果網絡有環(huán)路,交換機在傳遞未知單播幀時可能會遇到其他交換機地址表中也沒有相應記錄的情況,那么數據幀會攜帶源Mac地址由其他的端口發(fā)還給始發(fā)交換機,始發(fā)送交換機會學習到另一條源Mac地址相同的端口號,交換機會頻繁的對Mac表進行刷新,造成通信問題。
2.3交換機多幀復制問題
由于交換網絡環(huán)路的原因,交換機在轉發(fā)數據時,可能將一個單播幀多次發(fā)送給目的主機,目的主機會存在多個副本,這樣會造成網絡帶寬及設備性能的極大浪費。
3 生成樹協議的作用
生成樹協議能夠在企業(yè)使用設備間多點互聯冗余的情況下解決環(huán)路問題。生成樹協議首先會在多臺設備間選舉一臺性能最好的設備作為根橋,接著生成樹協議會基于最短路徑來選擇出根端口,最后生成樹協議會選舉出指定端口。選舉結束后不是根端口和指定端口的接口會被生成樹協議阻塞掉,這個端口此時不能夠在網絡上發(fā)送數據,但是它能夠接受其他設備發(fā)過來的bpdu報文,如果其他設備故障,這個端口會恢復數據的轉發(fā)。
4 生成樹協議的bpdu報文
生成樹協議在工作時主要靠Bpdu報文來實現設備之間的溝通。Bpdu又名橋協議數據單元,該協議在生成樹中有兩種應用,第一種叫配置Bpdu,用于生成樹協議種的設備進行根橋、相應端口的選舉。第二種叫做拓撲變更Bpdu,主要應用于網絡出現故障,網絡拓撲發(fā)生改變時的通知信息。交換機的Mac地址表中的條目默認的老化時間是300秒,當網絡的連接鏈路發(fā)生了改變時,數據轉發(fā)的端口也隨之發(fā)生改變,由于交換機轉發(fā)時還是會按照地址表中端口轉發(fā),這樣就會造成通信故障。Stp協議通過拓撲變更Bpdu報文來通知網絡鏈路的變化情況,告知其他設備提前刷新地址表,解決了Mac地址表老化時間和拓撲變化不同步造成的通信問題。生成樹協議Bpdu報文的關鍵字段主要有:1)橋ID:由網橋優(yōu)先級加上網橋的mac地址組成,其中的網橋優(yōu)先級默認為32768,可配置。2)根路徑開銷總和:描述到達根橋的距離及到達根橋經過的路徑開銷總和。
網橋端口ID:由網橋端口的優(yōu)先級加上網橋端口編號組成,端口優(yōu)先級默認128。
計時器:計時器主要定義了設備在進行生成樹時每一步工作需要多少時間來完成,生成樹協議當中的計時器主要有:1)老化時間計時器;2)設備轉發(fā)延遲計時器;3)設備間通信時發(fā)送配置Bpdu的Hello計時器。
5 生成樹協議的選舉機制
5.1生成樹協議的選舉規(guī)則
生成樹選舉規(guī)則是比小,不是比大。如例:網橋1的橋優(yōu)先級為默認的32768,網橋2的橋優(yōu)先級被設置為4096,那么網橋2的優(yōu)先級就比網橋1要更優(yōu),會被選舉為根橋。
5.2生成樹協議根橋的選舉原則
當設備運行生成樹協議時,首先會認為自己是根橋,同時向其他設備通告,并接受其他設備發(fā)過來的配置Bpdu。設備會將自己的橋ID和其他設備發(fā)送過來的橋ID進行對比。按照選舉的規(guī)則,橋ID小的設備會成為根交換機。因為橋ID是由橋優(yōu)先級和設備自己本身的Mac地址組成的,那么就避免了設備在選舉根橋時選不出來的尷尬情況。即使設備的橋優(yōu)先級都保持默認,但由于每臺交換機的Mac地址不可能相同,接著比Mac地址也可以選出優(yōu)先設備,Mac地址小的設備會被選舉為根交換機。
5.2設備根端口選擇
在生成樹協議選出根交換機后,其他的非根交換機需要確定根端口。設備在選擇根端口時有以下規(guī)則。1)設備首先會檢查自己連接到根交換機的端口,在多個端口中比較那個端口連接到根網橋的路徑開銷值最小,那么這個端口就是最優(yōu)先的端口,會被選為根端口。2)如果是兩臺交換機通過兩條雙絞線直連的拓撲情況,那么由于非根設備連接根交換機的端口到達根網橋的路徑開銷時相同的,那么非根設備會接著比較自己的兩個端口的端口ID,數值小的端口會成為根端口,另一個端口會被阻斷。
5.3 設備指定端口的選擇
生成樹協議完成以上工作后接著要選擇出指定端口,指定端口是能夠正常發(fā)送數據的非根端口,在生成樹協議中根交換機的所有端口都是指定端口。指定端口在選舉中首先會比較自己連接到根端口的路徑開銷,如果路徑開銷一致,接下來會比較自己和其他非根交換機的橋ID,橋ID小的設備端口會成為指定端口。
6 生成樹協議的分類
6.1 Stp生成樹協議
生成樹協議,最早應用的生成樹協議,其他生成樹協議的起源。由于該協議開發(fā)的比較早,所以缺陷比較多。其中最大的問題是收斂時間過慢。如果交換機直連的網絡鏈路故障時stp協議的收斂時間大約為30秒左右。如果是因為根橋設備問題,硬件資源消耗殆盡,遲遲不能將Bpdu通告?zhèn)€其他非根交換機,那么其他非根交換機會持續(xù)等待到計時器超時,再加上兩倍的轉發(fā)延時時間,總共50秒鐘的時間才能完成收斂。由于收斂時間過慢,Stp協議現階段已經淘汰,很少有企業(yè)使用。Stp生成樹協議對于端口定義了幾種狀態(tài)機制。
1)阻塞狀態(tài) 在在這種狀態(tài)下交換機不轉發(fā)任何數據,但是可以接收Bpdu數據。
2)偵聽狀態(tài) 在這種狀態(tài)下交換機可以接受和發(fā)送Bpdu,但是不能接受和發(fā)送任何網絡數據。
3)學習狀態(tài):在這種狀態(tài)下交換機開始學習端口連接主機的網卡硬件地址,建立硬件地址表,為下一步轉發(fā)網絡數據做好最后的準備。
4)轉發(fā)狀態(tài):在這種狀態(tài)下交換機可以發(fā)送和接受各種數據,包含交換機之間通信的Bpdu。
6.2 Rstp 快速生成樹協議
Rstp是在傳統(tǒng)生成樹協議上改進出來的一種快速生成樹協議,它的Bpdu和Stp協議的Bpdu基本上相同??焖偕蓸鋮f議的最大特點就是網絡出現拓撲變化是的收斂時間要大大的快于Stp協議。它改進了Stp協議的端口機制,將端口的狀態(tài)機制進行了一定的優(yōu)化,設備會快速的由阻塞狀態(tài)遷移到偵聽狀態(tài),最后發(fā)展到轉發(fā)狀態(tài)。同時Rstp協議定義了它的兩種端口角色,替代端口和備份端口。其中是替代端口是根端口的備份,備份端口是指定端口的備份。備份端口只有在交換機連接集線器這樣的總線型設備,或者一個交換機上連線時產生自環(huán)時才能產生。Rstp在網絡拓撲發(fā)生改變時能夠快速響應,這是因為Rstp協議采用了Pa機制。交換機利用Pa機制能夠更快的實現網絡鏈路出現變化時的同步速度。
6.3 mstp 多生成樹協議
Rstp協議在一定程度上解決了生成樹收斂速度慢的問題,在企業(yè)網絡中部署的也比較多。但是該協議也有相應的缺陷。如企業(yè)多點互聯時,總會有一條鏈路被阻斷,企業(yè)多個不同vlan流量的數據會在一條鏈路上進行傳遞,浪費了企業(yè)設備的帶寬。同時由于網絡鏈路發(fā)生故障時會生成樹會進行鏈路的切換,可能因為其它鏈路上的交換機沒有統(tǒng)一配置相應的vlan
造成通信故障。因為上述原因,所以在生成樹協議中又產生了一種Mstp協議。Mstp協議在實現企業(yè)網絡冗余的條件下,同時還可以對企業(yè)的業(yè)務流量進行負載均衡。該協議和其他生成樹協議不同的地方是它以實例來進行生成樹的運算,每個mstp的實例中會建立相應的vlan映射關系,這個映射關系每臺設備必須統(tǒng)一。如我們在s1交換機上創(chuàng)建instance 1,其中包含了vlan 1,vlan10,創(chuàng)建instance2其中包含vlan20、vlan30 ,那么在s2這臺設備上也需要配置同樣的映射關系。我們可以統(tǒng)過創(chuàng)建多個實例,并將不同設備設置為不同實例的根橋來實現流量的負載均衡。如我們可以在s1交換機上通過配置優(yōu)先級來讓其成為實例1的根橋,在s2交換機上也配置優(yōu)先級讓其成為實例2的根橋,這樣就會讓vlan1和vlan10的流量通過s1交換機轉發(fā),同樣vlan20、30的流量會通過s2交換機的鏈路進行轉發(fā),同時兩臺設備可以互為備份。通過以上配置既可以給企業(yè)的網絡提供交換冗余,又能有效的利用設備鏈路,達到負載均衡的作用。
7 生成樹技術的部署原則
1)大多數網管交換機出廠時默認都開啟了生成樹協議,但是少部分設備默認是關閉的,所以配置時需檢查生成樹協議是否開啟,最好先配置再連線。
2)在部署生成樹協議上要保持設備運行相同的生成樹協議,雖然Rstp向下兼容Stp協議,但是網絡的收斂速度會變慢,最好企業(yè)在設計網絡時采用Mstp協議,在保證冗余的情況下,可以實現負載均衡。
8 結束語
生成樹協議的出現,解決了企業(yè)交換網絡多點互聯時產生的環(huán)路問題,提升了企業(yè)的網絡穩(wěn)定性,同時mstp協議在保證企業(yè)網絡冗余性的同時還提供了負載均衡的作用,是一個優(yōu)秀的解決方案。
參考文獻:
[1] 朱凱進,席小剛.淺析生成樹協議在大型局域網內的正確應用[J].硅谷,2010(24).