導航:首頁 > 信息系統 > stp中信息被封裝在哪裡

stp中信息被封裝在哪裡

發布時間:2023-06-14 15:55:08

A. STP、RSTP

為了提高網路可靠性,避免單點故障而導致網路中斷,常常需要在網路中部署冗餘鏈路或冗餘設備,但是部署了冗餘鏈路或冗餘設備的網路,也會從無環的樹型網路結構變為環形網路結構,環形網路結構會帶來新的問題:

1、廣播風暴導致網路不可用

因為交換機收到廣播幀,會將廣播幀從接收埠外的所有介面轉發出去;

廣播幀就會在環形網路中無限循環轉發,隨著廣播幀的增加,最終導致整個網路的資源被耗盡,網路癱瘓不可用;

2、MAC地址表震盪導致MAC地址表被破壞

即使是單播報文,也有可能導致交換機的MAC地址表項混亂,破壞交換機的MAC地址表;

因為交換機接收到未知單播幀後,也會向除接收埠外的所有介面轉發;

未知單播幀就會在環形網路中無限循環轉發,同一交換機不斷的從不同的介面學到未知單播幀,交換機就會不停的修改MAC地址表,導致MAC地址表震盪,破壞MAC地址;

STP根據IEEE 802.1D標准建立,用於在區域網中消除二層環路的問題;

運行STP協議的設備通過彼此交互信息發現網路中的環路,並有選擇地對某些埠進行阻塞,最終實現將環路網路結構修剪成無環路的樹型網路結構,從而防止報文在環形網路中不斷循環,避免設備由於重復接收相同的報文造成處理能力下降。

STP僅在網路中存在冗餘鏈路或者存在環形網路拓撲結構時才需要使用;

使用STP技術,其實更多是抱著以防萬一的心態,怕網路中存在這樣的物理封閉環路;

因為STP技術在保證正常使用冗餘鏈路備份的同時,又能確保不會出現二層通信環路;

一個根橋、兩個度量、三個要素、四個原則、五個埠狀態

一個根橋:

樹型的網路拓撲結構必須有一個樹根,就像一棵樹只有一個樹根一樣,對於一個運行STP協議的網路,根橋在全網中只有一個,就是網路中具有最小橋ID的交換機;

網路中除根橋外的其它交換機成為非根橋;

網路收斂後,根橋會按照一定的時間間隔向外發送配置BPDU,非根橋僅對該報文進行轉發,傳達拓撲變化記錄,保證拓撲的穩定;

兩個度量:

在STP計算中要確定兩個方面,一是哪台交換機作為根橋,二是非根橋的哪些埠收發數據,哪些埠該被阻塞,以便最終形成無環路的樹型網路拓撲結構;

STP計算依據的就是ID和路徑開銷這兩個度量;

1、ID

ID包括BID橋ID和PID埠ID兩種;

BID Bridge ID一共64位,高16位為Bridge Priority橋優先順序,低48位為橋背板MAC地址;

BID決定了哪台交換機成為網路中的根橋,BID最小的交換機被選舉為根橋;

從橋優先順序欄位和橋MAC地址欄位所處位置可以看出,橋優先順序越小,橋ID越小,橋優先順序相同,取橋MAC地址小的作為根橋;

橋優先順序數值范圍0 - 61440,數值越小越優先;

PID Port ID一共16位,高4位是埠優先順序,低12位是埠號;

在確定根埠、指定埠的過程中,如果根路徑開銷、發送者橋ID均相同,發送者PID小的埠成為根埠或指定埠;

埠優先順序數值范圍0 - 255,數值越小越優先;

2、路徑開銷

路徑開銷是一個埠參數,由具體埠的鏈路速率決定,是STP協議用於選擇鏈路的參考值;

對於聚合鏈路,鏈路速率是聚合組中所有狀態位UP的成員口的速率之和;

STP協議通過計算各埠的路徑開銷,選擇較為強壯的鏈路,阻塞多餘的鏈路,將網路修剪成無環路的樹型網路結構;

根路徑開銷是某埠到根橋累計的路徑開銷,就是所經過的各個橋上的各埠的路徑開銷累加值;

根橋上所有埠的根路徑開銷,以及同交換機上不同埠間的路徑開銷值均為零;

某介面的根路徑開銷 = 根埠接收配置BPDU攜帶的根路徑開銷 + 根埠的路徑開銷

三個選舉要素

由環形網路拓撲結構修剪為樹型結構,需要使用STP中的三個選舉要素,即根橋、根埠和指定埠;

