IPヘッダーの長さが最小20バイト、最大60バイトであることを知っています。しかし、なぜ?IPヘッダーの長さが60バイトに制限されているのはなぜですか?私に説明できる人はいますか?ありがとうございました。
IPヘッダーの長さが最小20バイト、最大60バイトであることを知っています。しかし、なぜ?IPヘッダーの長さが60バイトに制限されているのはなぜですか?私に説明できる人はいますか?ありがとうございました。
回答:
インターネット・プロトコル(IP)がで定義されているRFC 791。RFCはIPヘッダーの形式を指定します。ヘッダーには、4ビット長のIHL(インターネットヘッダー長)フィールドがあり、32ビットワードでヘッダー長を指定します。IHLフィールドには、0(バイナリ0000)〜15(バイナリ1111)の値を保持できます。
したがって、最長のインターネットヘッダー(IPヘッダー)のサイズは、15 * 32ビット= 480ビット= 60バイトになります。これが、ヘッダーの最大サイズが60バイトである理由です。
最短のヘッダーサイズは20バイトで、IHLフィールドの値は5(0101)です。これは、ヘッダーのすべての必須フィールドに20バイトのスペースが必要なためです。したがって、理論的にはIHLを5未満の値に設定できますが、これは常に正しくない値になるため、無効なパケットヘッダーになります。
パーRFC 791それはデータグラムを論じているが定義されている、12ページを参照してください。
全長は、インターネットヘッダーとデータを含む、オクテットで測定されたデータグラムの長さです。このフィールドでは、データグラムの長さを最大65,535オクテットにすることができます。このような長いデータグラムは、ほとんどのホストとネットワークにとって実用的ではありません。すべてのホストは、最大576オクテットのデータグラムを受け入れるように準備する必要があります(全体またはフラグメントで到着します)。宛先がより大きなデータグラムを受け入れる準備ができていることが保証されている場合、ホストは576オクテットより大きいデータグラムのみを送信することをお勧めします。
番号576は、必要なヘッダー情報に加えて、適切なサイズのデータブロックを送信できるように選択されています。たとえば、このサイズでは、512オクテットと64ヘッダーオクテットのデータブロックをデータグラムに収めることができます。最大インターネットヘッダーは60オクテットであり、一般的なインターネットヘッダーは20オクテットであり、より高いレベルのプロトコルのヘッダーにマージンを許容します。」
基本的に、長さは20〜60の間で定義され、さまざまなプロトコルの使用を可能にし、推奨されるデータグラムサイズに収まるようにしました。