Network Working Group                                    L. Dunbar
Internet Draft                                   J. Kaippallimalil
Intended status: Standard                                Futurewei
Expires: April 27, 2021

                                                  October 27, 2020



         IPv6 Solution for 5G Edge Computing Sticky Service
         draft-dunbar-6man-5g-edge-compute-sticky-service-00

Abstract

   This draft describes an IPv6 solution that enables packets from
   an application on a UE (User Equipment) sticking to the same
   application server location when the UE moves from one 5G cell
   site to another.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79. This document may not be
   modified, and derivative works of it may not be created, except
   to publish it as an RFC and to translate it into languages
   other than English.

   Internet-Drafts are working documents of the Internet
   Engineering Task Force (IETF), its areas, and its working
   groups.  Note that other groups may also distribute working
   documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other
   documents at any time.  It is inappropriate to use Internet-
   Drafts as reference material or to cite them other than as
   "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt



xxx, et al.             Expires April 27, 2021            [Page 1]


Internet-Draft     IPv6 for 5G Edge Sticky Service

   The list of Internet-Draft Shadow Directories can be accessed
   at http://www.ietf.org/shadow.html

   This Internet-Draft will expire on April 7, 2021.

Copyright Notice

   Copyright (c) 2020 IETF Trust and the persons identified as the
   document authors. All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document. Please review these documents
   carefully, as they describe your rights and restrictions with
   respect to this document. Code Components extracted from this
   document must include Simplified BSD License text as described
   in Section 4.e of the Trust Legal Provisions and are provided
   without warranty as described in the Simplified BSD License.

Table of Contents

1. Introduction.................................................. 3
1.1. 5G Edge Computing Background................................ 3
1.2. Problem #1: ANYCAST in 5G EC Environment.................... 4
1.3. Problem #2: sticking to original App Server................. 5
1.4. Problem #3: Application Server Relocation................... 5
2. Conventions used in this document............................. 6
3. Proposed IPv6 Based Solution.................................. 7
3.1. Solution Overview........................................... 8
3.2. Ensure one IPv6 Flow Go to the Same Location................ 9
3.3. Discover the Egress Routers for App Servers................ 10
3.4. Using Destination Extension Header......................... 10
3.5. Using IPv6 Routing Extension Header........................ 13
4. Achieve Sticky Service without dependence on UE.............. 14
5. Forwarding to the desired A-ER without using Tunnel.......... 15
6. Manageability Considerations................................. 16
7. Security Considerations...................................... 17
8. IANA Considerations.......................................... 17
9. References................................................... 17
9.1. Normative References....................................... 17
9.2. Informative References..................................... 17
10. Acknowledgments............................................. 18




Dunbar, et al.          Expires April 27, 2021            [Page 2]


Internet-Draft     IPv6 for 5G Edge Sticky Service

1. Introduction

1.1. 5G Edge Computing Background

   As described in [5G-EC-Metrics], one Application can have
   multiple Application Servers hosted in different Edge Computing
   data centers that are close in proximity. Those Edge Computing
   (mini) data centers are usually very close to, or co-located
   with, 5G base stations, with the goal to minimize latency and
   optimize the user experience.

   When a UE (User Equipment) initiates application packets using
   the destination address from a DNS reply or from its own cache,
   the packets from the UE are carried in a PDU session through 5G
   Core [5GC] to the 5G UPF-PSA (User Plan Function - PDU Session
   Anchor). The UPF-PSA decapsulate the 5G GTP outer header and
   forwards the packets from the UEs to the Ingress router of the
   Edge Computing (EC) Local Data Network (LDN). The LDN for 5G
   EC, which is the IP Networks from 5GC perspective, is
   responsible for forwarding the packets to the intended
   destinations.

   When the UE moves out of coverage of its current gNB (next
   generation Node B) (gNB1), handover procedures are initiated
   and the 5G SMF (Session Management Function) also selects a new
   UPF-PSA. The standard handover procedures described in 3GPP TS
   23.501 and TS 23.502 are followed. When the handover process is
   complete, the UE has a new IP address and the IP point of
   attachment is to the new UPF-PSA. 5GC may maintain a path from
   the old UPF to new the UPF for a short period of time for SSC
   [Session and Service Continuity] mode 3 to make the handover
   process more seamless.














