Windows adhoc网状网络

时间:2012-10-29 20:47:07

标签: windows wifi adhoc mesh-network

我已经用Google搜索了这个主题,但我仍然需要帮助。 stackoverflow上有类似的问题,但没有一个完全匹配(也没有很好的答案)。

我想编写一个程序(如果它不存在且是否可能),允许Windows 7+用户使用单个WiFi适配器配置ad-hoc网状网络,然后以某种方式允许连接类似于正常每个节点的互联网连接。奖励是指像手机这样的设备不需要额外的软件,但可以连接到一个或多个网状节点,就像它是标准接入点一样。

我不知道该怎么做,但我想:

  1. 可以将单个无线卡配置为使用Windows Wireless-ADHOC API以编程方式在adhoc模式下运行
  2. Ad hoc模式通常会排除基础设施模式,除非适配器的驱动程序支持它,因此从节点到真实互联网的连接需要第二个适配器。
  3. 我们的程序需要/需要独家控制WiFi适配器。
  4. 网状方面是通过路由协议(如Babel)独立于特殊连接而实现的。
  5. 必须通过我们程序创建的新虚拟适配器提供I​​nternet。 (这个新的适配器扮演什么角色使它成为任何网络感知程序应该选择咨询互联网访问的适配器?)
  6. 如果某个节点上有真正的互联网连接,那么该节点将通过Babel实现将该节点共享给网格上的其他节点
  7. 是否可以从任何节点获得互联网,不确定网状网本身可以托管哪些服务。如何提供资源/域名解析?
  8. 如果当前节点具有互联网,则对互联网资源的任何请求都将直接通过它,并且网格中的任何资源都将通过Babel。如果该节点丢失了直接互联网,则所有流量都将通过Babel。假设我们的程序编写正确,是否需要编程或者Windows网络堆栈是否知道如何处理这个问题?
  9. 由于这是Windows 7+,因此IPv6是寻址网格中节点的合法选择,但并非所有互联网连接都支持IPv6。有些人可能。我们如何从网格片段定义互联网细分?
  10. 网格可以任意大,Babel和其他组件能够以良好的带宽,低内存使用率和最佳路径收敛来处理它。
  11. 很明显,我没有实际完成这个项目的背景,但我想了解解决方案的大纲。你能评论大纲的正确性,缺失/错误的是什么吗?由于新技术的出现,哪些概念是不必要的或过时的?

    节点操作有多简单?每个节点可以从其他节点攻击它们的安全性如何?中毒网络流量&路由?

    我已经阅读了有关Linux尝试类似目标的项目,但目前没有适用于Windows的项目。关于车辆和应急响应者的一些讨论,但这是不同的。我感兴趣的是,受到飓风桑迪的影响,在广泛的城市连接中断的情况下连接流行的住宅操作系统。当许多电力和通信系统不可用时,网格可以提供帮助。

    几乎所有网格参与者都不会提前配置他们的节点。相反,当他们的无线网络关闭时,他们可能会寻找其他的无线网络并找到SSID“Free Emergency Mesh WiFi”并连接。与热点一样,他们会看到一个代理登录页面,解释项目并提供安装链接,如果他们想参与。如果没有,他们仍然可以作为客户端连接到网格“访问点”。

1 个答案:

答案 0 :(得分:3)

问题是你基本上要求将一个WiFi无线电同时放入三种不同的模式。为了使节点与其他节点通信,它需要处于Ad-Hoc模式。为了与接入点(AP)通信以进行Internet访问,它需要处于基础结构模式。为了使移动电话能够连接,其中大多数都不支持Ad-Hoc网络,因此您还需要将节点置于主模式(使它们显示为普通接入点)。因此,在单个WiFi卡上,您正试图兼顾三种不同的操作模式。从理论上讲,如果您支持原始帧注入的卡和驱动程序,那么您可以在应用程序中模拟WiFi和网络堆栈,并在一张卡上兼顾所有三种模式,但我有一种感觉会导致非常高如果你在笔记本电脑上运行它,碰撞速度,丢帧,高延迟以及所有额外的CPU周期都会烧毁你的电池。

有可能吗?当然。这是一个实用的想法吗?并不是的。你最好用华硕USB-N10等小型/便宜的WiFi适配器扩展笔记本电脑。额外的适配器可以处理额外的模式,在固件和内核空间中进行处理,速度更快,效率更高,并允许您在单独的通道上运行网络的每一层,以获得更高的吞吐量。