根橋  就是STP網路中BID橋ID最小的橋,通過交互配置BPDU報文選出最小的BID作為根橋;

根埠    非根橋上接收最優配置BPDU的埠,即離根橋最近的埠;

最優配置BPDU根據BPDU優先順序確定;

在一個運行STP協議的設備上,根埠有且只有一個,根橋上沒有根埠;

指定埠    就是向一個網段上發送最優配置BPDU的埠;

一旦根橋、根埠、指定埠選舉成功,整個樹型網路拓撲結構就建立完成了;

拓撲穩定後,只有根埠、指定埠轉發流量,其餘埠處於阻塞狀態;

四個比較原則

STP計算依據的是各個埠發送配置BPDU報文攜帶的4個欄位:

1、根橋ID    每個STP網路只生成一棵樹,一棵樹只有一個樹根;

2、根路徑開銷    發送該配置BPDU的埠到根橋的累計路徑開銷;

3、發送者橋ID    發送該配置BPDU的橋ID;

4、發送者埠ID    發送該配置BPDU的埠ID;

BPDU優先順序按照上述順序依次比較這四個欄位確定,四個欄位都是數值越小越優先;

需要注意的是,當非根橋從多個埠收到多個不同的配置BPDU時,根路徑開銷的比較是接收配置BPDU攜帶的根路徑開銷值加上接收埠路徑開銷值進行比較;

五個埠狀態

運行STP協議的設備,有以下5個埠狀態:

1、disabled    禁用狀態

2、blocking    可以收發BPDU

該狀態下正在確定根橋、根埠、指定埠;

3、listening    可以收發BPDU

在埠被選舉為根埠或指定埠後,進入到該狀態,是一種過渡狀態;

4、learning    可以收發BPDU、學習MAC地址表項

經過一個轉發延時後進入該狀態,需要再經過一個轉發延時後才能進入forwarding狀態,也是一種過渡狀態;

5、forwarding    可以收發BPDU、學習MAC地址表項、轉發用戶流量

只有根埠、指定埠才能進入轉發狀態;

新選出的根埠、指定埠要經過兩倍的轉發延時後,才能進入轉發狀態,確保新的配置BPDU傳遍整個網路,可以防止臨時環路的產生;

STP的3個定時器

1、hello time    hello time定時器    預設2s

設備會每隔hello time時間向周圍的設備發送配置BPDU,以確認鏈路是否存在故障;

網路拓撲穩定之後,只有根橋每隔hello time時間從指定埠發送配置BPDU;

非根橋從根埠接收到配置BPDU之後,才會從指定埠發送配置BPDU;

根橋上的hello time時間被修改後,會在下一次發出的配置BPDU報文中更新hello time這個欄位,來向非根橋傳遞hello time定時器信息;

當網路拓撲發生變化之後,TCN BPDU的發送不受這個定時器的管理;

2、forward delay    轉發延時    預設15s

鏈路故障會引發網路重新進行生成樹的計算,生成樹的結構將發生改變,但是重新計算得到的新配置消息不可能立即傳遍整個網路,如果此時新選出的根埠和指定埠就立即開始數據轉發的話,很可能會造成臨時的二層環路;

因此,STP採用了一種狀態遷移機制,新選出的根埠和指定埠要經過兩倍的forward delay延時後才能進入轉發狀態,這個延時保證了新的配置消息傳遍整個網路,從而防止產生臨時的二層環路;

轉發延時是狀態遷移的延遲時間,預設值15s,即listening狀態持續15s,隨後進入learning狀態再持續15s;

3、max age    最大生成時間    預設20s

運行STP協議的網路中,非根橋設備收到配置BPDU報文後,會對報文中的Message Age消息生存時間和Max Age最大生存時間進行比較,如果Message Age小於等於Max Age,非根橋設備就繼續轉發配置BPDU報文;

如果Message Age大於Max Age,則該配置BPDU報文將被老化,該非根橋設備直接丟棄該配置BPDU,可認為網路直徑過大,導致根橋連接失敗;

當配置BPDU從根橋發出時,報文中的Message Age值為0,配置BPDU報文每經過一個交換機,Message Age增加1;

STP BPDU報文

STP協議採用的是BPDU Bridge Protocol Data Unit 橋協議數據單元類型報文,也稱為配置消息,STP就是通過在設備直接傳遞BPDU來確定最終修剪完成的樹型網路拓撲結構;

