Supakorn Visutthicho
การตั้งค่า Storm-Control บน Cisco Switch
Storm-Control เป็น features นึงบน Cisco Switch ที่ใช้สำหรับป้องกันจำนวน traffic ทั้งแบบ broadcast, multicast หรือ unicast ที่มากเกินไป อย่างเช่น การเกิด Layer 2 Loop ในระบบ จากการตั้งค่าผิดพลาด หรือ ระบบทำงานผิดพลาด ก็ทำให้เกิด broadcast traffic จำนวนมาก เราเรียกว่า broadcast storm (พายุ broadcast) ซึ่งส่งผลให้ระบบใช้งานได้ช้าลง หรือ ใช้งานไม่ได้เลย
การป้องกันเหตุการณ์ลักษณะแบบนี้ คือการใช้ Storm-Control เพื่อจำกัดจำนวน traffic บน interface ไม่ให้มากจนเกินไป โดยเราจะตั้งค่า threshold สำหรับใช้ในการ limit จำนวน traffic ว่าไม่ให้เกินจำนวนเท่าไหร่ และ ถ้าเกินให้มี action อย่างไร
โดนหลักการทำงานก็คือ ถ้ามี traffic ขาเข้า (incoming traffic) ที่เข้ามาบน interface เกินจำนวนค่า threshold ที่ตั้งไว้ภายใน 1 วินาที (polling interval) แล้ว traffic นั้นจะถูก block เอาไว้จนกว่า traffic ขาเข้า (incoming traffic) ที่เข้ามาบน interface นั้นจะต่ำกว่าค่า threshold ที่ตั้งเอาไว้ ซึ่ง threshold ที่เรากำหนดจะมี 2 ค่า คือ
1. Rising threshold ถ้า traffic เกินจากค่านี้จะถูก drop
2. Falling threshold ถ้า traffic ถูกลดลงมาต่ำกว่าค่านี้ถึงจะส่ง traffic ต่อได้
การป้องกันเหตุการณ์ลักษณะแบบนี้ คือการใช้ Storm-Control เพื่อจำกัดจำนวน traffic บน interface ไม่ให้มากจนเกินไป โดยเราจะตั้งค่า threshold สำหรับใช้ในการ limit จำนวน traffic ว่าไม่ให้เกินจำนวนเท่าไหร่ และ ถ้าเกินให้มี action อย่างไร
โดนหลักการทำงานก็คือ ถ้ามี traffic ขาเข้า (incoming traffic) ที่เข้ามาบน interface เกินจำนวนค่า threshold ที่ตั้งไว้ภายใน 1 วินาที (polling interval) แล้ว traffic นั้นจะถูก block เอาไว้จนกว่า traffic ขาเข้า (incoming traffic) ที่เข้ามาบน interface นั้นจะต่ำกว่าค่า threshold ที่ตั้งเอาไว้ ซึ่ง threshold ที่เรากำหนดจะมี 2 ค่า คือ
1. Rising threshold ถ้า traffic เกินจากค่านี้จะถูก drop
2. Falling threshold ถ้า traffic ถูกลดลงมาต่ำกว่าค่านี้ถึงจะส่ง traffic ต่อได้
ลองดูจากรูปด้านบน
- วินาทีที่ 0 (T0) มี traffic ขาเข้า ไม่เกิน Rising threshold ก็สามารถส่ง traffic ได้ตามปกติ
- วินาทีที่ 1 (T1) มี traffic ขาเข้า เกิน Rising threshold ที่ตั้งเอาไว้ traffic จะถูก dropในวินาทีถัดไป
- วินาทีที่ 2 (T2) traffic จะถูก drop ลงไป และเมื่อ traffic ลดลงมาจนต่ำกว่าค่า Rising threshold แล้ว traffic ยังคงถูก drop อยู่ จนกว่าจะลดลงมาต่ำกว่า falling threshold
- วินาทีที่ 3 (T3) traffic ยังคงถูก drop ต่อเนื่องมาจาก T2 แต่ จำนวน traffic นั้นลดลงต่ำกว่าค่า falling threshold แล้ว ในวินาทีถัดไปอุปกรณ์จะปลด block และส่ง traffic ต่อได้
- วินาทีที่ 4 (T4) traffic ตำ่กว่าค่า Falling threshold จึงสามารถกลับมาส่งได้ปกติ
Empty space, drag to resize
คำสั่งที่ใช้ตั้งค่า Storm-Control
เข้าไปที่ interface เพื่อใช้คำสั่ง storm-control จะมีให้ตั้งค่าสำหรับ broadcast, multicast หรือ unicast และ action
Switch(config)#interface gi0/1
Switch(config-if)#storm-control ?
Switch(config-if)#storm-control ?
action Action to take for storm-control
broadcast Broadcast address storm control
multicast Multicast address storm control
unicast Unicast address storm control
Option ในการตั้งค่า
1. ตั้งค่า rising threshold เป็น percent
2. ตั้งค่าเป็นจำนวน bps หรือ pps
1. ตั้งค่า rising threshold เป็น percent
2. ตั้งค่าเป็นจำนวน bps หรือ pps
Switch(config)#interface gi0/1
Switch(config-if)#storm-control broadcast level ?
<0.00 - 100.00> Enter rising threshold
bps Enter suppression level in bits per second
pps Enter suppression level in packets per second
Empty space, drag to resize
ตัวอย่างการตั้งค่าใช้งาน
แบบที่ 1. เมื่อมี broadcast traffic เกิน 30% จาก bandwidth บน interface ให้ action ตามที่กำหนด (โดย default จะ drop ถ้ายังไม่กำหนด action)
Switch(config-if)#storm-control broadcast level 30
แบบที่ 2. เมื่อมี multicast traffic เกิน 10Mbps ให้ action ตามที่กำหนด (โดย default จะ drop ถ้ายังไม่กำหนด action) และเมื่อ traffic ต่ำกว่า 10Mbps ก็จะสามารถกลับมาส่งได้ตามปกติ
Switch(config-if)#storm-control multicast level bps 10m
Note : กรณีนี้ เมื่อใส่ 10m เป็นค่า rising threshold อย่างเดียว โดยไม่ได้กำหนดค่า falling threshold มันจะใช้ค่าเดียวกัน
แบบที่ 3. เมื่อมี unknown unicast traffic จำนวน packet per sec (pps) เกิน 30Mpps ให้ action ตามที่กำหนด (โดย default จะ drop ถ้ายังไม่กำหนด action) และเมื่อ traffic ต่ำกว่า 20Mpps ก็จะสามารถกลับมาส่งได้ตามปกติ
Switch(config-if)#storm-control unicast level pps 30m 20m
ถัดมาคือการตั้งค่า storm-control action ซึ่งเราสามารถตั้งค่า action ได้ 2 แบบ
1. shutdown (ค่า default) ทำการ shutdown interface เมื่อ traffic เกินกว่า rising threshold
2. trap ทำการ drop traffic ส่ง trap ผ่าน SNMP เมื่อ traffic เกินกว่า rising threshold (block traffic แต่ไม่ shutdown interface)
Switch(config-if)#storm-control action ?
shutdown Shutdown this interface if a storm occurs
trap Send SNMP trap if a storm occurs
Empty space, drag to resize
การตรวจสอบการทำงาน
ใช้คำสั่ง "show storm-control" เพื่อตรวจสอบการตั้งค่า Upper, Lower ส่วน Current คือ traffic ที่ใช้งานอยู่ ณ ปัจจุบัน และ state ว่ายัง forwarding อยู่หรือ blocking
Switch#show storm-control
Interface Filter State Upper Lower Current
--------- ------------- ----------- ----------- ----------
Gi0/1 Forwarding 30.00% 30.00% 0.00%
Note : คำสั่ง "show storm-control" จะแสดงเฉพาะ broadcast traffic
ถ้าต้องการแสดง multicast หรือ unicast ต้องใช้คำสั่ง "show storm-control multicast" หรือ "show storm-control unicast"
ตัวอย่างผลที่แสดงว่า traffic ถูก block
ถ้าต้องการแสดง multicast หรือ unicast ต้องใช้คำสั่ง "show storm-control multicast" หรือ "show storm-control unicast"
ตัวอย่างผลที่แสดงว่า traffic ถูก block
Switch# show storm-control
Interface Filter State Upper Lower Current
--------- ------------- ----------- ----------- ----------
Gi0/1 Blocking 1m bps 500k bps 2.08m bps
Log message ที่จะแสดงขึ้นมาบน Switch เมื่อตรวจพบ storm หรือ traffic ที่เกิน
%STORM_CONTROL-3-FILTERED: A Broadcast storm detected on Fa0/5. A packet filter action
has been applied on the interface.
แถมสุดท้ายครับ บางคนถามว่า แล้วเราต้องกำหนดพวกค่า threshold, bps หรือ pps เท่าไหร่ดีล่ะ คำตอบก็คือ มันไม่มีค่า best practice ที่สามารถใช้ได้กับทุกๆไซต์ หรือ ทุกสถานการณ์ครับ เราต้องลอง monitor ดูว่า จำนวน traffic ที่เราใช้งานอยู่ในระบบเราปัจจุบันนั้น มันใช้อยู่ปกติเท่าไหร่ เราก็สามารถตั้งค่าให้เกิกว่านั้นซัก 10-20% ได้ครับ
ผมยกตัวอย่างง่ายๆแบบนี้ สมมุติว่า Site 1 เราตั้งค่า multicast ไว้ที่ 10% ไม่ได้มีการใช้งาน multicast เยอะ แต่พอเราเอาค่านี้ไปใช้กับ Site 2 ซึ่งมีการใช้งานระบบ multicast traffic เยอะกว่า 10% คราวนี้มันก็จะถูก block ไปทันที พอเห็นภาพไหมครับ
ก็หวังว่าบทมความนี้จะเป็นประโยชน์กับทุกๆท่านนะครับ
Plantecplus Co.,Ltd (NetPrime Training)
118/28 ถนน พระรามที่ 6 แขวงพญาไท เขตพญาไท กรุงเทพมหานคร 10400
โทร. 086-785-3213
อีเมล : netprime@plantecplus.com
118/28 ถนน พระรามที่ 6 แขวงพญาไท เขตพญาไท กรุงเทพมหานคร 10400
โทร. 086-785-3213
อีเมล : netprime@plantecplus.com
Blog
Terms
Cookies
Privacy
Copyright © 2022
เว็บไซต์เพิ่งย้ายระบบและทำการปรับปรุง
คอร์สที่เป็น Virtual Classroom และ Classroom ที่มีเอกสารอบรม ยังไม่เรียบร้อยดี กำลังอัพเดทค่ะ