Hi Rolf,

I agree that a new type is not necessarily required for every case,
however a new type is probably the cleanest solution for Loopback.

Here is an alternative solution that does not require a new type:
- The Loopback requester sends an Echo Request with code=X (newly
allocated to indicate Loopback Request).
- The Loopback responder replies with an Echo Reply with code=X+1
(newly allocated to indicate Loopback Reply).
- The requester can distinguish a Loopback reply (code=X+1) from a
reply received from a legacy device (which reflects code=X).

While this solution should work, it assumes a certain behavior from
legacy devices (reflecting code=X as-is) that is not compliant with
RFC 4443.
Therefore, I believe using a new type would be cleaner.

Cheers,
Tal.

On Wed, Jun 21, 2023 at 12:39 PM Rolf Winter <rolf.win...@hs-augsburg.de> wrote:
>
> 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.heinric...@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) <evyn...@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-boun...@ietf.org <mailto:int-area-boun...@ietf.org> on behalf 
> >>>> of bob.hin...@gmail.com <mailto:bob.hin...@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....@gmail.com 
> >>>>> <mailto:tal.mizrahi....@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
> _______________________________________________
> 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

Reply via email to