STP BPDU報文被封裝在乙太網數據幀中,此時目的MAC地址是組播MAC地址:01-80-C2-00-00-00,在LLC頭部中IEEE為STP保留的DSAP和SSAP值均為0x42,Control為0x03;

STP BPDU分為兩類,配置BPDU和TCN BPDU

1、Configuration BPDU 配置BPDU    用於生成樹計算與維護

配置BPDU是一種心跳報文,只要埠使能STP協議,設備就會按照hello time定時器的時間間隔從指定埠發送配置BPDU;

在初始化過程中,每個交換機都會主動發送配置BPDU,但在網路拓撲穩定以後,只有根橋主動從指定埠發送配置BPDU;

非根橋從根埠收到配置BPDU後才觸發從指定埠發送自己的配置BPDU;

配置BPDU在以下3中情況下會產生:

1)根橋每隔hello time時間周期性從指定埠發送配置BPDU;

2)非根橋從根埠收到配置BPDU後,觸發從指定埠發送自己的配置BPDU;

3)當指定埠收到次優配置BPDU時,會立刻從該指定埠發送自己的配置BPDU;

配置BPDU中的欄位:

protocol identifier協議ID:2位元組,總是為0;

protocol version協議版本:1位元組,總是為0;

message type消息類型:1位元組,0x00為配置BPDU,0x80為TCN BPDU

flags標志:1位元組,最低位TC Topology Change標志位,最高位TCA Topology Change Acknowledgment標志位;

Root Identifier根橋ID:8位元組,2位元組橋優先順序,6位元組橋MAC;

Root Path Cost根路徑開銷:4位元組,發送該BPDU的埠到根橋的累計路徑開銷;

Bridge Identifier橋ID:8位元組,發送該BPDU的橋ID,2位元組橋優先順序,6位元組橋ID;

Port Identifier埠ID:2位元組,發送該BPDU的埠ID,高4位埠優先順序,低12位埠號;

Message Age消息生存時間:2位元組,根橋發送的配置BPDU中該欄位為0,每經過一個交換機加1,小於等於Max Age的配置BPDU才會被轉發,否則被丟棄;

Max Age最大生存時間:2位元組,配置BPDU的生存時間超過Max Age就會失效,預設20s;

Hello Time:2位元組,根橋每隔hello time周期性發送配置BPDU,預設2s;

Forward Delay轉發延時:2位元組,listening和learning各自持續的時間,防止臨時的二層環路,預設15s;

2、Topology Change Notificaition BPDU    TCP BPDU    用於下游設備通知上游設備網路拓撲變化,直到根橋

TCN BPDU是在設備檢測到網路拓撲發生變化時才發出的;

TCN BPDU在如下兩種情況下會產生:

1)存在指定埠的設備上,埠狀態變為forwarding;

2)從指定埠收到TCN BPDU後向根橋復制TCN BPDU;

TCN BPDU中的欄位:

protocol identifier協議ID:2位元組,總是為0;

protocol version協議版本:1位元組,總是為0;

message type消息類型:1位元組,0x00為配置BPDU,0x80為TCN BPDU;

STP的不足

STP協議雖然解決了二層環路問題,但是由於網路拓撲收斂速度慢,會影響用戶通信質量;

Blocking到Forwarding需要經過兩個轉發延時間隔,另外配置BPDU超時需要20s;

如果網路中的拓撲結構頻繁變化,網路也會隨之頻繁失去連通性,從而導致用戶通信頻繁中斷;

1)STP協議採用的是被動演算法,依賴定時器等待的方式確定拓撲,如轉發延時,所以收斂速度慢;

2)STP網路拓撲穩定後,只有根橋主動發送配置BPDU,非根橋只能被動轉發,也導致收斂速度慢;

3)沒有細致區分埠狀態和埠角色;

STP是最原始的生成樹協議,它的主要不足是網路拓撲收斂速度慢;

RSTP是在STP基礎上改進的生成樹協議版本,提高了網路拓撲收斂速度;

IEEE802.1w定義的RSTP保留了STP的大部分演算法和計時器,只在一些細節上做了改進,但這些改進相當關鍵,極大的提升了STP性能,能滿足低延時、高可靠性的網路要求;

RSTP對STP的改進主要體現在埠角色、埠狀態、BPDU的變化和P/A收斂機制四個方面:

1、新增三種埠角色

RSTP在STP中根埠、指定埠的基礎上,對其它埠進行了細分;

1)Alternate替代埠    

作為根埠的備份埠,根埠故障後,替代埠就會無延時地進入轉發狀態;

