Subject: IGMP Proxying and CBT/Simple Multicast

From: Christoph Reichert <[email-masked]>
Date: Thu, 1 Mar 2001 17:43:33 +0100

Hi,

I am new to this list and have a few questions:

a) IGMP-Proxying (draft-fenner-igmp-proxy-03.txt) claims to be useful
   only in "certain topologies" (networks with a single border
   router, right ?).
   
   But when the term "root" is replaced with "core", and "upstream
   interface" is replaced with "RPF checked" (towards the core),
   then, in principal, IGMP-Proxying will create a shared tree centered
   around the core.
   
   Why is IGMP-Proxying not used to setup shared trees ?

b) Why is simple multicast scheme (draft-perlman-simple-multicast-03.txt)
   not a great success ? :-)

   To me, it seems to solve all multicast problems at once
   (address allocation, core discovery etc.)

chris

---

From: Radia Perlman - Boston Center for Networking <[email-masked]>
Date: Thu, 1 Mar 2001 16:26:57 -0500 (EST)

Re: Christoph's question "how will anycast be provided in IPv4"

Anycast in v4 conceptually is simple.
It can look like ordinary unicast with a mask of /32, otherwise
known as a "host route". The slightly tricky part is allowing
endnodes to announce such destinations. And possibly security
issues with having someone that isn't providing the service
claim to provide the service. Or filling up router tables with
bogus destinations (which could be done today if routers aren't
using cryptographic integrity checks on their routing messages).
Or some routers that might refuse to store /32's.

As for how you tell whether you're joining a global G or an (R,G),
there are many ways. For instance, the applications that are
setting up personalize chat groups, or conference calls, or
pushing data bits would call an explicit tree, Root-hosted
group, and something that would be advertising a local service
would call a service that uses globally allocated Root-less multicast
(or anycast). If you really want a single API, then you could signal
the dense-mode service by, like you said, using "0" for the Root IP address.

As for how to join an 8-byte group...it can be done with extending IGMP,
or (my preference for various reasons) having the application send
some sort of explicit join message directed to the root R.

The reasons it's nice to do it that way rather than a new version of IGMP:
   a) it's easier to deploy, because it can be done at the application
       layer rather than needing a new version of the OS (and for instance,
       SSL was really easy to deploy because it didn't require changes to
       the OS, whereas IPSec is harder to deploy)
   b) you can automatically create tunnels, so that an endnode can join
       or host a group without needing to have the routers nearby be
       multicast-capable
   c) if the Root/source is participating in the tree creation, it knows
       if there are any listeners. WIth an IGMP-based scheme, if there
       is a high-volume source with no receivers, it will transmit
       unnecessarily on the first hop.
       
Ross Finlayson recently posted
an internet draft discussing automatic tunneling with
a particular format known as UMTP. I think there might be other
proposals as well floating around. It's hard to keep up with everything.

Radia

---

From: Bill Fenner <[email-masked]>
Date: Fri, 2 Mar 2001 08:40:05 -0800

>   Why is IGMP-Proxying not used to setup shared trees ?

IGMP Proxying doesn't use routing to determine where to forward
the membership information; it uses static configuration.  Static
configuration doesn't scale very well, and doesn't allow for redundancy.
Also, with IGMP Proxying, all traffic always flows towards the root,
which leads to e.g.  traffic concentration.

  Bill