Internet Area Working Group                                     Z. Chen
Internet-Draft                                                   Huawei
Intended status: Experimental                                     S. Jiang
Expires: October 16, 2022                                 April 14, 2022


       Native Minimal Protocols with Flexibility at Edge Networks
                    draft-jiang-intarea-nmp-edge-01

Abstract

   This document introduces a flexible native minimal protocol for fast
   short packet transmission in edge networks, and can communicate with
   IPv6 nodes through gateways.

Status of This Memo

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

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   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."

   This Internet-Draft will expire on October 16, 2022.

Copyright Notice

   Copyright (c) 2022 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
   (https://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.





Jiang & Chen            Expires October 16, 2022                [Page 1]


Internet-Draft                     NMP                        April 2022


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Requirements Notation . . . . . . . . . . . . . . . . . . . .   3
   3.  Overview  . . . . . . . . . . . . . . . . . . . . . . . . . .   3
   4.  Protocol Design . . . . . . . . . . . . . . . . . . . . . . .   4
     4.1.  Packet Header Format  . . . . . . . . . . . . . . . . . .   4
       4.1.1.  Data Packet Header Format . . . . . . . . . . . . . .   5
       4.1.2.  Control Packet Format . . . . . . . . . . . . . . . .   6
     4.2.  Control Messages  . . . . . . . . . . . . . . . . . . . .   6
       4.2.1.  Address Request and Assignment Messages . . . . . . .   6
       4.2.2.  Address Lease Extension Messages  . . . . . . . . . .   7
     4.3.  DNS Delegation Messages . . . . . . . . . . . . . . . . .   8
     4.4.  Functionalities of Gateway  . . . . . . . . . . . . . . .   9
       4.4.1.  Address Management  . . . . . . . . . . . . . . . . .   9
       4.4.2.  Address Translation . . . . . . . . . . . . . . . . .  10
   5.  Renumber Considerations . . . . . . . . . . . . . . . . . . .  10
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  10
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  10
   8.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .  10
   9.  Normative References  . . . . . . . . . . . . . . . . . . . .  10
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  11

1.  Introduction

   TCP/IP protocol suites are adopted widely in different areas.
   However, there are still numerous edge networks uses non-IP
   technologies like ZigBee, BLE, CAN-bus, and Modbus for different
   reasons (e.g., power-constrained devices, low transport rate media).
   For such networks, application-layer gateways (or protocol
   tranlators) are usually deployed to connect them with the Internet,
   as shown in Figure 1.

                                  Data
               +- - - - - - -  - - - - - - - - - -  - - +
               |                                        |
               V                                        V
              +--+    ZigBee      +--+    TCP/IP       +--+
              |  |<-------------->|  |<--------------->|  |
              +--+                +--+                 +--+
             Non-IP              Gateway              TCP/IP
            Terminal                                 Terminal


       Figure 1: Communication Architecture with Application Gateway

   The application-layer translation mechanism MAY bring three main
   drawbacks: 1.  End-to-end security channel like IPSec or TLS is not



Jiang & Chen            Expires October 16, 2022                [Page 2]


Internet-Draft                     NMP                        April 2022


   supported, a malicious gateway may manipulate data that is transmited
   between two terminals.  2.  Non-IP terminals are invisible to the
   TCP/IP network, which makes it hard to conduct QoS or OAM operations,
   e.g., guaranteeing SLA of a specific non-IP terminal's traffic, or
   "ping" a non-IP terminal.  3.  When a non-IP terminal joins or one
   leaves the network, corresponding rules SHOULD be configured on the
   gateway, thus increasing operation costs (i.e., OPEX).

   Therefore, it would be beneficial to make those non-IP terminals
   adopt TCP/IP protocol suites, thus eliminating aforementioned
   drawbacks.  The Internet Protocol Version 6 (IPv6) is expected to
   achieve the goal, however, it is challenging in some cases due to its
   long address and header length (40 bytes in total).  For instance, it
   would consume more energy for power constrained terminals like IoT
   devices, and would amplify flow completion time on low-rate transport
   media or one with low MTU, thus decreasing user experiences.

   To this end, this document proposes Native Minimal Protocol (NMP),
   which is applied at edge networks by using minimal address length and
   fields.  Simultaneously, NMP eliminats the drawbacks that may brought
   by application layer gateways.

2.  Requirements Notation

   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] and [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

3.  Overview

   NMP is an inter-node communication method and network layer protocol
   for edge network with native addresses.  It is designed for extreme
   minimal IoT devices that communicates with each other and sometimes
   with normal IP nodes.  NMP nodes and NMP gateways use native short
   addresses to identify themselves and use these addresses as source
   and destination addresses for network communication.  NMP data
   packets and signaling packets are encapsulated in a simplified
   manner.  The NMP-IPv6 translation function is deployed on the gateway
   to implement IP connections on the edge network.  See Figure 2.










Jiang & Chen            Expires October 16, 2022                [Page 3]


Internet-Draft                     NMP                        April 2022


                            +-----------+
                +-----------+-IP network+-------------+
                |           +-----------+             |
                |   +-----------------+---------+     |
                |   |     IP Header   | Payload |     |
                |   +-----------------+---------+     |
                |                                     |
           +----+-----+                         +-----+----+
           | Gateway  |                         | Gateway  |
           +----/+\---+                         +----/+\---+
               / |+---------+---------+             / | \
               / || NMP hdr | Payload |             / | \
              /  |+---------+---------+            /  |  \
             /   |   \          +---------+---------+ |   \
             /   |   \          | NMP hdr | Payload | |   \
            /    |    \         +---------+---------+ |    \
           O     O     O                        O     O     O
        Terminals                            Terminals

        NMP domain A:                        NMP domain B:
        Address length= m                    Address length= n

   Only Support Extreme Simplified Control Messages within NMP Domain


               Figure 2: Overview of Native Minimal Protocol

4.  Protocol Design

4.1.  Packet Header Format

   The first bit at the beginning of the packet header indicates whether
   the packet is encapsulated with extreme concise format or not.  If
   the first bit is 0, packet format is specified as follows Figure 3.


      +----------------+---------------------+---------------------+
      |Indicator(1 bit)|     NMP Headers     |      Payload        |
      +----------------+---------------------+---------------------+


         Figure 3: Basic Format of Native Minimal Protocol Packet

   o  Indicator one-bit indicator to indicate whether extreme concise
      format is used. 0 - NMP headers follows; 1 - undefined.

   o  NMP Headers Record the fileds of packet header in Section 4.1.1 .




Jiang & Chen            Expires October 16, 2022                [Page 4]


Internet-Draft                     NMP                        April 2022


   o  Payload The payload of the packet.  For control plane packets, the
      control plane messages defined in Section 4.1.2 are carried in
      this part.

4.1.1.  Data Packet Header Format

   For data packet header, NMP uses bitmap with variable length to
   indicate which in-line headers appear in the packet.  The
   specification is in Figure 4.


               +----------------------+-------------------+
               |        Bitmap        |  In-line Headers  |
               |        (7 bits)      | (variable length) |
               +----------------------+-------------------+


                        Figure 4: NMP Header Format

   o  Bitmap A variable-length bitmap with at least 7 bits is used to
      indicate whether a NMP field is carried in a packet.The bit of 1
      indicates that the packet carries this field and is located in the
      following in-line headers field.  The value 0 indicates that the
      packet does not contain this field.  The length of bitmap is
      defined as follows.

   +------------------+----------------------------+-----------------+
   |   bitmap format  |number of bits for indicator|scope fo headers |
   +------------------+----------------------------+-----------------+
   |    xxx xxx0      |            6 bits          | header 1 ~ 6    |
   +------------------+----------------------------+-----------------+


   o  In-line Headers The headers in NMP packet.  Each header
      corresponds to a position in preceding bitmap.
















Jiang & Chen            Expires October 16, 2022                [Page 5]


Internet-Draft                     NMP                        April 2022


               +--------+----------------+---------------+
               | Bitpos |  Header Name   | Header Length |
               +--------+----------------+---------------+
               |   1    |       TTL      |     8 bit     |
               +--------+----------------+---------------+
               |   2    | Total Length   |    16 bit     |
               +--------+----------------+---------------+
               |   3    |  Next Header   |     8 bit     |
               +--------+----------------+---------------+
               |   4    |     Reserved   |     N/A       |
               +--------+----------------+---------------+
               |   5    |  Destination   |Variable Length|
               +--------+----------------+---------------+
               |   6    |    Source      |Variable Length|
               +--------+----------------+---------------+
               |   7    |Next Bitmap Byte|     N/A       |
               +--------+----------------+---------------+


4.1.2.  Control Packet Format


               +----------------------+-------------------+
               |    Message Type      |      Checksum     |
               |      (8 bits)        |      (8 bits)     |
               +----------------------+-------------------+


                  Figure 5: Control Packet Header Format

   o  Type This filed carries value to indicate the type of this control
      message.

   o  Checksum The checksum is the 8-bit one's complement of the one's
      complement sum of the entire control message, starting with the
      message type field, and prepended with a "1" of indicator header
      fields, as specified in Section 4.1.  For computing the checksum,
      the checksum field is first set to zero.

4.2.  Control Messages

4.2.1.  Address Request and Assignment Messages

   A NMP host broadcasts an Address Request (AR) message to request an
   address from the gateway of the NMP domain.  The gateway sends an
   Address Assignment (AA) message to the host to configure the host's
   NMP address.  #### Format of Address Request The value of the message
   Type is 1.  The message body is defined as follows.



Jiang & Chen            Expires October 16, 2022                [Page 6]


Internet-Draft                     NMP                        April 2022


                   +-------------------+-----------+
                   | ID length (8 bits) |  Host ID  |
                   +-------------------+-----------+


   o  ID length Length of this field is 1 octet.  This header specifies
      the length of the Host ID field, in octets.

   o  Host ID Indicates the identifier of the host that accesses the NMP
      network.  The identifier can be a MAC address or another globally
      unique identifier.

4.2.1.1.  Format of Address Assignment

   The value of the message Type is 2.  The message body is defined as
   follows.

    +-------------------+---------+---------+-----------+--------+
    |NMP Address Length |   NMP   | Gateway | ID length | Host ID|
    |     8 bits        | Address | Address | (8 bits)  |        |
    +-------------------+---------+---------+-----------+--------+


   o  NMP Address Length Length of this field is 1 octet.  This
      parameter specifies the length of the NMP address used in the
      local NMP domain.

   o  NMP Address Network layer address assigned to the host node.  The
      length is specified by the NMP Address Length field.

   o  Gateway Address Network layer address of the gateway.  The length
      is the same as length of NMP Address

   o  ID length Length of this field is 1 octet.  This header specifies
      the length of the Host ID field, in octets.

   o  Host ID Indicates the identifier of the host that accesses the NMP
      network.  The identifier can be a MAC address or another globally
      unique identifier.

4.2.2.  Address Lease Extension Messages

   To reduce the complexity of the NMP host, the gateway records the
   lease information of each NMP address.  When the lease of a host
   address expires, the gateway sends a Renewal Challenge message to the
   host and waits for an response from the host.  If a Renewal Response
   message is received from the host, the lease information is updated




Jiang & Chen            Expires October 16, 2022                [Page 7]


Internet-Draft                     NMP                        April 2022


   based on the preconfigured strategy.  Otherwise, the gateway releases
   the NMP address.

4.2.2.1.  Renewal Challenge Message

   The value of the message Type is 3.  The message body is defined as
   follows.

       +-------------------+---------+-----------+--------+
       |NMP Address Length |   NMP   | ID length | Host ID|
       |     8 bits        | Address | (8 bits)  |        |
       +-------------------+---------+-----------+--------+


   o  NMP Address Length Length of this field is 1 octet.  This
      parameter specifies the length of the NMP address used in the
      local NMP domain.

   o  NMP Address Network layer address assigned to the host node.  The
      length is specified by the NMP Address Length field.

   o  ID length Length of this field is 1 octet.  This header specifies
      the length of the Host ID field, in octets.

   o  Host ID Indicates the identifier of the host that accesses the NMP
      network.  The identifier can be a MAC address or another globally
      unique identifier.

4.2.2.2.  Renewal Response Message

   The value of the message Type is 4.  The message body is defined in
   Section 4.2.2.1.

4.3.  DNS Delegation Messages

   Many IoT products are written into the domain name of the IoT service
   platform when they are manufactured.  The IP address of the server
   needs to be obtained through the DNS to establish communication.

   Within the NMP domain, some modifications are required to traditional
   DNS messages in [RFC1035].  The NMP host sends a DNS query packet to
   the gateway.  It Must set next header indicator to 1, the value of
   in-line next header is 17.  Destination port in UDP header is 53.
   Destination of the packet is set to NMP address of gateway.  When the
   gateway receives the packet, it directly translates the network layer
   information and sends a regular DNS packet to the DNS server
   configured on the gateway.




Jiang & Chen            Expires October 16, 2022                [Page 8]


Internet-Draft                     NMP                        April 2022


   NMP is replaced by IPv6 protocol after the gateway.  The source
   address is changed to 'IPv6 address prefix stored in the gateway +
   padding bit + NMP address', the destination address is changed to the
   DNS server address configured on the gateway, and the payload
   information remains unchanged.

   When the DNS response packet sent by the DNS server reaches the
   gateway, the gateway resolves the response packet and allocates an
   available NMP address to the destination IPv6 address.  The NMP
   address is used as an in-network mirror of the IPv6 address and
   replaces the target address in the DNS response packet.  Then, the
   gateway sends the DNS response packet to the NMP host.

   The header format of an DNS delegation message is defined as follows.
   For details about the format of a DNS message body, see [RFC1035].


   +-+---------+---------+---------+---------+------------+-----------+
   |0| 0110110 |    Total Length   | Nxt Hdr |   GW Addr  |  NMP src  |
   +-+---------+---------+---------+---------+------------+-----------+
   | UDP header(port=53) |                                            |
   +---------------------+                                            +
   |                                                                  |
   |               DNS message body defined in RFC 1035               |
   |                                                                  |
   +------------------------------------------------------------------+


4.4.  Functionalities of Gateway

4.4.1.  Address Management

   The NMP gateway initializes the NMP address pool based on the network
   configuration and assigns an address to itself.  This address is used
   as the default gateway by the hosts in the domain.

   Intra-domain address management functionaliteis includes: * intra-
   domain host address allocation The gateway listens to the NMP address
   request message, allocates the corresponding NMP address based on the
   message content, generates an address assignment message, and returns
   the message to the host.  The assigned addresses must meet the
   uniqueness requirements within the NMP domain.  * intra-domain host
   address life cycle management The gateway manages the validity period
   of NMP addresses.  The lease renewal challenge mechanism is used to
   renew or release host addresses.






Jiang & Chen            Expires October 16, 2022                [Page 9]


Internet-Draft                     NMP                        April 2022


4.4.2.  Address Translation

   The NMP address space can be mapped to specific subspaces of IPv6
   address space.  When traffic is destinated to a destination outside
   the domain, the gateway translates the host address (source address)
   in the domain into an IPv6 address.  For details about the
   translation method, see TBD.

   For traffic from outside of the domain, determines whether the
   destination is within the domain.  If the destination is within the
   domain, then the gateway translates the destination address to the
   corresponding NMP address.

5.  Renumber Considerations

   The NMP renumbering problem is not beyond the scope of [RFC6866] and
   [RFC7010], [RFC5887].

6.  Security Considerations

   Checksum is used to defend against malformed packets and null packet
   attacks caused by network bit errors.  ICMPv6 uses a 16-bit checksum.
   NMP uses an 8-bit checksum to reduce the computing load on the host
   side and improve the packet encapsulation efficiency.  This leads to
   a higher probability of network errors.

7.  IANA Considerations

   If NMP is running on Ethernet, a new Ethtype is required.  In
   addition to Ethernet, other link-layer protocols that need to carry
   multiple upper-layer protocols need to assign specific identifiers to
   NMP to instruct devices to process network-layer packets according to
   this document.

   This document requires to define new registry for NMP control message
   types, six of which are defined in this document.

8.  Acknowledgments

   The authors would like to acknowledge the contributions Guangpeng Li
   and Zhaochen Shi provided during the development of the solution.

9.  Normative References

   [RFC1035]  Mockapetris, P., "Domain names - implementation and
              specification", STD 13, RFC 1035, DOI 10.17487/RFC1035,
              November 1987, <https://www.rfc-editor.org/info/rfc1035>.




Jiang & Chen            Expires October 16, 2022               [Page 10]


Internet-Draft                     NMP                        April 2022


   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC5887]  Carpenter, B., Atkinson, R., and H. Flinck, "Renumbering
              Still Needs Work", RFC 5887, DOI 10.17487/RFC5887, May
              2010, <https://www.rfc-editor.org/info/rfc5887>.

   [RFC6866]  Carpenter, B. and S. Jiang, "Problem Statement for
              Renumbering IPv6 Hosts with Static Addresses in Enterprise
              Networks", RFC 6866, DOI 10.17487/RFC6866, February 2013,
              <https://www.rfc-editor.org/info/rfc6866>.

   [RFC7010]  Liu, B., Jiang, S., Carpenter, B., Venaas, S., and W.
              George, "IPv6 Site Renumbering Gap Analysis", RFC 7010,
              DOI 10.17487/RFC7010, September 2013,
              <https://www.rfc-editor.org/info/rfc7010>.

   [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>.

Authors' Addresses

   Sheng Jiang
   Huawei Technologies
   Beiqing Road, Haidian District
   Beijing  100095
   P.R. China

   Email: jiangsheng@huawei.com


   Zhe Chen
   Huawei Technologies
   Beiqing Road, Haidian District
   Beijing  100095
   China

   Email: chenzhe17@huawei.com










Jiang & Chen            Expires October 16, 2022               [Page 11]