2009-12-04 95 views
26

空UDP數據報的大小是多少?那是一個空的TCP數據包?空UDP和TCP數據包的大小?

我只能找到有關MTU的信息,但我想知道這些信息的「基本」大小是什麼,以便估計它們之上的協議的帶寬消耗。

在此先感謝您的信息。

+6

維基百科告訴你在這種情況下你需要知道的一切... – Artelius 2009-12-04 10:24:00

+1

哪個服務器層?在IP上的UDP可以搭載**許多**服務器層,其中一個是以太網,但也有MPLS,PBT,幀中繼,ATM,POS等。 – jldupont 2009-12-05 21:24:49

回答

64

尺寸的大小 - 24字節
IPv4報文頭尺寸(不含任何選項) - 20個字節
尺寸TCP報頭(沒有任何選項) - 24 + 20 + 20 = 64字節

UDP報頭的尺寸 - - 8個字節
空UDP數據報因此總大小爲20個字節
空TCP數據報所以總大小 - 24 + 20 + 8 = 52字節

+2

這個(模可能出現的錯誤:)的確是我正在尋找的整體結果! – puccio 2009-12-04 10:39:14

+5

我認爲最小的以太網幀是64字節(有效負載必須填充到至少46字節)。 – Useless 2009-12-04 10:46:37

+1

然而,並不是所有的TCP和UDP都在以太網之上,事實上,同一個分組在不同的網絡上傳輸時可能會在幾個不同的物理層上傳輸。 – caf 2009-12-04 11:12:51

8

參見User Datagram Protocol。 UDP頭是8字節(64位)長。

裸TCP報頭的最小大小是5個字(32位字),而TCP報頭的最大大小是15個字。

最良好的祝願, 費邊

1

Artelius和哈夫丹是正確的,但你失去了一些東西:UDP和TCP上的一些物理傳輸的頂部都運行。 例如,如果你使用UDP通過以太網,你應該還包括以太網幀的ethernet frame

+0

呃..當然是IP幀,如果你想要的話被路由。 – halfdan 2009-12-04 16:27:59

+0

沒有「IP框架」這樣的東西:您可能想要指的是「IP數據包」。 – jldupont 2009-12-05 21:25:38

13

Himanshus回答完全正確。如果沒有有效載荷,以太網幀的最小尺寸應爲18個字節:Dst Mac(6)+ Src Mac(6)其中, +長度(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 2014-12-08 05:19:15

+3

是的!這裏20 + 8(= 28)對於最小以太網有效載荷來說還不夠,所以需要18個字節的填充(20 + 8 + 18 = 46)。 – Felix 2014-12-09 09:55:22

+0

如果您想知道如何區分一個空的TCP數據包和一個以太網上有1-6個字節的有效負載的TCP數據包,則使用IP標頭中的「總長度」字段完成。 – 2017-10-24 14:43:19

0

如果要計算帶寬消耗和它們與你的網絡的最大速率(如1Gb/s的或10Gb/s),如Useless所指出的,必須將Ethernet framing overhead at layer 1添加到由Felix等人計算的數字中,即

  • 7個字節前同步碼
  • 1字節啓動的幀定界符
  • 12個字節間間隙

即總共每個分組所消耗20多個字節。