Re: [v6ops] AD Review of: draft-ietf-v6ops-conditional-ras
Jen Linkova <furry13@gmail.com> Sat, 05 May 2018 04:01 UTC
Return-Path: <furry13@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 78D6512DA6F; Fri, 4 May 2018 21:01:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.449
X-Spam-Level:
X-Spam-Status: No, score=-2.449 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 2MN-KfdHvlO6; Fri, 4 May 2018 21:01:35 -0700 (PDT)
Received: from mail-lf0-x22c.google.com (mail-lf0-x22c.google.com [IPv6:2a00:1450:4010:c07::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1D79812DA50; Fri, 4 May 2018 21:01:35 -0700 (PDT)
Received: by mail-lf0-x22c.google.com with SMTP id w8-v6so33598083lfe.3; Fri, 04 May 2018 21:01:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=HVuSjX/8agKOORsGC2efLEzRe9qZaxBjaNMQgINJX2g=; b=QaPBs9QMbA1ECOis9fQUeUW3hO6/AQkjvBOUYfwR4VKebi2lHt61ydQUbxSnFitDcK hTc5cnGgi8mW9tL53RRwFVqT8d+hOODp/LMNbYPvyEThvURsOJtqXWtoKOU0W2EJk0Gm YYP/taznClQY3t36Q7vKFXN+JP/gi3NDI4BUsR2Y5Vc4tH2W2uH5zrWCPCnvdY0zvEqJ PfYLYnkwJQx0h0Cejr4OJkZYttW7Ve1at6+1iFc+cKHj3FKrXTFR49McqRPIimzmpmxX pqSptpWFm7ngTzGBrjZZdbJPdQ52pl/sUuxcMhUdCBpVRX5rPXSy0VsRr05NVhR4Wnh3 jeUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=HVuSjX/8agKOORsGC2efLEzRe9qZaxBjaNMQgINJX2g=; b=bqgYY1jbCulDQsaRqv7MmUuqnvEZRZjh2WKlWWsP2SKVTQYnATxmp456gD2ooAyDgA zlX95RXvUaznobDJF/9r+5br2/0yZ3sSV6WBvs4X86y/pXN0a7sn+Uq37IyY0CxJyvFv bLmJP+zeNzv72aImxTEdHc1KMZi+Rjr2GM1VZsM+K1X5IrZ8cyHwOxEILT2VDoIEmkL1 zrAlf/gvuPFUXni3b8uaHhAqS7v+iE9k4kRAx7nvfAnyjZkzlgKq54bdaKxTpbxjJ2oS 9RGKbGqqlLPtjInwv/j0F1Czj9uKPrO6W8r5rDQNpi70pU9VRchVnXtpw97NXPabsnXd ugrA==
X-Gm-Message-State: ALQs6tByVD+TaJDI5I7MXu+mTV9EyMZcWG5IjIbR1r++ltKjE0wQspGj Wtihu/fCRV8Fo60eH68/rG/1tJJO0glsxxI94ofNXlTz
X-Google-Smtp-Source: AB8JxZrGd1Xmj84aZIB/yXU8uOTHxFlrkXdkqVDrRo1K/RzXjTzXUcNDj/Kc5fMfm0/RPvGstwEbmcTy+S7BI9EeqVM=
X-Received: by 2002:a2e:8246:: with SMTP id j6-v6mr11225811ljh.72.1525492892926; Fri, 04 May 2018 21:01:32 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a19:5c04:0:0:0:0:0 with HTTP; Fri, 4 May 2018 21:01:12 -0700 (PDT)
In-Reply-To: <CAHw9_iKM=ORKdCDT+8KkqtjiO9X5waH6AKkgqi0LqSQKg-9mTQ@mail.gmail.com>
References: <CAHw9_iKM=ORKdCDT+8KkqtjiO9X5waH6AKkgqi0LqSQKg-9mTQ@mail.gmail.com>
From: Jen Linkova <furry13@gmail.com>
Date: Sat, 05 May 2018 14:01:12 +1000
Message-ID: <CAFU7BARZQ=REpmRtzcH1w3v3TmfY-440Owfa+wzMH=3PYTrkUg@mail.gmail.com>
To: Warren Kumari <warren@kumari.net>
Cc: IPv6 Operations <v6ops@ietf.org>, draft-ietf-v6ops-conditional-ras@ietf.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/4MZg-_Cm8qiY-ft69Lfa9pmTKxY>
Subject: Re: [v6ops] AD Review of: draft-ietf-v6ops-conditional-ras
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.22
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: Sat, 05 May 2018 04:01:38 -0000
Thanks a lot for your review, Warren! (Especially for fixing the punctuation! ;) I've integrated the proposed changes and modified the pseudo-code, hopefully it's a bit more readable now. Please let me know if you still have concerns or suggestions on how it improve it further. Also I've fixed a few nits reported by the id-nit tool: - removed references from the abstract and replaced them with a plain text; - removed 'MUST' from the text. The -04 version: https://datatracker.ietf.org/doc/draft-ietf-v6ops-conditional-ras/ https://tools.ietf.org/html/draft-ietf-v6ops-conditional-ras-04 A diff from the previous version is available at: https://www.ietf.org/rfcdiff?url2=draft-ietf-v6ops-conditional-ras-04 Thanks! On Sat, May 5, 2018 at 4:18 AM, Warren Kumari <warren@kumari.net> wrote: > Hello, > > Thank you to the editors and WG for your efforts on > this document, it's a well written, useful and easy to understand > draft. I do have a few comments that I’d like addressed > before I start IETF LC. > > The majority of these are nits (and 2 substantive comments), but addressing > these now will avoid > issues later in the process. > > Please let me know LOUDLY AND EXPLICITLY once you've had a chance to address > them and I'll kick off IETF LC. > > W > > > Section: Abstract > > This document discusses most common scenarios of connecting an > > O: discusses most common > P: discusses the most common > > enterprise network to multiple ISPs using an address space assigned > by an ISP. The problem of enterprise multihoming without address > translation of any form has not been solved yet as it requires both > the network to select the correct egress ISP based on the packet > source address and hosts to select the correct source address based > on the desired egress ISP for that traffic. > .... > general problem and on covering various complex use cases, this > document describes how the solution proposed in > [I-D.ietf-rtgwg-enterprise-pa-multihoming] can be adopted for limited > > O: adopted for limited > P: adopted for a limited > > number of common use cases. In particular, the focus is on scenarios > where an enterprise network has two Internet uplinks used either in > primary/backup mode or simultaneously and hosts in that network might > not yet properly support multihoming as described in [RFC8028]. > > > Section: 1. Introduction > > Using Provider Independent (PI) address space is not > always an option as it requires running BGP between the enterprise > network and the ISPs, not mentioning administrative overhead of > obtaining and managing PI address space. As IPv6 host can, by > > O: > > Using Provider Independent (PI) address space is not > always an option as it requires running BGP between the enterprise > network and the ISPs, not mentioning administrative overhead of > obtaining and managing PI address space. As IPv6 host can, by > > P: > > Using Provider Independent (PI) address space is not > always an option, since it requires running BGP between the enterprise > network and the ISPs. Administrative overhead of > obtaining and managing PI address space can also be a concern. As IPv6 > hosts can, by > > R: Readability > > design, have multiple addresses of the global scope, multihoming > using provider address looks even easier for IPv6: each ISP assigns > an IPv6 block (usually /48) and hosts in the enterprise network have > addresses assigned from each ISP block. However using IPv6 PA blocks > in multihoming scenario introduces some challenges, including but not > limited to: > > .... > > The document [I-D.ietf-rtgwg-enterprise-pa-multihoming] discusses > these and other related challenges in details in relation to the > > O: in details > > P: in detail > > general multihoming scenario for enterprise networks. Unfortunately > the proposed solution heavily relies on the rule 5.5 of the default > > O: heavily relies > P: relies heavily > > O: on the rule 5.5 [... > P: maybe reference the rule more specifically, provide more detail, etc. > This is an introductory section, it it unlikely that people will remember > what rule 5.5 says. > > address selection algorithm ([RFC6724]) which has not been widely > implemented at the moment this document was written. Therefore > > O: at the moment > P: when > > network administrators in enterprise networks can't yet assume that > all devices in their network support the rule 5.5, especially in the > quite common BYOD ("Bring Your Own Device") scenario. However, while > it does not seem feasible to solve all the possible multihoming > scenarios without reliying on rule 5.5, it is possible to provide > > O: reliying > P: relying > > IPv6 multihoming using provider-assigned (PA) address space for the > most common use cases. This document discusses how the general > solution described in [I-D.ietf-rtgwg-enterprise-pa-multihoming] can > be applied to scenarios when: > > o An enterprise network has two or more ISP uplinks; > > o Those uplinks are used for Internet access in active/backup or > load sharing mode w/o any soficticated traffic engineering > > O: soficticated > P: sophisticated > > requirements; > > > Section: 2.2. Two ISP Uplinks, Used for Load Balancing > > This scenario has the following key characteristics: > > o The enterprise network is using uplinks to two (or more) ISPs for > Internet access; > > o Each ISP assigns an IPv6 PA address space; > > o All the uplinks may be used simultaneously, with the traffic flows > being randomly (not nessesary equally) distributed between them; > > O: nessesary > P: necessarily > > > o Hosts in the enterprise network are not expected to support the > Rule 5.5 of the default address selection algorithm ([RFC6724]). > > > .... > > Section: 3.1.1. Uplink Selection > > While some work is being done in the Source Address Dependent Routing > (SADR) area, the simplest way to implement the desired functionality > currently is to apply a policy which selects a next-hop or an egress > interface based on the packet source address. Most of the SMB/ > > O: Most of the > P: Most > > Enterprise grade routers have such functionality available currently. > > 3.1.2. Source Address Selection and Conditional RAs > > Sending a > router advertisement to change the preferred lifetime for a given > prefix provides the following functionality: > > > o deprecating addresses (by sending an RA with the > preferred_lifetime set to 0 in the corresponding POI) to indicate > > O: POI > > R: POI? or PIO? -- also, need a POI reference. > > to hosts that that addresses from that prefix should not be used; > > .... > > The trigger is not only forcing the router to send an unsolicited RA > to propagate the topology changes to all hosts. Obviously the RA > fields values (like PIO Preferred Lifetime or DNS Server Lifetime) > changed by the particular trigger MUST stay the same until another > event happens causing the value to be updated. E.g. if the ISP_A > uplink failure causes the prefix to be deprecated all solicited and > > O: to be deprecated all > P: to be deprecated, all > > unsolicited RAs sent by the router MUST have the Preferred Lifetime > for that POI set to 0 until the uplink comes back up. > > It should be noted that the proposed solution is quite similar to the > existing requirement L-13 for IPv6 CPE routers ([RFC7084]) and the > documented behaviour of homenet devices. It is using the same > > > O: behaviour > P: behavior > > > mechanism of deprecating a prefix when the corresponding uplink is > not operational, applying it to enterprise network scenario. > > > Section: 3.2.1. Single Router, Primary/Backup Uplinks > > > > > To ensure that packets with source addresses from ISP_A and ISP_B are > only routed to ISP_A and ISP_B uplinks respectively, the network > administrator needs to configure a policy on R1: > > > if { > packet_destination_address is not in 2001:db8:1::/48 or 2001:db8:2::/48 > packet_source_address is in 2001:db8:1::/48 > } then { > default next-hop is ISP_A_uplink > } > if { > packet_destination_address is not in 2001:db8:1::/48 or 2001:db8:2::/48 > packet_source_address is in 2001:db8:2::/48 > } > then { > default next-hop is ISP_B_uplink > } > > C: Pseudocode is always tricky; it is hard to get the level of abstraction > right. I think that this needs a bit more work / words / parenthesis... > > Is this: > A: packet_destination_address is not in 2001:db8:1::/48 AND IS NOT IN > 2001:db8:2::/48 > > or > > B: packet_destination_address is not in 2001:db8:1::/48 OR IS IN > 2001:db8:2::/48 ? (The first is implied, but not really explicit) > > > Also, is the "packet_source_address is in 2001:db8:1::/48" AND or OR with > the first condition? > > > I think: > (packet_destination_address is not in (2001:db8:1::/48 or 2001:db8:2::/48)) > and (packet_source_address is in 2001:db8:1::/48) > is clearer, but not sure (same for other pseudocode too) .... > > ... > > 3.2.5. Topologies with Dedicated Border Routers > > For simplicity reasons all topologies below show the ISP uplinks > > O: For simplicity reasons > P: For simplicity, > > terminated on the first-hop routers. Obviously, the proposed > approach can be used in more complex topologies when dedicated > devices are used for terminating ISP uplinks. In that case VRRP > mastership or inteface status can not be used as a trigger for > > O: inteface > P: interface > > conditional RAs and route presence as described above should be used > instead. > > ... > > R1 and R2 policy: > > prefix 2001:db8:1:1::/64 { > if ISP_A_uplink_route is present then preferred_lifetime = 604800 > else preferred_lifetime = 0 > } > prefix 2001:db8:2:1::/64 { > if ISP_A_uplink_route is present then preferred_lifetime = 0 > else preferred_lifetime = 604800 > } > > For load-balancing case the policy would look slightly different: > > O: For load-balancing case > P: For the load balancing case ? > > each prefix has non-zero preferred_lifetime only if the correspoding > ISP uplink route is present: > > > > Section: 3.2.6. Intra-Site Communication during Simultaneous Uplinks Outage > > Prefix deprecation as a result of an uplink status change might lead > to a situation when all global prefixes are deprecated (all ISP > uplinks are not operational for some reason). Even when there is no > Internet connectivity it might be still desirable to have intra-site > IPv6 connectivity (especially when the network in question is an > IPv6-only one). However while an address is in a deprecated state, > its use is discouraged, but not strictly forbidden ([RFC4862]). In > such scenario all IPv6 source addresses in the candidate set > > O: such scenario > P: such a scenario, > > ([RFC6724]) are deprecated which means that they still can be used > > O: deprecated which means > P: deprecated, which means > > (as there is no preferred addresses available) and the source address > selection algorith can pick up one of them, allowing the intra-site > communication. However some OSes might just fall back to IPv4 if the > network interface has no preferred IPv6 global addresses. Therefore > if intra-site connectivity is vital during simultanious outages of > multiple uplinks, administrators might consider using ULAs or > provisioning additional backup uplinks to protect the network from > double-failure cases. > > 3.2.7. Uplink Damping > > If an actively used uplink (primary one or one used in load balaning > scenario) starts flapping, it might lead to undesirable situation of > > O: to undesirable situation > P: to the undesirable situation > > flapping addresses on hosts (every time the uplink goes up hosts > receive an RA with non-zerop preferred PIO lifetime, and every time > > O: non-zerop > P: non-zero > > the uplink goes down all address in the affected prefix become > > O: all address > P: all addresses > > deprecated). Undoubtedly it would negatively impact user experience, > not mentioning spikes of DAD traffic every time an uplink comes back > > O: Undoubtedly it would negatively impact user experience, > > not mentioning spikes > > P: This would, undoubtedly, negatively impact the user experience, not to > mention the impact of spikes > > up. Therefore it's recommended that router vendors implement some > form of damping policy for conditional RAs and either postpone > sending an RA with non-zero lifetime for a POI when the uplink comes > up for a number of seconds or even introduce accumulated penalties/ > exponential backoff algorithm for such delays. (In the case of > multiple simultaneous uplink failure scenario, when all but one > uplinks are down and the last remaining is flapping it might result > in all addresses being deprecated for a while after the flapping > uplink recovers.) > > O: (In the case of > > multiple simultaneous uplink failure scenario, when all but one > uplinks are down and the last remaining is flapping it might result > in all addresses being deprecated for a while after the flapping > uplink recovers.) > > P: (In the case of a > > multiple simultaneous uplink failure scenario, when all but one > uplink is down and the last remaining one is flapping, this might result > in all addresses being deprecated for a while after the flapping > uplink recovers.) > > > 3.3. Solution Limitations > > It should be noted that the proposed approach is not a silver bullet > for all possible multihoming scenarios. The main goal is to solve > some common use cases so it would suit very well relatively simple > topologies with straightforward policies. The more complex the > > O: > > so it would suit very well relatively simple > topologies with straightforward policies. > > P: -- I don't know, but I am having trouble parsing the above. > > network topology and the corresponding routing policies more > > O: policies more > P: policies, the more > > configuration would be required to implement the solution. > > Another limitation is related to the load balancing between the > uplinks. In that scenario when both uplinks are active hosts would > > O: In that scenario when both uplinks are active hosts > P: In the scenario in which both uplinks are active, hosts > > select the source prefix using the Default Address Selection > algorithm ([RFC6724]) and therefore the load between two uplinks most > > O: algorithm ([RFC6724]) and therefore the load > P: algorithm ([RFC6724]), and therefore the load > > likely would not be evenly distributed. (However the proposed > > O: However > P: However, > > mechanism does allow a creative way of controlling uplinks load in > SDN networks where controllers might selectively deprecate prefixes > on some hosts but not others to move egress traffic between uplinks). > Also the prefix selection does not take into account any other > uplinks properties (such as RTT etc) so egress traffic might not be > > O: (such as RTT etc) so > P: (such as RTT etc), so > > > sent to the nearest uplink if the corresponding prefix is selected as > a source. In general if not all uplinks are equal and some uplinks > are expected to be preferred over others then the network > > O: In general if not all uplinks are equal and some uplinks > are expected to be preferred over others then > > P: In general, if not all uplinks are equal and some uplinks > are expected to be preferred over others, then > > adminitrator should ensure that prefixes from non-preferred ISP(s) > > O: adminitrator > P: administrator > > are kept deprecated (so primary/backup setup is used). > > 3.3.1. Connections Preservation > > The proposed solution is not designed to preserve connections state > > O: connections > P: connection > after an uplink failure. If all uplinks to an ISP go down all > > O: If all uplinks to an ISP go down > P: If all uplinks to an ISP go down, > > sessions to/from addresses from that ISP address space are > interrupted as there is no egress path for those packets and there is > not return path from Internet to the correspodning prefix. In this > > O: not return path from Internet to the correspodning prefix. > P: no return path from the Internet to the corresponding prefix. > > regard it is similar to IPv4 multihoming using NAT, where an uplink > failure and failover to another uplink means that a public IPv4 > address changes and all existing connections are interrupted. > > An uplink recovery, however, does not nessesary leads to connections > > O: nessesary leads > P: necessarily lead > > interruption. In the load sharing/balancing scenario an uplink > recovery does not affect any existing connections at all. In the > active/backup topology when the primary uplink recovers from the > failure and the backup prefix is deprectaed, the existing sessions > > O: deprectaed > P: deprecated > > (established to/from the backup ISP addresses) can be preserved if > the routers are configured as described in Section 3.2.1 and send > packets with the backup ISP source addresses to the backup uplink > even when the primary one is operational. As a result, the primary > uplink recovery makes the usage of the backup ISP addresses > discouraged but still possible. > > > -- > I don't think the execution is relevant when it was obviously a bad idea in > the first place. > This is like putting rabid weasels in your pants, and later expressing > regret at having chosen those particular rabid weasels and that pair of > pants. > ---maf > > _______________________________________________ > v6ops mailing list > v6ops@ietf.org > https://www.ietf.org/mailman/listinfo/v6ops > -- SY, Jen Linkova aka Furry
- [v6ops] AD Review of: draft-ietf-v6ops-conditiona… Warren Kumari
- Re: [v6ops] AD Review of: draft-ietf-v6ops-condit… Jen Linkova