Subject: mboned: PIM-DM and reliance on data plane etc.

From: Pekka Savola <[email-masked]>
Date: Mon, 26 Jun 2006 12:57:46 +0300 (EEST)

Hi,

Spencer Dawkins's cross-area review brought up an unclear issue with 
original contributed text (added in personal submission -01) on why 
PIM-DM never really got popular (reliance [on] data plene and 
potential for loops).

What does "reliance on data plane" mean, really?  Could someone with 
more knowledge of PIM-DM and its history shed the light to this (or 
maybe even suggest text :) ?

Another Spencer's comment was that we should really try to put more 
history (especially "because.." and "why not?") here.  Offers of help 
from our esteemed multicast veterans are welcome...

The comment was:
====8<=====
   PIM-DM never really got popular due to its reliance of data plane and

Spencer - "never really became popular due to its reliance on data 
plane" (and I'm still not quite sure what the
last bit means)

   potential for loops, and the over-reliance of the complex Assert
   mechanism.  Further, it was a non-starter with high-bandwidth
   streams.

Spencer - again, you don't have to add anything, but if you could say 
"streams, because ...", that might be
helpful.
====8<======

The text now is:
===8<=====
    PIM-DM never became popular due to its reliance on data plane and
    potential for loops, and the over-reliance of the complex Assert
    mechanism.  Further, it was a non-starter with high-bandwidth streams
    due to its flooding paradigm.
===8<=====

-- 
Pekka Savola                 "You each name yourselves king, yet the
Netcore Oy                    kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings
_______________________________________________________________
user interface: http://darkwing.uoregon.edu/~llynch/mboned.html
web archive:  http://darkwing.uoregon.edu/~llynch/mboned/

---

From: Toerless Eckert <[email-masked]>
Date: Mon, 26 Jun 2006 08:35:03 -0700

What text are you referring from ?

Reliance on data-plane likely means what we would call data-triggered
events that PIM-DM depends on, hop by hop and ongoing. Aka: The impact
of packets arriving on a router onto the state-machinery of the router.
There's also a lot of other downsides, like keeping router state for
every tre in every router throughout the network, blackholing under 
router failover on redundant access-networks, worse pruning than DVMRP
due to missing parent relationship and so on. Not sure if i remember this
stuff all correctly. That was the last millenium.

One has to be careful though to argue why PIM-DM was not successfull.
The technical arguments are i think just a small piece of that equation.
I would argue that the timing and the policies of the vendors where
even more important. I can easily see how many more people would still
use PIM-DM, if not DVMRP if it was not for one vendor in particular
to strongly promote PIM-SM over the alternatives into its customer space
includind clear preferences in the implementation.

Earned that vendor the title "Killer of the MBone". Of course,
that preference was technically validated, but it was also highly
necessary, because in the formative years of ip multicast, the most
publically voiced requirements (has to run on an Ultrasparc 1, needs to
support tunnels, ...) where really worlds apart from the requirements we
see as the primary drivers in todays commercial deployments (resiliency
and scalability).

So yes, writing down history would be nice, but trying to argue history
with just some technical details isn't going to cut it. And obviously you
want to have someone independent collecting and evaluating statements 
made by people who where involved. "Looking for a history student in need
of a grad topic" ;-)).

Cheers
    Toerless

---

From: John Zwiebel <[email-masked]>
Date: Mon, 26 Jun 2006 12:19:13 -0700

Pekka, in case what Toerless is saying isn't clear...

The history of multicast included a lot of theory.  There were suppose
to be "dense" and "sparse" groups, where dense meant that almost  
everyone would
almost always listen to the sources -- ie, in most enterprises, there  
was suppose
to be at least one listener on every LAN.  Turns out this wasn't true.

Sparse, there was suppose to be just a few listeners or there would be
many LANs that did not have listeners.  This turned out to be true.

