Loop ฝันร้ายในความเป็นจริง (ภาค ทำไมยังคงมี loop)

Posted by

จากคำถามที่ทิ้งไว้จากตอนที่แล้ว ยังไม่ได้อ่านตอนที่แล้วเหรอ ? คลิกสิ


“ว่าแต่ที่บริษัทก็ใช้ Cisco Switch นะทำไมมันยังมี loop ให้ปวดหัวอยู่อีกละ??”

นั่นสิทำไมละ? ในเมื่อเรามี spanning tree ทำงานอัตโนมัติอยู่แล้วนี่?


กรณีที่1 : เพราะ Switch บางตัวมันไม่มี STP หนะสิ!

การทำงานของ STP ที่ใช้ตรวจสอบ loop ได้ง่ายๆคือมันจะคอยฟัง BPDU frame ของตัวเองว่ามีกลับมาไหมถ้ามีแสดงว่าการเชื่อมต่อนั้นมี loop ซึ่งถ้าเราดันเลือกเอา Unmanageable Switch หรือ Home use Switch ที่ไม่มี spanning tree มาก็อาจจะทำให้เกิด loop ได้

Capture
แบบนี้ไม่ loop แม้ว่า Switch B จะเป็น home use ที่ไม่ support spanning tree ก็ตาม (F0/1 และ F0/2 เป็น access port)

 

Capture
แบบนี้คือ VLAN 1 ไม่ loop แต่ VLAN 10 loop ดังนั้นผลลัพธ์ที่ได้คือ ล่มครับ network ล่มเหมือนเดิม !!!!
Capture
ส่วนใหญ่ที่หลังๆเจอกันเยอะๆ คือมี loop บนการเชื่อมต่อที่ไม่มี spanning tree เลยและสร้าง traffic มหาศาลเข้ามา ซึ่งผลลัพธ์ที่เจออาการก็จะเหมือน loop คือมี traffic จำนวนมหาศาลไหลเข้ามาแล้วทำให้ระบบเครือข่ายเราล่ม

      ปัจจุบัน Access point ที่ได้มาจากผู้ให้บริการนี่เป็นปัญหาต้นๆขององค์กรเลย เพราะ port ด้านหลังของ AP นั้นไม่ได้มีการ enable spanning tree ไว้ ซึ่งจริงๆสามารถก่อปัญหาอื่นๆตามมาได้อีกมากเอาไว้จะเหลาให้ฟังในโอกาสถัดๆไป  

 

สรุป : ในกรณีนี้จะมี loop ได้มี 2 สถานการณ์คือ
1. การเชื่อมต่อมี loop และมี Switch Unmanaged บางตัวอยู่ในระบบ ทำให้ BPDU ของ VLAN ที่ไม่ได้เป็น native (อยากรู้จัก native VLAN คลิก) ไม่สามารถกลับมาที่ Switch ได้เลยทำให้ Switch คิดว่าไม่มี loop 

2. มีการเอาอุปกรณ์แปลกปลอมที่ไม่ support Spanning Tree Protocol ต่อเข้ามาในระบบแล้วเชื่อมต่อจนกลายเป็น loop (ภาพสุดท้าย)

จะเห็นได้ว่าถ้า Switch ส่วนใหญ่ในองค์กรนั้นเป็นระบบ SMB หรือ Enterprise ที่ใช้งาน spanning tree อยู่แล้วนั้นโอกาสเกิด loop ก็ค่อนข้างยาก แล้วทำไมยังเจอ loop อยู่อีกละ?


กรณีที่ 2 : ก็เพราะมันแฮ้งค์หนะสิ 

ใช่ครับ! ตอบกันขวานผ่าซากแบบนี้เลย คือมันเจ้ง!! เนื่องจากการทำงานของ Spanning Tree Protocol นั้นปัจจุบันส่วนใหญ่ทำงานเป็น per VLAN/ per instance หรืออธิบายง่ายๆว่ามันทำงานตาม VLAN ที่เรามี
สมมุติในองค์กรของเรามีอยู่ 20 VLAN บน Switch มันก็จะคำนวณ Spanning Tree 20 ครั้ง สิ่งที่ตามมาคือมันกลายเป็น process ที่ใช้ resource ของ Switch ระดับหนึ่งซึ่งมันก็มีโอกาสที่จะทำงานผิดพลาดได้ ผลลัพธ์เหรอ…. ก็ loop หนะสิ

อ่าวแล้วแบบนี้ป้องกันยังไงละ ? 

คำตอบอยู่ที่การออกแบบครับ เราสามารถออกแบบการเชื่อมต่อให้ไม่มี loop ได้ตั้งแต่แรก รวมถึงสามารถใช้ feature พิเศษของ Spanning Tree หรือ feature ด้านความปลอดภัยของ Switch มาช่วยป้องกันการเกิด loop โดยที่เรายังสามารถคงความสามารถในการทนทานต่อการ fail ได้ด้วย

 

ในหัวข้อถัดไปเราจะมาดู feature อื่นๆ ที่เกี่ยวข้องกับ Spanning Tree Protocol ที่ช่วยให้ Spanning Tree Protocol นั้นสเถียรขึ้นโดยยังคงความสามารถในการทนทานต่อการ fail และความเข้าใจผิดเกี่ยวกับบาง Protocol ด้วย ในหัวข้อ Loop ฝันร้ายในความเป็นจริง (ภาค feature พิเศษเกี่ยวกับการป้องกัน loop) มาเร็วๆนี้ (มั้ง)

2 ความเห็น

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  เปลี่ยนแปลง )

Google photo

You are commenting using your Google account. Log Out /  เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out /  เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out /  เปลี่ยนแปลง )

Connecting to %s