Spanning Tree operation [การคำนวณ Spanning Tree]
สำหรับการทำงานของ Spanning Tree เพื่อที่จะให้ได้แผนผังที่ไม่มี Loop หรือ Loop Free นั้น จะมีหลักการหรือข้อกำหนดในการคำนวณ การหาส่วนประกอบต่างๆ เช่น Root Bridge, Root Port, Designated Port อย่างไร ? อันดับแรกเลย คือ
1. หา Root Bridge ซึ่งใน 1 Broadcast Domain จะมี Root Bride ได้ 1 Root Bridge และทุกๆ Port -ของ Root Bridge เป็น Designated Port แล้ว Switch ตัวไหนจะเป็น Root Bridge? Root Bridge จะพิจารณาได้จากค่า Bridge ID ซึ่งค่า Bridge ID ประกอบไปด้วย 2 ส่วน คือ ค่า Bridge Priority (ค่า Default เป็น 32768) และ MAC Address ของ Switch
1.1 ถ้าหากค่า Bridge Priority ของ Switch ตัวใดที่มีค่าที่ต่ำกว่า Switch ตัวนั้นจะได้เป็น Root Bridge
1.2 ถ้าหากค่า Bridge Priority เท่ากัน จะดูจากค่า MAC Address ถ้า Switch ตัวไหนที่มี MAC Address ที่ต่ำกว่าตัวนั้นจะเป็น Root Bridge
จากรูป Diagram ด้านบนนั้น จะเห็นได้ว่า SWITCH-1 ได้เป็น Root Bridge ของ Broadcast Domain สำหรับ VLAN 1 เนื่องจาก Priority ของ Switch ทุกตัวเท่ากัน จึงไปพิจารณาที่ MAC Address เป็นลำดับถัดไป ซึ่ง SWITCH-1 มีค่า MAC Address ที่ต่ำที่สุด และทุกๆ Port ของ Root Bridge จะเป็น Designated Port [DP]
2. ถัดไปจะเป็นการหา Root Port บนแต่ละ Non Root Bridge สามารถมี Root Port ได้เพียง 1 Port โดยพิจารณาดังต่อไปนี้ (จากตัวอย่างจะมี Non Root Bridge ทั้งหมด 3 ตัว คือ SWITCH-2, SWITCH-3, SWITCH-4)
2.1 พิจารณาจากค่า Path Cost ไปหา Root Bridge โดยที่ค่า Path Cost จะอ้างอิงกับ Port Speed ซึ่งแสดงตามรูปตารางด้านล่าง
หา Root Port สำหรับ SWITCH-2 จะเห็นได้ว่ามีเส้นทางไปหา Root Bridge ทั้งหมด 3 เส้นทาง ซึ่งแต่ละเส้นทางจะมีค่า Path Cost ดังต่อไปนี้
PATH#1 (เส้นประสีส้ม) มีค่า Cost = 4
PATH#2 (เส้นประสีเขียว) จะเห็นได้ว่าเส้นทางนี้จะผ่าน SWITCH-3 ก่อน แล้วจึงไปหา Root Bridge ซึ่งค่า Cost = 100 (Eth 0/1 SWITCH-3) + 4 (Gi 0/3 SWITCH-2) = 104
PATH#3 (เส้นประสีแดง) จะเห็นได้ว่าเส้นทางนี้จะผ่าน SWITCH-3 และ SWITCH-4 โดยค่า Path Cost = 100 (Eth 0/1 SWITCH-3) + 100 (Eth 0/2 SWITCH-4) + 4 (SWITCH-2 Gi0/1) =204
PATH#4 (เส้นประสีฟ้า) จะเห็นได้ว่าเส้นทางนี้จะผ่าน SWITCH-3 และ SWITCH-4 เช่นกัน และมีค่า Path Cost = 100 (Eth0/1 SWITCH-3) + 100 (Eth0/0 SWITCH-4) + 4 (SWITCH-2 Gi 0/1) = 204
ค่า Path Cost ของเส้นทาง PATH#1 มีค่าเท่ากับ 4 ซึ่งน้อยที่สุด ฉะนั้น Port Gi 0/0 ของ SWITCH-2 จึงเป็น Root Port ของ SWITCH-2 ดังแสดงตามรูปด้านล่าง
หา Root Port สำหรับ SWITCH-3 จะเห็นได้ว่ามีเส้นทางไปหา Root Bridge ทั้งหมด 4 เส้นทางดังนี้
PATH#1 (เส้นประสีแดง) มีค่า Path Cost = 4
PATH#2 (เส้นประสีส้ม) เส้นทางนี้จะผ่าน SWITCH-2 มีค่า Path Cost = 4 (Gi 0/0 SWITCH-2) + 100 (Eth 0/3 SWITCH-3) = 104
PATH#3 (เส้นประสีเขียว) เส้นทางนี้จะผ่าน SWITCH-2 และ SWITCH-4 มีค่า Path Cost = 4 (Gi 0/0 SWITCH-2) + 100 (Eth0/1 SWITCH-4) + 100 (Eth0/0 SWITCH-3) = 204
PATH#4 (เส้นประสีฟ้า) เส้นทางนี้จะผ่าน SWITCH-2 และ SWITCH-4 มีค่า Path Cost = 4 (Gi 0/0 SWITCH-2) + 100 (Eth0/1 SWITCH-4) + 100 (Eth0/2 SWITCH-3) = 204
ค่า Path Cost ของเส้นทาง PATH#1 มีค่าเท่ากับ 4 ซึ่งน้อยที่สุด ฉะนั้น Gi 0/1 ของ SWITCH-3 จึงเป็น Root Port ดังแสดงตามรูปด้านล่าง
หา Root Port สำหรับ SWITCH-4 จะเห็นได้ว่ามีเส้นทางไปหา Root Bridge ทั้งหมด 5 เส้นทางดังนี้
PATH#1 (เส้นประสีแดง) ผ่าน SWITCH-3 มีค่า Path Cost = 100 (Eth0/1 SWITCH-3) + 100 (Eth0/0 SWITCH-4) = 200
PATH#2 (เส้นประสีส้ม) ผ่าน SWITCH-3 เช่นกัน มีค่า Path Cost = 100 (Eth0/1 SWITCH-3) + 100 (Eth0/2 SWITCH-4) = 200
PATH#3 (เส้นประสีเขียว) ผ่าน SWITCH-2 และ SWITCH-3 มีค่า Path Cost = 4 (Gi0/0 SWITCH-2) + 100 (Eth0/3 SWITCH-2) + 100 (Eth0/0 SWITCH-4) =204
PATH#4 (เส้นประสีเขียว) ผ่าน SWITCH-2 และ SWITCH-3 เช่นกัน Path Cost = 4 (Gi0/0 SWITCH-2) + 100 (Eth0/3 SWITCH-2) + 100 (Eth0/2 SWITCH-4) =204
PATH#5 (เส้นประสีดำ) เส้นทางนี้ผ่าน SWITCH-2 มีค่า Path Cost = 4 (Gi0/0 SWITCH-2) + 100 (Eth0/1 SWITCH-4) = 104
สำหรับ SWITCH-4 นั้น Port Eth 0/1 มีค่า Path Cost น้อยที่สุด มีค่า Path Cost = 104
แล้วถ้ากรณีที่ค่า Path Cost มีค่าเท่ากันจะมีการเลือก Root Port อย่างไร? เพื่อให้เข้าใจถึงการพิจารณาหา Root Port เพิ่มเติม จึงขอยก Diagram ใหม่ ตามรูปด้านล่าง เพื่อประกอบการอธิบายซึ่งทำการตัดเส้นทาง PATH#3-5 ออก
2.2 หา Root Port โดยพิจารณาจาก Switch ที่ทำการส่ง Update Bridge ID ที่มีค่าต่ำกว่ามาให้ ถ้า Port ใด ได้รับ Bridge ID ที่ต่ำกว่า จะเป็น Root Port
จากรูป Diagram ด้านบนจะเห็นว่า SWITCH-3 จะทำการส่งค่า Bridge ID (Priority + MAC Address) ของตัวเองออกไปให้ SWITCH-4 เมื่อ SWITCH-4 ได้รับจะเห็นว่าค่า Bridge ID ที่ได้รับผ่าน Port Eth 0/2 และ Eth 0/0 นั่นก็คือ MAC Address ของ SWITCH-3 นั่นเอง จึงไม่สามารถทำการเลือก Root Port ได้จึงต้องไปสู่ขึ้นตอนถัดไป (แต่ถ้าหาก Port Eth0/0 หรือ Eth 0/2 เชื่อมต่อกับ Switch ตัวอื่นที่มีค่า Bridge ID ต่ำกว่า SWITCH-3 Port นี้จะเป็น Root Port แทน)
2.3 พิจารณาจากค่า Port ID ที่ทำการส่งไปให้ จากตัวอย่าง SWITCH-3 จะทำการส่ง Port ID ของ Eth 0/0 และ Eth 0/2 ของตัวเอง ไปยัง SWITCH-4 เมื่อ SWITCH-4 ได้รับจะเห็นว่า Port Eth 0/2 ของตัวเองนั้นได้รับค่า Port ID ของ SWITCH-3 ที่ต่ำกว่า Eth 0/0 ฉะนั้น Port Eth 0/2 จะเป็น Root Port ของ SWITCH-4 ของตัวอย่างนี้
เมื่อทำการหา Root Port บน Non Root Bridge แต่ละตัวแล้ว ในลำดับถัดไปจะเป็นการหา Designated Port [DP] บนแต่ละ Segment ซึ่งก็มี 3 ขั้นตอนเช่นกัน และสำหรับ Diagram ประกอบการอธิบายจะขอย้อนกลับไปใช้รูปตามด้านล่าง สำหรับ Segment#1 และ Segment#2 จะได้ Designated Port โดยปริยาย เนื่องจาก Port ที่อยู่ภายใต้ Root Bridge ทุก Port เป็น Designated Port และสำหรับ Segment#4 บน SWITCH-2 Port Gi0/1 จะเป็น Designated Port ด้วย เนื่องจากทุกๆ 1 Segment จะต้องมี 1 Designated Port จะเหลือ Segment#3, Segment#5 และ Segment#6 ที่จะต้องหา Designated Port ต่อไป
3.1 เลือกค่า Path Cost ที่ไปหา Root Bridge ที่มีค่าน้อยที่สุด (อ้างอิงจาก Root Port)
เริ่มต้นที่ Segment#3 เมื่อดูค่า Path Cost ที่ไปหา Root Bridge (อ้างอิงจาก Root Port) แล้ว จะเห็นได้ว่า SWITCH-2 มีค่า Path Cost ที่น้อยกว่า ฉะนั้นใน Segment#3 Port Gi0/3 จะได้เป็น Designated Port
ต่อไปก็จะทำการหา DP ของ Segment#5 และ Segment#6 จะได้ Designated Port แล้ว คือ SWITCH-3 Port Eth0/0 สำหรับ Segment#5 และ Port Eth 0/2 บน SWITCH-3 สำหรับ Segment#6 เนื่องจากมี ค่า Cost = 100 ซึ่งน้อยกว่า 104 ตามรูปด้านล่าง
เมื่อได้ Designated Port แตะละ Segment ครบแล้ว Port ที่เหลือจะเป็น Blocking State [BLK] ตามรูปแสดงด้านล่าง
ถึงแม้ว่าการหา Spanning Tree สำหรับ Diagram ที่นำมาเป็นตัวอย่างจะเสร็จสิ้นแล้ว แต่สำหรับการหา Designated Port นั้นยังมีอีก 2 ขั้นตอน จึงขอยกตัวอย่างอธิบายเพิ่มโดยอ้างอิงจาก Diagram ด้านล่าง ซึ่งจะมี HUB เข้ามาต่อขั้นกลางด้วย
จาก Diagram จะเห็นได้ว่าตอนนี้ Segment#3 นั้นยังไม่มี Designate Port และไม่สามารถนำค่า Path Cost ไปหา Root มาเป็นตัวตัดสินได้ เพราะค่า Path Cost (อ้างอิงจาก Root Port) นั้นมีค่าเท่ากัน จึงต้องทำขั้นตอนลำดับถัดไป
3.2 พิจารณาหา Designated Port ใน Segment นั้นๆ จาก Switch ที่มี Bridge ID ที่ต่ำกว่า จากตัวอย่าง มี SWITCH-2 และ SWITCH-3 อยู่ใน Segmant#3 แต่ SWITCH-2 มีค่า Bridge ID ที่ต่ำกว่า แสดงว่า Designated Port ต้องอยู่บน SWITCH-2 แล้ว Port ไหนละ ที่จะเป็น Designated Port ระหว่าง Gi 0/1 กับ Gi 0/2 จึงต้องเข้าสู่ขั้นตอนถัดไป
3.3 พิจารณาหา Designated Port โดยดูค่า Port ID บน Switch ของตัวเอง โดยดูค่า Port ID ที่ต่ำที่สุด ใน Segment#3 บน SWITCH-2 ค่า Port ID ของ Gi 0/1 มีค่าต่ำกว่า Gi0/2 ฉะนั้น Port Gi 0/1 จะเป็น Designated Port และ Port Gi 0/2 จะเป็น Backup Port (ซึ่งจะมีสถานะเป็น Blocking State เช่นกัน แต่ถ้าหาก Designated Port มีปัญหาหรือ Port Down ลงไป Backup Port จะทำการส่งข้อมูลแทน) และ Port นอกเหนือจากนั้นจะเป็นสถานะ Blocking State
Comments