But, IMHO, everyone was overly concerned with backward compatibility.
(For example, the proposal that MSDP had to encapsulate the first
data packet throughout the entire Internet so that no data would ever
be lost.  I don't know what we were smoking.)

and so "theory" got in the way of being "practical".

IMHO, the idea that group members would only join the group and would
listen to whatever host was out there (ie IGMPv1/2) was a huge mistake.
It lead to pursuing Dense-mode first (although one shouldn't forget that
being Dense is a lot easier than being Smart.)

When EXPRESS was demonstrated, I (for one) couldn't see the advantages.
I had drunk the Kool-ade and thought we had to support both dense and
sparse groups PLUS, I totally missed the idea that the receiver could
specify which source it was interested in.

After all these years of trying to fix the 'data-plane-dependent' bugs
(PIM registers, asserts, dense-mode forwarding) which were easy to do
when routers were based on a single CPU but very difficult to do when
'hardware forwarding' was introduced.  I clearly understand that the
best way to implement multicast forwarding is to have the host specify
to the network the source(s) it is interested in listening to and having
the network set up the routing -before- the first data packet is sent.

IMHO, until we move away from the old Deering model (the network has
to "handle it" no matter what) multicast is going to continue to  
languish.
And sooner or later, something else is going to come around to  
replace it.
(Whether that something is better or not doesn't matter.  I'm  
thinking of
the ATM fiasco.  How much effort was wasted in getting that off the  
ground?)

On Jun 26, 2006, at 8:35 AM, Toerless Eckert wrote:

>> streams

---

From: Pekka Savola <[email-masked]>
Date: Fri, 30 Jun 2006 11:53:36 +0300 (EEST)

> What text are you referring from ?

This one:

    PIM-DM never became popular due to its reliance on data plane and
    potential for loops, and the over-reliance of the complex Assert
    mechanism.  Further, it was a non-starter with high-bandwidth
    streams due to its flooding paradigm.

> stuff all correctly. That was the last millenium.

Sure. But PIM-SM also includes data-driven events (e.g., register 
messages), so my question would be, how is PIM-DM worse than PIM-SM 
wrt data plane reliance?

Based on these and John Z.'s comments, my working version now reads:

                 <t>PIM-DM was used as a first step in transitioning 
away from DVMRP.  It also became apparent that most networks would not 
have receivers for most groups, and to avoid the bandwidth and state 
overhead, the flooding paradigm was abandoned.  Replaced PIM-DM with 
PIM-SM was easy as PIM-SM was designed to use compatible packet 
formats. PIM-DM is no longer in widespread use.</t>

Is that accurate?  Suggestions for changes?

---

From: John Zwiebel <[email-masked]>
Date: Fri, 30 Jun 2006 06:31:39 -0700

On Jun 30, 2006, at 1:53 AM, Pekka Savola wrote:

> away from DVMRP.  It also became apparent that most networks would  
> not have receivers for most groups, and to avoid the bandwidth and  
> state overhead, the flooding paradigm was abandoned.  Replaced PIM- 
> DM with PIM-SM was easy as PIM-SM was designed to use compatible  
> packet formats. PIM-DM is no longer in widespread use.</t>

s/Replacing/Replaced
It would be nice if you could suggest where it was being used.
But I think that's a secret. ;-)

> Is that accurate?  Suggestions for changes?

It doesn't quite suggest that DM and SM existed in parallel for a  
fairly long
time.  In fact, sparseness or denseness used to be a choice made by  
each interface
that the mpacket went through.  It didn't take too long to correct  
that idea
maybe 18 months.  But it wasn't until 2000 or maybe later that we  
started
dissing dense-mode.

Perhaps its the word "abandoned" that gives it the wrong flavor.  No one
wants to abandon a child.  :-)

And DM wasn't 'replaced' since it was developed in parallel with SM.

Now, If we could abandon both DM and SM leaving just SSM and bidir,  
that would
be a "good thing".

Just more info for you to digest. I guess I don't have anything  
really constructive to say.