What happens when the Globomantics client is finished receiving multicasts
from one of the Wired Brain Coffee company's groups?
MLDv1 uses the done message to signal this,
which is equivalent to the IGMPv2 leave message.
The done message is sourced from the client's link local address,
which is true for all MLD messages.
The destination is ff02::2,
which is the all multicast routers IPv6 link local multicast address.
Like IGMPv2,
this ensures all multicast routers understand that the
client wants to leave this particular group.
The done message uses type 132 code 0,
again differentiating from queries that use type 130
and reports that use type 131.
Like the report message, the max response time is set to 0,
as it has no meaningful use in a done message.
The most important piece of this message is the multicast address buried inside.
We see ff08::1,
which is the group that we removed from the client's
configuration to generate the done message.
This message could introduce a problem for other clients, though.
What happens if other Globomantics clients on the same LAN segment
still want to receive multicast for ff08::1?
How does the router know how to continue or stop sending multicast?
Like IGMPv2,
the concept of a group-specific query can be used to test
for interest in a particular group.
The source address of this packet is the router on the segment,
just like the general query message.
The destination is ff08::1,
which creates a targeted query that will only be processed by
clients that previously joined this group.
This ensures that listeners who were never interested in
this group can simply ignore the message.
The packet type is 130 code 0, just like a regular query,
since at a packet level there are no structural or functional
differences between general and group-specific queries.
Only the data fields change.
The max response time is much shorter now, down to 1000 ms or 1 s.
This means that clients must quickly answer with an affirmative reply,
or else the router will stop sending multicast onto the segment.
As expected,
the multicast address being queried is also carried deep within the packet,
so that any receivers can process the message and reply if they still want to receive traffic on that group.