空UDP数据报的大小是多少?那是一个空的TCP数据包?
我只能找到有关MTU的信息,但我想知道这些信息的“基本”大小是多少,以便估算协议的带宽消耗。
答案 0 :(得分:74)
<强> TCP:强>
以太网帧的大小 - 24字节
IPv4标头的大小(没有任何选项) - 20个字节
TCP标头的大小(没有任何选项) - 20字节
携带具有空TCP段的IP数据包的以太网帧的总大小 - 24 + 20 + 20 = 64字节
<强> UDP:强>
以太网帧的大小 - 24字节
IPv4标头的大小(没有任何选项) - 20个字节
UDP标头的大小 - 8个字节
携带具有空UDP数据报的IP数据包的以太网帧的总大小 - 24 + 20 + 8 = 52字节
答案 1 :(得分:17)
Himanshus的回答是完全正确的。
在查看以太网帧的结构时可能会产生误导[请参阅进一步阅读],如果没有有效负载,以太网帧的最小大小将为18个字节:Dst Mac(6)+ Src Mac(6)+长度(2)+ Fcs(4),添加IPv4(20)和TCP(20)的最小大小总共为58个字节。
还没有提到的是,以太网帧的最小有效载荷是46字节,因此IPv4和TCP的20 + 20字节的有效载荷不够!这意味着必须填充6个字节,即总共64个字节的来源。
18(最小以太网&#34;标题&#34;字段)+ 6(填充)+ 20(IPv4)+ 20(TCP)= 64字节
希望这可以解决一些问题。
进一步阅读:
答案 2 :(得分:8)
答案 3 :(得分:1)
Artelius和halfdan是正确的,但你遗漏了一些东西:UDP和TCP都运行在一些物理传输之上。 例如,如果您使用UDP over ethernet,则还应包括ethernet frame
的大小答案 4 :(得分:0)
如果您打算计算带宽消耗并将其与网络的最大速率相关联(例如1Gb / s或10Gb / s),则必须按照Useless的说明添加Ethernet framing overhead at layer 1到费利克斯和其他人计算的数字,即
即。每个数据包总共消耗20个字节。