8. TCP メッセージ長フィールド (TCP Message Length Field)
DNS クライアントおよびサーバーは、2 オクテットの長さフィールドと、その長さフィールドで記述されたメッセージを同時に(たとえば、単一の「書き込み」システムコールで)TCP 層に渡すべきである (SHOULD)。これにより、すべてのデータが単一の TCP セグメントで送信される可能性が高くなります。これは、効率の理由と、TCP 層からデータを読み取る際の一部の DNS サーバー実装の望ましくない動作(以前のドキュメントでの不明確さによる)による問題を回避するためです。たとえば、一部の DNS サーバー実装は、TCP 層からの最初の「読み取り」に長さフィールドとメッセージ全体の両方が含まれていない場合、TCP セッションを中止する可能性があります。
明確にするために、DNS サーバーは、TCP 層からの最初の「読み取り」に完全な DNS メッセージが含まれていないという理由だけで接続を閉じてはならず (MUST NOT)、サーバーはセクション 6.2.3 で指定されている接続タイムアウトを適用すべきである (SHOULD)。