我們有一組連接在環中的設備,它們使用 stp(使用https://github.com/mstpd/mstpd目前)以避免循環問題。我們所看到的是,雖然 stp 可以在鏈路完全損壞時調整網絡,但它會忽略其中一個鏈路丟包率較高的情況。
這是 stp 支援的嗎?也就是說,考慮與給定介面相關的成本中網路鏈路中的資料包丟失並據此調整網路?如果沒有,有什麼好的替代方案嗎?
我們遇到這種情況的原因是,在某些情況下,某些 USB 轉 ETH 轉接器在重新啟動後或手動重新連接 ETH 電纜後會發生故障。雖然該問題可能是一些與驅動程式/作業系統相關的問題,但它很好地表明 stp 仍然選擇部分失敗的鏈接,最終導致永久 50% 資料包丟失,而不是避免該鏈接的 0%。
答案1
我們所看到的是,雖然 stp 可以在鏈路完全損壞時調整網絡,但它會忽略其中一個鏈路丟包率較高的情況。這是 stp 支援的嗎?
STP 不關心鏈路質量,也無意處理鏈路品質。
STP 在交換器之間運作。如果遺失的資料包數量超過極少數,則表示連結有問題,需要修復。
避免這些不良連結的唯一方法是進行一些監視並以一定的錯誤率關閉連接埠。由於連結通常幾乎沒有錯誤,因此您在交換器中通常不會發現這種情況。
作為解決方法,您可以使用連接埠優先權讓 STP 避免已知的不良鏈接,同時仍將其保留為故障轉移。