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

선경재 <gomjae@dcn.ssu.ac.kr> Wed, 11 August 2021 12:24 UTC

Return-Path: <gomjae@dcn.ssu.ac.kr>
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 1EF053A13F5 for <lisp@ietfa.amsl.com>; Wed, 11 Aug 2021 05:24:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.796
X-Spam-Level:
X-Spam-Status: No, score=-1.796 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, HTML_TAG_BALANCE_BODY=0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=dcn-ssu-ac-kr.20150623.gappssmtp.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 aF69z8KPuGli for <lisp@ietfa.amsl.com>; Wed, 11 Aug 2021 05:24:40 -0700 (PDT)
Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com [IPv6:2607:f8b0:4864:20::102c]) (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 1EDBC3A13EA for <lisp@ietf.org>; Wed, 11 Aug 2021 05:24:38 -0700 (PDT)
Received: by mail-pj1-x102c.google.com with SMTP id w14so3041113pjh.5 for <lisp@ietf.org>; Wed, 11 Aug 2021 05:24:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dcn-ssu-ac-kr.20150623.gappssmtp.com; s=20150623; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=IMXsC6FB+iWBkd4RosnLPZGI55WXwBe1/9Ko0QhsFS4=; b=dH5XobSc/MQbsDMmM4eZ8Q2Nm0/DpdxNjGYszMbP6KE2vaV9D4Q5wweSlfZ/UdNE4f pNLkionjSij+s1D7Dbud/Alvp7j+eOFbGKCTdyzWbyrtWt+SoAuuohofZkZDD289vxPo eKMJiBd/tO3w/wJXkV0QhUUb4f6pVh1K5nkr/uqoSeS8xUfm+wHI2TjGSZtSrDK3Mecr AcnF5tGqJup6KAE2pUTvhFyU9qKLaX7CpxG7K3hw1viEOhj8xwNKrSCeU1yh3TLxBLu6 2BsKV81YcDLDjfz7+RBYJsKQR4RbQm6GNIa65miQdMfH4PbJoNLUIyT1A2oUjMRx+55r n4+Q==
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=IMXsC6FB+iWBkd4RosnLPZGI55WXwBe1/9Ko0QhsFS4=; b=Ik/VJSJ+O6zCJENCLYW//iFKi4pLeboxKFWyu/1EMfRqnJP6w3eHh+TO5uheKHgCjp d1ou3VgUOP09uhw+Q91WwIhS6qlCHK2Xr7ob966x27K9DJysHXacYua45xME4EwkxU80 BXgMBoy51YcNF8MuFcCK4wBHjWVPtopBTppR92/tUxv3ea5GP64kczB9ra5p/ramVcEN P0qMD6kX3Ve6y0AcQeDrd2W5u6Q05bSXhxy1VWKuyhlSmq3/fkfbJzArzE0M+IkbfEt/ eeShx+JDaXiAzKityZt58ahVpbQpFF4Rr93yFUgZkZR9jYB0E9IEthbjxZB0Wt+3DZ2q KeoQ==
X-Gm-Message-State: AOAM5339dKfSLtujbPDHLEfKML371R+BEV25f34YqHZhIMnE9vvowOTp 3pEEvxGhsSmIeW8v57HOq8WEbg==
X-Google-Smtp-Source: ABdhPJwXK52KbHC/GVikf/MjB1EEL5zU0qPTu/0TRcU62fDGEawK9jq1mAWFmlwoS5qsllqosJX5UA==
X-Received: by 2002:a17:903:2287:b029:12c:ea26:6891 with SMTP id b7-20020a1709032287b029012cea266891mr1786122plh.85.1628684676797; Wed, 11 Aug 2021 05:24:36 -0700 (PDT)
Received: from smtpclient.apple ([59.9.233.14]) by smtp.gmail.com with ESMTPSA id ci23sm25091056pjb.47.2021.08.11.05.24.32 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 Aug 2021 05:24:35 -0700 (PDT)
From: 선경재 <gomjae@dcn.ssu.ac.kr>
Message-Id: <45AE7D69-B1BA-4415-946D-74A763290AF5@dcn.ssu.ac.kr>
Content-Type: multipart/alternative; boundary="Apple-Mail=_749C4B42-84DC-485A-829B-AB93708FF46E"
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.100.0.2.22\))
Date: Wed, 11 Aug 2021 21:24:27 +0900
In-Reply-To: <BA27C733-761C-450F-A175-9FC2D10B7A57@gmail.com>
Cc: 김영한 교수님 <younghak@ssu.ac.kr>, "lisp@ietf.org list" <lisp@ietf.org>
To: Dino Farinacci <farinacci@gmail.com>
References: <BA27C733-761C-450F-A175-9FC2D10B7A57@gmail.com>
X-Mailer: Apple Mail (2.3654.100.0.2.22)
Archived-At: <https://mailarchive.ietf.org/arch/msg/lisp/Xif5mNPjXDRoljpIb_Q0wwZlUCA>
Subject: Re: [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: Wed, 11 Aug 2021 12:24:47 -0000

Dino,



First of all, thank you very much to give detailed comments on our draft. Please check answers for your comments inline.



Additional comments and discussions are always welcome.

 

Regards,

 

KJ.



Kyoungjae Sun / K. J. SUN
————————————————————————————————————
Researcher
Distributed Cloud and Network Laboratory (DCN Lab)
Internet Infrastructure System Technology Research Center(IISTRC)
369 Sangdo-ro, Dongjak-gu, Seoul.
————————————————————————————————————
Tel. +82-2-814-0151
Mobile +82-10-3643-5627
Email gomjae@dcn.ssu.ac.kr

> 2021. 8. 11. 오전 7:26, Dino Farinacci <farinacci@gmail.com> 작성:
> 
> Kyoungjae/Younghan, thanks for the draft. See my comments below following your text, that I indented.
> 
>> <PastedGraphic-34.png>
> 
> 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.

KJ: In this draft, the concept and some architectural components of Dynamic anycasting come from the draft already proposed <draft-li-dyncast-architecture>. The purpose of this draft is to analyze the applicability of that concept based on the LISP.  

KJ: Yes, as your comments, LISP can support anycast EIDs and/or RLOCs with modification but in the dyncast concept, there are additional requirements to share service-related metrics and select in a more dynamic manner. Following your comment, I will update the abstract to clearly describe the purpose of our draft.

>> Having said that dynamic-anycast is an interesting concept so I welcome your contribution.<PastedGraphic-36.png>"
> 
> 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.

KJ: I agree with your comment and I felt also a little confused to be tried using different terminologies in the Dyncast draft together with LISP terminologies. In dyncast, they use Binding ID (BID) as locator where service instance is running so at the first time I just mapped that to RLOC but was still confused. I think it may be better to use RLOC instead of DBID to understand clearly. I will modify the figure and contents to make them clear.

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

KJ:  I will draw the borders in the next version.    
> 
> 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

KJ: Yes, I also think that DSID-to-RLOC-set is the more clear term. Thanks for your suggestion.

> .
> 
> 
>> <PastedGraphic-35.png>
> 
> 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.

KJ:  Thank you for your suggestions. The first time I tried to use "Anycast EID", but I want to separate it from normal anycast routing so I selected DSID. Since there is a "SID" term in other WG, SRv6, so I was concerned to make confusion for using un-clear terminology. I think DSEID is good for our draft which contains both LISP and Dyncast concepts. I will change that terms in the next version.    

>> <PastedGraphic-37.png>
> 
> 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?

KJ:  In that sentence, what I want to say was there are two options to make a decision of selecting the proper DBID for the request. In my opinion, indirect mapping for dividing each mapping depending on their metrics is an important feature to support dynamic anycasting in LISP, which selects proper service instances with both network-related and service-instance-related metrics. 
   
> 
>> <PastedGraphic-38.png>
> 
> 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.

KJ: The priority you mentioned just represents the network-related capability in the dynamic anycast viewpoint. However, if parameters to be required for selecting routing path are not only network-related metrics but also service-related metrics (i.e., computing loads, number of flows, etc.), we need other indirection for that.

> 
>> <PastedGraphic-39.png>
> 
> 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.

KJ:  In my understanding, in your suggestion, anycast RLOC is allocated to the ETRs which can deliver packet destined to anycast-EID by internal routing and routing between those ETRs are chosen in the underlay. Is it right? 

KJ: In this draft, we consider that service instances can be dynamically instantiated/released across multiple edges at the same time. For that, anycast-RLOC should be registered/deregistered at the ETR depending on the absence of specific anycast-EID. I wonder that is more efficient rather than using indirection mapping and update it with unicast-RLOC with metric information.
> 
>> <PastedGraphic-40.png>
> 
> 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.

Thank you for noticing me multi-tuple EID draft. I will check that draft and update contents. 
   
> 
>> <PastedGraphic-41.png>
> 
> 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.

KJ: Yes. the point I indicated that for dynamically changing map-cache entry, TTL can be shorter but I missed the existing solutions. According to your comment, I will update those solutions. As well as SMRs support, I think PubSub is also a good solution to support dynamic map-cache updates. Thank you for your point.

> 
>> <PastedGraphic-42.png>
> 
> Or draft-kowal-lisp-policy-distribution.

KJ : Thanks. I will check and add that too.

> 
>> <PastedGraphic-43.png>
> 
> 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).

KJ: I understand that making the decision at the mapping system has limitations in the current LISP. ITR is a better point to select the destination ETR. I will update draft with considerations of your comments.    

> 
>> <PastedGraphic-44.png>
> 
> 
> 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?

KJ: yes. I agree with your point that LISP already has the solution to mapping metrics to priorities. That is the one of reasons that I think that it is possible to provide dynamic anycast routing using LISP without huge modifications. So, I think that we should not give fixed solutions on how to collect and store metrics but we can mention possible solutions for that. Because it is more implemental issue. Is it right approach?

> 
>> <PastedGraphic-45.png>
> 
> Yes, it can, see draft-rodrigueznatal-lisp-multi-tuple-eids.

KJ:  Thank you for giving that information. I will check and update    
> 
> Thanks again for the draft,
> Dino
> 
> 
> 
> 
> 
> 
> 
>