(質問を正しく言えなかったらすみません。英語は私の母国語ではありません。)
SyncE ESMC パケットを解析しようとしています。イーサネットの低速プロトコル パケットです。
アプローチ 1: このパケットを解析するために、ここで行われたのと同様のバイト単位のアプローチを使用しました。
アプローチ 2: パケットを解析する他の方法は、パケット全体を表す「構造」を定義し、個々のフィールドにアクセスして特定のオフセットの値を取得することです。ただし、このアプローチでは、構造のパディングとアラインメントが明らかになる可能性がありますが (これはよくわかりません)、Linux ではさまざまなパケット ヘッダーが構造の形式で定義されます (例: ip.h の iphdr)。IP パケット (バッファー) は、IP ヘッダー フィールドを取得するために「iphdr」にタイプ キャストできるため、動作している必要があります。
C でネットワーク パケットを解析するには、どのアプローチが適していますか?
アプローチ2でパケットを解析する際に、構造のパディングとアラインメントに違いはありますか? はいの場合、Linux ヘッダーはこの問題をどのように解決しましたか?