Re: [IPsec] clariciations for draft-sathyanarayan-ipsecme-advpn-03

Praveen Sathyanarayan <praveenys@juniper.net> Mon, 20 January 2014 18:15 UTC

Return-Path: <praveenys@juniper.net>
X-Original-To: ipsec@ietfa.amsl.com
Delivered-To: ipsec@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4841C1A01C1 for <ipsec@ietfa.amsl.com>; Mon, 20 Jan 2014 10:15:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.5
X-Spam-Level:
X-Spam-Status: No, score=-1.5 tagged_above=-999 required=5 tests=[BAYES_50=0.8, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
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 wFaWtAmtcU-Y for <ipsec@ietfa.amsl.com>; Mon, 20 Jan 2014 10:15:14 -0800 (PST)
Received: from co9outboundpool.messaging.microsoft.com (co9ehsobe001.messaging.microsoft.com [207.46.163.24]) by ietfa.amsl.com (Postfix) with ESMTP id 4292C1A0169 for <ipsec@ietf.org>; Mon, 20 Jan 2014 10:15:14 -0800 (PST)
Received: from mail105-co9-R.bigfish.com (10.236.132.232) by CO9EHSOBE030.bigfish.com (10.236.130.93) with Microsoft SMTP Server id 14.1.225.22; Mon, 20 Jan 2014 18:15:14 +0000
Received: from mail105-co9 (localhost [127.0.0.1]) by mail105-co9-R.bigfish.com (Postfix) with ESMTP id 3CE07440157; Mon, 20 Jan 2014 18:15:14 +0000 (UTC)
X-Forefront-Antispam-Report: CIP:157.56.240.101; KIP:(null); UIP:(null); IPV:NLI; H:BL2PRD0510HT004.namprd05.prod.outlook.com; RD:none; EFVD:NLI
X-SpamScore: -28
X-BigFish: VPS-28(zzbb2dI98dI9371Ic85eh148cI1a09J4015I1447Idb82hzz1f42h2148h208ch1ee6h1de0h1fdah2073h2146h1202h1e76h2189h1d1ah1d2ah21bch1fc6hzz1de098h1033IL17326ah8275bh8275dh18c673h1de097h186068hz2fh109h2a8h839hbe3he5bhf0ah1288h12a5h12bdh137ah1441h1504h1537h153bh162dh1631h1758h18e1h1946h19b5h19ceh1ad9h1b0ah1bceh224fh1d0ch1d2eh1d3fh1dc1h1dfeh1dffh1fe8h1ff5h209eh20f0h2216h22d0h2336h2438h2461h2487h1155h)
Received-SPF: pass (mail105-co9: domain of juniper.net designates 157.56.240.101 as permitted sender) client-ip=157.56.240.101; envelope-from=praveenys@juniper.net; helo=BL2PRD0510HT004.namprd05.prod.outlook.com ; .outlook.com ;
X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(10009001)(189002)(199002)(51914003)(24454002)(164054003)(66654002)(52604005)(377454003)(479174003)(15975445006)(83506001)(561944002)(81686001)(81816001)(74876001)(74706001)(19580395003)(83322001)(19580405001)(85852003)(83072002)(63696002)(80976001)(90146001)(56816005)(85306002)(80022001)(87266001)(87936001)(2656002)(65816001)(66066001)(76786001)(76796001)(47446002)(74502001)(31966008)(74662001)(36756003)(74366001)(76176001)(92566001)(92726001)(93136001)(93516002)(86362001)(15202345003)(50986001)(47976001)(47736001)(49866001)(4396001)(59766001)(77982001)(76482001)(54356001)(69226001)(54316002)(79102001)(51856001)(53806001)(16236675002)(81342001)(81542001)(46102001)(56776001); DIR:OUT; SFP:1101; SCL:1; SRVR:CO2PR05MB666; H:CO2PR05MB665.namprd05.prod.outlook.com; CLIP:66.129.239.12; FPR:; RD:InfoNoRecords; MX:1; A:1; LANG:en;
Received: from mail105-co9 (localhost.localdomain [127.0.0.1]) by mail105-co9 (MessageSwitch) id 1390241703569476_32544; Mon, 20 Jan 2014 18:15:03 +0000 (UTC)
Received: from CO9EHSMHS012.bigfish.com (unknown [10.236.132.230]) by mail105-co9.bigfish.com (Postfix) with ESMTP id 85BA0700041; Mon, 20 Jan 2014 18:15:03 +0000 (UTC)
Received: from BL2PRD0510HT004.namprd05.prod.outlook.com (157.56.240.101) by CO9EHSMHS012.bigfish.com (10.236.130.22) with Microsoft SMTP Server (TLS) id 14.16.227.3; Mon, 20 Jan 2014 18:15:03 +0000
Received: from CO2PR05MB666.namprd05.prod.outlook.com (10.141.230.19) by BL2PRD0510HT004.namprd05.prod.outlook.com (10.255.100.39) with Microsoft SMTP Server (TLS) id 14.16.395.1; Mon, 20 Jan 2014 18:15:01 +0000
Received: from CO2PR05MB665.namprd05.prod.outlook.com (10.141.230.11) by CO2PR05MB666.namprd05.prod.outlook.com (10.141.230.19) with Microsoft SMTP Server (TLS) id 15.0.851.15; Mon, 20 Jan 2014 18:15:00 +0000
Received: from CO2PR05MB665.namprd05.prod.outlook.com ([10.141.230.11]) by CO2PR05MB665.namprd05.prod.outlook.com ([10.141.230.11]) with mapi id 15.00.0851.011; Mon, 20 Jan 2014 18:14:59 +0000
From: Praveen Sathyanarayan <praveenys@juniper.net>
To: "Frederic Detienne (fdetienn)" <fdetienn@cisco.com>, "<ipsec@ietf.org> WG" <ipsec@ietf.org>
Thread-Topic: [IPsec] clariciations for draft-sathyanarayan-ipsecme-advpn-03
Thread-Index: AQHPEHmWVSfQ3H7ZOEi1TNp+NhtSp5qNb/iA
Date: Mon, 20 Jan 2014 18:14:58 +0000
Message-ID: <CF02A72F.6A65A%praveenys@juniper.net>
In-Reply-To: <7DC80D6C-3342-43C3-9407-E5D25CB5F5CD@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.3.0.121105
x-originating-ip: [66.129.239.12]
x-forefront-prvs: 00979FCB3A
Content-Type: multipart/alternative; boundary="_000_CF02A72F6A65Apraveenysjunipernet_"
MIME-Version: 1.0
X-OriginatorOrg: juniper.net
X-FOPE-CONNECTOR: Id%0$Dn%*$RO%0$TLS%0$FQDN%$TlsDn%
Subject: Re: [IPsec] clariciations for draft-sathyanarayan-ipsecme-advpn-03
X-BeenThere: ipsec@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Discussion of IPsec protocols <ipsec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipsec>, <mailto:ipsec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ipsec/>
List-Post: <mailto:ipsec@ietf.org>
List-Help: <mailto:ipsec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipsec>, <mailto:ipsec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 20 Jan 2014 18:15:18 -0000

Hi Fred,



Many thanks for the good comments. We're happy to clarify the fine details and nuances in our proposal further. As you could imagine, there are two ways that one can deploy ADVPN, as described in our draft. First, you can use the IPSec rules as defined on a per system/zone/virtual-system basis. Alternatively, one can bind the negotiated traffic-selectors during the negotiation (i.e. bind them to a virtual tunnel interface; in vendor-speak, I guess Cisco calls this a VTI interface, while Juniper refers to it as st0 interface). In general we consider this primarily an implementation decision. That is, different vendors may opt for either way, depending on what said vendor wants to bring into production. Both approaches are viable in the field and have their respective advantages. For example, if a tunnel-interface based approach is adopted, this allows us to run standard routing protocols to manage a large network, or achieve load-balancing in ECMP-based next hops. If someone choose rule based approach, they get better granularity and better security management.



The take-home message here is that our draft (draft-sathyanarayan-ipsecme-advpn) is flexible enough to allow any vendor (commercial, open-source, and even academic) to go for whichever approach they prefer to implement according to their own considerations. With respect to commercially-oriented vendors, in particular, we expect that they can easily adopt our draft to provide an open solution without compromising their business goals. (This may not be the case for the other two drafts, but never mind for now).



We would like to highlight once again that our draft does _not_ require the use of another tunneling mechanism just for establishing a shortcut tunnel between two endpoints. That is, one can simply extend their existing IPsec implementation to support shortcuts.



Please see inline below for further answers and comments to your questions.



Thanks,

Praveen





On 1/13/14, 8:07 AM, "Frederic Detienne (fdetienn)" <fdetienn@cisco.com<mailto:fdetienn@cisco.com>>

wrote:



Hi,



In reviewing the discussions over the past few weeks, there appear to be a

number of issues concerning draft-sathyanarayan-ipsecme-advpn-03 that

require further clarification.



It would be useful for the working group if the following aspects of

draft-sathyanarayan-ipsecme-advpn-03 were clarified:



1. scaling & general networking:

  1.1 It does appear this proposal has a limit of 256 networks. Is this

correct ? How do nodes negotiate SA's when there are more than 256

prefixes on each side ? For reference, RFC5996 does not offer the ability

to negotiate more than 256 prefixes in the TSi TSr payloads.



[PRAVEEN] The value you mention (256) is on a per shortcut tunnel basis. Nothing prevents you from having multiple shortcuts between the same shortcut partners. If a tunnel-interface approach is chosen, a routing protocol can be employed to manage, say, a large network. Based on the authors’ own implementation experience of IKE (i.e. without the ADVPN implementation in), you can always negotiate a single range (read: single subnet without narrowing). In other words, setting up an IPsec tunnel that is not tied to a VTI is pretty cheap and simple. It's just one round-trip in IKEv2 and, by default, involves no "heavy" crypto - just an encrypted CCSA packet and a KDF.





  1.2 What happens when a prefix administratively changes from behind one

branch to another ? How do servers get notified about that ?



[PRAVEEN] That’s an interesting point Fred, and thanks for bringing it up. First, please refer the ADVPN_INFO Payload and PROTECTED_DOMAIN sections (3.6 and 3.9, respectively) of http://tools.ietf.org/html/draft-sathyanarayan-ipsecme-advpn-03. As a general rule, each spoke can download updated PROTECTED_DOMAIN information periodically, which advertises everything behind the hub and all other spokes combined. Of course, this does not change if some subnet has moved from behind spoke A to behind another spoke, B. However, the Lifetime attribute of the ADVPN_INFO payload is key here. We could see this being employed in a straightforward manner to allow for this transition: a) the subnet can "disappear" and be unreachable for one Lifetime, or b) the original spoke can redirect to the new spoke.



We don't think this matters much in the real world, because people don't just move entire subnets instantaneously. Typically, folks stop using a subnet in one place, then begin using it in another. This makes a lot of sense for several operational reasons, as you would imagine. In fact, experience shows that since routing doesn't update across the world immediately, best practice would, for instance, indicate that it’s best to wait a day between stopping using the subnet in one place and starting to use it in another place. In this case, a Lifetime of one day or less should be just fine (and we’re thinking that, in fact, an hour would be a reasonable Lifetime value in practice).



We would indeed argue that using Lifetime allows us to make the basic implementation of ADVPN handle a transition from one administrative domain to another in a straightforward manner. A redirection based on RFC5685 re-uses an already defined mechanism and makes the transition immediate, if/when necessary. This is one more argument for draft-sathyanarayan-ipsecme-advpn as it illustrates the modularity of our ADVPN proposal _and_ keeps the implementation simple.





  1.3 How is VLSM taken into consideration (Variable Length Subnet

Masking). E.g. long prefix behind one branch and a short prefix behind

another



[PRAVEEN] Traffic-selector payloads are specified through address ranges. As such, shortcut tunnels can be established with _finer granularity than with VLSM_. Of course, on balance, this may mean that you can have weird selectors (for example, 192.168.0.0-192.168.36.255 and 192.168.38.0-192.168.255.255). Overall, we consider this yet another +1 for our proposal.





  1.4 How does a hub decide which Security Association to use when to

spoke devices decide to advertise the same prefix ?



[PRAVEEN] I guess you refer to error-handling, right? Because we see this as an erroneous configuration; please let us know if this is not the case (and why would that be so in a typical deployment; we’re looking forward to it).



In general, we assume that the hub has correct configuration or that, at the very minimum, the implementation would reject configuration changes that lead to an inconsistent state (and if that is the case, promptly alert the administrator about it). But to your question: Since it is hub, it must have SPD entries for its corresponding spokes. According to the SPD entries, the hub will choose which tunnel to use for forwarding the traffic. Please see Section 5 (http://tools.ietf.org/html/draft-sathyanarayan-ipsecme-advpn-03#section-5), which details how SPD entries are modified when a shortcut tunnel is established. In a nutshell, a dynamic shortcut SPD entry is added on top of an administratively configured static entry. We believe that, for all practical purposes, this is more than “good enough”. Of course, if routing protocols have a better solution to the problem you bring up, we’re all ears.





2. multicast:



2.1 There does not appear to be a specification of Multicast in this

proposal. This is a key requirement for some of the ADVPN sponsors. How

does multicast  work ?



[PRAVEEN] The traffic-selector payload does not make any assumptions about the type of prefixes that can be exchanged during the negotiation; multicast prefixes can be exchanged. If a virtual interface approach is adopted, the administrator can also use multicast routing protocols like PIM to discover source and best paths.





2.2 How are SA's negotiated and how do applications request multicast

traffic to be sent ?



[PRAVEEN] As mentioned above, one can configure and negotiate multicast groups. I believe, #2.1 already answers your question. However, we do not see multicast used with spokes: mutlicast IP is tunneled as regular IP. Maybe we didn’t get the scenario well understood though. Would you mind elaborating the scenario you have in mind wrt multicast?



3.interoperability. draft-sathyanarayan-ipsecme-advpn-03 does not mention

how a server/hub learns about networks behind other servers



3.1 what are the steps a server should take to establish a network with

other servers



[PRAVEEN] Would you please clarify the problem by providing some details here? What specific issues did you identify? May be you should refer to Appendix A, B and C of our draft. They may answer your question.



3.2 how is topology and reachability information exchanged between servers



[PRAVEEN] Please refer to Appendix C (http://tools.ietf.org/html/draft-sathyanarayan-ipsecme-advpn-03#appendix-C), which illustrates PROTECTED-DOMAIN can be used.