Re: [Int-area] New Draft - ICMPv6 Loopback

Valentin Heinrich <v.heinrich99@gmail.com> Tue, 20 June 2023 17:45 UTC

Return-Path: <v.heinrich99@gmail.com>
X-Original-To: int-area@ietfa.amsl.com
Delivered-To: int-area@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5EB88C151525 for <int-area@ietfa.amsl.com>; Tue, 20 Jun 2023 10:45:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.845
X-Spam-Level:
X-Spam-Status: No, score=-0.845 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, FREEMAIL_REPLY=1, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 LcRpg_8J2JXy for <int-area@ietfa.amsl.com>; Tue, 20 Jun 2023 10:45:31 -0700 (PDT)
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 701BEC14F74E for <int-area@ietf.org>; Tue, 20 Jun 2023 10:45:31 -0700 (PDT)
Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-3f904dcc1e2so39952265e9.3 for <int-area@ietf.org>; Tue, 20 Jun 2023 10:45:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687283129; x=1689875129; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=XkF6hY6WGaU1Exzxmle9uCpp+YGVTStEM2WY8POBT20=; b=CndSQw+L3oaEGlsKxrSclx/OK7siCxxOaTck52V09wnMyR1d2GNQDdiMHxnesnL0EU O0DVlsmhh2kYbV6pYuck9soFEadCmX5U9FJoLQqr0IpXzN9UzC0gayqemXd32tMBeaa+ CojJtSitPwtc8e6vYCYPGBn1JCOTCxiYl0Vw4FM/X2AzWEOEmUOiBVkv3cTcp3RyRxUz JNRyOe1K2WaKUHBlw7aQDz+IYaD0CrJBTtSxMNgkSXs92ujaJONkn8oRQ7UY+TpHTCiN GceVM5N1jmaR+z4uFFbizIRMANbikZXS5PSs4BqeaGAWuKyRsiCGFCtjeL1HVpLXMU3t YL7g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687283129; x=1689875129; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=XkF6hY6WGaU1Exzxmle9uCpp+YGVTStEM2WY8POBT20=; b=Iq2IRyNWe0tFlmBdH724RYxUlZpWpPFAPI9pitTQaO8/DoGwn3swJyfosdebvSb24U RgczigN38sdfknL/2uQ00e0kBTVmlu9givh0WDxIpFVjkCCgUYgTT7FA+iArFUDEceOb vI1x/9OXXewKSPRSfSffBEvFXoEtb/60hkMzdSj4sXWxIdEd/as+h0J6COYJlDj66DKy FaIXTiGCHROYFyNeKXN4bLKA1Uh0df6/Xo4C8mceZgkTZ0enrUjN4mufi8kZRaBKEg80 8qCQ19xeMhXz5e/uYbg5m1nMTrQhw9xwLKa/1Ea7+adOPPADlSN8S5vhtoqHbbN34idw idjw==
X-Gm-Message-State: AC+VfDzPQe12UeGRSEW4hOLNsQf5uhwXU0jfQnH4SYcKCzHqTV5oPaUB BqfDf40YCI4N4QqDOHtlYLz8q3oMWqk=
X-Google-Smtp-Source: ACHHUZ536hAqZJJaoIZwOyyLOPfpyqLV59YGJmBnXcVasV+2wjupNhsJ3lZJNIGDEI2jFNzIi1qAuQ==
X-Received: by 2002:a1c:4b0e:0:b0:3f9:660:abab with SMTP id y14-20020a1c4b0e000000b003f90660ababmr7855603wma.12.1687283129072; Tue, 20 Jun 2023 10:45:29 -0700 (PDT)
Received: from ?IPV6:2001:9e8:b2e1:4d00:3cc1:7170:47d3:9ea8? ([2001:9e8:b2e1:4d00:3cc1:7170:47d3:9ea8]) by smtp.gmail.com with ESMTPSA id p1-20020adfcc81000000b0030ada01ca78sm2488495wrj.10.2023.06.20.10.45.28 for <int-area@ietf.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 20 Jun 2023 10:45:28 -0700 (PDT)
Message-ID: <95cdc678-a7c8-078f-08aa-6aac9c053b15@gmail.com>
Date: Tue, 20 Jun 2023 19:45:25 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: int-area@ietf.org
References: <CABUE3Xm5nT4R8wUu6FfXW0u66YoyDS45cRTuiGjRJ0CRGsevnQ@mail.gmail.com> <908A768F-F9CF-468A-A7C1-27736FE10BFE@gmail.com> <5B0C59DC-BD03-4BEE-A719-6E892F61F916@cisco.com> <CABUE3Xk--WodVbGFQtJvPTdtH154bNE6nufxoFDJuh6nVbpFRg@mail.gmail.com>
From: Valentin Heinrich <v.heinrich99@gmail.com>
In-Reply-To: <CABUE3Xk--WodVbGFQtJvPTdtH154bNE6nufxoFDJuh6nVbpFRg@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/int-area/uoBJi2yr145fvNjuzW7eb-55Y34>
Subject: Re: [Int-area] New Draft - ICMPv6 Loopback
X-BeenThere: int-area@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: IETF Internet Area WG Mailing List <int-area.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/int-area>, <mailto:int-area-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/int-area/>
List-Post: <mailto:int-area@ietf.org>
List-Help: <mailto:int-area-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/int-area>, <mailto:int-area-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Jun 2023 17:45:35 -0000

