WSocket发UDP包的试验

hayoo 2001-09-16 04:22:24
以下是一组直接用WSocket发UDP包的试验,每个包一发送完毕立即发送下一个包(一次试验中说有的包大小一样),不考虑对方是否收到.这组试验用来测试每秒发包个数与包大小的关系.
结果百思不得其解:

试验 包大小(字节数) 每秒发包个数
1 2000 4961
2 1000 9105
3 500 11135
4 100 13905
5 10 13773
6 1 13654

其中包大小为包的数据大小,不含包头,不考虑网络协议对包的切分.

1.为何包大小在100以内时每秒发包个数几乎与包大小无关?
2.为何包大小在1000以内时每秒发包个数随包大小的增大下降很缓慢?
3.为何包大小在1000以上每秒发包个数迅速下降(这可能与UDP包最大为1514有关)?

尤其是第2个问题,为何下降这么慢???


...全文
183 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hayoo 2001-09-20
  • 打赏
  • 举报
回复
to zb_china:其实,我做此试验的目的就是要测试是否"不足的包会填充到最大长度".请问有相关的资料吗?
tianfang 2001-09-17
  • 打赏
  • 举报
回复
1. 此时的瓶颈是网卡的(10Mbps的吧)吞吐能力,CPU、内存、PCI总线都比网卡快
2. 基本意思同上
3. 以太网的最大帧(包)是1500左右(具体记不住了),超过以后就要发两个帧,所有下降很厉害,你如果在1500左右测试,会找到一个拐点
longchengdong 2001-09-17
  • 打赏
  • 举报
回复
怀疑
jacka 2001-09-17
  • 打赏
  • 举报
回复
我觉得你可能应该在网络状况比较稳定(别的机器不会突发大量数据)的情况下,或者做非常多次试验,看看结果会不会有所不同.
zb_china 2001-09-17
  • 打赏
  • 举报
回复
在最大数据报长度范围内的包花费在网络传输上没有区别,因为不足的包会填充到最大长度。差别在系统上,复制不同长度的数据到系统发送缓冲区所需的时间是不一样的。而且你的测试并不是在同样的系统状态下进行的,建议在每个单独测试时重新启动计算机。
hayoo 2001-09-17
  • 打赏
  • 举报
回复
我很同意tianfang(天放)的观点,不过对回答1稍微修改一下:测试用的网卡是100M的,但测试包大小是以Byte为单位的,所以回答还是对的.
但是问题2不知是什麽看法?
yijn 2001-09-16
  • 打赏
  • 举报
回复
当你的数据包中的数据很小时,你的包头和校验和以及其他的编码并不减少,再说可能在IPV4中存在有优先级别的关系!
snakecobra 2001-09-16
  • 打赏
  • 举报
回复
可能是包头的大小问题吧,在数据较大的情况下,包头大小在传输中就几乎没有影响了,
而数据小的时候,传输的几乎就是包头了,所以就……
hayoo 2001-09-16
  • 打赏
  • 举报
回复
测试一下大包小包对网络的占用,以及了解一下WSocket是否干了一些傻事.
llww 2001-09-16
  • 打赏
  • 举报
回复
干什么的.

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