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

Dav*_*rks 30 networking bandwidth web-traffic network-traffic

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

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

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

Fra*_*nov 21

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

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

最大段大小(其不包括TCP或IP报头)通常协商的层,以将尺寸之间MTU减去报头的大小.对于以太网,MTU通常配置为1500字节.的TCP报头为160位,或20个字节.IPv4报头的固定部分是160位,或20字节.IPv6报头的固定部分是320位或40字节.从而:

  • 用于TCP/IPv4上的HTTP

开销= TCP + IP = 40字节

payload = 1500 - 40 = 1460字节

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

  • 用于TCP/IPv6上的HTTP

开销= TCP + IP = 60字节

payload = 1500 - 60 = 1440字节

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

以下是假设:

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


max*_*axy 10

使用100Mbit/s以太网,大文件传输速率为94.1Mbit/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字节,但在某些网络中可能更小,如果路径中的每个设备都配置了它,则可能更大.