實(shí)戰(zhàn):幾十萬的 AP 增補(bǔ)項(xiàng)目,無線傳感器接入后竟無法同時(shí)下載?很簡單的問題卻復(fù)雜化了!
本期分享的案例是無線網(wǎng)絡(luò)的相關(guān)問題。
一、問題背景
某企業(yè)是一家致力于智能農(nóng)業(yè)科技的工作,近期接到了某政企單位的網(wǎng)絡(luò)增補(bǔ)項(xiàng)目—種植棚規(guī)模擴(kuò)大,需要增加“自動(dòng)噴水器”、“數(shù)據(jù)采集器”等無線2.4G頻段的傳感器設(shè)備,所以無線網(wǎng)咯規(guī)模的增加是免不了的。因此在擴(kuò)容區(qū)域,增加了無線AP的點(diǎn)位,但品牌不一樣。原有的AP采用H3C,新增AP采用某P。
1. 簡化拓?fù)淙缦拢?/h4>
2. 新增AP安裝好后,發(fā)現(xiàn)一個(gè)問題:
現(xiàn)場(chǎng)傳感器設(shè)備的升級(jí)方式都是通過HTTP協(xié)議下載文件到內(nèi)部完成升級(jí)的。HTTP服務(wù)器是固定的172.16.1.208。但是新增區(qū)域下的傳感器無法并發(fā)(多臺(tái))升級(jí),而原有區(qū)域的傳感器怎可以同時(shí)多臺(tái)一起升級(jí)。如下:
同是一個(gè)項(xiàng)目下的同型號(hào)傳感器,為何新增的某J AP不行,而原有的H3C AP正常呢?有朋友就說了,某J AP垃圾唄。好吧,下定論之前,我們先診斷一下。
二、排查思路
- 使用手機(jī)或筆記本接入某J AP無線2.4G長ping服務(wù)器確認(rèn)是否丟包和延時(shí);
- 對(duì)比手機(jī)或筆記本接入某J AP無線2.4G,從服務(wù)器上同時(shí)下載文件,看是否正常;
- 確認(rèn)新增AP的信道、頻寬、無線模式、加密方式等是否和原有H3C AP一致;
- 確認(rèn)現(xiàn)場(chǎng)干擾情況,是否是新增AP的抗干擾能力差導(dǎo)致會(huì)話建立不成功頻繁斷流;
- 抓包確認(rèn)數(shù)據(jù)流交互情況,看是否有可用信息。
三、基礎(chǔ)分析
第一步:確認(rèn)無線網(wǎng)絡(luò)的連通性
使用手機(jī)或筆記本接入某J AP無線2.4G長ping服務(wù)器,可以確認(rèn)基本無延時(shí)和丟包,大抵上看有線/有線通信應(yīng)該沒有問題才對(duì)。
第二步:對(duì)比手機(jī)和筆記本同時(shí)http拉取文件的情況
http下載文件很簡單,只需要電腦打開瀏覽器,輸入服務(wù)器地址URL下載就行了。因?yàn)閭鞲衅飨螺d有問題,所以嘗試對(duì)比多臺(tái)筆記本同時(shí)下載試試:
結(jié)果發(fā)現(xiàn),確實(shí)有且僅有1臺(tái)PC才可以下載成功,其它的PC均無法建立連接并下載文件。而對(duì)比接入到原有的H3C AP無線網(wǎng)絡(luò)則沒這個(gè)問題。下一步就要比對(duì)下雙方無線AP設(shè)置的異同了。
第三步:檢查新增AP和H3C AP的配置差異
無線配置無非是那么幾項(xiàng):SSID、加密方式、無線模式、信道、頻寬、安全防護(hù)(隔離、帶寬控制等)、漫游等等,所以對(duì)比如下:
- SSID:名稱均相同
- 加密方式:均是WPA2-PSK
- 無線模式:都是802.11b/g/n/ax,wifi6默認(rèn)AP,但是傳感器不知此WIFI 6,協(xié)商的是bgn,這點(diǎn)也相同
- 信道:都是工作在信道1
- 頻寬:都是配置的20Mhz頻寬
- 安全防護(hù):未配置
- 漫游設(shè)置:現(xiàn)場(chǎng)傳感器固定,不涉及漫游
看不出起來任何區(qū)別。下一步則是要確認(rèn)現(xiàn)場(chǎng)干擾情況,是否是新增AP的抗干擾能力差導(dǎo)致會(huì)話建立不成功頻繁斷流。
第四步:確認(rèn)無線干擾
由于是2.4G無線接入使用,故首先懷疑競(jìng)爭(zhēng)干擾導(dǎo)致,現(xiàn)場(chǎng)可以明顯看到同信道造成的強(qiáng)干擾,新增AP和H3C AP所在的工作的1信道存在很多SSID,評(píng)估存在多方競(jìng)爭(zhēng)干擾:
(截圖:網(wǎng)絡(luò)百寶箱WIFI干擾測(cè)試)
但是通過修改信道問題依舊。下一步抓下異常的數(shù)據(jù)交互,看看是否有什么端倪。
第五步:抓取異常數(shù)據(jù)流確認(rèn)有效信息
因?yàn)槭切略鰠^(qū)域下的出現(xiàn)的問題,所以在新增區(qū)域的“二級(jí)路由器”上抓包,配置監(jiān)控端口抓取異常傳感器與服務(wù)器交互的數(shù)據(jù)流:
【異常數(shù)據(jù)流1】終端的IP是10.168.1.55/24
【異常數(shù)據(jù)流2】終端的IP是10.168.1.22/24
根據(jù)數(shù)據(jù)包分析發(fā)現(xiàn):
異常的TCP握手成功后,終端請(qǐng)求下載時(shí)會(huì)收到服務(wù)器的HTTP 429報(bào)文,然后就主動(dòng)FIN掉該連接了,并不存在丟包問題。所以大致判斷無線鏈路和有線鏈路的通信質(zhì)量是正常的。對(duì)比,我們來看看正常的數(shù)據(jù)流,服務(wù)器并沒有回復(fù)HTTP 429報(bào)文:
OK,差不多定性到是服務(wù)器的HTTP會(huì)包導(dǎo)致會(huì)話建立失敗的問題了,由于HTTP是明文,我們看下相關(guān)內(nèi)容。
第六步:確認(rèn)HTTP 429報(bào)文相關(guān)內(nèi)容
HTTP 429報(bào)文內(nèi)容如下:
我翻譯一下:“即此服務(wù)器上的同時(shí)下載數(shù)量有限制,已達(dá)到限制。稍后再試?!币簿褪钦f會(huì)話限制存在于服務(wù)器端而并非網(wǎng)絡(luò)層的問題。
那么問題來了:
H3C也是多終端接入啊,為什么那邊服務(wù)器不拒絕,而新增AP則拒絕呢?通過現(xiàn)場(chǎng)的全局摸排,發(fā)現(xiàn)H3C AP和新增AP實(shí)際所處的位置是不一樣的!新增AP加了二級(jí)路由器是經(jīng)過NAT的,而H3C AP沒有!如下:
所以合理懷疑HTTP服務(wù)器與終端建立會(huì)話只認(rèn)源IP,經(jīng)過了NAT后就只有1個(gè)源IP和服務(wù)器交互了,所以只能一對(duì)一,因此做了如下有效的對(duì)比測(cè)試:
- 服務(wù)器—二層網(wǎng)絡(luò)—華三AP ))(( 多臺(tái)傳感器,并發(fā)下載升級(jí)文件正常
- 服務(wù)器—二層網(wǎng)絡(luò)—某J AP ))(( 多臺(tái)傳感器,并發(fā)下載升級(jí)文件正常
- 服務(wù)器—二層網(wǎng)絡(luò)—(WAN)路由器(LAN)—華三AP ))(( 多臺(tái)傳感器,終端無法并發(fā)下載文件,只能一個(gè)傳感器下載
- 服務(wù)器—二層網(wǎng)絡(luò)—(WAN)路由器(LAN)—某J AP ))((多臺(tái)傳感器,終端無法并發(fā)下載文件,只能一個(gè)傳感器下載
四、問題總結(jié)和解決方案
問題總結(jié):
根本原因是HTTP服務(wù)器存在只認(rèn)一個(gè)源IP的會(huì)話限制,從而讓經(jīng)過了NAT 的新增某J AP和H3C AP表現(xiàn)不同,一開始如果從全局看,就是一個(gè)很簡單的問題;
解決方案:
- 知悉用戶使用二層組網(wǎng),而不需要經(jīng)過NAT讓終端直接和服務(wù)器通信;
- 關(guān)閉HTTP服務(wù)器的會(huì)話限制,保證可以基于端口的方式建立多會(huì)話。