最小TCP/IP开销(通过以太网帧)

最小TCP/IP开销(通过以太网帧),tcp,ethernet,Tcp,Ethernet,以太网中的最小帧大小有多小?TCP和IP协议的开销是多少 我想知道的是单字节TCP/IP流在使用带宽方面的开销(单向,不包括ACK)。我假设它大约是32-100字节,但这并不是我的专业领域 编辑 我正在为一个web服务器编程,我想为我的应用程序数据编程正确的大小,以便在我的程序中获得良好的吞吐量。为此,我想知道我必须降低带宽的限制。802.3标准规定了最小帧大小,具体取决于实现。所有特定的、最流行的实现(高达并包括100Mbps、1Gbps和10Gbps)都将其设置为512位,相当于64个八位字

以太网中的最小帧大小有多小?TCP和IP协议的开销是多少

我想知道的是单字节TCP/IP流在使用带宽方面的开销(单向,不包括ACK)。我假设它大约是32-100字节,但这并不是我的专业领域

编辑
我正在为一个web服务器编程,我想为我的应用程序数据编程正确的大小,以便在我的程序中获得良好的吞吐量。为此,我想知道我必须降低带宽的限制。

802.3标准规定了最小帧大小,具体取决于实现。所有特定的、最流行的实现(高达并包括100Mbps、1Gbps和10Gbps)都将其设置为512位,相当于64个八位字节。请记住,这包括尾部中的报头(不包括前导和SFD,因此地址为12字节,帧类型为2字节)和CRC(4字节)。因此,在传输最小大小的帧时,数据本身有46个字节


基本IPv4标头的长度为20字节,TCPv4标头的长度也为20字节。请记住,这两个标题都可以包含一个额外的可选“Options”字段,该字段可能会放大它们(不过,我不知道有哪个系统会这样做)。这样,在一个最小尺寸的以太网帧中,您就可以为实际数据保留6个字节。

Super。假设这个问题的答案是64字节,第二个是40-58字节,因为我们正在谈论现代NIC。非常感谢。接下来的一个问题是,我对您的答案的解释是,如果选项字段无效,我可能会有24字节而不是6字节的实际数据。对吗?不太对。没有任何附加选项的IPv4和TCP报头的大小正好是20字节(或者更恰当地说是八位字节)。我的最终答案中没有包含额外选项字段,您的6个字节是对的。:)知道了。46-20-20等于6。我真傻。再次感谢你!对于结束这个问题的各位。如果我在开发服务器端软件,这与编程有什么关系?TCP/IP处理是软件,就像JSON处理是软件一样。虽然我知道使用web服务器和操作系统的程序员比开发web服务器和操作系统的程序员要多,但这个问题与编写标记标记的东西很相关。如果你想获得高吞吐量,越大越好(大约1400字节)。一次发送或接收的数据越少,帧开销就越高(成比例)。不管你发送的是一个字节还是一千个字节,头的大小都差不多。@cHao-这不是问题所在。每个请求都来自唯一的客户端。我们为2000多万客户提供服务,每月处理数十亿次请求。消息数据只有几个字节。您正在编写设备驱动程序吗?如果不是,则不处理以太网帧,而是处理TCP流或UDP数据报。所以以太网参数是不相关的,它们是由网络堆栈处理的。我不想看到以太网距离使用自定义infiniband硬件处理大量微小消息所能达到的吞吐量有多远(IP不需要,当然也不需要TCP,因为排序对我来说根本不相关)。我想看看我是否能避免外来的硬件。