2)Backup備份埠       

 作為指定埠的備份埠,指定埠故障後,備份埠就會無延時地進入轉發狀態;

3)Edge邊緣埠    

用於連接主機,不參與生成樹計算,不收發BPDU,能夠直接進入forwarding狀態;

如果收到BPDU報文就會失去邊緣埠屬性,開始收發報文進行STP生成樹計算;

2、重新劃分埠狀態

RSTP把STP中的Disabled、Blocking、Listening三種埠狀態用Discarding狀態替代,即:

1)Discarding    收發BPDU

2)Learning        收發BPDU、學習MAC地址

3)Forwarding    收發BPDU、學習MAC地址,轉發用戶流量

3、BPDU的變化

RSTP協議與STP協議一樣在交換機間使用BPDU交互信息,但是RSTP只有配置BPDU,即RST BPDU,沒有TCN BPDU;

RSTP在BPDU方面的改變主要體現在BPDU格式、拓撲變化BPDU的使用和配置BPDU處理方式的改變三個方面:

1)BPDU格式上的改變

Protocol Version欄位:RST BPDU是2,不再為0,運行STP的設備收到RST BPDU會丟棄;

BPDU Flag欄位:最高位TCA和最低位TC保持不變,RST BPDU使用了STP配置BPDU中Flag欄位保留的中間6位,增加了埠狀態、埠角色和PA機制三個功能的標志;

PA機制:Agreement位和Proposal位用於RSTP的點到點鏈路的PA機制;

埠狀態:Forwarding位和Learning位用於表示發送RST BPDU的埠的RSTP埠狀態;

埠角色:占兩個比特,00表示發送RST BPDU的埠的埠角色未知;

01表示發送RST BPDU的埠的RSTP埠角色為Alternate替代埠或Backup備份埠;

10表示發送RST BPDU的埠的RSTP埠角色為根埠;

11表示發送RST BPDU的埠的RSTP埠角色為指定埠;

2)拓撲變化BPDU的使用

在RSTP中不再需要從根埠依次向上發送TCN BPDU,直至根橋;

RSTP直接發送TC置1的RST BPDU,接收的交換機直接清空MAC地址表;

交換機清空MAC地址表不再需要等待根橋發送的TC置1的配置BPDU,提高了收斂速度;

3)配置BPDU處理方式的改變

配置BPDU處理方式的改變主要體現在配置BPDU的發送方式、超時時間和處理次優BPDU三個方面:

配置BPDU的發送方式:

拓撲穩定後,STP中只有根橋按照hello time時間間隔發送配置BPDU,非根交換機需要等待從根埠收到配置BPDU,才會從指定埠發送自己的配置BPDU,這樣導致STP計算復雜和緩慢;

RSTP中所有交換機都按照hello time時間間隔周期性發送配置BPDU,無需等待根橋發出的配置BPDU;

配置BPDU的超時時間:

STP中需要等待Max Age 20s最大生存時間後,配置BPDU失效才會認為上游鄰居故障;

RSTP中如果連續三個hello time時間間隔沒有收到RST BPDU,就認為上游鄰居故障;

處理次優BPDU:

STP中只對指定埠收到的次優配置BPDU,立即發送自己更優的配置BPDU;

對於根埠收到的次優配置BPDU,不會做同樣處理,而是等待Max Age最大生存時間超時,才會進行BPDU協商;

RSTP埠收到次優BPDU都會立即發送自身更優的RST BPDU,無需等待20sMax Age最大生存時間超時時間;

RSTP處理次優BPDU不再像STP那樣依賴於定時器通過超時完成拓撲收斂,從而加快了拓撲收斂;

4、P/A收斂機制

STP中確定一個埠為指定埠後,埠從Listening到Learning,Learning到Forwarding,要經過兩倍的轉發延時時間才能進入Forwarding狀態,這種保守的設計可以防止臨時的二層環路,但是收斂速度慢;

RSTP的提議確認機制,是為了讓指定埠盡快進入Forwarding狀態,而不必等待轉發延遲;

P/A機制只能在點到點鏈路上使用,即埠所在的乙太網對端只有一台設備,否則要從Learning到Forwarding要等待一個轉發延時時間;

1)當一個指定埠處於Discarding或learning狀態時,會向下游設備發送Proposal位置1的RST BPDU,請求快速切換到Forwarding狀態;

2)下游設備根埠收到後,會讓除根埠除外的所有非邊緣埠進入Discarding狀態,然後從根埠向上游設備發送Agreement位置1的RST BPDU,同意上游設備指定埠進入Forwarding狀態;

