Case Thực Tế: Toàn Bộ Người Dùng Trong VLAN Mất Kết Nối Ngẫu Nhiên
Bối cảnh
Một doanh nghiệp triển khai hệ thống campus network với nhiều access switch kết nối redundant uplink về distribution layer.
Một ngày nọ:
Điều đáng chú ý là:
Ban đầu đội vận hành nghi ngờ:
Nhưng tất cả đều hoạt động bình thường.
Dấu Hiệu Bất Thường
Khi kiểm tra syslog trên Catalyst Switch:
show logging
Xuất hiện hàng loạt log:
%SW_MATM-4-MACFLAP_NOTIF
Ví dụ:
Host 0050.b60c.f21b in vlan 20 is flapping between port Gi0/1 and port Gi0/2
Điều này có nghĩa:
Switch đang thấy cùng một MAC address xuất hiện trên nhiều cổng khác nhau trong thời gian rất ngắn.
Đây là dấu hiệu kinh điển của Layer 2 loop.
Điều Gì Đang Thực Sự Xảy Ra?
Sau khi kiểm tra topology, đội kỹ thuật phát hiện:
Kết quả:
Frame Ethernet bắt đầu loop vô hạn trong mạng.
Do Ethernet frame Layer 2 không có TTL như IP packet nên frame sẽ tiếp tục quay vòng cho đến khi:
Tại Sao MAC Table Bị Corrupt?
Switch học MAC dựa trên source MAC của frame đến.
Ví dụ:
AAAA.AAAA.AAAA -> Gi0/1
Nhưng do loop:
Vài mili giây sau:
Kết quả:
MAC table liên tục thay đổi.
Hiện tượng này gọi là:
Hậu Quả Trong Thực Tế
Broadcast Storm
ARP Request, DHCP Discover và multicast traffic bị nhân bản vô hạn.
Bandwidth nhanh chóng bị chiếm hết.
Unknown Unicast Flooding
Do MAC table không ổn định:
Mạng bắt đầu giống hub thay vì switch.
CPU Switch Tăng Cao
Control plane phải xử lý:
Switch bắt đầu:
Người Dùng Mất Kết Nối Ngẫu Nhiên
Một số frame đi đúng hướng.
Một số frame đi sai cổng.
Kết quả:
Cách Troubleshooting Thực Chiến
Kiểm Tra MAC Flapping
show logging
hoặc:
show mac address-table dynamic
Quan sát MAC liên tục thay đổi interface.
Kiểm Tra STP
show spanning-tree
Tìm:
Xác Định Loop
Kiểm tra:
Các Cơ Chế Bảo Vệ Quan Trọng
BPDU Guard
Shutdown port nếu nhận BPDU trên access port.
spanning-tree bpduguard enable
Loop Guard
Ngăn cổng STP rơi vào forwarding state sai.
Root Guard
Ngăn switch lạ trở thành Root Bridge.
Storm Control
Giới hạn broadcast/multicast storm.
Góc Nhìn Thực Chiến
Rất nhiều kỹ sư mới khi gặp hiện tượng:
thường nghĩ đến:
Nhưng trong mạng Layer 2, một vòng loop nhỏ đôi khi đủ làm “sập” toàn bộ VLAN chỉ trong vài giây.
Đây là lý do vì sao:
STP không phải giao thức “có cũng được”.
Nó chính là cơ chế cứu mạng của Ethernet switching.
Bối cảnh
Một doanh nghiệp triển khai hệ thống campus network với nhiều access switch kết nối redundant uplink về distribution layer.
Một ngày nọ:
- Người dùng báo mạng chập chờn
- Ping lúc được lúc mất
- VoIP mất tiếng
- Một số máy không truy cập được gateway
- CPU switch tăng cao bất thường
Điều đáng chú ý là:
- Interface không down
- Không có lỗi CRC
- Không có packet drop lớn ở Layer 3
Ban đầu đội vận hành nghi ngờ:
- DHCP
- ARP
- Routing
- Firewall
Nhưng tất cả đều hoạt động bình thường.
Dấu Hiệu Bất Thường
Khi kiểm tra syslog trên Catalyst Switch:
show logging
Xuất hiện hàng loạt log:
%SW_MATM-4-MACFLAP_NOTIF
Ví dụ:
Host 0050.b60c.f21b in vlan 20 is flapping between port Gi0/1 and port Gi0/2
Điều này có nghĩa:
Switch đang thấy cùng một MAC address xuất hiện trên nhiều cổng khác nhau trong thời gian rất ngắn.
Đây là dấu hiệu kinh điển của Layer 2 loop.
Điều Gì Đang Thực Sự Xảy Ra?
Sau khi kiểm tra topology, đội kỹ thuật phát hiện:
- Một access switch mới được đấu nối
- Nhưng STP bị disable nhầm trên uplink
- Đồng thời tồn tại redundant connection
Kết quả:
Frame Ethernet bắt đầu loop vô hạn trong mạng.
Do Ethernet frame Layer 2 không có TTL như IP packet nên frame sẽ tiếp tục quay vòng cho đến khi:
- bị drop
- hoặc MAC table trở nên hỗn loạn
Tại Sao MAC Table Bị Corrupt?
Switch học MAC dựa trên source MAC của frame đến.
Ví dụ:
AAAA.AAAA.AAAA -> Gi0/1
Nhưng do loop:
- frame quay lại switch từ cổng khác
- switch lại học:
Vài mili giây sau:
- frame tiếp tục loop
- switch lại overwrite entry cũ
Kết quả:
MAC table liên tục thay đổi.
Hiện tượng này gọi là:
- MAC Flapping
- MAC Instability
- CAM Table Instability
Hậu Quả Trong Thực Tế
Broadcast Storm
ARP Request, DHCP Discover và multicast traffic bị nhân bản vô hạn.
Bandwidth nhanh chóng bị chiếm hết.
Unknown Unicast Flooding
Do MAC table không ổn định:
- switch không biết chính xác MAC nằm ở đâu
- frame unicast bị flood ra toàn VLAN
Mạng bắt đầu giống hub thay vì switch.
CPU Switch Tăng Cao
Control plane phải xử lý:
- MAC relearning
- STP recalculation
- excessive interrupts
Switch bắt đầu:
- lag
- mất SSH
- CLI phản hồi chậm
Người Dùng Mất Kết Nối Ngẫu Nhiên
Một số frame đi đúng hướng.
Một số frame đi sai cổng.
Kết quả:
- ứng dụng timeout
- VoIP jitter
- TCP retransmission tăng mạnh
Cách Troubleshooting Thực Chiến
Kiểm Tra MAC Flapping
show logging
hoặc:
show mac address-table dynamic
Quan sát MAC liên tục thay đổi interface.
Kiểm Tra STP
show spanning-tree
Tìm:
- port forwarding bất thường
- topology change count tăng liên tục
- root bridge thay đổi bất thường
Xác Định Loop
Kiểm tra:
- uplink redundant
- unmanaged switch
- user tự cắm loop cable
- STP disable nhầm
Các Cơ Chế Bảo Vệ Quan Trọng
BPDU Guard
Shutdown port nếu nhận BPDU trên access port.
spanning-tree bpduguard enable
Loop Guard
Ngăn cổng STP rơi vào forwarding state sai.
Root Guard
Ngăn switch lạ trở thành Root Bridge.
Storm Control
Giới hạn broadcast/multicast storm.
Góc Nhìn Thực Chiến
Rất nhiều kỹ sư mới khi gặp hiện tượng:
- ping chập chờn
- MAC flapping
- CPU switch tăng cao
- ARP bất thường
thường nghĩ đến:
- lỗi server
- firewall
- DHCP
- routing
Nhưng trong mạng Layer 2, một vòng loop nhỏ đôi khi đủ làm “sập” toàn bộ VLAN chỉ trong vài giây.
Đây là lý do vì sao:
STP không phải giao thức “có cũng được”.
Nó chính là cơ chế cứu mạng của Ethernet switching.