Tuesday, May 12, 2015

Tìm hiểu về storm control

Tìm hiểu về storm control

Storm control là một tính năng của switch nhằm ngăn chặn những cơn bão (storm) broadcast, multicast hoặc unicast trong mạng LAN. Storm xảy ra khi có quá nhiều một loại gói tin nào đó (như ARP) trong mạng, khiến cho lượng traffic đột ngột tăng vọt và gây ra nghẽn. Không những thế, storm còn khiến cho CPU của các thiết bị mạng tăng cao vì phải xử lý quá nhiều gói tin cùng một lúc, do đó làm ảnh hưởng nghiêm trọng đến hiệu suất của các thiết bị. Nguyên nhân gây ra storm có thể đến từ việc người quản trị cấu hình sai, do một thiết bị nào đó bị lỗi, hoặc cũng có thể do user thực hiện kiểu tấn công từ chối dịch vụ (DOS).
Storm control hoạt động bằng cách giám sát các gói tin đi vào một port và xem thử gói tin đó là broadcast, multicast hay unicast. Switch đếm số lượng gói tin nhận được trong 1 giây và so sánh giá trị đó với một ngưỡng định trước. Nếu vượt quá ngưỡng này thì switch sẽ đưa ra hành động đối với traffic.
Storm control sử dụng một trong các phương pháp sau để đo tốc độ của traffic:
  • Phần trăm bandwidth trên tổng bandwidth của một port được dùng bởi broadcast, multicast hoặc unicast traffic.
  • Số gói tin broadcast, multicast hoặc unicast nhận được trong 1 giây (packets per second – pps).
  • Số bit broadcast, multicast hoặc unicast nhận được trong 1 giây (bits per second – bps).
  • Số lượng small frame nhận được trong 1 giây. Tính năng này được bật globally, nhưng ngưỡng cho các small frames được cấu hình trên mỗi port.
Với mỗi phương pháp, switch sẽ drop traffic nhận được trên port khi tốc độ traffic vượt quá ngưỡng trên (rising threshold). Traffic sẽ tiếp tục bị drop cho đến khi tốc độ traffic giảm xuống thấp hơn ngưỡng dưới (falling threshold). Nếu ta không cấu hình ngưỡng dưới thì traffic sẽ bị drop cho đến khi tốc độ traffic giảm xuống thấp hơn ngưỡng trên. Nói chung nếu như ta cấu hình ngưỡng trên càng cao thì storm control càng kém hiệu quả.
Chú ý: Khi tốc độ của multicast traffic vượt quá ngưỡng trên thì tất cả multicast traffic sẽ bị drop, ngoại trừ control traffic như BPDU và CDP.
Ta xem biểu đồ sau để hiểu rõ hơn hoạt động của storm control:
storm
Biểu đồ trên thể hiện hình thái của broadcast traffic nhận được trên một port trong một khoảng thời gian, tuy nhiên nó cũng có thể áp dụng cho multicast và unicast traffic. Trong hình trên, ta thấy broadcast traffic đã vượt ngưỡng trong khoảng thời gian giữa T1 đến T2 và giữa T4 đến T5. Khi một loại traffic vượt ngưỡng thì tất cả traffic loại đó sẽ bị drop ở khoảng thời gian tiếp theo. Do đó ta thấy broadcast traffic bị drop trong các khoảng thời gian theo sau T2 và T5. Tại khoảng thời gian tiếp sau đó (ví dụ T3), nếu broadcast traffic giảm xuống thấp hơn ngưỡng dưới (hoặc thấp hơn ngưỡng trên, nếu như ngưỡng dưới không được chỉ định) thì traffic sẽ được forward trở lại.
Storm control hoạt động bằng cách định nghĩa ra ngưỡng chặn và khoảng thời gian 1 giây để đo tốc độ traffic. Ngưỡng càng cao thì sẽ càng cho phép nhiều gói tin đi qua. Nếu ngưỡng bằng 100% có nghĩa là traffic không bị chặn. Ngược lại, ngưỡng bằng 0% đồng nghĩa với tất cả traffic đều bị chặn. Mặc định storm control bị tắt trên tất cả các port của Cisco switch, có nghĩa ngưỡng chặn là 100%.
Để bật storm control thì ta sẽ dùng lệnh storm-control cho port mà ta muốn bật tính năng này. Ví dụ ta có cấu hình như sau:
SW1(config)# interface FastEthernet0/41
SW1(config-if)# storm-control broadcast level pps 100 70
SW1(config-if)# storm-control action shutdown

Cấu hình trên có tác dụng bật storm control trên port f0/41 của SW1, quy định ngưỡng trên là 100 gói tin broadcast mỗi giây và ngưỡng dưới là 70 gói tin broadcast mỗi giây. Nếu ta không có lệnh storm-control action shutdown thì khi số lượng broadcast vượt quá 100 gói/giây thì traffic sẽ bị drop trong vòng 1 giây tiếp theo. Ở khoảng thời gian tiếp sau đó, nếu số lượng broadcast giảm xuống thấp hơn 70 gói/giây thì port sẽ forward traffic trở lại; nếu không thì traffic sẽ tiếp tục bị drop.
Khi ta cấu hình lệnh storm-control action shutdown thì switch sẽ thay đổi hành động mặc định từ drop traffic sang error disabled port đó.
storm3
Khi một port bị error disabled do storm control thì hoặc là ta phải bật lại thủ công bằng cáchshutdown rồi no shutdown port đó, hoặc là ta cấu hình thêm lệnh sau:
SW1(config)# errdisable recovery cause storm-control
SW1(config)# errdisable recovery interval 60

Lệnh trên có tác dụng tự động kích hoạt lại những port bị error disabled do storm control gây ra sau 60 giây (mặc định là 600 giây).
storm4
Để kiểm tra hoạt động của storm control, ta dùng lệnh show storm-control.
storm5
Cấu hình storm control cho multicast và unicast traffic cũng được thực hiện tương tự. Các bạn có thể xem thêm các tùy chọn khi cấu hình storm control tại link sau: Configuring Port-Based Traffic Control

No comments:

Post a Comment