在HTTP / S请求之上,有多少流量是网络开销

时间:2010-08-31 23:37:23

标签: networking bandwidth web-traffic network-traffic

如果我们:
1)计算网络适配器级别的字节/位数(通过NIC的原始位数)和,
2)计算所有HTTP / S请求/响应中的字节数。

假设只有HTTP / S流量,并假设统计相关数量的“典型”网络流量:

我想知道,由于额外的网络开销,NIC级别的流量将比HTTP / S级别(计算http标头和所有级别)计算多少。

3 个答案:

答案 0 :(得分:21)

您对HTTP下面的图层一无所知。您甚至不能假设HTTP请求将通过TCP / IP传递。即使是这样,您也不了解网络层添加的开销。或者路由的可靠性是什么以及由于丢弃/重新发送的数据包会产生什么开销。

更新:根据您的评论,这里有一些背面的估计:

maximum segment size(不包括TCP或IP标头)通常在各层之间协商,大小为MTU减去标头大小。对于以太网,MTU通常配置为1500字节。 TCP header是160位,或20个字节。 IPv4 header的固定部分是160位,或20字节。 IPv6 header的固定部分是320位或40字节。因此:

  • for HTTP over TCP / IPv4

开销= TCP + IP = 40字节

payload = 1500 - 40 = 1460字节

开销%= 2%(40 * 100/1460)

  • for HTTP over TCP / IPv6

开销= TCP + IP = 60字节

payload = 1500 - 60 = 1440字节

开销%= 4%(60 * 100/1440)

以下是假设:

  • 亚马逊计算没有以太网头的NIC有效负载,而不是整个NIC数据包
  • 您的HTTP响应正在充分利用TCP / IP数据包 - 您的典型页面大小+ HTTP标头会生成一个或多个完整的TCP / IP数据包,而一个使用的负载超过50%
  • 您在缓存内容上设置了明确的到期日期以最小化302响应
  • 您可以避免重定向,或者您的网址足够长以填充有效负载

答案 1 :(得分:9)

使用100Mbit / s以太网,大文件传输速率为94.1Mbit / s。

这是6%的开销。如果您还计算在相反方向上流动的TCP ACK,则它接近9%。对于千兆以太网,开销(百分比)保持不变。假设:TCP / IPv4和文件大小> 100kB。 (在此大小,我们可以忽略初始的HTTP和TCP设置。)

比较下载速率时,请注意从位到字节的因子8。我想没有人会收取以太网前导码或帧间间隙的费用,但“有效载荷”不应按字面意思理解。

计算:有效负载/总体
payload = 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字节,但在某些网络中可能更小,如果路径中的每个设备都配置了它,则可能更大。

答案 2 :(得分:1)

什么额外的网络开销? HTTP顶部的TLS开销相当于密钥交换。你注意到它主要是处理开销。

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

下线(在服务器之后)wan accelerator或代理会将您的流量区别对待,因为它不可缓存或可压缩。