空のUDPデータグラムのサイズは?空のTCPパケット?
MTUについての情報しか見つけることができませんが、これらのプロトコルの帯域幅消費を推定するために、これらの「ベース」サイズを知りたいです。
TCP:
イーサネットフレームのサイズ-24バイト
IPv4ヘッダーのサイズ(オプションなし)-20バイト
サイズTCPヘッダー(オプションなし)-20バイト
空のTCP Segment-24 + 20 + 20 = 64バイトのIPパケットを伝送するイーサネットフレームの合計サイズ
DP:
イーサネットフレームのサイズ-24バイト
IPv4ヘッダーのサイズ(オプションなし)-20バイト
UDPヘッダーのサイズ-8バイト
空のUDPデータグラムを持つIPパケットを伝送するイーサネットフレームの合計サイズ-24 + 20 + 8 = 52バイト
ヒマンシュスの答えは完全に正しいです。
イーサネットフレームの構造を見たときに誤解を招くかもしれない[詳細はこちらを参照]、ペイロードがない場合、イーサネットフレームの最小サイズは18バイトになります。DstMac(6)+ Src = Mac(6)+長さ(2)+ Fcs(4)、IPv4の最小サイズ(20)およびTCP(20)を追加すると、合計58バイトになります。
まだ言及されていないのは、イーサネットフレームの最小ペイロードが46バイトであるため、IPv4からの20 + 20バイトとTCPは十分なペイロードではありません!これは、6バイトがパディングされるのは、合計64バイトの送信元です。
18(最小のイーサネット「ヘッダー」フィールド)+ 6(padding) + 20(IPv4)+ 20(TCP)= 64バイト
これが少し物事をクリアすることを願っています。
さらに読む:
ser Datagram Protocol を参照してください。 UDPヘッダーの長さは8バイト(64ビット)です。
裸のTCP=ヘッダーの最小サイズは5ワード(32ビットワード)です。一方、a TCPヘッダーの最大サイズは15ワードです。
よろしくお願いします、ファビアン
Arteliusとhalfdanは正しいですが、何かが欠けています。UDPとTCPは両方とも何らかの物理的トランスポートの上で実行されます。たとえば、イーサネット経由でUDPを使用している場合、 イーサネットフレーム のサイズ
帯域幅の消費量を計算し、それらをネットワークの最大レート(1Gb/sまたは10Gb/sなど)に関連付ける場合、Uselessが指摘したように、 レイヤー1でのイーサネットフレーミングオーバーヘッド Felixなどによって計算された数値、つまり
つまり、パケットごとに合計20バイトが消費されます。