2009-12-04 30 views
26

空のUDPデータグラムのサイズは?そして空のTCPパケットのそれ?空のUDPパケットとTCPパケットのサイズ?

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

ご連絡ありがとうございます。

+6

この場合、あなたが知る必要がある情報はすべてウィキペディアにあります。 – Artelius

+1

どのサーバーレイヤーですか? IP上のUDPは**多くの**サーバレイヤーに乗ることができますが、そのうちの1つはイーサネットですが、MPLS、PBT、フレームリレー、ATM、POSなどもあります。 – jldupont

答えて

64

サイズの大きさを含むべきである - 24バイト(オプションなし)のIPv4ヘッダーの
サイズ - 20バイト
サイズTCPヘッダの(オプションなし) - 24 + 20 + 20 = 64バイトUDPヘッダの

サイズ - - 8バイトの空のUDPデータグラムの
したがって合計サイズの空のTCPデータグラムの20バイト
したがって合計サイズ - 24 + 20 + 8 = 52バイト

+2

これは(モジュロ可能なエラー:)実際に私が実際に探していた全体的な結果でした! – puccio

+5

私は、最小イーサネットフレームが64バイトであると思っています(ペイロードは少なくとも46バイトにパディングしなければなりません)。 – Useless

+1

しかし、すべてのTCPとUDPがイーサネット上で運ばれるわけではありません。実際、同じパケットは、さまざまなネットワークを通過する間にいくつかの異なる物理層で運ばれる可能性があります。 – caf

8

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

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

幸運を祈り、 ファビアン

1

Arteliusとhalfdanは正しいですが、あなたは何かが欠けている:UDPとTCPは、両方のいくつかの物理的な輸送の上で実行します。あなたは、イーサネット上でUDPを使用している場合 はたとえば、あなたはまた、イーサネットフレームのethernet frame

+0

ルーティングされます。 – halfdan

+0

"IPフレーム"というものはありません。おそらく "IPパケット"を参照したいと思っています。 – jldupont

13

ひまわりの回答は完全に正しいです。

イーサネットフレームの構造を見ていると、誤解を招く恐れがあります(詳細は、ペイロードがないとイーサネットフレームの最小サイズは18バイトになります)。Dst Mac(6)+ Src Mac + Length(2)+ Fcs(4)、IPv4(20)とTCP(20)の最小サイズを追加すると合計58バイトになります。

まだ言及されていないのは、イーサネットフレームの最小ペイロードが46バイトであるため、IPv4とTCPからの20 + 20バイトは十分なペイロードではありません!これは、6バイトがパディングされなければならないことを意味します.64バイトの合計が来る場所です。

18(分イーサネット "ヘッダ" フィールド)+ 6(パディング)+ 20(IPv4)の+ 20(TCP)= 64バイト

ホープこれは少し物事をクリアします。

はさらにを読む:

+2

これはまた、次のことを意味しますか? 18(最小イーサネット "ヘッダー"フィールド)+ 18(パディング)+ 20(IPv4)+ 8(UDP)= 64バイト? IP + UDPペイロードの合計18 + 20 + 8 = 46バイト。 – Ali

+3

はい!ここでも20 + 8(= 28)は最小イーサネットペイロードには不十分で、18バイトのパディングが必要です(20 + 8 + 18 = 46)。 – Felix

+0

空のTCPパケットとイーサネット上のペイロードの1〜6バイトを区別する方法は、IPヘッダーの "total length"フィールドを使用して行われます。 –

0

あなたは、帯域幅の消費量を計算し、(1Gビット/秒のようなネットワークの最大速度にそれらを関連付けるしようとする場合、または10Gb/s)の場合には、Uselessが指摘したように、Felixなどで計算された数値にEthernet framing overhead at layer 1を追加する必要があります。つまり、

  • 7バイトのプリアンブル
  • 1バイトスタートオブフレームデリミタ
  • 12のバイト間ギャップすなわちパケット当たりに消費さ20バイト以上の合計

関連する問題