ป้องกัน Loop บน Layer 2 ด้วย Spanning-Tree Protocol (STP) ตอนที่ 2

ป้องกัน Loop บน Layer 2 ด้วย Spanning-Tree Protocol (STP) ตอนที่ 2

สวัสดีครับ ในตอนที่แล้วเราได้พูดถึง “ป้องกัน Loop บน Layer 2 ด้วย Spanning-Tree Protocol (STP) ตอนที่ 1” ไปแล้ว ในตอนที่ 2 นี้ จะมาพูดถึงกลไลของ STP ว่ามีการหา Loop ได้อย่างไร ? และมันจะป้องกันได้โดยวิธีไหนกันครับ
สำหรับท่านใดที่เพิ่งมาอ่านบทความนี้ แนะนำให้ท่านอ่านตอนที่ 1 ก่อนครับ
>> ป้องกัน Loop บน Layer 2 ด้วย Spanning-Tree Protocol (STP) ตอนที่ 1

กลไลการทำงานของ Spanning-Tree protocol
เมื่อ STP ถูกเปิดใช้งาน Switch จะทำการส่ง frame พิเศษแลกเปลี่ยนกัน เพื่อใช้ในการหา Loop โดย frame ชนิดนี้มีชื่อ เรียกว่า BPDU (Bride Protocol Data Unit)
BPDUภายใน BPDU ก็จะมีค่าที่เกี่ยวข้องกับกลไกการค้นหาและป้องกัน Loop ของ STP อยู่ เช่น
  1. Bridge ID (priority , mac address)
  2. Root ID
  3. Port ID
  4. Path Cost
ซึ่ง Switch จะใช้ค่าเหล่านี้เป็นค่าหลักของกลไลและใช้เลือกหาพอร์ตที่ต้องการจะ block เพื่อป้องกัน Loop
เรามาดูตัวอย่างกันดีกว่าครับ ว่า STP มีกลไกอย่างไรบ้าง
STP+BPDUจากรูป จะเห็นว่ามีการต่อ Switch กันในลักษณะ Loop เกิดขึ้น Switch จะต้องทำการส่ง BPDU แลกเปลี่ยนกันเพื่อหา Loop บนเครือข่าย และจัดการป้องกันเพื่อไม่ให้เกิด Loop ได้ !!

ขั้นตอนการคำนวณหาว่า port ไหนจะ block เพื่อป้องกัน Loop ที่เกิดขึ้น

1. เลือก Switch 1 ตัว ทำหน้าที่เป็น Root Bridge
  • โดยเลือกจากค่า Bridge ID ที่ต่ำที่สุด
    • ซึ่งค่า Bridge ID ประกอบด้วย Priority และ Mac address
    • Switch จะดูจากค่า Priority ก่อน ถ้าค่า Priority เท่ากัน จะมาดู Mac address
  • ค่า Default Priority เท่ากับ 32768 (ถ้าไม่ได้มีการปรับเปลี่ยนค่า Priority)
Root Bridge2
จากรูปจะทำการเลือก Root Bridge โดยจะเห็นว่า SW-A มีค่า Priority ต่ำที่สุด จึงได้รับตำแหน่ง Root Bridge
2. เลือก 1 Root Port บน Switch ที่ไม่ได้เป็น Root Bridge
  • ให้พิจารณาที่ Switch ทีละตัว
  • โดยดูว่า Switch มีเส้นทางไปหา Root Bridge กี่เส้นทาง และ แต่ละเส้นทางมีระยะทาง (Path Cost) ไปหา Root Bridge เท่าไหร่
    • โดย Default ค่า Path Cost จะขึ้นอยู่กับ Link Speed บน Interface
      • 10Gbps = Cost 2
      • 1Gbps = Cost 4
      • 100Mbps = Cost 19
      • 10 Mbps = Cost 100
  • โดยเส้นทางที่มี Path Cost ไปหา Root Bridge ต่ำที่สุด พอร์ตบนเส้นทางนั้นจะเป็น Root Port
  • สถานะของ Root Port = Forwarding
Root Port2จากรูป การหา Root Port (RP) พิจารณาที่ SW-B
  • SW-B มี 2 เส้นทางไปหา Root Bridge คือ ทาง Fa0/0 และ Fa0/2
    • SW-B ไปหา Root Bridge ด้วยเส้นทาง Fa0/0 มีค่า Cost = 19
    • SW-B ไปหา Root Bridge ด้วยเส้นทาง Fa0/2 มีค่า Cost = 19+19 = 38
  • SW-B เห็นว่า เส้นทางที่ไปหา Root Bridge ผ่านพอร์ต Fa0/0 มีค่าต่ำกว่า
  • SW-B จึงให้ Fa0/0 เป็น Root Port
