gpt4 book ai didi

networking - 如何找到我可以在不分段的情况下发送的最大 UDP 数据包?

转载 作者:可可西里 更新时间:2023-11-01 02:28:41 25 4
gpt4 key购买 nike

我需要知道在没有分段的情况下我可以发送到另一台计算机的最大 UDP 数据包是多少。

此大小通常称为 MTU(最大传输单元)。据推测,在两台计算机之间,将有许多可能具有不同 MTU 的路由器和调制解调器。

我读到 Windows 中的 TCP 实现会自动找到路径中的最大 MTU。

我也在试验,我发现从我的电脑到服务器的最大 MTU 是 57712 字节+header。高于此的任何东西都被丢弃了。我的计算机在 LAN 上,MTU 不是应该在 1500 字节左右吗?

最佳答案

以下内容并未直接回答您的问题,但您可能会觉得它很有趣;它说 IP 数据包可以被分解/重组,因此大于底层媒体的限制(例如 1500 字节以太网):Resolve IP Fragmentation, MTU, MSS, and PMTUD Issues with GRE and IPSEC


有关此主题的更多信息:

我不知道如何在 Windows 上通过 API 生成 ICMP:曾经有人提出过这样的 API,但引起了争议,因为人们争辩说,通过生成这样的 API 可以轻松编写实现拒绝服务功能的软件大量 ICMP 消息。

不,它看起来实现的:例如参见Winsock Programmer's FAQ Examples: Ping: Raw Sockets Method .

因此,要发现 MTU,请生成带有“不分段”标志的 ping 数据包。

也许有比这更简单的 API,我不知道;但我希望我已经让您了解了底层协议(protocol)[s]。

关于networking - 如何找到我可以在不分段的情况下发送的最大 UDP 数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/900697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com