<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="info" docName="draft-du-intarea-service-routing-in-mec-01"
     ipr="trust200902">
  <front>
    <title abbrev="Service Routing in MEC">Service Routing in Multi-access
    Edge Computing</title>

    <author fullname="Zongpeng Du" initials=" Z." surname="Du">
      <organization>China Mobile</organization>

      <address>
        <postal>
          <street>No.32 XuanWuMen West Street</street>

          <city>Beijing</city>

          <code>100053</code>

          <country>China</country>
        </postal>

        <email>duzongpeng@foxmail.com</email>
      </address>
    </author>

    <date month="" year=""/>

    <area>Internet Area</area>

    <workgroup>Network Working Group</workgroup>

    <keyword>MEC, Service Routing</keyword>

    <abstract>
      <t>This document introduces a service routing mechanism in the scenario
      of Multi-access Edge Computing.</t>
    </abstract>

    <note title="Requirements Language">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in <xref
      target="RFC2119">RFC 2119</xref>.</t>
    </note>
  </front>

  <middle>
    <section title="Introduction">
      <t>The operators are deploying Multi-access Edge Computing (MEC) to
      provide services with lower latency to their users. Comparing to
      accessing service in the clouds, the MECs can provide service much
      nearer to the users.</t>

      <t>However, in the current architecture of Internet, we need to send a
      DNS query to get the IP address of the service firstly, and then access
      the service <xref target="RFC1035"/>. It is not the optimal solution in
      the MEC scenarios which are sensitive to the latency of service
      accessing. In this document, we introduce a mechanism that can access
      the service directly without the DNS procedure.</t>

      <t>In the 5G architecture, a UE (User Equipment) need to connect to a
      UPF (User Plane Function) working as a gateway by using a tunnel, and
      then access service via the destination IP address.</t>

      <t>In the scenarios of MEC, the service may be accessed within the MEC,
      meanwhile the MEC also provides a UPF Function for the UEs. Therefore,
      in fact, the service access takes place in a limited domain <xref
      target="RFC8799"/>. In this limited domain, we can use a specific IP
      address to directly access the service.</t>

      <t/>
    </section>

    <section title="Proposed Mechanism Description">
      <t>In the proposed mechanism, a UE should have a session with the UPF in
      the MEC. Also, the UE should be aware that it can access the service
      more quickly within the MEC if the service is available in the MEC. The
      proposed mechanism is described briefly as below.</t>

      <t>Firstly, the UE send a normal DNS query if it wants to access a
      service, such as "www.local-weather.com". Meanwhile, it can make a
      destination IP address itself by hashing the domain name, and try to
      establish a TCP connection directly.</t>

      <t>Secondly, the UE may establish the connection successfully by using
      the specific IP address, and get access to the service bypassing the DNS
      procedure. If it fails, the UE can wait for the normal destination IP
      address received from the DNS procedure.</t>

      <t>In this mechanism, the specific IP address can contain some
      information about the service, so we call it service routing in this
      document. The specific IP address is called the Service Routing IP
      address.</t>
    </section>

    <section title="Service Routing IP Address">
      <t>There are several options for the Service Routing IP address.</t>

      <t>In the first option, we can assume that the UE can receive an MEC
      prefix for the service routing in the procedure of establishing the
      session between the UE and the UPF in the MEC. For example, the length
      of an MEC prefix is 64 bits, and the length of the hashed domain name is
      also 64 bits. In the MEC, the server of the service should use the same
      hash algorithm to generate the Service Routing IP address, and the 128
      bits IPv6 address should be routed correctly within the MEC. Hence, the
      MEC works like a virtual network node containing services, with the MEC
      prefix as a Location, and the hashed domain name as a Function.</t>

      <t>In the second option, we can use a ULA IP address (Unique Local
      Address) for the Service Routing IP address <xref target="RFC8799"/>.
      The procedure is similar to the first option, but the Service Routing IP
      address becomes the format of &lt;MEC_ULA_Preifx:
      Hashed_Domain_Name&gt;. The MEC_ULA_Prefix contains a specific
      subnet-ID.</t>

      <t>In the last option, we can use all the 128 bits as the
      Hashed_Domain_Name. In this situation, the UE does not need to receive a
      specific prefix in advanced, and all the services in different MECs have
      the same IP address for the same service to support this quick
      access.</t>

      <t/>
    </section>

    <section title="Requirements of Service Routing Network Nodes">
      <t>In the MEC, the network should support forwarding the Service Routing
      IP. In the client and server, they should support the binding of the
      Service Routing IP and the traditional DA IP. The value of the Service
      Routing IP exists mainly in the period of establishing the connection.
      After the connection is established, we can use the normal DA IP
      instead.</t>

      <t/>
    </section>

    <section title="HASH Conflict between Services">
      <t>At the beginning of the adoption of the mechanism, we do not think
      there would be too many essential services requiring this ultimate user
      experience, so that we assume that there would be no Hash conflict
      between the services. If the mechanism is adopted widely, and conflict
      exists between hashed domain names in the MEC, we can enable the
      mechanism only on the most essential service. Another option is to
      change the HASH algorithm that is running on the clients and the severs
      to make a better Hash result.</t>

      <t/>
    </section>

    <section title="Service Routing for Fixed Clients">
      <t>MEC can also support accessing via fixed clients. In this situation,
      the BNG (Broadband Network Gateway) as the gateway of the client can
      work similarly to the UPF. A tunnel between the BNG and the MEC may be
      needed, and the MEC prefix can be obtained in the procedure of
      authentication. In the authentication of a fixed client, a more static
      session can be established because the client will not move.</t>

      <t/>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>TBD.</t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>TBD.</t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>TBD.</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>

      <?rfc include="reference.RFC.8799"?>

      <?rfc include="reference.RFC.4291"?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.1035"?>
    </references>
  </back>
</rfc>
