Re: [lisp] [Ila] LISP for ILA

Florin Coras <fcoras.lists@gmail.com> Wed, 14 March 2018 01:37 UTC

Return-Path: <fcoras.lists@gmail.com>
X-Original-To: lisp@ietfa.amsl.com
Delivered-To: lisp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 674E6124BFA; Tue, 13 Mar 2018 18:37:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-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 UPyGgwmCaIyO; Tue, 13 Mar 2018 18:37:36 -0700 (PDT)
Received: from mail-pl0-x22a.google.com (mail-pl0-x22a.google.com [IPv6:2607:f8b0:400e:c01::22a]) (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 443CC126B6D; Tue, 13 Mar 2018 18:37:36 -0700 (PDT)
Received: by mail-pl0-x22a.google.com with SMTP id 61-v6so875799plf.3; Tue, 13 Mar 2018 18:37:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=4J8tKb6UWlzb/LfpxD+1sVG0WqwAMaRCvZK2zRivUEw=; b=R7Nl/0PGdGZ1mKxZ5OE7HWIoK3+wYQHgkWYeIBIVugfcfUZBlG3epnqHn4r3wWD3lU Cj448BbqSt9n5OiC41fENt12OAviVgPj68XbakvRFNp7/bxofgJrAi3wwmrOmwuR8g7+ 1ENisC+wsrrDPROLbrlU+Pkv3qdBJlVZG0Vg6BlvtIBaunikk7GTBw/OF0lP9EprjksZ R3VJdP/E37LUhP34BAxsN7pWZ8/nCBecZyPoqVciS9SaOPtY3EnGO3d/o2Qd+VIxEMth XE/cfCCGuULBPwBRJXqdih+EIId+WDMhQHkroCDKh2OVDhqhg7MxOyazr6evhU80rUHU Wvmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=4J8tKb6UWlzb/LfpxD+1sVG0WqwAMaRCvZK2zRivUEw=; b=VadUzD31/CjGeHpTg2iCMcpbjBfqDkER9wGpeht7EpadjTSW8/5JY1TZcOCwjWSTZU qPO5ZOgEmKzHPP0zyGK+c/NVWM5mawwSdhUnRYgsfDSfyAKYu+uObLQxPfsUXeWHgIaV XnFzJuk3NreijCTTUNTfwLvA2Ji+JchcRr0Zrx1pNIcmAaHi01XERLSmEZMg1xUj/ca6 IwXlomyGOtfHLeqgzfFhyYfyjx1RiSWta5lAkm0tYKwgRLJA0So/939FcH5ay5JRr8g/ Fyu3lYzxzPK9enbVLw6XjTjkaZ06sooMxfV1lrbSn0pJol8YklC4VHfr4gg7SZtroFgg WOaA==
X-Gm-Message-State: AElRT7GhsORa3FHpKwEp5Eq6hyy/eo0i1yP4ZL8mfevm5/RJqf0WIqJE xGwGRvvoju6iT1WKxFRU8QI=
X-Google-Smtp-Source: AG47ELsfTn+pzGl3ZRPCGIKh5S9NEZXdcGrmlzy9XAiy/aRJtaTVcf1RkXWMehPH+SNiHQ9BsjDpYg==
X-Received: by 2002:a17:902:604e:: with SMTP id a14-v6mr2075257plt.356.1520991455889; Tue, 13 Mar 2018 18:37:35 -0700 (PDT)
Received: from ?IPv6:2001:420:c0c8:1004::5bd? ([2001:420:c0c8:1004::5bd]) by smtp.gmail.com with ESMTPSA id u22sm1945974pgv.77.2018.03.13.18.37.34 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Mar 2018 18:37:34 -0700 (PDT)
From: Florin Coras <fcoras.lists@gmail.com>
Message-Id: <DA74C61A-647A-44BA-8FE7-916CF8895C49@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_04AD8581-D5A3-494D-AF22-111DEEAC7BE9"
Mime-Version: 1.0 (Mac OS X Mail 11.2 \(3445.5.20\))
Date: Tue, 13 Mar 2018 18:37:33 -0700
In-Reply-To: <CAPDqMeqL1kE+N9APFOSR4fUaek0TjZuDZMZDzDmJfMvyLO38GA@mail.gmail.com>
Cc: "Alberto Rodriguez Natal (natal)" <natal@cisco.com>, "ila@ietf.org" <ila@ietf.org>, "lisp@ietf.org" <lisp@ietf.org>
To: Tom Herbert <tom@quantonium.net>
References: <F1093230-C087-4168-9C5F-8DA7AB677677@cisco.com> <CAPDqMer58nxEixtH=JuZh9WgM0xKkEQYEjwZ6zg3wTjD76gOHQ@mail.gmail.com> <F920CAE2-9042-41DF-B013-E8FE6F891596@cisco.com> <CAPDqMeriMzM82-R-JOgx4zuqJTk2YOoBaWV_58no2V8yPas9QA@mail.gmail.com> <CF1C238D-FBE9-48BC-A7A6-49E45249E5E2@cisco.com> <CAPDqMeqL1kE+N9APFOSR4fUaek0TjZuDZMZDzDmJfMvyLO38GA@mail.gmail.com>
X-Mailer: Apple Mail (2.3445.5.20)
Archived-At: <https://mailarchive.ietf.org/arch/msg/lisp/0WEZ87MISqTkptKCRkyJGEtIyrw>
Subject: Re: [lisp] [Ila] LISP for ILA
X-BeenThere: lisp@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: List for the discussion of the Locator/ID Separation Protocol <lisp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lisp>, <mailto:lisp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lisp/>
List-Post: <mailto:lisp@ietf.org>
List-Help: <mailto:lisp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lisp>, <mailto:lisp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 14 Mar 2018 01:37:39 -0000

Not sure about ILA-R but typically when deploying LISP, RTR/Proxy-ITRs have enough memory to store most, if not all, of the identity to location mappings. Therefore, once in steady state, most of the requests to the mapping system are triggered by edge devices ITR/ILA-N. 

This then means that just rate limiting ITRs should be enough to avoid DOS-ing the control plane and the problem converts into one of trying to avoid providing sub-optimal paths to legitimate traffic due to attacker pressure. As Alberto mentioned, there are a number of solutions to determining both the attackers and the destinations set that should be protected against cache evictions. The former can be used to determine the set of requests that should not be punted, while the latter ensures that mappings for popular destinations cannot be evicted by attacks. 

Florin

> On Mar 13, 2018, at 4:27 PM, Tom Herbert <tom@quantonium.net> wrote:
> 
> On Tue, Mar 13, 2018 at 3:50 PM, Alberto Rodriguez Natal (natal)
> <natal@cisco.com <mailto:natal@cisco.com>> wrote:
>> 
>> 
>> On 3/13/18, 1:05 PM, "Tom Herbert" <tom@quantonium.net> wrote:
>>> 
>>>    This is reflected below in: "While the mapping is being resolved via
>>>    the Map-Request/  Map-Reply process, the ILA-N can send the data
>>>    packets to the underlay using the SIR address."
>>> 
>>>    I think it should be assumed in ILA that not queuing packets and not
>>>    dropping packets because of resolution are requirements (too much
>>>    latency hit).
>>> 
>>> IMHO, these should not be hard requirements. Leveraging ILA-Rs for mapping resolution has another set of tradeoffs to be considered. An operator should be able to decide which set of tradeoffs makes sense for his/her particular scenario.
>>> 
>>    This is a hard requirement because caches are explicitly not required
>>    for ILA to operate. They are *only* optimizations. If there is a cache
>>    hit then packets presumably get optimized path, on a cache miss they
>>    might take a subopitimal route-- but packets still flow without being
>>    blocked! This means that the worse case DOS attack on the cache might
>>    cause suboptimal routing; however, if resolution is required then the
>>    worse attack case becomes that packets don't flow and it's a much more
>>    effective attack.
>> 
>> Performing the mapping resolution at the ILA-N doesn't mean that you can't send the packets to the ILA-R to avoid the first-packet-drop. Those are two different things. Traditionally in LISP, a possible deployment model is to have a couple of RTRs with all the mappings in the site, so xTRs can use them as default path while they are resolving mappings. In this scenario, all the mapping resolution is done at the xTRs while the RTRs are only forwarding "first-packets". We have seen this model working really well even for large LISP deployments.
>> 
>>>    In ILAMP, a redirect method is defined. On a chache miss the packet is
>>>    forwarded and no other action is taken. If an ILA-R does
>>>    transformation it may send back a mapping redirect informing the ILA-N
>>>    of a transformation. The redirects must be completely secure (one
>>>    reason I'm partial to TCP) and are only sent to inform an ILA-N about
>>>    a positive response. To a large extent this neutralizes the above
>>>    random address DOS attack. There are other means of attack on the
>>>    cache, but the exposure is narrowed I believe.
>>> 
>>> That model is supported in LISP via the use of Map-Notifies. However, moving the mapping resolution to the ILA-R comes at a cost. It's putting more load (in terms of both data and control plane) into an architectural component that it's not easy to scale out, since it requires (for instance) reconfiguring the underlay topology.
>> 
>>    I'm not see how this creates more load (i.e. the need for map request
>>    packets are eliminated), but I really don't understand what
>>    "reconfiguring the underlay topology" means!
>> 
>> Happy to try to clarify this. I'm talking about the load in the ILA-R. With a "redirect" model, the ILA-R has to (1) serve as the data-plane default path and (2) provide control-plane mapping resolution. This is centralizing the data-plane and control-plane into a single component, the ILA-R. Moreover, this will also require a lot of punts from the fast path to the slow path in the ILA-R which has also implications. With a request/reply model, the control-plane resolution is performed at the edges in a distributed fashion and the ILA-R only serves as data-plane default path to avoid dropping traffic. The latter model alleviates the load in the ILA-Rs, which reduces the need to scale them out.
>> 
> Yes, but you are ignoring the load on the mapping servers which also
> needs to scale. Additionally, if ILA-N is both forwarding a packet and
> sending a map request then this potentially doubles the packet load on
> the network and exacerbates the potential DOS attack where someone
> floods an ILA-N with packets having bogus destinations. There might be
> mitigations to this DOS attack, like heavy-hitters you mentioned, but
> we really need the details to see exactly how this works and how
> effective they are. On the surface of it, it looks like
> request/response model is susceptible to DOS especially when third
> parties are allowed to drive the process.
> 
> Tom
> 
> _______________________________________________
> lisp mailing list
> lisp@ietf.org <mailto:lisp@ietf.org>
> https://www.ietf.org/mailman/listinfo/lisp <https://www.ietf.org/mailman/listinfo/lisp>