Re: [pim] IGMPv3 backward compatibility issue killing SSM (was: Re: pim wglc for 3228bis, 3376bis and 3810bis)

Toerless Eckert <tte@cs.fau.de> Wed, 20 December 2023 16:39 UTC

Return-Path: <eckert@i4.informatik.uni-erlangen.de>
X-Original-To: pim@ietfa.amsl.com
Delivered-To: pim@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B11C1C14F5E9; Wed, 20 Dec 2023 08:39:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.658
X-Spam-Level:
X-Spam-Status: No, score=-6.658 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tGKKDLpA3ams; Wed, 20 Dec 2023 08:39:44 -0800 (PST)
Received: from faui40.informatik.uni-erlangen.de (faui40.informatik.uni-erlangen.de [131.188.34.40]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CD1EAC14F5F7; Wed, 20 Dec 2023 08:39:39 -0800 (PST)
Received: from faui48e.informatik.uni-erlangen.de (faui48e.informatik.uni-erlangen.de [IPv6:2001:638:a000:4134::ffff:51]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by faui40.informatik.uni-erlangen.de (Postfix) with ESMTPS id 4SwK5y4LnWznkWs; Wed, 20 Dec 2023 17:39:34 +0100 (CET)
Received: by faui48e.informatik.uni-erlangen.de (Postfix, from userid 10463) id 4SwK5y3V30zkmKC; Wed, 20 Dec 2023 17:39:34 +0100 (CET)
Date: Wed, 20 Dec 2023 17:39:34 +0100
From: Toerless Eckert <tte@cs.fau.de>
To: "Holland, Jake" <jholland@akamai.com>
Cc: Stig Venaas <stig@venaas.com>, "zzhang@juniper.net" <zzhang@juniper.net>, "brian@innovationslab.net" <brian@innovationslab.net>, "n.leymann@telekom.de" <n.leymann@telekom.de>, "pim@ietf.org" <pim@ietf.org>, "mboned@ietf.org" <mboned@ietf.org>, "fenner@fenron.com" <fenner@fenron.com>
Message-ID: <ZYMYxnVHYKmYGNql@faui48e.informatik.uni-erlangen.de>
References: <CAHANBtKf03ukXH4sgwN0WVdkaVXnbRYdAGBDmQK56YXrS-z6yA@mail.gmail.com> <CAHANBtKdfS0cPceqv8_R+ToeGOBdUksH7gArKqegqSt_Q0Sf0Q@mail.gmail.com> <ZXtzwBljE45Og27f@faui48e.informatik.uni-erlangen.de> <EDE809A0-E672-4A3B-9F46-E08ECD3D4C23@akamai.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <EDE809A0-E672-4A3B-9F46-E08ECD3D4C23@akamai.com>
Archived-At: <https://mailarchive.ietf.org/arch/msg/pim/LWCgMv5UDdPwxKP8jfrFNfb-SnE>
Subject: Re: [pim] IGMPv3 backward compatibility issue killing SSM (was: Re: pim wglc for 3228bis, 3376bis and 3810bis)
X-BeenThere: pim@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Protocol Independent Multicast <pim.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pim>, <mailto:pim-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/pim/>
List-Post: <mailto:pim@ietf.org>
List-Help: <mailto:pim-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pim>, <mailto:pim-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 20 Dec 2023 16:39:47 -0000

Thanks, Jake

Good insight into Linux behavior.
I wonder if/how we could capture this in our bis document...

> I'm not sure it makes sense to ship text that makes all the currently deployed
> routers retroactively non-compliant with a MUST in the new IGMPv3.

Aka: my proposed "MUST not fall back to IGMPv2/v1 by default"

Yes, i specifically put this out there to have the argument. And of course the argument
is whether that requirement would be a deal breaker for going to full internet standard.

So lets refine the requirement and say it only applies to SSM aware router, and
refine the definition of SSM aware of the device being configured to perform as
an SSM aware router - aka: router only becomes SSM aware once you configure L3
IP multicast routing with SSM support.

In this case, the requirement does not apply anymore to routers captured by 3376 because
we didn't talk about SSM aware routers in 3376. So it's a refinement of the common
behavior for RFC 4604/4607.

Cheers
    Toerless

On Mon, Dec 18, 2023 at 11:56:22PM +0000, Holland, Jake wrote:
> On 12/14/23, 1:29 PM, "pim on behalf of Toerless Eckert" <pim-bounces@ietf.org <mailto:pim-bounces@ietf.org> on behalf of tte@cs.fau.de <mailto:tte@cs.fau.de>> wrote:
> > The elephant IMHO is that rfc3376bis is so far not including changes to IGMPv3 behaviors
> > about backeward compatibility with v1/v2 routers on the LAN, and exactly this behavior is
> > killing SSM in deployment because any such router when it becomes querier will kill SSM
> > ... because hosts will revert to v1/v2 and not report their SSM (S,G) memberships.
> 
> +1, this is a serious problem.  The current default behavior bakes a DOS for SSM into the
> protocol.
> 
> > If there are routers that have config options to disable this backward compatibility with
> > older routers, i would love to learn about it.
> 
> When using linux routing there is `sysctl net.ipv4.force_igmp_version=3`, but it says because
> of the difference in the security considerations between MLD and IGMP it doesn't actually
> ignore v1 and v2 even when it's set:
> https://sysctl-explorer.net/net/ipv4/force_igmp_version/
> 
> (MLD permits an "ignore v1 completely" setting, but says it should only be used when
> source filtering is critical:
> https://datatracker.ietf.org/doc/html/rfc3810#section-10.2 )
> 
> > - Replace with something like:
> >
> > This revision of IGMPv3 version 3 removes automatic fallback to IGMP version 2 and version 1
> > routers on the same network as specified in [RFC3376]. Instead,
> > such older version router behavior MUST be explicitly configured.
> 
> While I agree that to the greatest extent we can induce, IGMPv3 queriers from now
> on should maintain the capability to propagate SSM and accept IGMPv3 membership
> reports under all circumstances (even when there is an IGMPv1 or v2 receiver on the
> LAN), I'm not sure it makes sense to ship text that makes all the currently deployed
> routers retroactively non-compliant with a MUST in the new IGMPv3.
> 
> But I'd support adding a section that describes the problem and provides a well-
> justified and strong recommendation that the default behavior be changed from
> what's in RFC 3376 and that a config option be provided to ignore IGMPv1 and v2
> packets, like with MLD.
> 
> It might be worth saying something like now that we have RFC 8815 and in light of
> the experimental status of RFC 3618 (MSDP) and its deployment BCP in 4611, source
> filtering should always be considered critical for clients that support it?  (Not sure that's
> necessary, just a brainstorming idea to point to some of the docs that cover new
> operational experience since 3376...)
> 
> > IGMPv3 routers MUST have a configuration option, disabled by default, to operate
> > as an IGMPv2 router. When enabled, all procedures of [RFC2236] apply. Configuring this
> > option is necessary in the presence of non-IGMPv3 capable IGMP snooping switches or
> > PIM routers. These are rare but may still be depoyed.
> >
> > When operating in IGMP version 3, routers MUST ignore version 1 and version 2 queries.
> > In version 3, the presence of those older version queries constitutes a misconfiguration
> > or attack, and these messages SHOULD result in logging of an error (rate-limited).
> >
> > - And in an appropriate part of the host behavior:
> >
> > IGMP version 3 hosts MUST have a configuration option, disabled by default, to ignore
> > IGMP version 1 and version 2 queries. This option SHOULD be auto-enabled when the host
> > is running SSM receiver applications, and hence depends on IGMP version 3 to operate in the
> > network.
> >
> > This is about as much as i think we can do if we still want to go full standard with rfc3376bis.
> > I can think of no operational deployment where the introduction of devices with existing
> > older RFC compatibility would cause interoperability issues. At worst the new router would
> > need to be explicitly configured for IGMPv2, which in my experience most routers deployed
> > into IGMPv3 environments are done anyhow.
> >
> > Comments welcome. Would love to see positive replies in which case i will be happy to explicitly
> > sugest the text changes for this elephant issue to the draft.
> 
> Thanks for raising this, Toerless, the IGMP downgrade problem has been a major source of pain
> for some deployments that rely on SSM.
> 
> - Jake
> 
> 

-- 
---
tte@cs.fau.de