Subject: [magma] IGMP-MLD-Proxying Draft Comments No.1

From: Karen Kimball <[email-masked]>
Date: Sun, 9 Mar 2003 09:57:15 -0800 (PST)

Comments on    IGMP/MLD-based Multicast Forwarding ("IGMP/MLD Proxying")

This first set of comments will deal with problems in the forwarding behaviors
described by the protocol.

Section 3. Abstract protocol definition   describes the forwarding behaviors
for the IGMP/MLD Proxy device. However, I can think of network setups-- in
a tree structure as prescribed-- where this will not work. Given the following,
where the Proxy Querier A is the "Root" device,

                      < Larger LAN >         upstream
                            |                  ^
                            |                  |
                      Proxy A (Querier)      [ROOT]
                     /      |          \
                    /       |           \
                   /        |            \
             Proxy B    Proxy C           Proxy E
            /   \      /       \         /    |   \
           /     \    /     Proxy D     /     |    \
      Host1   Host2  Host3   /    \   Host6  Host7  Host8
                            /      \
                        Host4    Host5

if Proxy B receives a packet from Host1, it will forward the packet ONLY 
upstream to Proxy A. Proxy A will forward the packet down to all of its members.

But what if Host2 needed to receive the packet as well? Proxy B can't forward
the packet because Proxy B is not the Querier (and can't forward downstream).
Proxy A cannot forward the packet to HOst2 because the packet was received on
the interface from Proxy B, and the algorithm doesn't allow re-sending the 
packet down the received interface.

If Proxy B is NOT a Proxy device, but is instead an IGMP router or an 
IGMP-snooping-switch, it would forward this packet appropriately to its local
members.

The Abstract protocol definition doesn't specify or recommend this, however. 
The wording of Section 2.5, "each proxy device," implies that there may be more 
than one proxy device (where obviously, only one of them can be the Querier).

Here is another example, with a non-Root Proxy Querier:

                      < Larger LAN >         upstream
                            |                  ^
                            |                  |
                        Proxy A              [ROOT]
                     /      |   \
                    /       |    *-------
                   /    (Querier)        \
             Proxy B    Proxy C           Proxy E
            /   \      /       \         /    |   \
           /     \    /     Proxy D     /     |    \
      Host1   Host2  Host3   /    \   Host6  Host7  Host8
                            /      \
                        Host4    Host5

Similarly to the example above, if Host 4 sends a packet that Host5 also
needs, Proxy D is not allowed to forward it locally to Host5 (because Proxy D
isn't the Querier) and Proxy C isn't allowed to forward it back down the
Proxy D interface. Host5 will not receive the packet.

I believe some additional considerations are needed for this protocol behavior.

I.    Should there be a requirement that the Root always be the Forwarding 
      Proxy and also always be the Querier? 

II.   Should there be an additional change in the behavior for the Proxies to 
      ALSO forward multicasts according to the IGMP protocol (forward as for 
      the Proxy protocol IN ADDITION to forwarding as for the IGMP Protocol)? 

III.  Or should there instead be a requirement that each Root Subtree include 
      only ONE Proxy device, and that all other devices "downstream" in the 
      tree can be IGMP-supporting but should not be Proxy devices?

IV.   I believe that Section 3.2 Supporting Senders   should explicitly also 
      state that all multicast traffic must also be forwarded toward the 
      Querier (as is always the case for IGMP). This becomes a non-issue if 
      consideration II. is chosen.

I will send additional comments in separate emails.

Best Regards,

        Karen Kimball
        [email-masked]

_______________________________________________
magma mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/magma

---

From: Haixiang He <[email-masked]>
Date: Sun, 09 Mar 2003 15:48:32 -0500

> where the Proxy Querier A is the "Root" device,

If device B is a Proxy device as indicated in your figure, it should perform
IGMP/MLD host portion on link B-A. It also should perform IGMP/MLD router portion on
links B-Host1 and B-Host2. Then B is the Querier on both downstream links since B is
the only  Querier on those links as described in the your figure. So I don't see
there is a problem for Host2 to receive packets.

> than one proxy device (where obviously, only one of them can be the Querier).

I think you may be confused. As in your figure above, there are more than one proxy
devices. However, the draft does not limit ONLY one of them can be the Querier if
they are not on the same link.

Regards,

Haixiang

---

From: Haixiang He <[email-masked]>
Date: Sun, 09 Mar 2003 15:48:32 -0500

Regards,

Haixiang

---

From: Karen Kimball <[email-masked]>
Date: Fri, 14 Mar 2003 20:04:52 -0800 (PST)

Hello, Haixiang,

I see the source of our misunderstanding in my diagram below.

You are assuming that each link is (apparently?) a diferent subnet,
as would be the case for a router.

I am assuming that all of these Proxy Devices and links are on the
SAME subnet, as for switches. It is common for customers to use
multiple switches on the same subnet to aggregate users.

Your document does not require that the Proxy Device be a router, and
indeed I can't see why it should be. There is no reason that a switch
could not implement this function.

With that in mind...

> there is a problem for Host2 to receive packets.

Proxy B is not the Querier, because all of the devices are on the same
subnet.

When you say "link," do you mean subnet? I assume that you do. Because
if not, B definitely could not be the Querier for B-Host1 and B-Host2.
Proxy A is already the Querier. Hence, B cannot forward packets to
Host 2 (the forwarding rules say only to forward downstream when one
is the Querier).

What I'm asking for is additional clarification in the document.

If there should be only 1 Proxy per subnet, could the document please
state that? This isn't what it says now.

If there can be more than 1 Proxy per subnet, should the non-Querier
Proxies forward according to the intersection of the Proxy behavior
AND IGMP/MLD? In other words, what is the forwarding behavior of a
Proxy that is not the Querier? Is it expected to additionally forward
as it already would for IGMP? If so, can we please add this explicitly
to the document?
 
If neither of the above is true, I don't see how this forwarding
behavior is going to work in all cases.

> > IGMP-snooping-switch, it would forward this packet appropriately to its 
> > local members.
> 

Please see above, in the case where the links are all on the same subnet.

Thanks. I know this is a confusing discussion.

Regards,
	Karen 
	[email-masked]

---

From: Karen Kimball <[email-masked]>
Date: Fri, 14 Mar 2003 20:04:52 -0800 (PST)

Hello, Haixiang,

With that in mind...

 

Regards,
	Karen 
	[email-masked]

---

From: Haixiang He <[email-masked]>
Date: Sun, 16 Mar 2003 01:33:06 -0500

> as would be the case for a router.

NO. I did not assume that. What I said is that "if the device B is a Proxy device as you
indicated in the figure 'Proxy B'".

> multiple switches on the same subnet to aggregate users.

Your figure is really confusing. I still cannot imagine how they can be in the same subnet
if B and A are both proxy devices in your figure.

> Proxy B is not the Querier, because all of the devices are on the same

Based on your assumption, Proxy B and Proxy A are on the same subnet. What I don't
understand is: Which interface is Proxy B's upstream interface and which interfaces are
Proxy B's downstream interfaces?

If B and A are on the same subnet, then B-A, B-Host1, and B-Host2 are part of one subnet.
Then B's upstream interface and downstream interfaces are on the same subnet. Then I think
there is no tree structure on Proxy B. It violates the draft's assumption. Then B is not a
Proxy device.

> Host 2 (the forwarding rules say only to forward downstream when one

I mean subnet.

> behavior is going to work in all cases.

I have not been convinced that the current forwarding behavior has problems. If you can
convince me, I will be happy to make the change.

Best Regards,

Haixiang

---

From: Haixiang He <[email-masked]>
Date: Sun, 16 Mar 2003 01:33:06 -0500

I mean subnet.

Best Regards,

Haixiang