
Spanning Tree Protocol (STP): คู่มือป้องกัน Loop ไม่ให้ Switch ในบ้านตีกันวุ่น
สวัสดีครับน้องๆ ชาว SiamLancard ทุกท่าน! วันนี้พี่จะมาเล่าเรื่องที่สำคัญมากๆ สำหรับคนที่ดูแลระบบเครือข่าย โดยเฉพาะเครือข่ายที่ใช้ Switch หลายตัว นั่นก็คือ Spanning Tree Protocol หรือที่เราเรียกกันติดปากว่า STP นั่นเองครับ
ลองนึกภาพตามนะครับ สมมติว่าเรามี Switch อยู่ 3 ตัวในบริษัท แล้วเราดันต่อสาย LAN เชื่อม Switch ทั้งหมดเข้าหากันแบบวงกลม (Loop) เหตุการณ์ที่ตามมาคือ…หายนะ! ข้อมูลจะวิ่งวนไปวนมาในวงจรนั้นไม่รู้จบ ทำให้ Bandwidth ถูกใช้จนหมด เครือข่ายอืดเป็นเรือเกลือ และสุดท้ายระบบล่มไปในที่สุด
ทำไมต้องมี STP? แล้ว Loop มันร้ายแรงขนาดนั้นเลยเหรอ?
คำตอบคือ ใช่ครับ! Loop ในเครือข่าย Switch ร้ายแรงกว่าที่คิดเยอะ เพราะ Switch มันฉลาดน้อยกว่า Router ครับ (ขออภัยที่พูดตรงๆ) Switch มันจะเรียนรู้ MAC Address จาก Packet ที่วิ่งผ่านเข้ามา แล้วสร้างตาราง MAC Address Table ไว้ใน Memory ของมัน
ทีนี้พอมันเกิด Loop ขึ้นมา Packet เดียวกันจะวิ่งวนไปวนมา Switch ก็จะอัพเดตตาราง MAC Address Table ซ้ำๆ ด้วย MAC Address เดิม ทำให้ตารางมันสับสนอลหม่าน จน Switch ไม่รู้ว่าควรจะส่ง Packet ไปที่ Port ไหน สุดท้ายก็ Broadcast ส่ง Packet ไปทุก Port จนเกิดสิ่งที่เรียกว่า **Broadcast Storm** นั่นเอง
STP คืออะไร? พระเอกขี่ม้าขาวมาช่วยเราได้ยังไง?
Spanning Tree Protocol (STP) คือ Protocol ที่ถูกออกแบบมาเพื่อป้องกัน Loop ในเครือข่าย Switch โดยหลักการง่ายๆ ของมันคือ การ “ปิด” Port บาง Port ในเครือข่าย เพื่อตัด Loop ทิ้งไป ทำให้เหลือ Path เดียวในการส่งข้อมูลระหว่าง Switch แต่ละตัว
STP จะทำการเลือก Switch ตัวหนึ่งให้เป็น **Root Bridge** ซึ่งก็คือ Switch ที่เป็นศูนย์กลางของเครือข่าย จากนั้น Switch ที่เหลือก็จะคำนวณหาเส้นทางที่ดีที่สุด (Cost ต่ำที่สุด) เพื่อไปยัง Root Bridge แล้วทำการปิด Port ที่ไม่ได้อยู่ในเส้นทางที่ดีที่สุดนั้นเอง
คิดง่ายๆ ว่า STP เหมือน Traffic Police ที่คอยโบกรถให้วิ่งไปในทิศทางที่ถูกต้อง เพื่อไม่ให้รถติดกันในวงเวียนนั่นแหละครับ
STP ทำงานยังไง? เจาะลึกกลไกการทำงาน
STP ทำงานโดยการแลกเปลี่ยน Message พิเศษที่เรียกว่า **Bridge Protocol Data Units (BPDUs)** ระหว่าง Switch แต่ละตัว BPDUs จะมีข้อมูลสำคัญ เช่น Bridge ID (ประกอบด้วย Bridge Priority และ MAC Address ของ Switch) และ Root Path Cost
ขั้นตอนการทำงานของ STP มีดังนี้ครับ
1. **Election of the Root Bridge:** Switch ทุกตัวจะส่ง BPDUs ออกมา Switch ที่มี Bridge ID ต่ำที่สุด (Bridge Priority ต่ำที่สุด และถ้า Bridge Priority เท่ากัน ก็จะดู MAC Address) จะถูกเลือกให้เป็น Root Bridge
2. **Root Port Selection:** Switch ที่ไม่ใช่ Root Bridge จะเลือก Port ที่มี Root Path Cost ต่ำที่สุด เพื่อไปยัง Root Bridge Port นี้จะถูกเรียกว่า Root Port
3. **Designated Port Selection:** บนแต่ละ Segment ของเครือข่าย (เช่น สาย LAN ที่เชื่อมต่อระหว่าง Switch 2 ตัว) จะมีการเลือก Designated Port ซึ่งก็คือ Port ที่มี Root Path Cost ต่ำที่สุด เพื่อไปยัง Root Bridge
4. **Blocking Port Selection:** Port ที่ไม่ได้ถูกเลือกให้เป็น Root Port หรือ Designated Port จะถูก Block เพื่อตัด Loop ทิ้ง
RSTP และ MSTP: วิวัฒนาการของ STP ที่เร็วกว่าเดิม
ถึงแม้ว่า STP จะช่วยป้องกัน Loop ได้ แต่ก็มีข้อเสียคือ Convergence Time (ระยะเวลาที่ STP ใช้ในการคำนวณหา Topology ใหม่ หลังจากเกิดการเปลี่ยนแปลงในเครือข่าย) ค่อนข้างนาน อาจจะใช้เวลาเป็นวินาที หรือเป็นนาที ทำให้เครือข่ายอาจจะหยุดชะงักไปชั่วขณะ
เพื่อแก้ปัญหานี้ จึงมีการพัฒนา STP ให้มีประสิทธิภาพมากขึ้น โดยมี Protocol ที่สำคัญ 2 ตัวคือ
* **Rapid Spanning Tree Protocol (RSTP):** เป็น Standard ที่ถูกกำหนดไว้ใน IEEE 802.1w RSTP มี Convergence Time ที่เร็วกว่า STP มาก โดยสามารถ Convergence ได้ภายในไม่กี่วินาที RSTP ใช้กลไกใหม่ๆ เช่น Proposal/Agreement Handshake เพื่อเร่งกระบวนการ Convergence
* **Multiple Spanning Tree Protocol (MSTP):** เป็น Standard ที่ถูกกำหนดไว้ใน IEEE 802.1s MSTP อนุญาตให้เราสร้าง Multiple Spanning Tree Instances (MSTI) ซึ่งแต่ละ Instance สามารถ Run บน VLAN ที่แตกต่างกันได้ ทำให้เราสามารถ Load Balance Traffic บนเครือข่ายได้ดีขึ้น
ตารางเปรียบเทียบ STP, RSTP และ MSTP:
| Feature | STP (802.1D) | RSTP (802.1w) | MSTP (802.1s) |
| —————– | ———– | ————- | ————- |
| Convergence Time | Slow | Fast | Fast |
| VLAN Support | No | No | Yes |
| Complexity | Low | Medium | High |
| Backward Compatible | Yes | Yes | Yes |
Case Study: แก้ปัญหา Loop ในโรงงานผลิต
โรงงานผลิตแห่งหนึ่งประสบปัญหาเครือข่ายล่มบ่อยครั้ง โดยเฉพาะในช่วงเวลาที่มีการส่งข้อมูลจำนวนมาก เช่น ช่วงสิ้นเดือนที่มีการรวบรวมข้อมูลการผลิต
หลังจากตรวจสอบพบว่า สาเหตุหลักมาจาก Loop ในเครือข่าย Switch เนื่องจากมีการต่อสาย LAN เชื่อม Switch หลายตัวเข้าหากันโดยไม่ได้ตั้งใจ ทีม IT จึงตัดสินใจ Implement RSTP บน Switch ทุกตัวในโรงงาน
ผลลัพธ์ที่ได้คือ เครือข่ายมีความเสถียรมากขึ้น อาการเครือข่ายล่มหายไป และ Convergence Time เร็วขึ้น ทำให้ผู้ใช้งานไม่รู้สึกถึงปัญหาเมื่อเกิดการเปลี่ยนแปลงในเครือข่าย
Tips และข้อควรระวังในการใช้งาน STP
* **วางแผน Topology เครือข่ายให้ดี:** การออกแบบเครือข่ายที่ดีตั้งแต่แรก จะช่วยลดโอกาสในการเกิด Loop ได้เยอะมาก
* **กำหนด Bridge Priority ให้เหมาะสม:** การกำหนด Bridge Priority ที่เหมาะสม จะช่วยให้เราควบคุมการเลือก Root Bridge ได้
* **Monitor สถานะของ STP อย่างสม่ำเสมอ:** ตรวจสอบ Log และ Alert ของ Switch เพื่อให้มั่นใจว่า STP ทำงานได้อย่างถูกต้อง
* **ระวังเรื่อง Default Configuration:** Switch บางรุ่นอาจจะเปิด STP ไว้เป็น Default แต่บางรุ่นอาจจะต้อง Enable เอง อย่าลืมตรวจสอบ Configuration ให้ดี
* พิจารณาเลือกใช้ RSTP หรือ MSTP แทน STP แบบเดิมๆ ถ้า Switch ของคุณรองรับ เพราะมันเร็วกว่าและมีประสิทธิภาพมากกว่า
ปิดท้าย: เครือข่ายที่แข็งแกร่ง เริ่มต้นจากการป้องกัน Loop
Spanning Tree Protocol อาจจะดูเป็นเรื่องที่ซับซ้อน แต่จริงๆ แล้วมันเป็นเครื่องมือที่สำคัญมากๆ ในการดูแลระบบเครือข่าย Switch ให้อยู่รอดปลอดภัยจาก Loop หวังว่าบทความนี้จะเป็นประโยชน์สำหรับน้องๆ ที่กำลังศึกษาเรื่อง Network นะครับ ถ้ามีคำถามอะไรเพิ่มเติม ถามมาได้เลยนะครับ พี่ๆ SiamLancard ยินดีให้คำปรึกษาเสมอ
อย่าลืมว่า เครือข่ายที่แข็งแกร่ง เริ่มต้นจากการป้องกัน Loop ที่ดีครับ!