Re: [Anima] Is this how BRSKI/IPIP works?

"Max Pritikin (pritikin)" <pritikin@cisco.com> Mon, 24 July 2017 15:28 UTC

Return-Path: <pritikin@cisco.com>
X-Original-To: anima@ietfa.amsl.com
Delivered-To: anima@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2AB79131CA1 for <anima@ietfa.amsl.com>; Mon, 24 Jul 2017 08:28:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.523
X-Spam-Level:
X-Spam-Status: No, score=-14.523 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
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 cQQf9m78W4US for <anima@ietfa.amsl.com>; Mon, 24 Jul 2017 08:28:04 -0700 (PDT)
Received: from rcdn-iport-5.cisco.com (rcdn-iport-5.cisco.com [173.37.86.76]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3C436129A9F for <anima@ietf.org>; Mon, 24 Jul 2017 08:28:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=5432; q=dns/txt; s=iport; t=1500910084; x=1502119684; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=2Q5X1f5kh1QvTUXt4/ZxiFIAQa/eSuW7L4ClmvctrwI=; b=FqCBFNkPjvV//AXByu7lumFSx5zdAfqvOmwNLxLbOHGnvaZbbAapXCT4 y+vHsyDL+ygWZ9LyCgOU7EUqqHp0vW+jQMhvkvyRIFursewSpXD6JIiv1 trCRcUrKmpgZJ/WHl0FqeBw7nBxhnJxW6fKkbd0ut0/hXmEl1nLXoN5mo U=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0DJAADQEHZZ/5hdJa1SChoBAQEBAgEBAQEIAQEBAYNaZIEUB44FkWeIL41WghIhC4UbAhqDXD8YAQIBAQEBAQEBayiFGAEBAQECAQEBIRE6CwULAgEIGAICJgICAh8GCxUQAgQOBYoXAw0IEK89giaHMQ2DdQEBAQEBAQEBAQEBAQEBAQEBAQEBARgFgQuCHYUuK4J5gleBbIM7MIIxBYlelTQ8AosWhBaEcJI3jBCJUwEfOIEKdRVJEgGHA3YBiFSBDgEBAQ
X-IronPort-AV: E=Sophos;i="5.40,407,1496102400"; d="scan'208";a="55912881"
Received: from rcdn-core-1.cisco.com ([173.37.93.152]) by rcdn-iport-5.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Jul 2017 15:28:03 +0000
Received: from XCH-RCD-015.cisco.com (xch-rcd-015.cisco.com [173.37.102.25]) by rcdn-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id v6OFS3v2029553 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Mon, 24 Jul 2017 15:28:03 GMT
Received: from xch-aln-013.cisco.com (173.36.7.23) by XCH-RCD-015.cisco.com (173.37.102.25) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Mon, 24 Jul 2017 10:28:02 -0500
Received: from xch-aln-013.cisco.com ([173.36.7.23]) by XCH-ALN-013.cisco.com ([173.36.7.23]) with mapi id 15.00.1210.000; Mon, 24 Jul 2017 10:28:02 -0500
From: "Max Pritikin (pritikin)" <pritikin@cisco.com>
To: Brian E Carpenter <brian.e.carpenter@gmail.com>
CC: Anima WG <anima@ietf.org>
Thread-Topic: [Anima] Is this how BRSKI/IPIP works?
Thread-Index: AQHS9f5MyS/kiRRNrkebsTDV06vTe6JjirkA
Date: Mon, 24 Jul 2017 15:28:02 +0000
Message-ID: <F8CF9282-00B1-49FB-A2F6-81440F2E4059@cisco.com>
References: <467b3a9b-6fe0-c01f-6165-18e6e290a28c@gmail.com>
In-Reply-To: <467b3a9b-6fe0-c01f-6165-18e6e290a28c@gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.99.106.7]
Content-Type: text/plain; charset="utf-8"
Content-ID: <1CD68CFFA012854790C718B0EF0269D9@emea.cisco.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/anima/obhpIGsOqpPjedm4Q6SU0JQexvk>
Subject: Re: [Anima] Is this how BRSKI/IPIP works?
X-BeenThere: anima@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Autonomic Networking Integrated Model and Approach <anima.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima>, <mailto:anima-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima/>
List-Post: <mailto:anima@ietf.org>
List-Help: <mailto:anima-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima>, <mailto:anima-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 24 Jul 2017 15:28:06 -0000