Root Port3จากรูป การหา Root Port (RP) พิจารณาที่ SW-C
  • SW-C มี 2 เส้นทางไปหา Root Bridge คือ ทาง Fa0/1 และ Fa0/2
    • SW-C ไปหา Root Bridge ด้วยเส้นทาง Fa0/1 มีค่า Cost = 19
    • SW-C ไปหา Root Bridge ด้วยเส้นทาง Fa0/2 มีค่า Cost = 19+19 = 38
  • SW-C เห็นว่า เส้นทางที่ไปหา Root Bridge ผ่านพอร์ต Fa0/1 มีค่าต่ำกว่า
  • SW-C จึงให้ Fa0/1 เป็น Root Port
3. เลือก 1 Designated Port ต่อ 1 Segment (หรือ 1 Link ที่เชื่อมต่อกันระหว่าง Switch)
  • ให้พิจารณาบนแต่ละ Link บน Switch แต่ละตัว
  • Port ระหว่าง Switch จะแข่งขันกันว่าใครจะเป็น Designated Port
  • โดยพิจารณาว่า Switch ที่แข่งขันกัน ใครที่มี Path Cost ไปหา Root Bridge ดีกว่ากัน (ดีกว่า หมายถึง ต่ำกว่า)
  • Switch ฝั่งที่มีค่า Path Cost ไปหา Root Bridge ที่ดีกว่า Port ของ Switch ตัวนั้นก็จะได้สิทธิ์ในการเป็น Designated Port
  • สถานะของ Designated Port = Forwarding
designated portจากรูป การหา Designated Port (DP) ระหว่าง SW-A และ SW-B
  • แข่งขันกันว่า Port ของใครจะเป็น DP ระหว่าง Fa0/0 ของ SW-A และ Fa0/0 ของ SW-B
  • โดยพิจารณาจาก Path Cost ที่ไปหา Root Bridge
  • SW-A เนื่องจากตัวเองเป็น Root Bridge อยู่แล้ว ค่า Path Cost จึงเท่ากับ 0 (ศูนย์)
  • SW-B ค่า Path Cost ไปหา Root Bridge ที่ดีที่สุดเท่ากับ 19
  • SW-A มีค่า Path Cost ดีกว่า SW-B ดังนั้น Port Fa0/0 ฝั่ง SW-A จึงได้เป็น Designated Port (DP)
designated port2-Reviseจากรูป การหา Designated Port (DP) ระหว่าง SW-A และ SW-C
  • แข่งขันกันว่า Port ของใครจะเป็น DP ระหว่าง Fa0/1 ของ SW-A และ Fa0/1 ของ SW-C
  • โดยพิจารณาจาก Path Cost ที่ไปหา Root Bridge
  • SW-A เนื่องจากตัวเองเป็น Root Bridge อยู่แล้ว ค่า Path Cost จึงเท่ากับ 0 (ศูนย์)
  • SW-C ค่า Path Cost ไปหา Root Bridge ที่ดีที่สุดเท่ากับ 19
  • SW-A มีค่า Path Cost ดีกว่า SW-C ดังนั้น Port Fa0/1 ฝั่ง SW-A จึงได้เป็น Designated Port (DP)
designated port3จากรูป การหา Designated Port (DP) ระหว่าง SW-B และ SW-C
  • แข่งขันกันว่า Port ของใครจะเป็น DP ระหว่าง Fa0/2 ของ SW-B และ Fa0/2 ของ SW-C
  • โดยพิจารณาจาก Path Cost ที่ไปหา Root Bridge
  • SW-B ค่า Path Cost ไปหา Root Bridge ที่ดีที่สุดเท่ากับ 19
  • SW-C ค่า Path Cost ไปหา Root Bridge ที่ดีที่สุดเท่ากับ 19
  • SW-B และ SW-C มีค่า Path Cost ไปหา Root Bridge เท่ากัน พิจารณาที่ Mac address ต่อไป
  • SW-B มีค่า Mac address ต่ำกว่า SW-C
  • ดังนั้น Port Fa0/2 ฝั่ง SW-B จึงได้เป็น Designated Port (DP)
และสุดท้าย Port ที่เหลือ ที่ไม่ได้เป็น RP และ DP จะอยู่ในสถานะ Block Port
จบแล้วครับ สำหรับขึ้นตอนการหา Block Port ของ Spanning-Tree Protocol เห็นไหมครับ ตามกลไกของมัน เราไม่สามารถที่จะหา Block Port ได้โดยตรง เราจะต้องทำการหา Port ที่ Forwarding ทั้งหมดก่อน ก็คือ Root Port (RP) และ Designated Port (DP) จากนั้น Port ที่ไม่ได้มีหน้าที่ Forwarding ก็จะเป็น Block Port ไปนั่นเองครับ
ทางเราก็หวังว่าจะเป็นประโยชน์ ให้กับผู้ที่สนใจได้ศึกษา และท่านที่เคบอบรมกับทางเราสามารถมาทบทวนได้นะครับ
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

Facebook Comments

comments