生成樹協議STP和快速生成樹協議RSTP:
生成樹協議的由來:由于網絡中會存在單點故障而導致網絡無法訪問,系統癱瘓,因此在網絡中提供冗余鏈路即引入備份鏈路來解決單點故障問題,但是------這樣做的好處是:減少單點故障,增加網絡可靠性;缺點是:產生交換環路,會導致廣播風暴、多幀復制、mac地址表抖動。因此生成樹協議是為了提供冗余鏈路,解決環路問題(作用)。
生成樹協議的原理:使冗余端口置于“阻塞狀態”;網絡中的計算機在通信時,只有一條鏈路生效;當原本的鏈路出現故障時,將處于“阻塞狀態”的端口重新打開,從而確保網絡連接穩定可靠。
實驗目的:使網絡在有冗余鏈路的情況下避免環路的產生,避免廣播風暴等
實驗拓撲:
配置過程:(此實驗需要先配置再連線,只能在真實機上做)
生成樹協議STP:
1.開啟生成樹協議:(A和B同)
switchA#configure terminal 進入全局配置模式
switchA(config)#spanning-tree 開啟生成樹協議
2.設置生成樹模式:(A和B同)
switchA(config)#spanning-treemode stp !設置生成樹模式為STP(802.1D)
驗證測試:驗證生成樹協議模式為802.1D
3.驗證生成樹協議已經開啟:(A和B同)
switchA#showspanning-tree !顯示交換機生成樹的狀態
switchA#showspanning-tree interface fastEthernet 0/1 !顯示交換機接口fastethernet0/1的狀態
switchA#showspanning-tree interface fastEthernet 0/2 !顯示交換機接口fastethernet0/2的狀態
4.測試結果:
C:Userspdsu>ping -t192.168.10.1
正在 Ping192.168.10.1 具有 32 字節的數據:
請求超時。
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自 192.168.10.1的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=3ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
請求超時。 -------------------此處是當拔掉沒有阻塞端口的鏈路的結果
請求超時。
請求超時。
請求超時。
來自192.168.10.2 的回復: 無法訪問目標主機。
請求超時。
請求超時。
請求超時。
請求超時。
請求超時。
請求超時。
請求超時。
請求超時。
請求超時。
請求超時。
請求超時。
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
192.168.10.1 的 Ping 統計信息:
數據包: 已發送 = 53,已接收 = 37,丟失 = 16 (30% 丟失),
往返行程的估計時間(以毫秒為單位):
最短 = 1ms,最長 = 3ms,平均 = 1ms
快速生成樹協議RSTP:
設置為RSTP模式:
SwitchB#configureTerminal
Enter configurationcommands, one per line. End with CNTL/Z.
SwitchB(config)#spanning-tree
2017-09-2619:02:56 @5-CONFIG:Configured fromoutband
SwitchB(config)#spanning-treemode rstp
2017-09-2619:03:05 @5-CONFIG:Configured fromoutband
顯示結果:
SwitchB#showspanning-tree
SwitchB#showspanning-tree interface fastEthernet 0/1
SwitchB#showspanning-tree interface fastEthernet 0/2
測試結果:
C:Userspdsu>ping -t192.168.10.1
正在 Ping192.168.10.1 具有 32 字節的數據:
來自192.168.10.1 的回復: 字節=32 時間=3ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
請求超時。 -------------------此處是當拔掉沒有阻塞端口的鏈路的結果
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
來自192.168.10.1 的回復: 字節=32 時間=1ms TTL=64
192.168.10.1 的 Ping 統計信息:
數據包: 已發送 = 37,已接收 = 36,丟失 = 1 (2% 丟失),
往返行程的估計時間(以毫秒為單位):
最短 = 1ms,最長 = 3ms,平均 = 1ms
小結:從測試結果可以看出在當原來的鏈路出現故障時,快速生成樹協議連接上網絡的速度更快。
補充:
廣播風暴:廣播信息在網絡中不停地轉發,直至導致交換機出現超負荷運轉,最終耗盡所有寬帶資源、阻塞全網通信。
多幀復制:單播的數據幀被多次復制傳送到目的站點
MAC地址表抖動:由于相同幀的拷貝在交換機的不同端口上被接收而引起的MAC地址表不穩定