免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5635 | 回复: 7
打印 上一主题 下一主题

关于收包乱序的问题求教了,在线等 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-03-05 09:39 |只看该作者 |倒序浏览
我最近写了个小程序A->B按顺序发UDP包,A主机和B主机采用网线对连的方式,当速度发送较快(10000个包/秒)的时候会出现乱序(即会出现B先收到序号为100的包后再收到序号为95的包)。
我在网上查找资料发现有人这样回复“数据量太大的时候,在网卡驱动的小队列(比如先进后出,4个数据包)里停留一下,就可以乱序了”。因为对网卡驱动层完全不了解,不知哪位大侠能帮分析一下是否这个原因。多谢了

论坛徽章:
0
2 [报告]
发表于 2011-03-05 11:41 |只看该作者
UDP本来就是不可靠的,丢包,乱序等等。如果想可靠就用TCP。用UDP的话你的程序必须要处理丢包,乱序等等的问题

论坛徽章:
0
3 [报告]
发表于 2011-03-05 12:17 |只看该作者
我知道UDP是不可靠的,但在非常理想的网络情况下我认为至少不应该出现乱序,不知道我的这种认为是否正确?

论坛徽章:
0
4 [报告]
发表于 2011-03-05 12:23 |只看该作者
楼主所指的乱序是发送序列的乱序还是分片的乱序?
貌似UDP层也不存在顺序一说吧?非分片的情况下除非你UDP承载的上层协议有顺序还差不多。

论坛徽章:
0
5 [报告]
发表于 2011-03-05 12:27 |只看该作者
发送序列的乱序,因为是小数据包,不存在分片

论坛徽章:
0
6 [报告]
发表于 2011-03-05 12:40 |只看该作者
非分片的UDP数据包承载什么协议需要考虑乱序问题?这个应该由UDP承载的该协议自己来处理乱序问题。

论坛徽章:
0
7 [报告]
发表于 2011-03-05 12:49 |只看该作者
回复 6# 满天星


    就是用c开发的socket udp小程序,上面没有承载什么协议了。

论坛徽章:
0
8 [报告]
发表于 2011-03-05 13:17 |只看该作者
网络发送数据不是简单的fifo队列
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP