หากคุณเปิดสแปนทรีคุณจะรู้ได้อย่างไรว่ามีปัญหากับเครือข่ายของคุณ


13

ฉันได้เรียนรู้เกี่ยวกับ spanning tree protocol (STP / RSTP / MSTP) และสงสัยว่าเมื่อฉันเปิดมันและมันป้องกันตัวอย่างเช่นเครือข่ายลูปฉันจะรู้ได้อย่างไรว่ามีลูปเครือข่าย

ฉันคิดว่าในกรณีส่วนใหญ่มันจะชัดเจนเพราะห้องวนอยู่ในนั้นจะลง แต่ถ้าไม่มีการร้องเรียน?

ดูเหมือนว่าฉันจะยังคงต้องการวิธีรู้ว่ามีปัญหาเครือข่ายเช่นนี้ บางทีอุปกรณ์ที่ส่งการแจ้งเตือนบางอย่างหรืออาจมีบางคนต้องตรวจสอบบันทึกหรือสิ่งอื่นเป็นครั้งคราว?

คำตอบ:


22

คุณดูบันทึกสวิตช์ของคุณสำหรับการขยายเหตุการณ์ต้นไม้หรือกำหนดค่าสวิตช์ของคุณเพื่อส่งกับดัก SNMP เมื่อ STP ปิดพอร์ต


1
การตรวจสอบที่ดีก็จะเป็นเช่นนั้น
lsd

ฉันเดาว่านี่เป็นคำตอบที่ชัดเจน ฉันคิดว่าฉันสามารถใช้ Splunk และอาหารมันล็อกและสิ่งที่ต้องการคืออะไรขึ้นในการตรวจสอบกับดัก SNMP และการแจ้งเตือน ...
สกอตต์ Szretter

11

การทดสอบ หากคุณต้องการที่จะรู้ว่ามีบางสิ่งที่ทำงานคุณทดสอบ

เมื่อคุณเปิดใช้งาน STP ให้กำหนดเวลาการบำรุงรักษาเครือข่ายและเสียบสายในลูป หากเครือข่ายยังคงทำงานอยู่ STP จะตรวจพบลูป หากเครือข่ายของคุณหยุดทำงาน STP จะไม่ทำงาน


3
+1 เพราะเกือบครึ่งคำตอบในไซต์นี้อาจเปลี่ยนเป็นประโยคแรกของคุณ
g

4
ปัญหาเดียวก็คือนั่นไม่ใช่คำตอบสำหรับคำถามที่ฉันถาม ในกรณีของฉันเครือข่ายกำลังทำงาน หากทรีสปินนิ่งเป็น OFF และฉันมีเครือข่ายลูปมันจะหยุดทำงาน เมื่อเปิด spanning tree มันจะทำให้เครือข่ายใช้งานได้ในทางทฤษฎีดังนั้นฉันจะรู้ได้อย่างไรว่ามีปัญหาเกิดขึ้นเนื่องจากอุปกรณ์จะปิดบังปัญหา (คำตอบข้างต้นเกี่ยวกับ SNMP / การบันทึกเพื่อให้ห่างไกลทำให้รู้สึก)
สกอตต์ Szretter

2
หากคุณทดสอบการตั้งค่าคุณจะรู้ว่าส่วนต่อประสานการจัดการระบุลูปเครือข่ายหรือไม่ เนื่องจากคุณไม่ทราบคุณจะต้องไม่ทดสอบการตั้งค่าของคุณ เป็นเรื่องปกติจากการตั้งค่าที่ฉันเคยเห็นสำหรับสถานะ STP ของพอร์ตที่จะระบุด้วยรายงานสถานะ "ข้อผิดพลาด" หรือ "ข้อยกเว้น" ของพอร์ต
Chris S

5

Spanning tree ไม่คิดว่า loop เป็น "ข้อผิดพลาด" พวกเขาเป็นส่วนหนึ่งของโพรโทคอลและจะค้นหาพอร์ตที่ทำให้เกิดการวนซ้ำแล้วปิดใช้งานการส่งต่อบนเหล่านั้น ฉันคิดว่าคุณกำลังพยายามใช้โปรโตคอลเพื่อดูว่ามีเงื่อนไขบางอย่างอยู่หรือไม่ แต่นั่นไม่ใช่จุดประสงค์หลักของมัน เครือข่าย "ที่ออกแบบมาอย่างดี" อาจมีลูปได้ตามปกติ (สำหรับความซ้ำซ้อน) นอกเหนือจากการเปิดการบันทึกสถานะ spanning-tree (หรือเทียบเท่าบนแพลตฟอร์มของคุณ) ให้คิดนอกกรอบ การวนซ้ำในเครือข่ายของคุณ (หากไม่ได้ปิดการใช้งานโดยการขยายต้นไม้) จะทำให้ระดับการรับส่งข้อมูลขนาดใหญ่ในพายุออกอากาศ ดังนั้นกราฟระดับเหล่านั้นและในแพลตฟอร์มการตรวจสอบของคุณถ้าคุณเห็นการจราจรเพิ่มขึ้นอย่างรวดเร็วคุณอาจมีวน