we had similar questions when working on reverse traceroute 
(https://datatracker.ietf.org/doc/html/draft-heiwin-intarea-reverse-traceroute).
Should we use new ICMP types or extend existing ones with a new code?

We actually conducted measurements to test deployability of those two 
choices.
One of the big question marks was whether new ICMP messages using a new 
type are able to traverse common NAT middleboxes.
Unfortunately, as one would probably expect, new ICMP types are most 
commonly filtered (or they just bypass the NAT, which is just as bad as 
they are forwarded untranslated into the public internet).
We then sent ICMP Echo requests with the new codes 1 and 2 through those 
same NAT boxes.
Only a single NAT box (out of 12) dropped the corresponding Echo 
response message and in all other cases both requests and replies 
correctly traversed the NAT.
In this regard, our measurements showed that extending existing ICMP 
Echo messages with new codes is the way to go if immediate deployability 
is the goal.

We then also performed a measurement to assess the deployment of ICMP 
Echo messages with new codes on the public Internet.
We probed over a million hosts that correctly responded to regular ICMP 
Echo requests (code 0) with ICMP Echo responses.
To each of those hosts we sent ICMP Echo requests with code 1. Over 92% 
of the probed hosts responded with an ICMP Echo response and reflected 
the new code back in their response.
The fact that we received that many "reflective" responses shows us, 
that ICMP Echo messages (both request and response) with a new code make 
it through the Internet unfiltered and unaltered in the vast majority of 
cases. About 3% of the probes were answered with a regular ICMP Echo 
response (code 0), thus not reflecting the request's code back.

For more details of the measurement study, you can have a look at this 
talk: https://youtu.be/Y7NtqLEtfgjU?t=63

Or listen to this episode of the Ping Podcast: 
https://blubrry.com/ping_podcast/94883480/reverse-traceroute-its-just-traceroute-but-the-other-direction/ 


One caveat is however that we conducted these measurements only on IPv4. 
Results might or might not differ for IPv6.
For reverse traceroute, which itself implements both ICMP and ICMPv6, we 
have however successfully tested our implementation across the public 
internet.

I hope this data point helps in this discussion.

On 07.06.23 06:30, Tal Mizrahi wrote:
> Bob, Eric,
>
> Thanks for the feedback.
> Defining a new code for ICMPv6 Echo rather than defining a new type
> may be the right way to go.
> Our main concern with this is that RFC 4443 defines what to do with an
> unknown type, but does not define what to do with an unknown code. It
> is not clear what existing implementations do when receiving an Echo
> Request with an unknown code. That is why the current draft calls for
> a new type. However, we are open to more feedback about this, and it
> may end up being just a new code.
>
> Cheers,
> Tal.
>
> On Tue, Jun 6, 2023 at 8:33 PM Eric Vyncke (evyncke) <evyncke@cisco.com> wrote:
>> Without any hat, I agree with Bob.
>>
>> This I-D should eventually go to 6MAN WG though (with my AD hat)
>>
>> -éric
>>
>> On 06/06/2023, 08:34, "Int-area on behalf of Bob Hinden" <int-area-bounces@ietf.org <mailto:int-area-bounces@ietf.org> on behalf of bob.hinden@gmail.com <mailto:bob.hinden@gmail.com>> wrote:
>>
>>
>> Tal,
>>
>>
>> I did a quick read of your draft.
>>
>>
>> As noted in the draft this seems to be very similar to ICMPv6 Echo/Echo Reply. The change is to include the request packet in the response, not just the payload.
>>
>>
>> While I don’t have any real opinion on the need for this, I do think it would be a lot simpler if the draft just defined a new Code field value for Echo Request/Reply that specified this behavior. Currently the Code field is set to zero, another value could specify this behavior.
>>
>>
>> Deployment might be easier as I suspect ICMPv6 types other than the current definitions will be filtered in many places.
>>
>>
>> Bob
>>
>>
>>
>>
>>
>>
>>> On Jun 6, 2023, at 4:54 AM, Tal Mizrahi <tal.mizrahi.phd@gmail.com <mailto:tal.mizrahi.phd@gmail.com>> wrote:
>>>
>>> Hi,
>>>
>>> New draft: https://datatracker.ietf.org/doc/draft-mcb-intarea-icmpv6-loopback/ <https://datatracker.ietf.org/doc/draft-mcb-intarea-icmpv6-loopback/>
>>>
>>> We have posted a new draft that proposes two new ICMPv6 message types:
>>> Loopback Request and Reply.
>>> ICMPv6 Loopback is very similar to Echo, except that after a Loopback
>>> Request is sent, its corresponding Reply includes as much of the IPv6
>>> Loopback Request packet as possible, including the IPv6 header and
>>> IPv6 extension headers and options if they are present.
>>>
>>> We believe that ICMPv6 Loopback can be very useful for returning IPv6
>>> options that were included in Request packet back to the sender,
>>> including for example sending IOAM [RFC 9197] data from the Request
>>> back to the sender, sending the SRH [RFC 8754] of the Request back to
>>> the sender, as well as for in-progress / future protocols such as
>>> draft-filsfils-spring-path-tracing and draft-kumar-ippm-ifa.
>>>
>>> We would be happy for feedback, as well as suggestions about whether
>>> the INT-AREA WG is the right place to discuss this draft.
>>>
>>> Cheers,
>>> Tal.
>>>
>>> _______________________________________________
>>> Int-area mailing list
>>> Int-area@ietf.org <mailto:Int-area@ietf.org>
>>> https://www.ietf.org/mailman/listinfo/int-area <https://www.ietf.org/mailman/listinfo/int-area>
>>
>>
>>
>>