Re: [v6ops] Packets with LL src and GUA dst

Alexandre Petrescu <alexandre.petrescu@gmail.com> Fri, 17 June 2016 12:54 UTC

Return-Path: <alexandre.petrescu@gmail.com>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0EAE512D621 for <v6ops@ietfa.amsl.com>; Fri, 17 Jun 2016 05:54:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.333
X-Spam-Level:
X-Spam-Status: No, score=-5.333 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_ADSP_CUSTOM_MED=0.001, FREEMAIL_FROM=0.001, NML_ADSP_CUSTOM_MED=0.9, RCVD_IN_DNSWL_HI=-5, SPF_SOFTFAIL=0.665] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NrMrFLQ1Xpby for <v6ops@ietfa.amsl.com>; Fri, 17 Jun 2016 05:54:03 -0700 (PDT)
Received: from sainfoin-out.extra.cea.fr (sainfoin-out.extra.cea.fr [132.167.192.145]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6F13C12D620 for <v6ops@ietf.org>; Fri, 17 Jun 2016 05:54:03 -0700 (PDT)
Received: from pisaure.intra.cea.fr (pisaure.intra.cea.fr [132.166.88.21]) by sainfoin.extra.cea.fr (8.15.2/8.15.2/CEAnet-Internet-out-2.4) with ESMTP id u5HCrtTP025610; Fri, 17 Jun 2016 14:53:55 +0200
Received: from pisaure.intra.cea.fr (localhost [127.0.0.1]) by localhost (Postfix) with SMTP id 542BA205E3C; Fri, 17 Jun 2016 14:54:39 +0200 (CEST)
Received: from muguet2.intra.cea.fr (muguet2.intra.cea.fr [132.166.192.7]) by pisaure.intra.cea.fr (Postfix) with ESMTP id 43A72205E74; Fri, 17 Jun 2016 14:54:39 +0200 (CEST)
Received: from [10.8.34.184] (is227335.intra.cea.fr [10.8.34.184]) by muguet2.intra.cea.fr (8.15.2/8.15.2/CEAnet-Intranet-out-1.4) with ESMTP id u5HCrt8R025535; Fri, 17 Jun 2016 14:53:55 +0200
To: Owen DeLong <owen@delong.com>
References: <alpine.DEB.2.02.1606030810050.28955@uplift.swm.pp.se> <B9D9F42C-7A36-4767-B865-334813E65F4A@delong.com> <57571D6E.2050102@gont.com.ar> <cf56ec5d-2a34-a3af-96ee-f02ef3b1050e@gmail.com> <f97465fc195449bf8a86d4db72ed2cce@XCH15-05-05.nw.nos.boeing.com> <CAO42Z2wG4fWytZoMa6+oRz4SV8CazECmoYQEG4p=F0OLACSmLQ@mail.gmail.com> <49e62201c94e485db64a8b0e1978b634@XCH15-05-05.nw.nos.boeing.com> <CAJE_bqdr4jiuLgxu9fZ_SA9svd5rNnhd+gS+avXwkB4FAoQyAw@mail.gmail.com> <773eb60f-3827-a702-1a99-0b3c31b2e9da@gmail.com> <67F4BB77-B492-40AA-848D-39579A3AC671@delong.com> <e6f319b5-21f0-695f-ceb1-838458a16b2f@gmail.com> <CAFU7BAS1y=mR3pkT7eV-UbdSFjQ-9bzS4D35M2kx2HzxMQyN8g@mail.gmail.com> <c303da69-922b-3f84-63d8-2131495c542c@gmail.com> <CAJrNOvGaQwBOigo4S+TLf7ZuqTHswjf9QCLi699QzMmbEJzTNg@mail.gmail.com> <8c91f195-e2a0-8713-5a7d-0d5d4b60853a@gmail.com> <9AA77CE7-FF01-4140-974E-E7A5A46D8A78@delong.com>
From: Alexandre Petrescu <alexandre.petrescu@gmail.com>
Message-ID: <5218533c-6853-55e4-bab7-34ffecb2feb3@gmail.com>
Date: Fri, 17 Jun 2016 14:53:55 +0200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1
MIME-Version: 1.0
In-Reply-To: <9AA77CE7-FF01-4140-974E-E7A5A46D8A78@delong.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/Mmo92nr5mY-w9I_uSUCD08rWunk>
Cc: "v6ops@ietf.org" <v6ops@ietf.org>
Subject: Re: [v6ops] Packets with LL src and GUA dst
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/v6ops/>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 17 Jun 2016 12:54:06 -0000


Le 17/06/2016 à 06:16, Owen DeLong a écrit :
>
>> On Jun 16, 2016, at 03:00 , Alexandre Petrescu
>> <alexandre.petrescu@gmail.com> wrote:
>>
>>
>>
>> Le 15/06/2016 à 21:28, Musa Stephen Honlue a écrit :
>>> This is bad behaviour both for the source device(LL should not be
>>> used for off-link destinations), and for intermediary
>>> routers(they should not forward packet sourced with LLA).
>>>
>>> It is clear enough that responses to such packets won't be able
>>> to make their way back.
>>
>> I agree - but sometimes there is no need for response - protocols
>> such as OSPF or ICMP Router Advertisements, not to mention UDP
>> video streaming, dont need responses.
>
> Um… So just to make sure I understand correctly…
>
> Other than virtual links, OSPF route announcements shouldn’t have GUA
> destinations. In the case of a virtual link, an OSPF route
> announcement shouldn’t have LL source.

Ah, no, I did not mean of virtual links.

Simply an IPv6 OSPF router must be able to send an LSA (link-state
advertisement) to a multicast group beyond the link.

And it is not for that need that it must have a GUA/ULA.

A network of OSPF routers must be able to work without any GUA/ULA nor
IPv4 on any of the routers.

Because it is easy to set up same network with static routes, without
OSPF, and without GUA/ULA on them (just the LLs).

> In the case you seem to be proposing, virtual link with LL source and
> GUA destination, you would be sending a route announcement that
> effectively sets an un-reachable next-hop to the remote router. I’m
> not sure I see any possible benefit of this action under any
> circumstances. I can, however, see several problematic outcomes
> (network singularities anyone?).

I would agree with you if I proposed virtual links.

But not in this case.

A network of routers is able to forward packets even though it has not
GUA or ULA on any of the routers.

> Similarly, an ICMP RA should have either an LL destination or a
> multicast (link scoped) destination. I cannot see any valid case for
>  sending an RA off-link.
>
> So that leaves us with only UDP video streaming as your remaining
> theoretical case.
>
> Can you please elaborate on what possible useful case of a video
> streaming source would not have a GUA or ULA and would attempt to
> transmit said video stream off-link?

In IoT infratructure-less mobility settings there can be cases where
it's hard to form and keep a GUA (I am not talking ULA) for a
Thing-class device.  For example a wifi point-of-view miniature mobile
camera attached on the windshield wiper, but without cellular modem,
may IP stream what it sees.  Other vehicles hear it, display and further
forward.

> I realize that ULA may not be able to reach the intended destination,
> but at least that packet won’t make it past the border of the network
> administrative boundary that has agreed to accept this cruft
> (hopefully) which I would argue is a very desirable property of
> whatever it is you are proposing to do here.

I think I can agree with the ULA usefulness here, because it may
be forbidden from leaking to the Internet core (although I dont quite
understand the fear of ULAs or LLs -sourced packets showing up in the
DFZ - it doesnt look at it anyways because it wants to be fast).

>> For network control (ICMP), yes there is need to have ability to
>> reply back always, but some software uses ICMP for network control
>>  and UDP for video streaming.
>>
>> One should mpt use the LL src if ICMP is expected, but one could
>> very well use LL src for UDP for video streaming (video is just an
>>  example app).
>
> Again, I do not see a valid use case for LL Source if the destination
> is not on-link.

Assuming we have a common understanding of on-link.

I suspect your assumption of 'link' is not what many people in mobility
settings think a link can be.

> This is the entire point of scoped addresses and what you are
> wanting to do discards virtually all meaning of scope.

The whole meaning of scope is new in IPv6 vs IPv4.

And it's not easy: ULAs, scoped multicast groups and networks
disconnected from the Internet are all scope complications to
implementers wondering which additional rules to add (or not) to an
otherwise very simple forwarding implementation.

It's easy to enunciate and implement that each packet must have same
scope in src and dst.

But it's harder to say which non-equal scope packets can be forwarded
between interfaces of a router.

One would not forward a src LL dst GUA because they are different
scopes.  Yet one _would_ forward a src GUA dst ULA even though they are
different scopes too.

Moreover, one _would_  forward a src ULA dst site-local multicast group
(the ULA scope is almost the same scope as the site-scope) and, worse,
an across-subnets site-local multicast group could contain only LL
addresses if the subscribers decided to use their LLs (the subscription
operation is a link-local operation - MLD).

I would also like to mention the difficulty in understanding scopes
being 'larger' than others, or scopes 'containing' scopes as they are
found in many RFCs.  'Larger' and 'containing' may be intuitive to many
readers (e.g. global scope is larger than link scope, the global scope
contains all links scopes), but can be hard to implementation (wifi
'overlapping' models dont contain each other and are sometimes
disconnected from the Internet).

> What will you want next? ff02:: packets being delivered globally?

I argued about src LL, not dst LL.  I think it is largely agreed that
dst LL packets would not be forwarded.  I can agree.

>>> Therefore, if the path of such packets can be traced, it is
>>> necessary to report a bug to various vendors concerned for them
>>> to deal with this issue in accordance with specifications as per
>>> https://tools.ietf.org/html/rfc4291#section-2.5.6.
>>
>> I am not sure we must build in a capability to always trace back to
>> originators.  This is may be way beyond pure packet data
>> communications.
>
> That’s not what he is saying. What he is saying is that in the case
> A->B->C->D->E->F->G->H->I where A sends a packet with LL src and I
> dst and I receives the packet, one should make a best effort to
> identify {H, G, F, E, D, C, B, A} and report bugs to the vendors
> responsible for the IPv6 stack implementation on each and every one
> of them because each and every one of them did something bad.
>
> He is absolutely right in saying this.

By the specs, yes, he's right.  Thanks to the WG members for having
provided the refs to the specs.

Alex

>
> Owen
>
>