นี่เป็นสิ่งสำคัญที่จะเข้าใจ ผู้คนจำนวนมากตำหนิต้นไม้ spanning สำหรับ loops ผิด แต่คุณเปิดใช้งาน spanning tree เพื่อให้คุณสามารถเพิ่ม loopsในเครือข่ายของคุณสำหรับความซ้ำซ้อน
พอลเกียร์

2

ต่อไปนี้เป็นสิ่งพิเศษที่ควรพิจารณาในการใช้งาน STP / RSTP / MSTP พร้อมกับการทดสอบของคุณ:

  1. ตั้งค่าลำดับความสำคัญของสวิทช์ของคุณเพื่อให้แน่ใจว่าสวิตช์ที่กำหนดไว้ล่วงหน้าถูกเลือกเป็นรูทและรองถูกกำหนดให้ใช้แทนรูทหากหลักล้มเหลว นี่เป็นความผิดพลาดที่พบบ่อยที่สุดที่ฉันเห็นในการใช้งานทรี
  2. พอร์ตใด ๆ ที่คุณมีอุปกรณ์ที่เชื่อมต่ออย่างถาวร (เช่นเซิร์ฟเวอร์เครื่องพิมพ์ NAS) ควรอยู่ในโหมดพอร์ตเร็ว (คำศัพท์ของซิสโก้ใน HP ProCurve เรียกว่าพอร์ตพอร์ต) เพื่อให้แน่ใจว่าพวกเขาไม่มีเวลารอนานสำหรับ ลู่เข้าหา STP เมื่อเปิดเครื่อง
  3. พอร์ตใด ๆ ที่คุณเชื่อมต่อกับอุปกรณ์ขอบ (รวมถึงพีซีเครื่องพิมพ์เซิร์ฟเวอร์ ฯลฯ ) ควรเปิดใช้งานรูทการ์ด วิธีนี้ช่วยป้องกันไม่ให้ผู้ใช้เชื่อมต่อสวิตช์ที่กำหนดค่าผิดหรือไม่ได้รับอนุญาตและทำให้เกิดการรวมซ้ำโดยไม่คาดคิด
  4. พอร์ตใด ๆ ที่ไม่ใช่ลิงค์แบบเปลี่ยนเป็นสวิตช์ในการควบคุมของคุณ (รวมถึงพีซีเครื่องพิมพ์เราเตอร์ผู้ให้บริการ) ควรเปิดใช้งานยาม BPDU โดยควรตั้งให้ปิดใช้งานพอร์ตเมื่อได้รับ STP BPDU วิธีนี้คุณจะพบได้ทันทีเมื่อผู้คนเริ่มทำสิ่งที่ผิดบนพอร์ตขอบของคุณ

นี่เป็นคำตอบที่มีประโยชน์มากขอบคุณ โดยบังเอิญคุณจะไม่ทราบคำสั่งเทียบเท่า HP ProCurve สำหรับคะแนนที่คุณพูดถึง? ลิงค์ HP นี้ขาดคำแนะนำการปฏิบัติที่ดีที่สุดของคุณh20565 www.2.hp.com/hpsc/doc/public/?hl=th
g18c

ฉันไปตอบคำถามนี้ด้วยตัวเองรู้สึกอิสระที่จะแสดงความคิดเห็น :) serverfault.com/questions/703386//
g18c

2

นอกเหนือจากคำแนะนำการวินิจฉัยก่อนหน้านี้คุณควรเรียนรู้ที่จะตีความผลลัพธ์จากคำสั่ง "show spanning-tree" ของสวิตช์ของคุณ (หรือเทียบเท่า) มันจะแสดงรูทพอร์ตพอร์ตที่กำหนดและจำนวนการวินิจฉัยที่สำคัญอื่น ๆ

