仲間のプログラマーの皆さん、こんにちは。
これは長い質問になるので、我慢してください。
私は大学でプロジェクトを行っており、私の役割は基本的に無線LANを介したラップトップコンピューター間の通信に焦点を当てています。私が使用している言語は Java です。この通信では、ラップトップを別のラップトップに直接接続する必要はありません。したがって、1 台のコンピューターにアクセス ポイントを作成したと仮定します。他のコンピューターはアクセス ポイントに直接接続して IP アドレスを取得せず、単に IP ソケット経由で接続する必要があります。
したがって、オプションとして残っているのは、MACアドレスを介して接続することです. 私がこれまでに考えたことは、たとえば、私の MAC アドレス、IP アドレスを WLAN アダプターを介してリレーすることです。以前のネットワーキング クラスから、これらの情報を MAC アドレスのブロードキャスト チャネルに送信して、WLAN が開いているすべてのラップトップがそれを取得できるようにすることを考えました。次に、これらの情報をデータベースに保存すると、必要なときにいつでもデータベースから MAC アドレスと IP アドレスを抽出し、送信したい情報をブロードキャスト アドレスではなく特定の MAC アドレスに中継できます (したがって、特定の MAC アドレスのみがそれを取得し、カバレッジ エリア内の他のマシンはそれを取得できませんでした)。
私は、コンピュータ間で通信するこの方法は非常に便利であり、ソケット プログラミングはまったく必要ないだろうと考えました。ちなみに、プログラムではセキュリティは問題にならないので、MACアドレスやIPアドレスなどを直接中継することは問題視されていません。過去 2 週間、この概念について多くの調査を行いましたが、まったく成功しませんでした。私がこれまでに読んだことは、Java はネットワークのレイヤ 3 より下では機能しないということです。ただし、これまでに読んだことから、Java がレイヤー 2 で動作するのに役立つ外部ライブラリがいくつかありますが、どうにかしてそれらを自分のコンピューターで動作させることができませんでした。先生は私に独自の小さなプロトコルを作成するように勧めましたが、これまでのところ、ブロードキャスト メッセージを送信するように wlan アダプターを注文する方法がわかりませんでした。
私の質問は、
(1)ARPなどのJavaで特定のメッセージを特定のMACアドレスに送信するようにwlanアダプタに命令する方法は実際にありますか?
(2) これに役立つ便利な Java ライブラリはありますか? カスタム ARP パケット (送信したい情報を含む) を作成するなど、レイヤー 2 ネットワークで優位に立つ可能性があります。