ユニキャストでイーサネットパケットを送信する

ユニキャストでイーサネットパケットを送信する

このタイプのイーサネット フレームを作成しようとしています:

宛先アドレス(最初のビットはゼロ)+ 送信元アドレス + 送信元 IP アドレス + 宛先 IP アドレス + データ

しかし、IPV4 08 00 などのタイプが必要かどうかはわかりません。

イーサネット プロトコルでペア対ペア通信を行いたいので、ユニキャスト パケット フレームを使用したいのですが、どのように使用すればよいでしょうか。ユニキャストでイーサネット フレームを準備するにはどうすればよいですか? Google で検索しましたが、役に立つ情報が見つかりませんでした。どうすれば続行できますか? そのために、stm32 lwip とイーサネット スイッチがあります。

ユニキャストポイントツーポイントイーサネットパケットを作成するにはどうすればいいですか?助けてください

答え1

イーサネットの通常のフレーミングは次のとおりです。

dest-MAC source-MAC type/length source-ip dest-ip data ...

(タイプ/長さフィールドが 1536 以上の場合はイーサネット タイプ コードとして解釈され、それ以外の場合はフレームの長さとして解釈されます。)

タイプを指定するために ethertype フィールドを使用しない場合、長さフィールドとして解釈される可能性があります (1536 未満の場合)。

2 つのデバイスが同じスイッチ上にあるか、ケーブルで直接接続されている場合は、イーサタイプ フィールドを正しく使用せずに (イーサタイプまたは長さとして) 通信できる可能性があります。ただし、レイヤー 3 以上で通信する場合 (つまり、フレームに IP アドレスを含める場合)、フレームの長さ/タイプが予想される場所にソース IP アドレスの開始を配置すると、パケットを断片化/切り捨て/拒否するルーターに遭遇する可能性があります。

正しいフレームフィールドについては、ウィキペディアの「イーサネットフレーム「」。

関連情報