繁体   English   中英

本地主机上的多播数据包顺序

[英]multicast packet order on localhost

由于多播数据包通常基于udp,因此不可靠

在本地主机上,我会假设一个数据包只是从一个进程的缓冲区复制到另一个进程,因此按发送方发送的顺序将其排在队列中,对吗?

我不确定的是:

  1. 我可以假定本地主机上用于多播(或udp)的包顺序正确吗? 如果没有,为什么呢?
  2. 不同的操作系统处理(win,mac,linux)有什么具体区别?

谢谢

我是否可以在本地普遍采用正确的软件包顺序来进行多播(或udp)? 如果没有,为什么?

不,因为未对数据包进行分类。 另外,您可能已经知道,无法保证环回连接将使UDP保持顺序。

不同操作系统处理(win,mac,linux)的具体区别是什么?

协议没有什么区别(请参阅RFC ),但具体细节很可能取决于平台(和版本),而且我敢肯定没有人会立刻了解它们(无论如何都是近源的)。 这是最有可能无法保证有序性的另一个原因。 即使您确实对此进行了测试并且数据包按顺序排列,在环回连接中依赖UDP数据包的顺序之类的东西也是一个非常糟糕的主意(tm)。

另外 :关于UDP是“不可靠的”的说法虽然正确,但可能会引起误解。 许多具有安全意识的软件都可以通过UDP运行,并且通常只丢弃一小部分数据包。 有了适当的应急措施,如果使用UDP(为了性能起见,可以说)和丢包,则不应破坏某个软件。 但是,如果您对此感到担心,为什么不使用TCP?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM