当前位置:  开发笔记 > 运维 > 正文

SMP系统中的Linux内核是否保证从顺序网络到达的UDP数据包将按顺序从套接字中读取?

如何解决《SMP系统中的Linux内核是否保证从顺序网络到达的UDP数据包将按顺序从套接字中读取?》经验,为你挑选了1个好方法。

在我正在开发的项目中,当我们从网络读取UDP流时,我们在SMP系统的某些情况下会看到无序问题.我们可以看到它通过嗅探发送器和接收器之间连接的集线器从网络到达.但是,有时从套接字读取时似乎无法到达.在这种情况下是否可以保证UDP数据包,或者应用程序是否应该实现重新排序缓冲区?我们没有在这里设置CPU亲和力,我怀疑这可能有所帮助,但理想情况下我希望所有CPU/hw线程处理网络流量.



1> 小智..:

UDP不保证任何订购.这是应用程序的责任.事实上,它甚至不保证数据包不会重复/丢弃等.我建议您阅读:http://en.wikipedia.org/wiki/User_Datagram_Protocol

内核做出任何此类保证是没有意义的,特别是如果传入的数据包本身可能出现故障,因为内核可以(合理地)期望应用程序将处理它,如果应用程序需要排序.

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