2012-10-29 106 views
2

我已經使用了這個主題,但我仍然需要幫助。在stackoverflow上有類似的問題,但沒有一個匹配確切(他們也沒有很好的答案)。Windows adhoc網狀網絡

我想編寫一個程序(如果它不存在,如果可能的話),它允許Windows 7+用戶使用單個WiFi適配器配置ad-hoc網狀網絡,然後以某種方式允許類似於正常的互聯網連接爲每個節點。如果像手機這樣的設備不需要額外的軟件,但可以連接到一個或多個網狀節點,就好像它是一個標準接入點一樣。

我不知道如何做到這一點,但我認爲:

  1. 單個無線卡可以配置爲自組模式運行程序使用Windows的Wireless-ADHOC API
  2. Ad hoc模式通常不包括基礎設施模式,除非適配器的驅動程序支持它,所以從節點到真實互聯網的連接需要第二個適配器。
  3. 我們的程序可能需要獨佔控制WiFi適配器。
  4. 網格方面是通過諸如Babel之類的路由協議獨立於adhoc連接實現的。
  5. 互聯網必須通過我們的程序創建的一些新的虛擬適配器來提供。 (這個新的適配器扮演什麼角色,使它成爲任何網絡感知程序應該選擇諮詢以訪問互聯網的適配器?)
  6. 如果真正的互聯網連接在節點上可用,則該節點將與其他節點共享通過Babel實現的網格上的節點
  7. 無論互聯網是否可以從任何節點獲得,都不確定哪些服務可以在網格本身內託管。如何提供資源/域名解析?
  8. 如果當前節點有互聯網,任何對互聯網資源的請求都會直接通過它,網格內的任何資源都會通過Babel。如果該節點直接丟失了互聯網,所有流量都將通過Babel。如果我們的程序編寫正確,是否需要對此進行編程?或者Windows網絡堆棧是否知道如何處理此問題?
  9. 由於這是Windows 7+,因此IPv6是尋址網格中節點的合法選擇,但並非所有的互聯網連接都會支持IPv6。有些可能。我們如何從網格細分定義互聯網細分?
  10. 網格可以任意大,Babel和其他組件能夠以良好的帶寬,低內存使用率和最佳路徑收斂來處理它。

這很清楚,我沒有實際完成此項目的背景,但我想了解解決方案的大綱。你能否評論大綱的正確性,什麼是缺失/錯誤?由於新技術的出現,什麼概念是不必要的或過時的?

節點的操作有多簡單?每個節點對其他節點的攻擊有多安全?中毒網絡流量&路由?

我已閱讀過有關爲Linux嘗試類似目標的項目,但沒有針對Windows的當前項目。對車輛和應急響應者進行一些討論,但這是不同的。我的興趣是,由颶風桑迪激起的,在廣泛的城市連接中斷情況下連接到流行的住宅操作系統。當許多電力和通信系統不可用時,網格可以提供幫助。

幾乎所有的mesh參與者都沒有提前配置它們的節點。相反,他們可能會在他們停下來尋找其他無線網絡並找到SSID「Free Emergency Mesh WiFi」並連接。與熱點一樣,他們將看到一個代理登錄頁面,解釋項目並提供一個安裝鏈接,如果他們想參與。如果不是,他們仍然可以連接到作爲客戶端的網狀「接入點」。

回答

3

問題是,你基本上要求將一個WiFi無線電同時放入三種不同的模式。爲了使節點與其他節點對話,它需要處於Ad-Hoc模式。爲了與接入點(AP)進行互聯網訪問,需要使用基礎架構模式。爲了使手機連接起來,其中大多數不支持Ad-Hoc網絡,因此您還需要將節點置於主模式(使它們顯示爲正常接入點)。因此,在一張WiFi卡上,您試圖採用三種不同的操作模式。理論上,如果卡和驅動程序支持原始幀注入,那麼您可能能夠在應用程序中模擬WiFi和網絡堆棧,並將所有三種模式混合在一張卡上,但我有一種感覺會導致非常高的碰撞速度,丟失幀數,高延遲以及所有額外的CPU週期都會在您的電池上燒燬,如果您在筆記本電腦上運行該功能。

可能嗎?當然。這是一個實際的想法嗎?不是真的。你最好使用小型/廉價的WiFi適配器(如華碩USB-N10)來擴展筆記本電腦。額外的適配器可以處理額外的模式,在固件和內核空間中處理速度更快,效率更高的處理器,並允許您在單獨的通道上運行網絡的每一層以獲得更高的吞吐量。

+0

(第2點允許第二個可能是硬連線的適配器用於互聯網連接)。 –

+0

好的見解。好的,但是如果只有一個適配器可用,在原始模式下是否會支持這些模式的用戶採用值,但是廣告說 - 「嘿,下一次,第二個甚至第三個適配器會提高性能」? –

+1

我真的不這麼認爲。網狀網絡已經具有相當薄弱的聲譽,所以採用緩慢挑剔的解決方案可以強化對人們的負面定型,並且不會嘗試其他配置。他們會說,「看,我知道網狀網絡無法工作!」 在嘗試打擊神話並將網狀網絡作爲可行解決方案進行銷售方面擁有第一手經驗,我的建議是不要打擾提供最好的產品。批評者將採取最懶惰的方式來審查你的項目,並宣佈每一個缺點,證明它永遠不能工作。 – Sitwon