นี่คือตัวอย่างเครือข่ายที่ฉันเพิ่งตั้งค่าด้วย 2 x Cisco 2950 และ 1 x HP 3400cl การเชื่อมต่อในเครือข่ายมีดังนี้:

  • hp3400cl [24] -> c2950 [g0 / 2] (1,000 Mbps)
  • c2950 [f0 / 23] -> c2950b [f0 / 47] (100 Mbps)
  • c2950b [f0 / 45] -> hp3400cl [23] (100 Mbps)

สวิตช์ทั้งหมดอยู่ในโหมด MSTP โดยมีการตั้งค่าอินสแตนซ์สแปนทั่วไปเท่านั้น hp3400cl มีลำดับความสำคัญ 0, c2950 เป็นลำดับความสำคัญสูงสุดถัดไปที่ 8192 และ c2950b จะมีลำดับความสำคัญสูงสุด 12288 ดังนั้น hp3400cl ควรเป็นรูต นี่คือลักษณะที่เอาต์พุต "show spanning-tree" มีลักษณะ:

hp3400cl# show spanning-tree 

 Multiple Spanning Tree (MST) Information

  STP Enabled   : Yes
  Force Version : MSTP-operation
  IST Mapped VLANs : 1-4094
  Switch MAC Address : 001871-8bd020
  Switch Priority    : 0    
  Max Age  : 6 
  Max Hops : 20
  Forward Delay : 4 

  Topology Change Count  : 4           
  Time Since Last Change : 4 mins      

  CST Root MAC Address : 001871-8bd020
  CST Root Priority    : 0           
  CST Root Path Cost   : 0           
  CST Root Port        : This switch is root

  IST Regional Root MAC Address : 001871-8bd020
  IST Regional Root Priority    : 0           
  IST Regional Root Path Cost   : 0           
  IST Remaining Hops            : 20          

  Root Guard Ports : 
  TCN Guard Ports  : 
  BPDU Protected Ports :                                         
  BPDU Filtered Ports  :                                         

                  |           Prio             | Designated    Hello         
  Port  Type      | Cost      rity  State      | Bridge        Time  PtP Edge
  ----- --------- + --------- ----- ---------- + ------------- ----- --- ----
  1     100/1000T | Auto      128   Disabled   |
...
  22    100/1000T | Auto      128   Disabled   |
  23    100/1000T | 200000    128   Forwarding | 001871-8bd020 1     Yes No  
  24    100/1000T | 20000     128   Forwarding | 001871-8bd020 1     Yes No  

c2950#show spanning-tree 

MST00
  Spanning tree enabled protocol mstp
  Root ID    Priority    0
             Address     0018.718b.d020
             Cost        20000
             Port        26 (GigabitEthernet0/2)
             Hello Time   1 sec  Max Age  6 sec  Forward Delay  4 sec

  Bridge ID  Priority    8192   (priority 8192 sys-id-ext 0)
             Address     000c.308f.7f80
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
...
Fa0/24           Desg FWD 200000    128.24   P2p 
Gi0/2            Root FWD 20000     128.26   P2p Bound(RSTP) 

c2950b#show spanning-tree 

MST00
  Spanning tree enabled protocol mstp
  Root ID    Priority    0
             Address     0018.718b.d020
             Cost        20000
             Port        47 (FastEthernet0/47)
             Hello Time   1 sec  Max Age  6 sec  Forward Delay  4 sec

  Bridge ID  Priority    12288  (priority 12288 sys-id-ext 0)
             Address     000a.b7e3.30c0
             Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

Interface        Role Sts Cost      Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/45           Altn BLK 200000    128.45   P2p Bound(RSTP) 
Fa0/47           Root FWD 200000    128.47   P2p 

สิ่งสำคัญที่ควรทราบเกี่ยวกับสถานะพอร์ตในรายการด้านบนคือ:

  • ลิงก์ของสวิตช์รูทไปยังสวิตช์อื่นกำลังส่งต่อ
  • ลิงก์ของสวิตช์ที่ไม่ใช่รูทไปยังรูทคือ "รูท FWD" ในทั้งสองกรณี
  • ลิงก์ที่ไม่ใช่รูทของสวิตช์ซึ่งกันและกันคือ "Altn BLK" ที่ปลายด้านหนึ่งและ "Desg FWD" ที่อีกด้านหนึ่ง นี่หมายความว่า c2950b รู้ว่า f0 / 45 เป็นเส้นทางสำรองไปที่รูทและได้บล็อกเพื่อป้องกันลูป หากพอร์ตรูท (f0 / 47) ล้มเหลว c2950b จะตั้งค่า f0 / 45 เป็นพอร์ตรูทโดยไม่ต้องทำการแปลงใหม่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.