Dunbar, et al.          Expires April 27, 2021            [Page 3]


Internet-Draft     IPv6 for 5G Edge Sticky Service

   +--+
   |UE|---\+---------+                 +------------------+
   +--+    |  5G     |    +---------+  |   S1: aa08::4450 |
   +--+    | Site +--++---+         +----+                |
   |UE|----|  A   |PSA| Ra|         | R1 | S2: aa08::4460 |
   +--+    |      +---+---+         +----+                |
  +---+    |         |  |           |  |   S3: aa08::4470 |
  |UE1|---/+---------+  |           |  +------------------+
  +---+                 |IP Network |       L-DN1
                        |(3GPP N6)  |
     |                  |           |  +------------------+
     | UE1              |           |  |  S1: aa08::4450  |
     | moves to         |          +----+                 |
     | Site B           |          | R3 | S2: aa08::4460  |
     v                  |          +----+                 |
                        |           |  |  S3: aa08::4470  |
                        |           |  +------------------+
                        |           |      L-DN3
   +--+                 |           |
   |UE|---\+---------+  |           |  +------------------+
   +--+    |  5G     |  |           |  |  S1: aa08::4450  |
   +--+    | Site +--++-+--+        +----+                |
   |UE|----|  B   |PSA| Rb |        | R2 | S2: aa08::4460 |
   +--+    |      +--++----+        +----+                |
   +--+    |         |  +-----------+  |  S3: aa08::4470  |
   |UE|---/+---------+                 +------------------+
   +--+                                     L-DN2
             Figure 1: App Servers in different edge DCs



1.2. Problem #1: ANYCAST in 5G EC Environment

   Increasingly, Anycast is used extensively by various
   application providers and CDNs because it is possible to
   dynamically load balance across multiple locations of the same
   address based on network conditions. BGP is an integral part in
   the way IP anycast usually functions. Within BGP routing there
   are multiple routes for the same IP address which are pointing
   to different locations.

   Application Server location selection using Anycast address
   leverages the proximity information present in the network


Dunbar, et al.          Expires April 27, 2021            [Page 4]


Internet-Draft     IPv6 for 5G Edge Sticky Service

   (routing) layer and eliminates the single point of failure and
   bottleneck at the DNS resolvers and application layer load
   balancers. Another benefit of using ANYCAST address is removing
   the dependency on UEs that use their cached IP addresses
   instead of querying DNS when they move to a new location.

   But, having multiple locations for the same ANYCAST address in
   5G Edge Computing environment can be problematic because all
   those edge computing Data Centers can be close in proximity.
   There might not be any difference in the routing cost to reach
   the Application Servers in different Edge DCs.   Same routing
   cost to multiple ANYCAST locations can cause packets from one
   flow to be forwarded to different locations, which can cause
   service glitches.

1.3. Problem #2: sticking to original App Server

   When a UE moves to a new location but continues the same
   application flow, routers at the new location might choose the
   App Server closer to the new location. As shown in the figure
   below, when the UE1 in 5G-site-A moves to the 5G-Site-B, the
   router directly connected to 5G PSA2 might forward the packets
   destined towards the S1: aa08::4450 to the instance located in
   L-DN2 because L-DN2 has the lowest cost based on routing.

   This is not the desired behavior for some services, which are
   called Sticky Services in this document.

   Even for some advanced applications with built-in mechanisms to
   re-sync the communications at the application layer after
   switching to a new location, service glitches are very often
   experienced by users.

   It worth noting that not all services need to be sticky. We
   assume only a subset of services are, and the Network is
   informed of the services that need to be sticky, usually by
   requests from application developers or controllers.

   This document describes an IPv6 based network layer solution to
   stick the packets belonging to the same flow of a UE to its
   original App Server location after the UE is anchored to a new
   UPF-PSA.

