2010-08-31 52 views
27

如果我們:
1)計數字節/在網絡適配器級位(原始比特的通過NIC#)和,
2)計數字節在所有HTTP/S請求/響應中。什麼%的流量是在HTTP/S的頂部網絡開銷請求

假設只有HTTP/S流量是在包裝盒上,並假設「典型」網絡流量統計相關量:我想知道多少更多的流量將在網卡級別比算作

HTTP/S級別(計算http頭和全部),因爲額外的網絡開銷。

+0

對於TCP/IP開銷的位/字節(所以不包括HTTP/S的額外開銷,也不計算開銷作爲%),我找到了答案https://stackoverflow.com/questions/8902583/minimal-tcp-ip-overhead-over-ethernet-frames/8902667#answer-8902667 helpful。 – 2016-11-30 19:38:55

回答

20

您對HTTP下面的圖層沒有任何認識。你甚至不能假設HTTP請求將通過TCP/IP傳遞。即使是這樣,您對網絡層添加的開銷也沒有任何瞭解。或者路由的可靠性將會如何,以及由於丟棄/重新發送數據包而導致的開銷。

更新:基於您的評論,這裏有背的最餐巾紙一些估計:

maximum segment size(不包括TCP或IP報頭)通常在各層之間協商的MTU的大小減去標題大小。對於以太網MTU通常配置爲1500字節。 TCP header是160位或20個字節。 IPv4 header的固定部分是160位,或20個字節。 IPv6 header的固定部分是320位或40個字節。因此:

  • 爲HTTP的TCP/IPv4的

開銷= TCP + IP = 40字節

有效載荷=一五零零年至1540年= 1460字節

開銷%= 2%( 40 *一千四百六十零分之百)

  • 爲HTTP的TCP/IPv6的

開銷= TCP + IP = 60字節

有效載荷= 1500至60年= 1440字節

開銷(%)= 4%(60 * 100/1440)

以下是假設:

  • 亞馬遜計數NIC有效載荷沒有以太網頭,而不是整個NIC包
  • 你的HTTP響應完全utilizin g TCP/IP數據包 - 您的典型頁面大小+ HTTP頭部導致一個或多個完整的TCP/IP數據包,並且一個使用超過50%的有效負載
  • 您在緩存內容上設置顯式截止日期以最小化302響應
  • 您避免重定向或您的URL足夠長以填充有效負載
+0

我的問題出現了,因爲我在亞馬遜的EC2雲上運行服務器。他們在NIC上計算字節數,在服務器上獲得HTTP級別的字節日誌。我想在確定他們會比我在原木上看到的還要多。考慮到所有變量,我只是想將一個合理的數字插入一些估計值。假設大量的典型流量,這應該是可能的。 – 2010-09-01 00:09:04

+0

這正是我所尋找的故事,而你列出的假設提供了一些值得思考的偉大食物。真的很感激它! – 2010-09-02 20:12:34

+0

我有同樣的問題,除了我通過藍牙(服務器端的python http服務器,客戶端的wget,物理接口是藍牙)在兩個Linux系統之間使用文件傳輸。然後還有藍牙頭。任何粗略的想法? – Hamzahfrq 2015-07-07 14:53:36

1

額外的網絡開銷是多少?在HTTP之上的TLS開銷等於密鑰交換。這主要是您注意到的處理開銷。

http://en.wikipedia.org/wiki/HTTP_Secure#Difference_from_HTTP

向下行(服務器後)WAN加速器或代理會將你的流量differen't,因爲它是不可緩存或壓縮。

+0

我傾向於同意。 – 2010-08-31 23:51:48

+0

我的意思是詢問TCP/IP開銷而不是HTTPS vs HTTP。假設典型的HTTP和HTTPS流量,那麼在NIC級別監視時計數的典型TCP/IP開銷與服務器將統計的HTTP字節數量是多少。 – 2010-09-01 00:04:09

7

使用100Mbit/s以太網時,大文件傳輸速率爲94.1 Mbit/s。

這是6%的開銷。如果您還計數相反方向的TCP ACK,則接近9%。對於千兆以太網,開銷(百分比)保持不變。假設:TCP/IPv4和文件大小> 100kB。 (在此大小下,我們可以忽略最初的HTTP和TCP設置。)

比較下載速率時,請注意因數8從比特到字節。我想沒有人會向您收取以太網前導碼或幀間間隔,但「有效載荷」不應該從字面上理解。

計算:有效載荷/整體
有效載荷= 1500 - 20 - 32(Ethernet_MTU - 的IPv4 - TCP)
總體= 8 + 14 + 1500 + 4 + 12(前導+ Ethernet_header + Ethernet_MTU + CRC + Interframe_gap )

因爲現在以太網始終是全雙工的,偶爾的TCP ACK以另一種方式流動不會改變傳輸速率。如果每兩個數據幀添加一個ACK到開銷(這就是我在Wireshark中觀察到的情況),則總開銷爲8.5%。儘管MTU的大小通常是1500字節,但在某些網絡中可能會更小,或者如果路徑中的每臺設備都配置了它,則會更大。