建設網(wǎng)站安全性seo短視頻入口引流
我不是專業(yè)的 Wi-Fi 技術工作者。但我可以談談作為統(tǒng)計復用網(wǎng)絡的 Wi-Fi,通用的網(wǎng)絡分布式協(xié)調功能在底層是相通的。
從一個圖展開:
基于這底層邏輯,共享以太網(wǎng)可以用 CSMA/CD,而 Wi-Fi 只能用 CSMA/CA,區(qū)別在 CD(沖突檢測) 和 CA(沖突避免)。
以太網(wǎng)做沖突檢測很簡單,直觀講,假設把信號電壓約束在 0~5V,只要檢測到大于 5 + δV 電壓就意味著沖突,但 Wi-Fi 就沒這么簡單,于是隱藏節(jié)點和暴露節(jié)點問題被拎出來。
在調查評估這些問題事實上有多大影響,需不需要花大力氣解決之前,工人的思路往往是先解決它們。因為無法 CD,則只能 CA。從另一個更合理的角度看,如果不能 CD,最簡單的方法應只保留 CSMA,而不是解決不能 CD 的問題。沒有了 CD,Wi-Fi 的 MAC 邏輯變得更加簡潔:直接隨機二進制退避發(fā)送,直到成功或徹底失敗。
但這種極簡的 MAC 邏輯會帶來比較大的沖突概率,顯然無法滿足性能需求,那么接下來的起點應從物理層入手,從此步入正軌。但即使 802.11 也有犯糊涂的時候,產(chǎn)出了 RTS/CTS 這種復雜但沒卵用的設計。同樣的故事在 TCP 演進過程中經(jīng)常發(fā)生,降低物理層誤碼率,很多擁塞控制層面復雜的丟包檢測機制和算法就不再需要。在物理層尚未做出改變前,等待好于折騰。典型的本末倒置設計一般都是希望其外的金玉掩蓋其中的敗絮開始。
回到上圖,信號特征的區(qū)別是有線無線網(wǎng)絡的最本質區(qū)別,RTS/CTS 的思路也簡單,見招拆招,既然信號在接收端看起來比較拉,就從 receiver 而不是 sender 入手來檢測或避免沖突,流程就順理成章了。
但欲發(fā)送數(shù)據(jù)幀的 sender 根本不知道 receiver 的情況,既不知道距離多遠,也不知道 receiver 附近是否有自己檢測不到的其它傳輸正在發(fā)生,唯一能做的就是低成本詢問。由于共享介質特征,詢問結果至少需要保留一幀成功接收的時間,這次詢問才有意義,于是詢問必須帶有 “資源預留” 的含義:
- sender 附近的節(jié)點均可收到信號強度不弱的 RTS,獲知了 sender 的資源預留申請;
- receiver 如果能收到 RTS 并回復 CTS,CTS 足夠強到讓其附近節(jié)點收到,它們也獲知 sender 的資源申請;
- CTS 回到 sender,sender 開始發(fā)送幀;
- receiver 如果收不到 RTS,sender 將超時重試發(fā)送 RTS;
這樣一來,sender,receiver 附近的所有相關節(jié)點都知道了 sender 將有幀要發(fā)往 receiver,并主動避讓,避讓時間包含在 RTS,CTS 幀頭字段中,大約為 sender 成功發(fā)幀的時間。這一切看起來就是這么順理成章。
理論上,RTS 中應該包含兩個 “避讓時間”,一個是 sender 附近節(jié)點需要避讓的時間 D1,另一個是 receiver 附近節(jié)點需要避讓的時間 D2,由 receiver 在 CTS 中 echo 回來被其附近節(jié)點收到,D1 < D2。原因也不難理解,D1 只是 RTS/CTS 這種短幀來回的時間,而 D2 才是長數(shù)據(jù)幀來回的時間。如果 sender 的 RTS 有去無回,附近其它節(jié)點就可以競爭信道,回避 D2 的時間就沒有必要。
更進一步,D1 甚至可以是 0,只要 sender 附近節(jié)點聽不到 receiver 發(fā)送的 CTS,它們就可以自由和其它節(jié)點通信,從而解決暴露節(jié)點問題。但 802.11 只是簡單的全部避讓。
看起來很不錯的一個機制,但仔細琢磨,它只是在小心翼翼避免根本避免不了或根本不會發(fā)生的問題:
- 如果 sender 要發(fā)送的數(shù)據(jù)幀很短,何不直接發(fā)送(或者包在 RTS/CTS 中)呢;
- AP 對任何節(jié)點均可達,AP 根本沒有隱藏站,暴露站問題;
- 雖然 RTS/CTS 相比數(shù)據(jù)幀很小,在越來越大的帶寬下,二者影響越來越一致;
- 隱藏站和暴露站并不多見…
如果不能精確認領和解決問題,在彈性系統(tǒng)中交給概率是最好方法。RTS/CTS 機制非常類似 TCP 的 D-SACK,對大多數(shù)場景幫助不大,少數(shù)可以幫助到的場景,獲得的全局收益不大。它也非常像人們集中大量時間和精力優(yōu)化異常流的做法,比如優(yōu)化 TCP 丟包檢查和重傳,卻只為解決非常罕見的問題。
同樣都是 “鏈路資源預留”,電路交換就是精確認領解決問題,仔細品它們的區(qū)別。類似的經(jīng)驗在數(shù)據(jù)中心正在融合,還是那個觀點,網(wǎng)絡越往高速發(fā)展,就越不可抗拒地將設計推回到面向連接的電路交換,同時代價也是昂貴的,但作為非匯聚非骨干的普通接入網(wǎng)絡,高速和通用兼容需要權衡輕重,這一點上,Wi-Fi,TCP,接入以太網(wǎng)有相似的特征,它們成功的原因一致,也踩過同樣的坑。
浙江溫州皮鞋濕,下雨進水不會胖。