2012-01-17 16 views
3

以太網中最小的幀大小是多少?什麼是TCP和IP協議開銷?最小的TCP/IP開銷(通過以太網幀)

我想知道的是單個字節TCP/IP流在使用帶寬方面的開銷(單向,不包括ACK)。我認爲它在32-100字節附近,但它真的不是我的專業領域。

編輯 我編寫一個Web服務器,我想,所以我在我的程序得到良好的吞吐量以正確的大小爲我的應用程序數據編程。爲此我想知道我有什麼限制來減少帶寬。

+3

對於那些你關閉這個問題。如果我正在開發*服務器端軟件,這與編程無關嗎? TCP/IP處理是軟件,就像JSON處理是軟件一樣。雖然我知道有更多的程序員使用網絡服務器和操作系統而不是開發它們,但這個問題與標記標記的東西有關。 –

+0

如果您正在尋找良好的吞吐量,則越大越好(最多約1400字節)。您一次發送或接收的數據越少,幀開銷就會越高(按比例)。無論您發送一個字節還是一千個,標題的大小几乎相同。 – cHao

+0

@cHao - 這不是問題。每個請求都來自獨特的客戶端。我們服務超過2000萬客戶,每月處理數十億個請求。消息數據是幾個字節。 –

回答

6

802.3標準將最小幀大小指定爲實現相關。所有特定的,最流行的實現(高達幷包括100Mbps,1Gbps和10Gbps)都將其設置爲512位,等於64個八位位組。請記住,這包括標題(不包括前導碼和SFD,所以12個字節的地址和2個字節的幀類型)和CRC(4個字節)在預告片中。因此,在傳輸最小尺寸的幀時,我們有46個字節用於數據本身。

基本的IPv4標頭長20個字節,TCPv4標頭也是20個字節。請記住,這兩個標題可以包含一個額外的可選「選項」字段,可以放大它們(儘管我不知道任何實際的系統)。這爲您的真實數據在最小尺寸的以太網幀中留下了6個字節。

+0

超級。所以假設對這個問題的答案是64字節,第二個是40-58字節,因爲我們正在談論現代NIC。謝謝! –

+0

後續問題是我解釋你的答案,因爲假如選項字段沒有生效,我更可能有24個字節比6個字節的真實數據。正確? –

+0

不是。 IPv4和TCP報頭的大小*沒有任何附加選項,恰好爲20個字節(或者更合適的八位字節)。在我的最終答案中,我沒有包含額外的選項字段,您對6字節是正確的。 :) –