官方淘宝店 易迪拓培训 旧站入口
首页 > 无线通信 > 通信技术学习讨论 > 大家有没有发现无线网络中多播的丢包率很高

大家有没有发现无线网络中多播的丢包率很高

12-16
在linux下用vlc在若干笔记本组成的无线网络中做视频传输实验
如果用单播(unicast)的udp,效果很好,很流畅
但如过用多播(Multicast)的udp,效果就很差,接收的图像上有很多方块,根本看不清图像
换成rtp也没有好转
谁知道为什么这种广播传输,丢包率就这么高?
怎么解决呢?怎么能让广播包和单播包“一视同仁”阿?
3x!bow//

应当确定哪个环节丢包显著增加。
如果是接收端以太网芯片收到了但是丢弃了一部分,那么查看下它的控制工作方式,应该不难搞定的。

和组播包的重传有关?

udp应该没有重传吧?偶弱。。。。

组播协议要考虑重传吧
只看过相关paper,没看过相关协议代码,瞎猜的

能不能说详细一点儿,比如说路由协议是啥?网络拓扑如何?

ad hoc网络?通过802.11互联?

没什么路由协议,就是两台thinkpad,其中一个笔记本用webcam采集视频,然后传给另一台显示。
可以说是ad-hoc吧,因为两个本连在一个ap上,在同一个子网里,一跳就可以传到。

是用802.11b协议

不清楚利用Multicast的UDP是咋实现的,是不是用了MAC层的广播包
如果是,有一个可能的理由
实验的链路质量较差,或者有其它局域网干扰,MAC层有一定的误帧率。这时,广播包在MAC层没有ACK,而单播包在MAC层有ACK,可以重传几次,直至超时。传输层用UDP是没有反馈的,但是考虑到底下的MAC层,还是有的。
.66

802.11中的多播/广播数据在MAC层上是没有重传的,单播有ACK。所以组播的数据包丢失
会比较严重。本身IP组播和UDP单播都没有重传,应该和IP层、传输层没有关系。
还有一种可能性就是,现在的无线路由器应该都用类似IGMP snooping的机制在2层上做
组播,IGMP snooping给处理器带来比较大的压力,尤其是组播的视频码率比较高的原因

我们以前在netgear的无线路由器上弄组播的时候(高码率),经常AP就无反映了。

要是这样的话,这个问题岂不是无解了?
那现有无线视频广播都是怎么搞定的呢?

ms有可能是第一种情况,因为当两个机器同时接收的广播包时,往往会丢失同样的包
对了,一般丢包会有多严重,我的有百分之十几甚至二十的丢包率 :(

在应用层看来的丢包可能是链路误码或者是丢包。可以先用一些网络测量工具,如iper
f测一下udp传输下的丢包率看看有多大?
如果想测误码率就比较难了。用madwifi驱动可以,要让驱动不过滤那些crc校验错误的
数据包,然后根据mac地址来分析。
20%的丢包率很高了把。一般没有那么夸张啊。

你说的那个可能性应该是不存在的
如果这个ap起了多个ssid,不开启igmp snooping的话,会是马赛克的,其实2个ssid就这
样了
而开启igmp snooping之后,播放会很流畅

多播的mac层应该是用广播包,这个是没有ARQ的吧。

跟踪这个系列有一阵子了,越看越胡涂。lz原来说若干笔记本,这样组播还说得过去。
现在怎么样变成两台了,两台笔记本为啥要组播?另外没弄懂到底是ad-hoc还是infras
tructure。如果是前者,AP就没啥用了。如果是后者,即便是同一子网,也得两跳(经
AP接力)。接下来几位指出的问题多是协议参数,但是这些参数应该跟拓扑很有关系的
,所以偶一直想搞清楚拓扑...

事情是这样子滴
我用的笔记本可能是因为驱动问题,不能设成ad-hoc模式,所以几台笔记本都连到一个无线路由器上,但因为都处在一个网段,比如都处在192.168.1.0这个网段上,那么两台笔记本是可以直接连接的,比如IP为192.168.1.5的本本就可以一跳到达IP为192.168.1.6的本本。
实验设计的是1台本本发送,n(n>=1)台接收,中间没有任何中继,就是简单的1对多无线组播。不过为了简单起见,在调试的时候我就只用一台来接收了

可是按说我这种传输是在子网内一跳就能完成的,不会经过无线路由器转发阿

11e中才定义了direct link吧
我觉得现在能用到的多数网卡还是需要两跳的,sta1-ap-sta2,即使sta1和sta2在一个
网段
我现在不确定的是,AP向各STA发送组播报文时,STA还回应ACK么

我也不知道哦。。。不过看前面的大大的回复,似乎广播情况下mac层是不回复ACK的。
有什么工具可以检测ACK 吗?

兄台有所不懂,一个是重传最多7次,一个根本不重传,
怎么能是“一视同仁” 呢?

Top