一点背景.
我正在编写一个使用UDP的应用程序.该应用程序将在LAN(而不是互联网)上运行.我一直在假设如果我的MTU是1500,那么UDP有效载荷有多大,但我不确定UDP头是否也适合它.
我怀疑如果我发送一个带有1500字节有效载荷的UDP数据包,并且机器MTU是1500字节,它最终会发送两个数据包吗?
在网上搜索一个明确的答案似乎比应该更难,我看到了相互矛盾的信息.
------------------------------------------------------------------------------ |Ethernet | IPv4 |UDP | Data |Ethernet checksum| ------------------------------------------------------------------------------ 14 bytes 20 bytes 8 bytes x bytes 4 bytes \ (w/o options) / \___________________________________________/ | MTU
如果您的MTU为1500,则您的数据有1500-20-8 = 1472字节.
如果超过该数据包,数据包将被分段,即分成更多数据包.
可能涉及更多层,例如,如果您位于vlan以太网之上,则为4字节vlan标头.
您和目的地之间的某些路由器可能会添加更多层.