
對於要連接 50 台裝置進行點對點通訊的無線存取點,我應該尋找哪些特性?我最關心的是所有設備都保持可靠的連接並可靠地傳送資料包。
我的要求:
- 1 間大房間,幾乎沒有障礙物
- 每個設備 100KB/s 吞吐量,與所有設備同步
- 可靠的 Wi-Fi 連線(發送失敗會暫停整個應用程序,直到所有裝置趕上)。
- 混合 802.11 克/n
當一台設備發布訊息時,所有其他設備的很大一部分會立即收到該訊息。該資訊通常為 10KB 到 100KB。所有裝置上的發布峰值為每秒 5 次。
答案1
[免責聲明,我在得到上述澄清之前寫了這個答案。我需要根據我更好的理解重寫這個答案,但現在我將其保留原樣,以防它幫助其他正在為 50 對等多播協定設計 Wi-Fi 網路的人。
請注意,多播/廣播和 Wi-Fi 不能混合使用
這可能不是您正在尋找的答案,但這可能是您需要考慮的最重要的事情。
在有線乙太網路上,尤其是在交換器上,多播比單獨的單播成本更低。但在無線乙太網路 (Wi-Fi) 上,多播和廣播不會獲得連結層確認,因為這會導致每個多播出現 Ack 風暴,因此難以處理。因此,多播必須以足夠低的資料速率發送,以便該AP 的每個客戶端確保可靠地接收它們(較低的速率通常是更簡單的調製,在更遠的範圍或嘈雜的環境中更可靠地接收)。這意味著多播資料包往往會佔用多次比相同大小的單播資料包有更多的通話時間(頻寬)。
預設情況下,2.4GHz Wi-Fi AP 以 1 兆位元/秒的資料速率傳送多重播放是很常見的。如果我正確理解您的頻寬要求,那麼這將略小於您的協定所需頻寬的四分之一(假設您的協定使用多播,聽起來可能是這樣)。
因此,您需要確保在傳送多播時將 AP 配置為至少使用 5.5 mbps 的速率,或者可能更高。您還需要確保所有設備都在可靠地接收該資料速率的範圍內(在一個大但不是很大的沒有障礙物的房間中可能並不困難)。
糟糕,我差點忘了考慮 BSS 內中繼。當透過 AP 使用 Wi-Fi 時(與「IBSS」又稱為「Ad-hoc」模式相反),AP 將所有傳輸從一個無線用戶端中繼到另一個無線用戶端。這允許網路覆蓋更廣泛的區域,因為客戶端不需要全部在彼此的範圍內,它們只需要在 AP 的範圍內。因此,您的 4+ mbps 資料將以單播資料速率從傳送用戶端傳送到 AP,然後由 AP 以多重播送速率進行中繼。因此,如果在一個峰值一秒期間,發送 5 個 100 KibiByte 傳輸中的每一個的客戶端都恰好位於網路邊緣,它們只能維持每秒 5.5 兆位元的資料速率,這意味著幾乎需要整整兩秒才能將所有「一峰值秒的」資料多播到所有客戶端。所以,是的,5.5 mbps 的數據速率也不適合您。將 12 mbps 資料速率作為多播速率,並確保所有用戶端都在「12 mbps 範圍內」。
因此,請確保您的 Wi-Fi 允許您設定多播的發送速率。某些 AP 可讓您明確設定此項,而其他 AP 可能會從其他設定中取得多重播送速率。例如,如果它允許您設定基本速率(即所需的速率),它可能會選擇最低的基本速率作為多播速率。或者,如果它允許您停用 802.11b 速率,它可能會選擇最低的 G 速率 (6mbps) 作為多播速率。 Apple 的 AP 傾向於讓您透過模糊的低/中/高標準來設定多播速率,這裡有一個解碼器表: 如何在 Apple AirPort Extreme 上設定多點傳播速率
其他需要考慮的事:
確保您的應用層協定能夠處理重送的需要,因為無法保證透過 Wi-Fi 進行的多重廣播是可靠的。在計算頻寬(以及多播速率)需求時,請考慮平均重傳率。
確保使用乾淨的管道。我的多播速率計算假設頻道完全乾淨。如果附近的其他用戶保持頻道繁忙(例如一半時間),那麼您需要將我之前計算的多播速率至少加倍。
一些宣稱 50 個客戶端限制的舊 AP 這樣做是因為它們的硬體對它們可以追蹤的每個客戶端單播密鑰的數量有限制。有些在那裡有硬性限制,但其他人使用軟體來處理比硬體可以處理的更多的按鍵,但性能受到了較小的影響。在您的情況下可能不是問題,但如果您在同時開啟50 個用戶端時遇到任何問題,並且您一開始啟用了WPA2(或WPA),請嘗試在不啟用任何無線安全的情況下進行嘗試。
如果您需要 WPA2(或 WPA)安全性,請嘗試防止用戶端裝置進入系統睡眠狀態或以其他方式離開網路。每次客戶端離開時,都必須變更群組金鑰(用於加密多播/廣播資料包的金鑰)。這需要一系列網路活動,這會佔用您可用於多播的通話時間。它還會延遲所有進一步的多播,直到所有剩餘用戶端均已確認收到新群組金鑰,並將導致 AP 中斷所有未能確認收到新群組金鑰的用戶端的連線。當那些被遺棄的客戶重新連接到網路時,這將導致更多的小規模活動。