實戰(zhàn):廠商搞了好久!2萬平紡織車間大量IoT采集器頻繁離線,棘手、太棘手!
背景介紹
項目是一家大型國企的紡織車間工廠,廠區(qū)占地兩萬平方,我們的直接客戶工程商承接了該單位紡織車間1、2、3期的無線網(wǎng)絡改造項目,核心網(wǎng)絡繼承原有。AC、AP品牌選用某X設備,總計2000+點位。無線接入業(yè)務規(guī)劃主要分為辦公網(wǎng)、物聯(lián)網(wǎng)、AGV、訪客網(wǎng)等,基本拓撲如下:
問題描述
項目安裝調(diào)試完成后,主要問題集中在“無線物聯(lián)網(wǎng)”,也就是供1000多臺僅支持2.4G頻段的IoT工業(yè)采集器接入的無線接入業(yè)務。
問題表現(xiàn)很直接,在監(jiān)控平臺上IoT采集器頻繁離線,顯示為紅色:
因為項目是承包變更,甲方廠的IT表示“AP設備更換之前是好的,這1000多個采集器換了新AP之后才有問題”。因為沒有證據(jù)證明設備之前的工作情況,啞巴吃黃連,故工程商只能攬責處理,畢竟要過年了結款可是大事!閑話不多說,進入排障過程!
無線調(diào)優(yōu)
對于無線網(wǎng)絡一定要先進行調(diào)優(yōu),調(diào)優(yōu)能解決極大部分的網(wǎng)絡問題,主要有如下手段:
- 射頻信道/功率調(diào)優(yōu);
- 無線內(nèi)部隔離。禁止無線終端之間互訪,減少互相影響;
- 廣播&組播抑制。限制網(wǎng)絡中廣播和組播數(shù)據(jù)的吞吐量,避免對無線性能造成過大的損耗,造成信道率占用過大。
現(xiàn)場完成了上述四步調(diào)優(yōu)后,2.4G無線物聯(lián)網(wǎng)下的IoT采集器離線問題依舊,接下來則進一步分析具體原因。
原因分析
說實話,這個項目案例問題比較多,我就不一一按照排查步驟給大家梳理了,很難講清楚。所以我先說問題結論,目前定性了有三個原因:
- 原因1:少部分IoT采集器故障,未連無線導致顯示設備離線;
- 原因2:部分IoT采集器天線異常,其TX方向信號很弱,導致AP接收到IoT信號強度差,雙向RSSI不對等導致設備無線質(zhì)量差而離線;
- 原因3:部分IoT應用層工作異常,會主動RST掉服務器的連接導致服務器監(jiān)控顯示離線。
下面我們來一條一條過一遍該問題原因是如何排查到的。
原因1分析—少部分IoT設備故障
現(xiàn)場找到無線未連上的設備,ping診斷發(fā)現(xiàn)基本都不通,重啟也無法恢復
可以明顯的確認到有10臺IoT采集器恒處于離線狀態(tài),AC的無線客戶端表中也無該終端記錄。另外注意這個提供“無法訪問目標主機”,這是表示學不到ARP條目的意思,也就是說目標根本沒在網(wǎng)絡中?;敬_認設備故障,現(xiàn)場人員也核實確實存在故障問題。
原因2分析—部分IoT設備天線故障
確認無線問題第一步必須要檢查RSSI(信號強度),因此我們對頻繁離線的IoT采集器的RSSI做了統(tǒng)計,從終端頁面中顯示接收到的RSSI基本都是滿格(表示高于-60dbm):
而進到AC控制頁面,查看無線客戶端列表發(fā)現(xiàn)如下:
可以清楚的看到:AP接收到STA的信號弱,而STA接收到AP的信號強,典型的雙向RSSI不對等!一般造成這種情況的原因如下:
- AP發(fā)射功率強而STA發(fā)射功率很弱。在AP與STA路徑上存在障礙物時會讓STA發(fā)出的信號波衰減更快,AP難以解析其信號幀,即失真;
- STA的天線損壞,RX正常而TX異常。這個很好理解吧,聽力正常而說話失聲;
經(jīng)排查,現(xiàn)場將IoT設備天線更換后,AP接收到該終端的信號也上來了,確認是IoT終端天線故障導致。更換天線后這部分IoT終端正?;謴头€(wěn)定在線。
原因3分析—部分IoT設備應用層
還有一部分是RSSI足夠強并且不存在故障的IoT采集器依舊頻繁離線,這讓人不得不懷疑可能是其與服務器交互上的問題。即需要抓包分析:
第一步:找1組頻繁離線但是信號強度非常好的IoT采集器做監(jiān)控,集中抓取上位機接口的報文做分析即可,設備組:
所在位置:
第二步:等待問題復現(xiàn),記錄設備離線時間:
第三步:找到對應時間節(jié)點,分析抓包結果。經(jīng)過分析看到IoT采集器與服務器是modbus TCP協(xié)議交互,上位機的IP是192.168.6.149, IoT終端是192.168.4.X/24:
從離線時間點分析:
- 從15:55:55秒開始,服務器192.168.6.149一直在向終端發(fā)TCP重傳數(shù)據(jù)但沒有得到終端響應;
- 在15:56:28秒時終端192.168.4.47發(fā)了TCP RST突然重置掉這條連接,因此服務器將其置位離線狀態(tài)并嘗試重連恢復。
那么是否有可能因為網(wǎng)絡問題導致IoT采集器沒有收到服務器的TCP PSH ACK報文呢?對比看下當時的ICMP包交互:
不難看出,在15:55:56-15:56:28這個時間段服務器每次ping該終端都是無丟包、低延時的,所以不會存在網(wǎng)絡問題?;径ㄎ粸镮oT自身對modbus TCP應用交互的問題!
解決方案
(1) 針對問題原因1:少部分IoT采集器故障,未連無線導致顯示設備離線;
解決方案:更換故障IoT采集器,服務器正?;謴蜕暇€并穩(wěn)定運行;
(2) 針對問題原因2:部分IoT采集器天線異常,雙向RSSI不對等導致設備無線質(zhì)量差而離線;
解決方案:更換故障IoT采集器故障天線,服務器正常恢復上線并穩(wěn)定運行;
(3) 針對問題原因3:部分IoT應用層工作異常,會主動RST掉服務器的連接導致服務器監(jiān)控顯示離線。
解決方案:非網(wǎng)絡層問題,協(xié)調(diào)工業(yè)設備廠家技術做了IoT采集器的優(yōu)化調(diào)試后解決。
最終效果:廠區(qū)IoT采集器運行狀態(tài)基本全綠,看著非常舒服~回到前文,IT說“AP設備更換之前是好的,這1000多個采集器換了新AP之后才有問題”,你們覺得對嗎??