Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I am trying a sender and receiver multicast c# program on my computer. How do I check if my router blocks multicasting? i.e whether members of the group receive packets from 224.0.0.1.

share|improve this question
2  
The make and model number are a good start. –  Synetech Mar 9 '12 at 22:08
    
Either refer to the support documentation for your router, or [test it][1]. [1]: serverfault.com/questions/211482/… –  Zoredache Mar 9 '12 at 22:09
1  
Testing it won’t tell you if it is disabled, blocked, or not supported at all. –  Synetech Mar 9 '12 at 22:27
    
@user494461 I'm assuming your application isn't working. Get Wireshark, and make sure your computer gets the packets. I had a similar situation - Wireshark saw my computer getting the packets, but they wouldn't get to my application. The only way I got around this was to disable the Base Filtering Engine service. Do not disable that service on a public network, but you can test it out at home to see if that's the cause. Also, are you sure you want to broadcast to the entire network, and just not your subnet (and instead use something like 192.168.1.255 as the broadcast address)? –  Breakthrough Mar 9 '12 at 23:18
    
@Synetech, kinda depends on how you defined blocked. If you defined blocked as explicitly disallowed via acl/rule, then testing will not help. If you define blocked as simply not functioning, then a test will prove if it works or not. I agree it won't tell you anything about the capabilities of the router though. –  Zoredache Mar 9 '12 at 23:51

1 Answer 1

IPv4 routers are required not to forward multicasts to 224.0.0.1. That's the "all hosts" multicast address. That address is not a routable multicast address. See RFC 3171, "IANA Guidelines for IPv4 Multicast Address Assignments". It is not allowed off the current data-link-layer (layer 2) network. Otherwise, when pinging it, you'd literally be pinging every last IPv4-capable host on the entire Internet, and instantly DDOSing yourself with all the ping replies. :-)

While developing your application, I think you'll probably want to use "Administratively Scoped IP Multicast" addresses (239/8). See RFC 2365. caveat lector: I'm certainly no expert on IPv4 multicast routing.

If you were using layman's terms instead of precise networking jargon, and the networking device you were calling a "router" is actually just an Ethernet bridge/switch and not an IPv4 router, then it would indeed forward it between ports, because that's what Ethernet bridges/switches are required to do. Because at the Ethernet layer, the destination MAC address would have the multicast bit set.

If you're dealing with 802.11 (Wi-Fi) at all, note that 802.11 is a data link layer protocol, basically wireless Ethernet. A device that connects a wireless Ethernet to a wired Ethernet is technically called an "Access Point" or AP. An AP can be a simple link-layer bridge between wired and wireless Ethernet. So some devices that people refer to in layman's terms as a "wireless router" may, depending on how you have it set up, really just be a bridging AP and not a router at all.

But if you have a "wireless router" configured to act as an IPv4 NAT gateway, then it's okay to think of it as a router, because a NAT gateway pretty much does everything a simple IPv4 router would do, plus it employs some higher-layer tricks to make the traffic from the LAN-side, private-subnet hosts look like it's actually coming from the gateway's one WAN-side, publicly-routable IP address. But even if it's a NAT gateway, it shouldn't be forwarding packets for 224.0.0.1 from LAN-to-WAN or WAN-to-LAN.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.