当前位置:  开发笔记 > 程序员 > 正文

包头的IP包帧有多大?

如何解决《包头的IP包帧有多大?》经验,为你挑选了1个好方法。

一点背景.

我正在编写一个使用UDP的应用程序.该应用程序将在LAN(而不是互联网)上运行.我一直在假设如果我的MTU是1500,那么UDP有效载荷有多大,但我不确定UDP头是否也适合它.

我怀疑如果我发送一个带有1500字节有效载荷的UDP数据包,并且机器MTU是1500字节,它最终会发送两个数据包吗?

在网上搜索一个明确的答案似乎比应该更难,我看到了相互矛盾的信息.



1> nos..:
------------------------------------------------------------------------------
|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标头.

您和目的地之间的某些路由器可能会添加更多层.

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有