I've got a basic network with 3 nodes (VM's).
One node publishes an event, the other nodes listen for it and print something when received. It used to work one-on-one (so node gives event to each other node seperately), but I'd like to implement multicasting.
As a quick experiment, I want to do a basic 'broadcast' on the network, but I've been unable to figure out the correct IPv6 address. Using the IPv4 broadcast address works, both nodes print something then So the address of node 1 is: inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fef7:30a7/64 Scope:Link
Node 2: inet addr:192.168.56.102 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe56:a2f7/64 Scope:Link
Node 3: inet addr:192.168.56.103 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe82:ae4a/64 Scope:Link
So IPv6 doesn't have broadcast and instead uses multicast. These multicast addresses always start with ff. Then you've got the flag, which is 0 by default for assigned mlc and 1 for transient. And then the scope. Wanting to do a basic broadcast equivalent, I tried ff01::1 which should reach all nodes and ff01::2 for all routers. But that doesn't work. I've also tried ff02, ff05 and ff0e. I'm misunderstanding something here, what is the correct multicast/broadcast ipv6 address to reach node 2 and node 3 when node 1 publishes an event?
EDIT:
After some experimentation, I've discovered I can't even ping the inet6 addresses, but I can the ipv4 addresses! Any clue whats going on?
Best Answer
The right address to multicast to all nodes on a link is
ff02::1%<interface>
. You probably forgot the interface ID, which is required for link-scoped addresses.For example:
Addresses in
ff01::/16
are for interface-local multicast, which is only really useful to multicast to the local host.References: RFC 4291