web-dev-qa-db-ja.com

空のUDPのサイズとTCP packet?

空のUDPデータグラムのサイズは?空のTCPパケット?

MTUについての情報しか見つけることができませんが、これらのプロトコルの帯域幅消費を推定するために、これらの「ベース」サイズを知りたいです。

30
puccio

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バイト

75
Himanshu

ヒマンシュスの答えは完全に正しいです。

イーサネットフレームの構造を見たときに誤解を招くかもしれない[詳細はこちらを参照]、ペイロードがない場合、イーサネットフレームの最小サイズは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バイト

これが少し物事をクリアすることを願っています。

さらに読む

18
Felix

ser Datagram Protocol を参照してください。 UDPヘッダーの長さは8バイト(64ビット)です。

裸のTCP=ヘッダーの最小サイズは5ワード(32ビットワード)です。一方、a TCPヘッダーの最大サイズは15ワードです。

よろしくお願いします、ファビアン

8
halfdan

Arteliusとhalfdanは正しいですが、何かが欠けています。UDPとTCPは両方とも何らかの物理的トランスポートの上で実行されます。たとえば、イーサネット経由でUDPを使用している場合、 イーサネットフレーム のサイズ

1
Useless

帯域幅の消費量を計算し、それらをネットワークの最大レート(1Gb/sまたは10Gb/sなど)に関連付ける場合、Uselessが指摘したように、 レイヤー1でのイーサネットフレーミングオーバーヘッド Felixなどによって計算された数値、つまり

  • 7バイトのプリアンブル
  • 1バイトのフレーム開始デリミタ
  • 12バイトのパケット間ギャップ

つまり、パケットごとに合計20バイトが消費されます。

0