-1

私はこのトピックについて質問を練習していましたが、この質問に出くわしました。

以下のTCPセグメントを含むIPパケットの40バイトダンプを見てください(16進数)。

45 20 03 c5 78 06 00 00 34 06 ca 1f d1 55 ad 71 c0 a8 01 7e
00 50 9a 03 3e 64 e5 58 df d0 08 b3 80 18 00 de 00 02 00 00

IPおよびTCPヘッダーのすべてのフィールドを識別します。

出典:http ://www.eng.utah.edu/~cs5480/homeworks/hw3_soln.pdfの第1四半期

これで、IPv4のデータグラム形式のレイアウトが目の前にあります。私が理解していないのは、ソリューションではヘッダーの長さが20バイトであると言っていることですが、形式によれば、ビット4〜7はヘッダーの長さ0x03c5=965バイトに対応します。ただし、ソリューションでは、965バイトがデータグラムの合計の長さです。

誰かがこれを説明できますか?

4

3 に答える 3

2

これを見てヘッダーをダンプしてください

https://metacpan.org/pod/distribution/Data-HexDump-Range/scripts/hdr_examples.pod#IPV4-header

于 2012-09-14T09:18:34.323 に答える
1

数字 != ビット。

ゼロベースのカウントを想定すると、0x03c5 はデータ内の 4 ~ 7 の 16 進数です。

ビット 4 ~ 7 は、前に表示された 16 進数の 5 になります。このヘッダー値は、ヘッダー内の 32 ビット ワードの数を表すため、バイト数として 20 を得るには 4 を掛ける必要があります。

于 2012-04-27T09:57:16.793 に答える
0

リンクされたPDFドキュメントによると:

IP header: IP version 4, Header Length: 20 bytes, ToS = 20, Total Length = 0x03c5 =
965 bytes, ...

私にはかなり明確に思えます-ヘッダーの長さは20バイト、合計の長さは965バイトです(これは、IPv4ヘッダーに関するウィキペディアと非常にうまく一致しています)。

于 2012-04-27T09:55:27.453 に答える