2 つのアプリケーションが TCP/IP ストリームを介して通信するためのプロトコルを作成しており、メッセージのヘッダーを設計する方法を考えています。最初のガイドとして TCP ヘッダーを使用すると、パディングが必要かどうか疑問に思います。キャッシュを扱うときは、保存されているデータがキャッシュの行に収まるようにして、取得時に効率的に処理できるようにしたいことを理解しています。ただし、アプリケーションがバイトのストリームを解析し、適切と思われる方法で保存することを考慮して、ヘッダーをパディングすることがどのように理にかなっているのか理解できません。
例: 3 バイトのフィールドと、それに続く 1 バイトのパディング フィールドで構成されるメッセージ ヘッダーを 32 ビット アラインメント用に送信したいと考えています。次に、メッセージ データを送信します。
この場合、受信側はストリームから 3 バイトを取得し、パディング バイトを破棄します。そして、メッセージ データの読み取りを開始します。私が見たところ、彼は 3 バイトとメッセージ データを希望どおりに保存していません。バイトアライメントの要点は、効率的に取得できるようにすることです。しかし、レトリバーがパディングを気にしない場合、どうすれば効率的に取得できるのでしょうか?
パディングがない場合、リトリーバーはストリームから 3 ヘッダー バイトを取得し、次にデータ バイトを取得します。レトリバーはこれらのバイトを好きなように保存するので、パディングが行われるかどうかはどのように問題になるのでしょうか?
多分私はパディングのポイントを逃しています。
この投稿から質問を抽出するのは少し難しいですが、私が言ったことで、皆さんはおそらく私の誤解を指摘することができます.
皆さんの考えを教えてください。
ありがとう、ジブ