re: "this case must work”
There sure is a lot of complexity in this thread to ensure that link local addresses can be used outside of the local scope. 

Some simpler suggestions,

1) a stateful proxy. I know, I know. But how many devices are actually going to need to perform BRSKI at the same time? And if that many devices are being bootstrapped then can’t they wait for the proxy to work through them in order? 

2) Require pledges to complete RFC4862 ‘Creation of Global Addresses’. Pledges then perform GRASP and then communicate with the Registrar directly. (Can RFC4193 ‘Unique Local IPv6 Unicast Addresses’ be assigned? I think so…)

or 

3) If it *doesn’t work* what happens? Currently BRSKI starts over w/o stating anything about obtaining a new Lp. Would it help to restart the stack and look for a unique Lp at that point? All we’re looking for is non-collision during bootstrapping. I don’t like this approach as much as the above options. 

- max



> On Jul 5, 2017, at 8:19 PM, Brian E Carpenter <brian.e.carpenter@gmail.com> wrote:
> 
> Hi BRSKI authors,
> 
> Is the following correct?
> 
> Topology (ASCII art):
>                   ___________
>                  | REGISTRAR |
>                  |___________|
>                        |Ar
>                        | 
>                   ...........
>                  (    ACP    )
>                 (   routing   )
>                  (   cloud   )
>                   ...........
>                        |
>                        |Ax
>                   _____|_____
>                  |   PROXY   |
>                  |___________|
>                   |Lx1      |Lx2 
>                   |         |
>                   |         |
>  -------LAN1---------      -------LAN2----------
>      |                                     |
>      |Lp                                   |Lp
>  ____|____                              ___|_____ 
> | PLEDGE1 |                            | PLEDGE2 |
> |_________|                            |_________| 
> 
> Assumptions:
> 
> Pledges have link-local address Lp. By chance, they are equal. (Nothing in
> the standards prevents them from being equal. Even pseudo-random numbers can
> be equal, so this case must work.)
> 
> Proxy has link-local addresses Lx1, Lx2 and ACP address Ax. We can require
> that Lx1 != Lx2.
> 
> Registrar has ACP address Ar.
> 
> Packets for a UDP example:
> 
> (somewhat simplified IPv6 packets!)
> 
> Pledge sends to proxy [Lp, Lx1, 17, UDP-PAYLOAD1]
> 
> Proxy sends to Registrar [Ax, Ar, 41, [Lp, Lx1, 17, UDP-PAYLOAD1]]
> 
> Registrar replies to proxy [Ar, Ax, 41, [Lx1, Lp, 17, UDP-PAYLOAD2]]
> 
> Proxy replies to pledge [Lx1, Lp, 17, UDP-PAYLOAD2]
> 
> Note that the registrar echoes back the addresses Lp and Lx but they mean
> nothing to it. The registrar simply borrows the proxy's LL address Lx
> for the purpose of replying.
> 
> Note that even the 2uple {Ax, Lp} might not uniquely identify the pledge.
> Since the proxy will have at least two interfaces, the address Lp might
> exist on multiple LANs. However, the proxy will have different link-local
> addresses on the two LANs, so the 3uples {Ax, Lp, Lx1} {Ax, Lp, Lx2}
> will be unique. Hence the registrar can distinguish the transactions.
> 
> So, what the registrar needs to tell the proxy is: I accept IP in IP on address Ar.
> Nothing else - no port number, no link-local address.
> 
> What the proxy needs to tell the pledge is: I accept BRSKI/TCP
> or BRSKI/UDP on address Lx. And if it chooses to use IPIP to contact
> the registrar, it simply forwards the packets as-is in both directions,
> encapsulating and decapsulating accordingly. The pledge knows nothing about
> IPIP.
> 
> Regards
>   Brian
> 
> _______________________________________________
> Anima mailing list
> Anima@ietf.org
> https://www.ietf.org/mailman/listinfo/anima