原始套接字的数据包碎片

2023-12-03

如果我使用原始套接字发送大小为 3000 字节的 UDP 数据包,我是否需要在代码中自己处理数据包碎片,或者原始套接字是否应该像 DGRAM 套接字一样处理碎片?


好吧,如果您使用 UDP,那么您并不是真正发送 RAW。 RAW 根本就没有 IP,在这种情况下,你必须自己处理碎片。

通过 UDP,您可以获得 IP 的分段支持,恕我直言,这对于冲突应该最小化的短程网络来说已经足够好了。将两个系统之间的链路设为专用子网,这根本就不是问题。

TCP 相对于 UDP(除其他外)给你带来的好处是,如果某个片段丢失或以某种方式被淹没,堆栈只需重新发送一个片段即可。对于 UDP,如果发生这种情况,则必须丢弃整个消息。不过,这会带来开销,对于大多数现代网络来说,您可能可以接受这种权衡。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

原始套接字的数据包碎片 的相关文章

随机推荐