私はこのトピックから一体をグーグルで検索しましたが、それでも助けが必要です。スタックオーバーフローについても同様の質問がありますが、正確に一致するものはありません(また、良い答えもありません)。
Windows 7以降のユーザーが単一のWiFiアダプターを使用してアドホックメッシュネットワークを構成し、通常のインターネット接続と同様の接続を可能にするプログラムを作成したい(まだ存在していない場合、可能であれば)各ノード。ボーナスは、電話などのデバイスが追加のソフトウェアを必要としないが、標準のアクセスポイントであるかのように1つ以上のメッシュノードに接続できる場合です。
これを行う方法はわかりませんが、次のように思います。
- Windows Wireless-ADHOC APIを使用して、プログラムでアドホックモードで動作するように単一のワイヤレスカードを構成できます。
- アドホックモードは通常、アダプターのドライバーがインフラストラクチャモードをサポートしていない限り、インフラストラクチャモードを除外します。そのため、ノードから実際のインターネットへの接続には2番目のアダプターが必要になります。
- 私たちのプログラムでは、WiFiアダプターを排他的に制御する必要があります。
- メッシュの側面は、Babelなどのルーティングプロトコルによるアドホック接続とは独立して実現されます。
- インターネットは、私たちのプログラムによって作成されたいくつかの新しい仮想アダプタを介して提供される必要があります。(この新しいアダプターは、ネットワーク対応プログラムがインターネットアクセスについて相談することを選択するアダプターになるためにどのような役割を果たしますか?)
- 実際のインターネット接続がノードで利用可能な場合、これはそのノードによって、Babel実装を介してメッシュ上の他のノードに共有されます。
- インターネットがどのノードからも利用できるかどうか、メッシュ自体の中でどのサービスをホストできるかわからない。リソース/ドメイン名の解決はどのように提供されますか?
- 現在のノードにインターネットがある場合、インターネットリソースへのリクエストはすべてノードを直接通過し、メッシュ内のリソースはすべてBabelを通過します。そのノードによって直接インターネットが失われた場合、すべてのトラフィックはバベルを通過します。プログラムが正しく記述されていると仮定して、これをプログラムする必要がありますか、それともWindowsネットワークスタックはこれに対処する方法を知っていますか?
- これはWindows7以降であるため、IPv6はメッシュ内のノードをアドレス指定するための正当な選択ですが、すべてのインターネット接続がIPv6をサポートするとは限りません。一部の可能性があります。メッシュセグメントからインターネットセグメントをどのように定義しますか?
- メッシュは任意に大きくすることができ、Babelおよびその他のコンポーネントは、良好な帯域幅、低いメモリ使用量、および最適なパスコンバージェンスでメッシュを処理できます。
このプロジェクトを実際に完了するための経歴がないことは明らかですが、ソリューションの概要を理解したいと思います。アウトラインの正しい点、欠落している点、間違っている点についてコメントしていただけますか?新しいテクノロジーの出現により、どのような概念が不要または廃止されましたか?
ノードの操作はどれほど簡単でしょうか?各ノードは、それらを攻撃している他のノードからどの程度安全になりますか?ネットワークトラフィックとルーティングを中毒しますか?
Linuxで同様の目標を達成しようとするプロジェクトについて読んだことがありますが、現在のWindowsでは何もありません。車両と緊急時の対応者に関するいくつかの議論がありますが、これは異なります。私の興味は、ハリケーンサンディに刺激されて、広範囲にわたる都市の接続停止の状況での人気のある住宅用オペレーティングシステムの接続にあります。多くの電力および通信システムが利用できない場合、メッシュが役立ちます。
ほとんどすべてのメッシュ参加者は、ノードを事前に構成していません。代わりに、ダウンしているときに他のワイヤレスネットワークを探し、SSID「FreeEmergencyMeshWiFi」を見つけて接続する場合があります。ホットスポットと同様に、プロジェクトを説明し、参加したい場合はインストールリンクを提供するプロキシログインページが表示されます。そうでない場合でも、クライアントとしてメッシュの「アクセスポイント」に接続できます。