1.4. Problem #3: Application Server Relocation

   When an Application Server is added to, moved, or deleted from
   a 5G Edge Computing Data Center, the routing protocol has to


Dunbar, et al.          Expires April 27, 2021            [Page 5]


Internet-Draft     IPv6 for 5G Edge Sticky Service

   propagate the changes to 5G PSA or the PSA adjacent routers.
   After the change, the cost associated with the site [5G-EC-
   Metrics] might change as well.



   Note: for the ease of description, the Edge Application Server
   and Application Server are used interchangeably throughout this
   document.



2. Conventions used in this document


   A-ER:       Egress Router to an Application Server, [A-ER] is
               used to describe the last router that the
               Application Server is attached. For 5G EC
               environment, the A-ER can be the gateway router to
               a (mini) Edge Computing Data Center.

   Application Server: An application server is a physical or
               virtual server that host the software system for
               the application.

   Application Server Location: Represent a cluster of servers at
               one location serving the same Application. One
               application may have a Layer 7 Load balancer, whose
               address(es) are reachable from external IP network,
               in front of a set of application servers. From IP
               network perspective, this whole group of servers
               are considered as the Application server at the
               location.

   Edge Application Server: used interchangeably with Application
               Server throughout this document.

   EC:         Edge Computing

   Edge Hosting Environment: An environment providing support
               required for Edge Application Server's execution.




Dunbar, et al.          Expires April 27, 2021            [Page 6]


Internet-Draft     IPv6 for 5G Edge Sticky Service

               NOTE: The above terminologies are the same as those
               used in 3GPP TR 23.758

   Edge DC:    Edge Data Center, which provides the Edge Computing
               Hosting Environment. It might be co-located with 5G
               Base Station and not only host 5G core functions.

   gNB         next generation Node B

   L-DN:       Local Data Network

   PSA:        PDU Session Anchor (UPF)

   SSC:        Session and Service Continuity

   UE:         User Equipment

   UPF:        User Plane Function


   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
   NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
   "MAY", and "OPTIONAL" in this document are to be interpreted as
   described in BCP 14 [RFC2119] [RFC8174] when, and only when,
   they appear in all capitals, as shown here.




3. Proposed IPv6 Based Solution

   Many Mobile operators have adopted IPv6, at least on the UE
   side. With IPv6, routers within one Local Data Network can
   utilize the Flow Label in IPv6 Header to avoid sending packets
   from the same flow to the App Server at different locations
   with the same cost, (which is a great benefit for migrating to
   IPv6 network).

   The solution described in this section is for the ingress
   router in the new LDN to steer an application flow from a UE to
   the App Server at the location that was used by the UE before
   the move.





Dunbar, et al.          Expires April 27, 2021            [Page 7]


Internet-Draft     IPv6 for 5G Edge Sticky Service

 3.1. Solution Overview

   Here are some assumptions for the solution:

     - Network is aware of the Sticky Services, by the Sticky
        Service Identifiers, which can be ANYCAST addresses or
        regular IP addresses. If an application service needs to
        be sticky in the 5G Edge Computing environment, the
        service ID is registered with the 5G Edge Computing
        controller.


   From the network perspective, a sticky service is no longer
   sticky if there are no packets from the UE towards the service
   ID for a specified time. The Timer should be larger than a
   typical TCP session Timeout value.


   Here is the overview of the proposed solution:

     - Each Sticky service is assigned with a service ID, which
        can be one or a group of ANYCAST addresses. It is out of
        the scope of this document on how the Sticky Service ID is
        generated.
     - Routers that have the Sticky service servers (physical or
        virtual) directly attached, a.k.a. egress routers in this
        document, are configured with the ACLs that can filter out
        the packets towards and from the attached App Servers.
        Those egress routers usually are the Gateway routers to
        the Edge computing DC,
        When the Egress router filters out packets that match the
        Sticky Service ID ACLs from the App Servers directly
        attached, it inserts a Sticky-Dst-SubTLV [Section 3.4]in
        the IPv6 extension header before forwarding the packets to
        its destination (i.e. the UE).

     - It is expected that application client on a UE copy the
        extension header from its received IPv6 header to the
        subsequent packets belonging to the same application if
        the application prefers to same server instance when UE
        moves.




