[lisp] Comments to draft-kjsun-lisp-dyncast-00

Dino Farinacci <farinacci@gmail.com> Tue, 10 August 2021 22:27 UTC

Return-Path: <farinacci@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 59B573A1EFB for <lisp@ietfa.amsl.com>; Tue, 10 Aug 2021 15:27:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_IMAGE_RATIO_08=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, 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 H67ic8NQ__rp for <lisp@ietfa.amsl.com>; Tue, 10 Aug 2021 15:27:29 -0700 (PDT)
Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com [IPv6:2607:f8b0:4864:20::102f]) (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 6A6833A1EFA for <lisp@ietf.org>; Tue, 10 Aug 2021 15:27:29 -0700 (PDT)
Received: by mail-pj1-x102f.google.com with SMTP id s22-20020a17090a1c16b0290177caeba067so6581081pjs.0 for <lisp@ietf.org>; Tue, 10 Aug 2021 15:27:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:mime-version:subject:message-id:date:cc:to; bh=Fkdw5CF7TvirZxmZgQ0/9MNWfXBRBqgAUor/sTyL60c=; b=KZZh+Fg02+jyeA9VsNJLeO74qhe84tLXS3ziIWU27dVe+udQZZtm2VXoX1j+Zm3gxo fv1KH0t8SsqQfV5CaWYuFx5qqC5oksU1exGY6pvLV7TfqTAGEqiMKGWRbjwOvkbQmPWz D/87GsDQv2eBOaDsxtUtu5SxvucJiQxAX91q67M4AFxXlYU2VKqfDusRISQ5nWV+0JIF w+nSEZq5t/GTXnQ+YPHBwRidI+BF3Wt824d0WIjENhJxjhnRTY5Jdd14qGNUvJREeIw4 ZzhS/hfcMls7Xp6ZcRCFkBzwwdhBJCAb7zG0EO4Pbn7My4aG0QvSG9Z+npWdw3w0GoI/ IbJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:mime-version:subject:message-id:date:cc:to; bh=Fkdw5CF7TvirZxmZgQ0/9MNWfXBRBqgAUor/sTyL60c=; b=rOBnyimBAEweXFzUjVzcM5tJ1+HoU/IY4uT4ap0Bs2rGqKoNSBhG5Nf9b7TluDCgHw TK+rXnEYJXtB+2/Octt8JDfUPbg1HGC5elGSA7THt1ni9Rga66vyoMrg2CAtERbVtv05 vaFNCTS9BNRH3LqwP2B7NaEgvtQF0Bg6RUrLK8WVYj7hzYyni4Rsfmfflwg+HLs7sKJ2 foh1KphHWgE8sDDlVNutjT6+qDtvJmxB8o8ooH/hCa46zqSuW5orVijIQkIqMaIaBx8y mVnGnNvC3M27glnMsTOhOS/yUmWFcOadwkFkKKwq9HSM/m9YClh93f2PP5voSlt710Tf GYsQ==
X-Gm-Message-State: AOAM533wc5f/3NIAEOR1E4HUUeuTpdz9N4lt+kU+Qogj0hfXpPDA4CQw wWLv2Vj7eGW7/zsZh3chu3g=
X-Google-Smtp-Source: ABdhPJzYwILY5+d2OBjJDP82KppQtYdXlASEIQDdKMhpw2l4PgmePm9q2FTFlOKc7kqHRI/jTlmmFw==
X-Received: by 2002:a17:90b:4f83:: with SMTP id qe3mr23981687pjb.158.1628634447617; Tue, 10 Aug 2021 15:27:27 -0700 (PDT)
Received: from smtpclient.apple ([96.72.181.209]) by smtp.gmail.com with ESMTPSA id u190sm25872915pfb.95.2021.08.10.15.26.21 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 10 Aug 2021 15:27:25 -0700 (PDT)
From: Dino Farinacci <farinacci@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_F76B4A73-98B6-49C7-99BA-EAFDCCE22418"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\))
Message-Id: <BA27C733-761C-450F-A175-9FC2D10B7A57@gmail.com>
Date: Tue, 10 Aug 2021 15:26:20 -0700
Cc: "lisp@ietf.org list" <lisp@ietf.org>, Dino Farinacci <farinacci@gmail.com>
To: gomjae@dcn.ssu.ac.kr, younghak@ssu.ac.kr
X-Mailer: Apple Mail (2.3654.100.0.2.22)
Archived-At: <https://mailarchive.ietf.org/arch/msg/lisp/4yQPrY7ka3vEZ2AqnNGFkJ4oSEM>
Subject: [lisp] Comments to draft-kjsun-lisp-dyncast-00
X-BeenThere: lisp@ietf.org
X-Mailman-Version: 2.1.29
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: Tue, 10 Aug 2021 22:27:33 -0000

Kyoungjae/Younghan, thanks for the draft. See my comments below following your text, that I indented.


Note that the architecture can support anycast EIDs and/or anycast RLOCs with no special protocol considerations. It just depends on how you attach/assign an EID to a service, how the mapping system returns a partial RLOC-set, and how RLOCs are advertised in the underlay (like it is today with existing anycast services).

And in the abstract, it would be good to describe the high-level problem you want to solve. Because in the Introduction section you start out writing how it is solved.

> Having said that dynamic-anycast is an interesting concept so I welcome your contribution."

It would be useful to define the references to nodes in Figure 1 so it is understood when you refer to the diagram what is the relationship of LISP terms with dynamic-anycast terms. Just by looking at the figure, it iw not clear what a D-MA is and why in one case its co-located with an xTR and in another case it is not.

It is also not clear in the diagram where the LISP site boundaries are.  Please add circules that better define the boundary. Thanks.

It is not clear to me at this point in the draft, what a DBID is. The binding between an EID and an RLOC uses a standard term EID-to-RLOC mapping where I think you are proposing a DSID-to-RLOC-set binding. Please confirm.



I'd like to make a suggestion to call this type of EID an "DSEID" so it is clear that you are assigning the anycast attribute to an EID. Or simply make it "AEID" for "Anycast EID" so these concepts can be used more generally.


It sounds like you are giving the mapping system some policy control on what DBID to return and then having the ITR choose an RLOC within the DBID. Is that true? Is that the reason for a indirect mapping with a single lookup?


From this diagram, it appears there is a one-to-one relationship between a given DBID and an RLOC. So why is there a need for another level of indirection?

Today the way LISP supports an EID to RLOC-set mapping is that the EID-to-RLOC-set is registered to the mapping system and the mapping system returns the *entire RLOC-set*, but implementations support the map-server returning a partial set from the registered RLOC-set. But whatever is returned to the ITR allows it to choose which RLOCs to use. Usually the priority value that is created and sent by the ETR in a Map-Register allows the ETR to have control over what is chosen. We have many multi-homing examples of this.

So for your application, you could have a DSEID map to this RLOC-set:

RLOC-A, priority 1
RLOC-B, priority 1
RLOC-C, priority 2
RLOC-D, priority 2

Which indicates that ETR only wants packets sent to C and D when A and B are not reachable from the ITR (by using multiple mechanisms but the most robust is RLOC-probing).

Note the use of an RLOC-set comes in multiple forms:

(1) A list like above (default)
(2) An ELP, where the RLOC-record indicates a encap-path from ITR to ETR.
(3) An RLE, where the RLOC-record indicates that all RLOCs listed are used (multicast replication).

You could use 1 or all combinations of these with filtering/policy support on the map-server.


It is important to note that if you use equal priorities in an RLOC-set, that the ITR can load-split traffic across RLOCs and that will break connnection oriented applications (or applications that require remote state for a session).

So an ITR that is configured that a particular EID in its map-cache is an anycast-EID, it can use an RLOC-set above with each RLOC priority=1 and then choose based on the implementation's idea of what is a better RLOC to use.

IMO opinion, the better way to design/implement this is using an anycast-EID-to-anycast-RLOC mapping. Which means you only need a register from one place (an SDN controller) or each ETR registering the same RLOC (without merge semantics). So the serivce is chosen by destination address in a packet (the anycast-EID) which maps to an anycast-RLOC where the underlay takes you to the "closest" LISP site. But closest is just one way of getting to a service. You may have other ways and hence why you introduced a metric.


This is already supported if you use the multi-tuple EID draft. But I'd use it as a multi-stage lookup, where the multi-tuple EID mappings that point to an anycast-EID and then there is a anycast-EID mapping that points to RLOCs. It does require a 2-stage lookup but allows the anycast-EID to change for a given multi-tuple EID.


As long as packets are sent to a map-cache entry, the entry stays in the map-cache. And just before it is removed, a refresh Map-Request is sent. If you need a shorter TTL to update the entry, you can (1) support SMRs per RFC6833bis or (2) PubSub per draft-ietf-lisp-pubsub draft.


Or draft-kowal-lisp-policy-distribution.


There is one problem with the mapping-system making the decision. It doesn't have data relative to the source LISP site to make service access optimal for it. So we typically don't have map-servers make decisions based a dependence of a (source, dest) path or (5-tuple) EID. The ITR should make this decision given a set of possibilties that come from the mapping system (but registered somewhere else, note you can co-located an ETR and a map-server so the ETR component registers to "itself", per SDN-controller mentality).



Yes, it is better to gather the metrics data outside of LISP. But yes, the control-plane could store it. I would suggest just mapping your collection metrics to priorities so no protocol messages would need to be modified. I believe LISP already has designed in everything you need. Do you agree?


Yes, it can, see draft-rodrigueznatal-lisp-multi-tuple-eids.

Thanks again for the draft,
Dino