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

Rolf Winter <rolf.winter@hs-augsburg.de> Wed, 21 June 2023 09:39 UTC

Return-Path: <rolf.winter@hs-augsburg.de>
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 E34C9C151094 for <int-area@ietfa.amsl.com>; Wed, 21 Jun 2023 02:39:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.598
X-Spam-Level:
X-Spam-Status: No, score=-2.598 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, 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 JvU6gXNtpxxy for <int-area@ietfa.amsl.com>; Wed, 21 Jun 2023 02:39:29 -0700 (PDT)
Received: from postfix1.RZ.HS-Augsburg.DE (postfix1.RZ.HS-Augsburg.DE [141.82.11.25]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 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 95DA7C14CF1F for <int-area@ietf.org>; Wed, 21 Jun 2023 02:39:27 -0700 (PDT)
Received: from [IPV6:2001:638:102:30:8da6:10c5:d947:ebfd] (unknown [IPv6:2001:638:102:30:8da6:10c5:d947:ebfd]) by postfix1.RZ.HS-Augsburg.DE (Postfix) with ESMTPSA id 9C3F4180CB5 for <int-area@ietf.org>; Wed, 21 Jun 2023 11:39:23 +0200 (CEST)
Message-ID: <954f791b-3242-f933-f6fd-a3ba89765114@hs-augsburg.de>
Date: Wed, 21 Jun 2023 11:39:22 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.12.0
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> <95cdc678-a7c8-078f-08aa-6aac9c053b15@gmail.com> <CABUE3Xnt+r3nWPFeui3dqQTXpTUUOudyTfkGJm=bL57ySevjLw@mail.gmail.com>
From: Rolf Winter <rolf.winter@hs-augsburg.de>
In-Reply-To: <CABUE3Xnt+r3nWPFeui3dqQTXpTUUOudyTfkGJm=bL57ySevjLw@mail.gmail.com>
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-512"; boundary="------------ms020302000606090900080407"
Archived-At: <https://mailarchive.ietf.org/arch/msg/int-area/U39-eamIYno0OwQ4ZL24nce3tfw>
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: Wed, 21 Jun 2023 09:39:34 -0000

Hi Tal,

I don't think your assessment that a new type is required really holds 
for every case. I think the key point is, the requests get _reflected_. 
So if you expect something else in you response (e.g. Echo Request would 
expect a different type in the Echo Response), then you can distinguish 
a reflecting host from a host that actually understands this "new ICMP 
thing". The real good news is in both measurement cases are that a) most 
tested NATs let those packets through (both request and response) and b) 
mostly, they cross the internet unmodified as can be seen in the 
unmodified code inside the ICMP reply (for v4 at least).

Best,

Rolf

Am 21.06.23 um 06:53 schrieb Tal Mizrahi:
> Hi Valentin,
> 
> Thanks for this valuable data.
> Based on your findings, the good news is that new codes will most
> likely traverse NATs, and the bad news is that most hosts will respond
> according to the "old" behavior without checking the code value. In
> light of the latter observation, I would say that new behavior *from
> the responder* requires a new ICMP type. However, more feedback about
> this assessment is welcome.
> 
> Cheers,
> Tal.
> 
> On Tue, Jun 20, 2023 at 8:45 PM Valentin Heinrich
> <v.heinrich99@gmail.com> wrote:
>>
>> 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>
>>>>
>>>>
>>>>
>>>>
>>
>> _______________________________________________
>> Int-area mailing list
>> Int-area@ietf.org
>> https://www.ietf.org/mailman/listinfo/int-area
> 
> _______________________________________________
> Int-area mailing list
> Int-area@ietf.org
> https://www.ietf.org/mailman/listinfo/int-area