2011年12月7日 星期三

Spanning Tree Protocol

Spanning Tree Protocol(IEEE802.1d):
1.STP的主要任務是要預防在第 2 層的網路上發生網路迴圈loop,藉由關閉停止(Blocking)冗餘(Redundant Link)的鏈路來確定迴圈不會發生。
2.STP所採用的演算法則就是Spanning Tree Algorithm (STA)。

portfast
1.把一個port設定了portfast,就是讓那個port不再使用STP的演算法,直接進入轉發狀態,節省了30S。
2.portfast只能用在接入層,也就是說switch的埠是接HOST的才能起用portfast,如果是接switch的就一定不能啟用,否則會造成新的環路.
3.將SWITCH的埠設定為spanning-tree portfast後,如果這個埠接到其他SWITCH或者HUB上就可能造成環路問題。
4.加上 spanning-tree bpduguard enable之後,當這個埠在收到BPDU包後就會進入errdisable狀態,從而避免環路。

backbonefast
backbonefast可以使阻塞埠立即進入監聽狀態,無需等待最大壽命計時器,節省20S。
backbonefast不能夠排除轉發延遲(15S),並且不支持直連的鏈路失效(即直連鏈路失效,backbonefast不支持)。

BPDU
1.Switch會和網路內其他的Switch分享訊息,而交換訊息的資料單位就是所謂的「橋接通訊協定資料單位 (Bridge Protocol Data Units;BPDU) 」。
2.傳送出每隔 2 秒 hello time BPDU, max age 20s, forward delay 15s
blocking 20s ->listening , 15s->learning ,15s->forwarding
STP的收斂需要花費30S-50S的時間。
在偵聽的情況下只能處理bpdu。
學習狀態下學習MAC位址。
在轉發狀態下,轉發資料幀。
如果埠在20S內沒收到BPDU將會轉入blocking狀態

根橋接器 (root bridge)
1.有最低橋接器 ID由橋接器的優先權 (預設上所有的 Cisco 交換器是 priority 32,768) 與MAC 位址決定。
Bridge ID (64bit)= priority (16 bits)  + MAC 位址 (48 bits)
2.根橋接器決定那個埠要阻絕blocking模式,那個埠要設在轉送forwarding模式。

非根橋接器 (non root bridge)
根橋接器以外的所有橋接器。

根埠 (root port)
直接與根橋接器相連的埠,或抵達根橋接器的最短路徑的埠。
1.如果有一條以上的鏈路連結到根橋接器,則藉由檢查每條鏈路的"頻寬(data rate)"來決定埠成本,並以最低成本的埠設為根埠。
2.如果"有多條鏈路的成本相同",則使用"最低宣傳橋接器 ID "。
data rate         stp cost
10Mb/s                  100
100Mb/s                 19
1GMb/s                  4
10G                     2
3.但因為多條鏈路可能都是來自於同一部裝置,這時就使用最低的埠號(port1-24)。

指定埠 (designated port)
因為有最佳 (低) 成本而被選定的埠。
指定埠會被標示成轉送埠forwarding port。

非指定埠
成本比指定埠高的埠,這種埠會放入凍結模式 (blocking mode)

轉送埠 (forwarding port)
轉送埠可轉送訊框。

凍結埠 (blocking port)
凍結埠不會轉送訊框,以預防迴圈;但凍結埠仍會聆聽訊框。

沒有留言:

張貼留言