Dunbar, et al.          Expires April 27, 2021            [Page 8]


Internet-Draft     IPv6 for 5G Edge Sticky Service

        For UEs that cannot perform this procedure, section 4 and
        5 describes the detailed steps.
     - Ingress routers in the 5G LDN are also configured with the
        ACLs that can filter out packets whose destination
        addresses match with the Sticky Service Identifiers.
        When an ingress router filters out packets based on the
        Sticky Service ACL, it extracts the Sticky-Dst-SubTLV from
        the packet header if the packet header has the Sticky-Dst-
        SubTLV. The ingress router forwards the packets to the
        egress router extracted from the Sticky-Dst-SubTLV. If the
        Packet Header doesn't have the Sticky-Dst-SubTLV or fail
        to match the Sticky Service ACL, the packets are forwarded
        based on the least cost [5G-EC-Metrics].



 3.2. Ensure one IPv6 Flow Go to the Same Location

   RFC8200 specifies the IPv6 Header with the following required
   fields plus multiple extension headers.

    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |Version| Traffic Class |           Flow Label(20 bits)         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |         Payload Length        |  Next Header  |   Hop Limit   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    +                         Source Address                        +
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    +                      Destination Address                      +
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



   For most cases, it is preferable for the routers not to split
   packets from one flow to the App Server located at different
   Edge DCs to minimize the service glitches. The TCP based
   session can be interrupted when packets from one flow are sent
   to different instances.

   The site-specific ingress routers can use the IPv6 header Flow
   Label field to ensure the packets from one flow are forwarded
   to the same Egress router to which the App Server with the
   ANYCAST address is attached.


Dunbar, et al.          Expires April 27, 2021            [Page 9]


Internet-Draft     IPv6 for 5G Edge Sticky Service

 3.3. Discover the Egress Routers for App Servers

   As shown in the Figure 1 above, the App Servers at each Edge DC
   are attached to one or two routers, which are usually the
   Gateway routers to the Edge DC. The DC Gateway routers can
   discover if there are any App Servers locally attached by
   sending ARP/ND scan of the ANYCAST address.  They can propagate
   the addresses of the attached App Servers via BGP or IGP to
   other routers. When BGP is used, the Gateway router can use the
   Tunnel-Encap NLRI to inform other routers of the attached App
   Servers together with the supported encapsulation tunnels
   [Tunnel-Encap]. For the sake of easy description, those Gateway
   routers are called Egress routers to the App Servers, or A-ER,
   throughout this document.

   The routers directly connected to the 5G PSA (Packet Session
   Anchor) learn the addresses of the egress routers that the Edge
   Servers are attach via BGP UPDATE messages advertised from
   those egress routers. For the sake of easy description, the
   routers that are directly connected to PSA in each 5G site are
   called 5G site-specific Ingress Routers to the Local Data
   Network.

   The 5G site-specific ingress routers learn the egress routers
   to the App Servers by the BGP UPDATE messages or the IGP
   advertisement originated from those routers.

   The following subsections describe how the RFC8200 specified
   IPv6 extension headers, Destination Header or routing Header,
   are used to achieve the goal for sticky to original App Server
   location after the UE moves.



 3.4. Using Destination Extension Header

   A new Sticky-Dst-SubTLV is added to the IPv6 Destination
   Options header. The IPv6 Destination Optino Header is specified
   by RFC8200 as having a Next Header value of 60:

    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  Next Header  |  Hdr Ext Len  |                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
    |                                                               |
    |                     Sticky-Dst-SubTLV                         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+




Dunbar, et al.          Expires April 27, 2021           [Page 10]


