Subject: RE: multicast-transition (fwd)

From: Doron Rajwan <[email-masked]>
Date: Fri, 16 Feb 2001 14:45:48 +0200

Hitoshi,

The protocol you are suggesting is a totally new multicast protocol. It is
self-contained, i.e., does not need different join/leave protocol, and can
automatically create tunnels. This protocol uses the "8-byte" notation,
i.e., (S,G).

There was another protocol, with these specifications, called Simple
Multicast. From various reasons it didn't pass the IETF. At this point, I
would say, there is no need for another multicast protocol. We have PIM-SSM
/ IGMPv3, which I think is ready, partially deployed, and will scale well to
the entire Internet. We should, however, fix some problems: tunneling,
reverse-IGMP, and most important -- deploy it, and use it.

For the protocol itself, I think that it has a severe security bug: the
forward tree setup. Other multicast protocols uses the (sub-optimal) reverse
tree setup. With forward tree setup, there can be an attack from the
multicast transmitter; it can send join packets to everyone in the Internet,
and cause a flood. Any forward tree setup is subject to this attack. These
protocols will work only if you PAY per receiver; in this case, I am not
sure that we need multicast at all.

Doron.

-----Original Message-----
From: Hitoshi Asaeda [mailto:[email-masked]]
Sent: Friday, February 09, 2001 2:07 PM
To: [email-masked]
Cc: [email-masked]
Subject: RE: multicast-transition (fwd)

It must be too early to tell my detail design, though.

I've been doing my research around this topic, to implement SSM very
easily. My idea just uses modified IGMP and may not require multicast
routing protocol.

Protocol changes are;
	o. Modified IGMP defines new three IGMP types, IGMP Reply,
	   IGMP Ack, and IGMP Data.
	o. Modified IGMP can be sent as a unicast packet.

e.g., as for receiver's join, followings are basic deals;
	o. Receiver just sends IGMP Report(Join) to an interesting
	   sender by unicast.
	o. Sender tries to send IGMP Reply back toward the receiver
	   after receiving IGMP Report(Join).
	o. A new-IGMP-capable-intermediate router located between
	   sender and receiver steals this IGMP Reply and sends IGMP
	   Ack back to the source address of the Reply packet.
	o. Above intermediate router creates (S,G) state which
	   consists of iif, oif list, and destination list.
	   (oif is given by unicast routing table, or MRIB if you want 
	    to use additional multicast routing protocol.)
	o. Above intermediate router sends IGMP Reply toward the
	   receiver continuously.
	o. After sender receives IGMP Ack, he sends IGMP Data which
	   encapsulates IGMP header and UDP data to Ack sender.
	o. Destination address of IGMP Data can be changed according
	   to the next destination (i.e. neighbor node to forward
	   Data). The destination is Ack sender if the neighbor is not
	   on a same LAN, and it is G if the neighbor is on a same LAN.
	o. ...

My proposal has several important points.
1. It doesn't require any multicast routing protocol. Only supporting
   new IGMP by sender and receiver is required.
2. If there is no intermediate router which supports new IGMP within a 
   sender and receiver path, it looks like sender sends unicast packet 
   whose protocol type (ip->ip_p) is IGMP (#2). So, it must be so easy
   to deploy.
3. Because only unicast route is used and data path is created from
   the sender toward each receiver, it is very scalable and
   bi-directional.
4. Not so difficult to implement. (I believe so.)
5. It is easy to implement on IPv6, too. (Specific needs.)
6. It doesn't require some tunneling mechanism. It requires simple
   encapsulation technique. (You may say I use tunneling but I don't
   like to say "tunnel", because, to me, tunnel just gives an image to
   make some stateful or keep track of the connection, anyway.:)

Of course, there are some immature/unsolved points.
1. Interoperability between current multicast routing protocol.
2. Scalable timer management.
3. Security.:)
... and so on.

Any comments, even objection, would be welcome.
--
Hitoshi Asaeda

---

From: Hitoshi Asaeda <[email-masked]>
Date: Mon, 19 Feb 2001 10:21:08 +0900 (JST)

Doron,

Thank you for reply.

> automatically create tunnels. This protocol uses the "8-byte" notation,

It may be seen it's a new. And your guess seems right.
But even you feel it's new, it'd be good for us if it'll be deployed,
wouldn't it?

> Multicast. From various reasons it didn't pass the IETF. At this point, I

I'm not familier with the spec of Simple Multicast, but I know it.
If my idea is similar to Simple Multicast, that should be called
"Simple Multicast-SSM"? :)
Anyway, I'll check the detail spec.

> / IGMPv3, which I think is ready, partially deployed, and will scale well to

partially deployed, yes. scale well is yes?
To scale well, MSDP was proposed, as you know, even MSDP itself may not 
be scalable.
But, we should not start PIM/MSDP's scalability issue here.

> reverse-IGMP, and most important -- deploy it, and use it.

Totally agree.

> and cause a flood. Any forward tree setup is subject to this attack. These

Yes, that's right. So, I wrote "there are some immature/unsolved
points, and one is security.".

> sure that we need multicast at all.

I don't make an objection for your idea and my idea, mine is not
finished. But, I for one wish multicast is easiliy deployed step by
step.

Thank you.
--
Hitoshi Asaeda