3)上游設備收到後,指定埠直接進入Forwarding狀態;

4)下游設備通過同樣的方式恢復指定埠的轉發;

5、RSTP保護功能

1)BPDU保護

邊緣埠在收到BPDU以後埠狀態將變為非邊緣埠,此時就會造成生成樹的重新計算,如果攻擊者偽造RST BPDU惡意攻擊交換設備,就會引起網路震盪;

啟動了BPDU保護功能後,如果邊緣埠收到RST BPDU,邊緣埠將被error-down,但是邊緣埠屬性不變,同時通知網管系統被錯誤down掉的邊緣埠只能由網路管理員手動恢復;

也可以配置埠自動恢復功能,並設置延遲時間,使被錯誤down掉的邊緣埠可自動恢復;

2)Root保護

由於維護人員的錯誤配置或網路中的惡意攻擊,根橋收到優先順序更高的RST BPDU會失去根橋的地位,重新計算生成樹,並且由於拓撲結構變化,可能造成高速流量遷移到低速鏈路,引起網路擁塞;

對於啟動Root保護功能的指定埠,埠角色只能保持為指定埠,一旦啟用Root保護功能的指定埠收到優先順序更高的RST BPDU,埠將進入Discarding狀態,不再轉發報文;

在經過一段時間(通常為兩倍的Forward Delay),如果埠一直沒有收到高優先順序的RST BPDU,埠自動恢復到正常的Forwarding狀態;

3)環路保護

當出現鏈路擁塞或者單向鏈路故障時,根埠和Alternate替代埠會被老化,根埠老化會導致交換機重新選擇根埠,Alternate替代埠老化將遷移到forwarding狀態,這樣會產生環路;

在啟動了環路保護功能後,如果根埠或Alternate埠長時間收不到來自上游的RST BPDU,則向網管發出通知信息,根埠進入Discarding狀態,直到根埠收到RST BPDU,埠狀態才恢復正常到forwarding狀態,而阻塞埠則會一直保持在阻塞狀態不轉發報文,從而不會在網路中形成環路;

4)防TC - BPDU報文攻擊保護

交換設備在接收到TC - BPDU報文後,會執行MAC地址表和ARP表的刪除操作,如果頻繁操作則會對CPU的沖擊很大;

啟用防TC -BPDU報文攻擊功能後,可配置單位時間內交換機可以處理TC-BPDU報文的次數;

如果單位時間內交換設備在收到TC-BPDU報文數量大於配置的閥值,那麼設備只會處理閥值指定的次數;對於其它超出閥值的TC-BPDU,定時器到期後交換機只對其統一處理一次;這樣可以避免頻繁地刪除MAC地址表和ARP表,達到保護設備的作用;

RSTP與STP的互操作:

RSTP可以和STP互操作,但是此時會喪失RSTP快速收斂特性;

當一個網段既有運行STP的交換網路,又有運行RSTP的交換設備時,STP設備會忽略RST BPDU,而運行RSTP設備的埠接收到STP的配置BPDU時,會在兩個Hello time時間之後將自己的埠轉換到STP工作模式,發送STP 配置BPDU,這樣就實現了互操作;

閱讀全文

與stp中信息被封裝在哪裡相關的資料

熱點內容
易烊千璽的數據站叫什麼 瀏覽:546
交易貓交易失敗什麼意思 瀏覽:273
電梯主板程序用什麼語言編寫 瀏覽:102
山西啤酒代理大概多少錢 瀏覽:207
為什麼現在的肉菜市場沒有生意 瀏覽:75
銷售報表數據如何縮小列印 瀏覽:689
九江毛尖茶代理需要什麼條件 瀏覽:11
農產品怎麼注冊個人品牌 瀏覽:317
logo設計多少錢信息 瀏覽:621
杭州隔離乳代理需要什麼條件 瀏覽:180
爐石傳說暴風城可交易是什麼意思 瀏覽:418
年輕人做技術要注意什麼 瀏覽:126
換季產品怎麼玩 瀏覽:906
南充有哪些鄉土菜市場 瀏覽:482
神州買買車代理費多少 瀏覽:995
夜遊產品體系如何構建 瀏覽:143
怎麼讓公司的產品入駐自營超市 瀏覽:498
有什麼祛痘印好的產品 瀏覽:69
刷臉支付技術在哪裡 瀏覽:841
企業年審里的即時信息怎麼填 瀏覽:382