FPGA をイーサネット ケーブルで自宅のルーター + モデム デバイスのイーサネット ポートの 1 つに接続すると、どのようなハンドシェイクが発生しますか (または発生する必要がありますか)?

FPGA をイーサネット ケーブルで自宅のルーター + モデム デバイスのイーサネット ポートの 1 つに接続すると、どのようなハンドシェイクが発生しますか (または発生する必要がありますか)?

FPGA エッジ デバイスを持っています。自宅のルーター + モデム デバイスを介してラップトップにイーサネット パケットを送受信したいと考えています。ラップトップは Wi-Fi (インターネット用) を介してルーター + モデムに接続されており、FPGA ボードはイーサネット ケーブルを介してルーター + モデムに接続しています。

  1. ラップトップの宛先 IP + MAC アドレスを含むイーサネット パケットをルーター + モデム デバイスに送信するときに、そのイーサネット パケットが Wi-Fi 経由で接続されているラップトップに転送されるようにするには、FPGA にどのようなプロトコルとハンドシェイクを実装する必要がありますか?

  2. 同様に、ラップトップが FPGA の宛先 IP + MAC アドレスを含むイーサネット パケットをルーターに送信すると、ルーターはイーサネット ケーブルを介してそのパケットを FPGA に転送しますか?

  3. ルータはどのようにして FPGA の IP + MAC アドレスを正確に知るのでしょうか (どのハンドシェイクによってその情報がルータに保存されるのでしょうか)?

  4. FPGA が TCP 3 ウェイ ハンドシェイクを実行し、ARP 要求および ping 要求に応答できる場合、冒頭で述べた必要なタスクを実行するのに十分でしょうか? これらのハンドシェイクによってそれがどのように可能になるのでしょうか? イーサネット ケーブルをルーターに接続すると正確に何が起きるのでしょうか? ルーターにはどのようなハンドシェイクが必要ですか?

答え1

私は、あなたが「ルーター」として販売されている家庭用/個人用デバイスを持っていると仮定しています。このデバイスには、実際には LAN 用のレイヤー 2 スイッチと、LAN を WAN にインターネット接続するためのレイヤー 3 ルーター (おそらく NAT 付き) が含まれています。

ラップトップの宛先 IP + MAC アドレスを含むイーサネット パケットをルーター + モデム デバイスに送信するときに、そのイーサネット パケットが Wi-Fi 経由で接続されているラップトップに転送されるようにするには、FPGA にどのようなプロトコルとハンドシェイクを実装する必要がありますか?

FPGA に静的 IP アドレスがある場合は、イーサネット リンクを確立してトレーニングするだけで、送信元と宛先の IP アドレスと MAC アドレスを固定してデータを送信できるようになります。FPGA に動的 IP が必要な場合は、DHCP (および UDP など、FPGA が依存するその他のすべて) をサポートする必要があります。

同様に、ラップトップが FPGA の宛先 IP + MAC アドレスを含むイーサネット パケットをルーターに送信すると、ルーターはイーサネット ケーブルを介してそのパケットを FPGA に転送しますか?

FPGAに静的IPがある場合、ラップトップがフレームのリンク層ヘッダーで使用する正しいレイヤー2アドレスを検出できるようにするためにARPだけが必要です。スイッチにFPGAがどのポートにあるかを認識させるために特別な操作を行う必要はありません。ただ働くまずすべてのスイッチポートにパケットをフラッディングし、FPGAが最初のフレームを送信するとすぐに使用する正しいポートを検出します。どれでも正しい送信元 MAC が設定された種類。

ルータはどのようにして FPGA の IP + MAC アドレスを正確に知るのでしょうか (どのハンドシェイクによってその情報がルータに保存されるのでしょうか)?

ルータは、FPGA との間でやり取りされるデータを適切に処理するために、必ずしもこれを知る必要はありません。ルータはこれを (ステータス ページに) 不明なデバイスとしてリストするか、まったくリストしない可能性があります。

FPGA が TCP 3 ウェイ ハンドシェイクを実行し、ARP 要求および ping 要求に応答できる場合、冒頭で述べた必要なタスクを実行するのに十分でしょうか? これらのハンドシェイクによってそれがどのように可能になるのでしょうか? イーサネット ケーブルをルーターに接続すると正確に何が起きるのでしょうか? ルーターにはどのようなハンドシェイクが必要ですか?

上記を参照してください。イーサネット リンク トレーニングは、レイヤー 1 (物理) を確立します。レイヤー 2 (リンク レイヤー) では、スイッチは通信中に MAC アドレス -> ポート マッピングを検出し、正しいポートが判明する前にフレームを送信する必要がある場合は、すべてのポートにパケットをフラッドします (宛先以外のデバイスはこれらのパケットを無視します)。レイヤー 3 の IP アドレスは、ARP によって MAC アドレスに解決され、IP アドレス自体は静的に、または DHCP 経由で構成できます。

関連情報