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, . 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, . [RFC5887] Carpenter, B., Atkinson, R., and H. Flinck, "Renumbering Still Needs Work", RFC 5887, DOI 10.17487/RFC5887, May 2010, . [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, . [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, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . 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]