1. 程式人生 > >路由交換04-----STP

路由交換04-----STP

端口號 信息 str 重復 image 抓包 重新 環路 交換

路由交換-----STP

STP協議(生成樹協議)邏輯上斷開環路,防止二層網絡的廣播風暴的產生。
為什麽需要STP協議?
假設有這樣一個拓撲:
技術分享圖片
現在PC1ping網關192.168.1.3,而這個網關是不存在的,同時在LSW2上進行抓包。
技術分享圖片
可以看到這個網絡裏現在充斥著大量的重復包,形成了廣播風暴,這種時候交換機的性能急劇下降,因為從PC1出去的包在LSW2上沒有找到目標地址的MAC地址,這時交換機會將這個單播幀向除了源端口之外的其它端口轉發,轉發到其它交換機上,其它的交換機又會重復這個步驟,使得這個網絡形成了環路,導致廣播風暴,這時就引入了STP協議。

STP的作用

  • 消除環路,通過阻斷冗余鏈路來消除網絡中可能存在的環路。
  • 鏈路備份:當活動路徑發生故障時,激活備份鏈路,即使恢復網絡的連通性。

根橋選舉
在STP網絡中,會存在一個交換機為根橋,其他的交換機為非根橋,根橋是STP網絡的邏輯中心,當根橋出現故障時,非根橋之間會交互BPDU信息並重新選舉根橋。

在STP中有三種端口角色:根端口、指定端口、預備端口。
根端口:非根橋去往根橋路徑最短的端口。
指定端口:是指所連網絡轉發配置BDPU的端口,根橋的每個端口都是指定端口。
預備端口:一個端口不是跟端口也不是指定端口,俺麽這個端口就是預備端口,預備端口是被阻塞的。

根橋選舉的依據是橋ID,橋ID是由橋優先級和MAC地址構成的,默認的橋優先級是32768,優先級的數值越小越優先也最容易被選舉為根橋,如果優先級相同那麽就比較MAC地址,MAC地址有效越優先。

默認情況下,每個交換機默認自己是根橋,然後通過指定端口向外發送BPDU報文,然後收到BPDU報文的交換機會將報文裏的橋ID與自己的比較,相互比較之後選舉出根橋。

根端口選舉
每個非根橋都要選舉一個根端口,即距離根橋最近的那個端口。選舉根端口的過程是:

  • 非根交換機到根橋的鏈路開銷。
  • 如果開銷一樣,比較上一級發送者的橋ID,選出發送者橋ID最小的對應端口。
  • 如果上一級發送者橋ID一樣就比較發送端口的優先級,選出優先級最小的對應端口。
  • 如果發送端口的優先級也一樣,再比較發送端口的端口號。

指定端口選舉
指定端口就是發送BPDU報文的端口,指定端口的選舉是這樣的:

  • 首先比較路徑開銷,開銷最小的為指定端口。
  • 如果開銷相同比較端口所在交換機的橋ID,橋ID最新的端口選舉為指定端口。
  • 如果橋ID比較不出來接著比較端口ID,端口ID最小的選舉為指定端口。

路由交換04-----STP