[ih] IPv8...

John Day jeanjour at comcast.net
Tue Apr 21 07:58:18 PDT 2026


Let me try to provide some other definitions of multicast and anycast that will either help or confuse things.

First the definition of multicast in the Internet is patterned after multicast in Ethernet. That definition assumes that all stations see all packets, which implies flooding. This is what happens in Ethernet so it is quite natural and works well. However, it isn’t so useful for general networks, where one would like to avoid flooding. Perhaps a better more abstract definition would be:
(I hesitate to call it a multicast *address* even though it is taken from the IP address space because an address is location-dependent and route-independent. That doesn’t really apply to multicast in general.) Hence,

A multicast-identifier is the name of a set of addresses such that when the identifier is resolved all members of the set are returned.

This has an interesting implication for the forwarding table. Normally, a forwarding table maps an IP address to an outgoing interface. If we modify it slightly to be: A forwarding table maps an IP-address (or other identifier from the same space) to a *list* of outgoing interfaces. With this definition, the common use of spanning trees with multicast is quite natural. The spanning tree is computed and at each node, if the packet is to be replicated and sent on different interfaces, there would more than 1 element in the list.  A list of 1 is unicast. Unicast is a degenerate case of multicast or is it the other way around? ;-)

Similarly, anycast can be defined as: an anycast-identifier is the name of a set of addresses with a rule, such that when the rule is evaluated one member of the set is selected and the packet is sent toward that address.

What if the rule returns more than one address? After due consideration, what the heck!  ;-) just generalize the two and call it whatevercast! Just not worry about how many are returned! ;-)

A whatevercast-identifier is the name of a set of addresses and a rule such that when the rule is evaluated, it selects one or more members of the set and sends the packet toward the resulting addresses.

If the rule is all, then it is multicast; if the rule returns 1, then it is anycast; if the rule returns something in between, it is multicast (of a subset of the set.) No big deal.

Now there is an additional consideration. What information does the rule use? 

The kinds of things I have heard talked about are like, ’the nearest’ or ’the least heavily loaded,’ etc. Something like ’nearest’ is something the network knows and can be evaluated by the network. However, something like ‘light load’ is a property of the distributed application. (Think of Amazon treating all of its US servers as a cooperating distributed application exchanging information on load, content position, etc.) This would be a whatevercast set that was defined within the Amazon distributed application. Quite simple. The point of course is that the information used by the rule determines where and what the whatevercast belongs.

All of these definitions apply equally well to application-names. It is just unfortunate that the Internet does not have any concept of an application-name. (If the process starts with sets of application-names, it is quite easy to make the allocation of a multicast/anycast/whatevercast work like allocating an unicast flow. No special cases are required.

Of course, the problem here is that the Internet doesn’t really have an application layer architecture that recognizes distributed applications. The Internet has remained mired in the rudimentary client/server model forced on it by well-known ports. (An ARPANET kludge that should have been made obsolete decades ago. There was an opportunity to seamlessly obsolete it, but the Internet opted for a hack instead that makes it difficult.) 

I should correct that to some extent. Various application groups have constructed their own environments but few really support a comprehensive distributed application infrastructure.

Take care,
John Day

> On Apr 20, 2026, at 14:24, John Kristoff via Internet-history <internet-history at elists.isoc.org> wrote:
> 
> On Sat, 18 Apr 2026 14:02:11 -0600
> Craig Partridge via Internet-history <internet-history at elists.isoc.org>
> wrote:
> 
>> As one of the co-inventors of anycast,
> 
> Is IETF RFC 1546 the first documented use, and I presumably the
> co-authors on that document are the co-inventors?
> 
> Rodney Joffe, once claimed to me, although I may be misrepresenting
> what he said, it was a long time ago, that he was the first to do
> anycast. I don't think he said he invented it, but for awhile that is
> the impression I had.  Later when I talked to Woody about this, he said
> he was the first. My assumption now is that Bill was the first to deploy
> it and Rodney was the first to "commercialize" it (via UltraDNS).
> Unless someone cares to suggest otherwise of course.
> 
> John
> -- 
> Internet-history mailing list
> Internet-history at elists.isoc.org
> https://elists.isoc.org/mailman/listinfo/internet-history
> -
> Unsubscribe: https://app.smartsheet.com/b/form/9b6ef0621638436ab0a9b23cb0668b0b?The%20list%20to%20be%20unsubscribed%20from=Internet-history



More information about the Internet-history mailing list