Internet-Draft     IPv6 for 5G Edge Sticky Service

     Sticky-Dst-SubTLV is specified as:

    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Sticky-Type  |          Len  |        Reserved               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |Flow Label of the original flow(20 bits|    Reserved           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Original egress Router Identifier or Tunnel Endpoint subTLV   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


     Sticky-Type = 1: indicate the 32 bits identifier is used to
     represent the Egress Router to an App Server.

         Original egress Router Identifier: assume that all the
         egress routers in the 5G Edge computing environment have
         a 32-bit identifier even though they might use an IPv6
         address.

     Sticky-Type = 2: indicate Tunnel Endpoint SubTLV [Tunnel-
     Encap] used to represent the Egress router from the original
     site before the UE moves to the new site.

     Here is the processing at the Egress router:

     - An Egress router is configured with an ACL for filtering
        out addresses of the App Servers that need sticky service.

        Let's assume that each Sticky Service can be identified by
        a Sticky Service ID, which can be one or a set of ANYCAST
        addresses.

        Note, not all applications need sticky service. Using an
        ACL can greatly reduce the processing on the routers.

     - When an egress router receives a packet from an attached
        App Server that matches the ACL, the egress router inserts
        the Destination Extension Header with the Sticky-Dst-
        SubTLV to the data packet Header before forwarding the
        packet back to the UE.





Dunbar, et al.          Expires April 27, 2021           [Page 11]


Internet-Draft     IPv6 for 5G Edge Sticky Service

     Here are the steps to build the Sticky-Dst-subTLV:

     - Copy the flow label from the received packet into the Flow
        Label Field of the Sticky-DST-subTLV
     - If the egress router has its unique 32 bits identifier,
        such as the router's IPv4 loopback address, then:
          o Set Sticky-Type = 1;
          o Copy its own 32 bits identifier to the Original
             Egress Router Identifier field;
     - Else
          o Set Sticky-Type = 2;
          o build the Tunnel-Endpoint SubTLV per Tunnel-Encap and
             insert into the field;

     Here is the Expected behavior at the UE:

          For edge computing services that need sticky service
          while UEs roaming among multiple 5G sites, the UEs need
          to extract the Destination Extension Header field from
          packets received from the App Server and inserts the
          extracted Destination Extension Header into the
          subsequent packets belonging to the same flow.

          Granted, it might take some time for Edge Computing
          clients to adopt the practice of copying the IPv6
          Destination Extension Header field from the received
          packets to the subsequent packets belonging to the same
          flow. However, once the egress routers and ingress
          routers for 5G local data network support the feature,
          more and more Edge Computing services would want to
          utilize this special feature by adding this step.

          Section 4 describes the network layer processing if UEs
          do not perform the steps described here.

     Here is the processing at the Ingress router:

     - An Ingress router is configured with an ACL for filtering
        out the applications that need sticky service.

        Note, not all applications need sticky service. Using ACL
        can greatly reduce the processing on the routers.


Dunbar, et al.          Expires April 27, 2021           [Page 12]


Internet-Draft     IPv6 for 5G Edge Sticky Service

     - When an Ingress router receives a packet from the 5G PSA
        that matches the ACL, the Ingress router extracts the
        Sticky-Dst-SubTLV from the packet IPv6 header if the field
        exists in the packet header.
     - The Ingress router extracts the Flow Label and the Egress
        Router Identifier from the Sticky-Dst-SubTLV.
     - If the extracted Flow label matches the Flow Label in the
        IPv6 header, encapsulate the packet with the tunnel type
        that supported by the original egress router, using the
        extracted egress router address in the destination field
        of the outer header, and forward the packet. If Tunnel is
        not supported, refer to Section 5 for detailed processing.


 3.5. Using IPv6 Routing Extension Header

     Under this option, the Sticky-Dst-SubTLV specified in Section
     3.4 is inserted into Type-Specific Data field of the Routing
     Extension Header of the IPv6 Header. RFC8200 describes the
     Routing header as used by an IPv6 source to list one or more
     intermediate nodes to be "visited" on the way to a packet's
     destination. The Routing header is identified by a Next
     Header value of 43 in the immediately preceding header and
     has the following format:


   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Next Header  |  Hdr Ext Len  |  Routing Type | Segments Left |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                                                               |
   |                       type-specific data                      |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     All the process for Egress router, Ingress router and UE are
     the same as using Destination Extension Header.








Dunbar, et al.          Expires April 27, 2021           [Page 13]


Internet-Draft     IPv6 for 5G Edge Sticky Service

4. Achieve Sticky Service without dependence on UE
   If UEs cannot perform the steps described in the section 3.4,
   LDN ingress routers have to do more.
   This procedure assumes that the ingress routers are configured
   with an ACL to filter out packets whose destination addresses
   match with the Sticky Service Identifier.

   Here are the processing steps:

     - When an ingress router filters out packets that match the
        Sticky Service ID ACL, ingress router registers its own
        address, the source address of the filtered packets (i.e.
        the UE address) and the directly connected PSA address to
        the 5G EC Management System, or the 5G Network Exposure
        Function (NEF).
        The registration is associated with a Timer, which should
        be set to larger than a typical TCP session timeout value.
        When the Timer expires, the registration record is
        considered no-longer active or self-removed.

        The Sticky Service Registration Record should include:

          o UE address
          o The currently anchored PSA address
          o The LDN router address that is directly connected to
             the PSA
          o Timer
     - When a UE is re-anchoring from PSA1 to PSA2 and there is
        an active sticky service record with the UE, 5GC EC
        management system sends a notification to the router that
        is in the sticky service record, which should be the
        router directly connected to the original PSA before the
        re-anchoring. The Notification includes the following
        information:
          o the address of the new PSA that the UE is to be
             anchored, i.e. the PSA2 in the example above,
          o the UE's new IP address
     - Upon receiving the Notification from the 5G EC management
        system, the router (i.e. the one directly connected to the


Dunbar, et al.          Expires April 27, 2021           [Page 14]


Internet-Draft     IPv6 for 5G Edge Sticky Service

        old PSA) sends the "Sticky Service ID" (e.g. ANYCAST
        Address) + Sticky-Dst-SubTLV to the router directly
        connected to the new PSA.
     - Upon receiving the Sticky-Dst-SubTLV, the router directly
        connected to the new PSA performs the same step as
        described in the Section3.4.


5. Forwarding to the desired A-ER without using Tunnel
   Tunneling, i.e. encapsulating packets with an outer header that
   has the desired A-ER router address in the destination field of
   the outer header can guarantee to the packets to be delivered
   to the egress router where the Application Server is attached.

   But the tunneling has the problem of single point of failure at
   the egress router. Or tunneling is not supported by the
   routers.

   This section describes a solution that can prioritize egress
   routers for receiving packets without using tunneling.

   Let's use this scenario to explain the solution:
     One Application has its Application Servers attached to four
     different egress routers R1, R2, R3, and R4 respectively. For
     packets of a flow "A", the priority is sending to the App
     Server attached to R1. When R1 or the App Server attached to
     R1 fails, the packets of the flow "A" need to be forwarded to
     another server of the same application attached to R2, R3, or
     R4, depending on the network & utilization cost [5G-EC-
     Metrics]. This desired feature is called Location Preferred
     Forwarding.

     Here is the procedure to achieve this type of forwarding for
     ANYCAST traffic:

      - Each App server is configured with multiple ANYCAST
        addresses. All of them can be used as the Sticky Service
        ID for the App.
      - Location preferred ANYCAST addresses:
        To make a specific location preferred. When failure occurs
        at the preferred location, the packets are forwarded to
        other locations.



Dunbar, et al.          Expires April 27, 2021           [Page 15]


Internet-Draft     IPv6 for 5G Edge Sticky Service

        For example, for the "App.net", four different ANYCAST
        addresses are allocated: L1, L2, L3, and L4:

           o ANYCAST address L1 has cost lowest, say 10, when
             attached to R1. L1 has higher cost, say 30, when
             attached to R2, R3, and R4.
           o ANYCAST L2 has the lowest cost when attached to R2.
             L2 has higher cost when attached to R1, R3, R4
             respectively.
           o ANYCAST L3 has the lowest cost when attached to R3.
             L3 has higher cost when attached to R1, R2, R4
             respectively, and
           o ANYCAST L4 has the lowest cost when attached to R4.
             L4 has higher cost for the instance attached to R1,
             R2, R3 respectively


   For sticky service that needs to be sent to the App Server
   attached to R1, the ingress router to which 5G PSA is directly
   connected, can replace the destination address for packets
   matching with the Sticky Service ACL with the L1 for steering
   the packets towards R1. If R1 fails, the packets of the Flow
   "App.net" can be automatically sent to R2, R3, or R4 depending
   the network cost without any manual intervention.

   For the procedure described in Section 3.4, the Application
   egress router needs to insert L1 into the Egress-Router-ID of
   the Sticky-Dst-SubTLV, so that ingress router at new 5G site
   can send packets to L1, which goes to R1 if there is no failure
   at R1, otherwise, packets are automatically forwarded to other
   egress routers for the Application.

   For initial packet, local DNS resolver can reply L1, L2, L3 or
   L4 depending on where the DNS request come from to steer
   packets towards the preferred site for the Edge Application
   server.



6. Manageability Considerations

     To be added.




Dunbar, et al.          Expires April 27, 2021           [Page 16]


Internet-Draft     IPv6 for 5G Edge Sticky Service

7. Security Considerations


   To be added.

8. IANA Considerations

       To be added.

9. References


9.1. Normative References

   [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC4364] E. rosen, Y. Rekhter, "BGP/MPLS IP Virtual Private
             networks (VPNs)", Feb 2006.

   [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in
             RFC 2119 Key Words", BCP 14, RFC 8174, DOI
             10.17487/RFC8174, May 2017, <https://www.rfc-
             editor.org/info/rfc8174>.

   [RFC8200] s. Deering R. Hinden, "Internet Protocol, Version 6
             (IPv6) Specification", July 2017


9.2. Informative References

   [3GPP-EdgeComputing] 3GPP TR 23.748, "3rd Generation
             Partnership Project; Technical Specification Group
             Services and System Aspects; Study on enhancement of
             support for Edge Computing in 5G Core network (5GC)",
             Release 17 work in progress, Aug 2020.

   [5G-EC-Metrics] L. Dunbar, H. Song, J. Kaippallimalil, "IP
             Layer Metrics for 5G Edge Computing Service", draft-
             dunbar-ippm-5g-edge-compute-ip-layer-metrics-00,
             work-in-progress, Oct 2020.




Dunbar, et al.          Expires April 27, 2021           [Page 17]


Internet-Draft     IPv6 for 5G Edge Sticky Service

   [RFC5521] P. Mohapatra, E. Rosen, "The BGP Encapsulation
             Subsequent Address Family Identifier (SAFI) and the
             BGP Tunnel Encapsulation Attribute", April 2009.

   [BGP-SDWAN-Port] L. Dunbar, H. Wang, W. Hao, "BGP Extension for
             SDWAN Overlay Networks", draft-dunbar-idr-bgp-sdwan-
             overlay-ext-03, work-in-progress, Nov 2018.

   [SDWAN-EDGE-Discovery] L. Dunbar, S. Hares, R. Raszuk, K.
             Majumdar, "BGP UPDATE for SDWAN Edge Discovery",
             draft-dunbar-idr-sdwan-edge-discovery-00, work-in-
             progress, July 2020.

   [Tunnel-Encap] E. Rosen, et al "The BGP Tunnel Encapsulation
             Attribute", draft-ietf-idr-tunnel-encaps-10, Aug
             2018.



10. Acknowledgments

   Acknowledgements to Donald Eastlake for their review and
   contributions.

   This document was prepared using 2-Word-v2.0.template.dot.

Authors' Addresses


   Linda Dunbar
   Futurewei
   Email: ldunbar@futurewei.com

   John Kaippallimalil
   Futurewei
   Email: john.kaippallimalil@futurewei.com









Dunbar, et al.          Expires April 27, 2021           [Page 18]