I'm interested in high capacity broadcast/multicast from a wired ethernet connection, through a router, (currently testing with a Linksys WRT54GL with factory firmware) to multiple computers on the WiFi network for the purpose of sending a single real time data stream to multiple wireless clients at the same time. As a test, I'm blasting out UDP packets to the broadcast address (192.168.1.255, port 11000) and the throughput is less than 3Mbit/s. It doesn't seem to matter how many clients are listening for the broadcast. It acted the same with one client and three clients. The throughput also is very similar when I try different packet sizes and different beacon intervals. The first set of packets seem to arrive, and then after a while the percentage of packets getting though drops way down, so it seems like the router getting backed up due to a buffer limitation and then dropping packets since it's not sending them out as fast as the wired connection is trying to push them.
If I send to a particular IP address instead of the broadcast address, I can get around 30Mbit/s with hardly any dropped packets which is what I would expect from an 802.11g router. This unicast method won't work for the application though since the total bandwidth to send the same stream to multiple clients would exceed the router's capacity. I've been reading the 802.11 standard trying to see if there is a limited amount of broadcast traffic that will be sent out per DTIM period, or if there is some other reason it would be going slower. From what I've seen so far, it seems like broadcast traffic should have the same or greater throughput since it doesn't use RTS/CTS or require ACK returns.
With one of the client laptop computers, I did see a difference in percent of broadcast messages received depending on whether it was plugged in or not, so I assume it was going into a very low power mode and missing some of the DTIM beacons when unplugged. This experience makes me unsure whether I'm dealing with a router issue or issues on the clients or both, but I'm more suspicious of the router since the first burst of packets seems to get through just fine.
Can anyone help explain this huge throughput disparity or give a good reference for this type of multicast application? Thanks.
The reason could be the rate difference. In broadcast the transmission rate is set to the basic rate, just like beacons, acks are sent at the basic rate. In unicast, the rate adaptation is applied to allow much higher transmission rate. You can check that by looking at the rate field in the MAC header in wireshark.