<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.13 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-jholland-mboned-mnat-00" category="std">

  <front>
    <title abbrev="MNAT">Multicast Network Address Translation</title>

    <author initials="J." surname="Holland" fullname="Jake Holland">
      <organization>Akamai Technologies, Inc.</organization>
      <address>
        <postal>
          <street>150 Broadway</street>
          <city>Cambridge, MA 02144</city>
          <country>United States of America</country>
        </postal>
        <email>jakeholland.net@gmail.com</email>
      </address>
    </author>

    <date year="2020" month="October" day="31"/>

    <area>Ops</area>
    <workgroup>Mboned</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document defines a method for a network to maintain Network Address Translation address mappings for the transport of globally addressed multicast traffic within a network that can’t otherwise forward the globally addressed traffic.
A new Multicast Network Address Translation (MNAT) service is defined to communicate the address mappings to ingress and egress points within the network, and considerations for operation of the MNAT service are described.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>Network Address Translation is very widely used for unicast traffic in a variety of networks and according to a variety of mechanisms.
<xref target="RFC2663"/> is recommended reading for background on the ways unicast NAT is used.</t>

<t>The handling of multicast traffic can pose a variety of additional problems for a network, some of which can be mitigated or avoided if traffic can be mapped to a different address space than its original addressing.
This document defines a new service, Multicast Network Address Translation (MNAT), as a mechanism to administer network address mappings for multicast traffic within a network, for the purpose of working around various addressing-related issues.
An overview of some of the motivating use cases that require network address remapping for multicast traffic is given in <xref target="motivation"/>.
An explanation of the protocol operation is given in <xref target="protocol"/>.</t>

<t>Messaging to and from the MNAT service is defined with RESTCONF <xref target="RFC8040"/> using the YANG <xref target="RFC7950"/> model in <xref target="model"/>.</t>

<t>Unlike traditional unicast NAT, MNAT performs address translation at both an ingress point to the network where the traffic is transformed to use an address scheme local to the network, and also at an egress point from the network where the traffic is transformed back to the original address scheme for further forwarding, or for further processing by a receiving application.</t>

<section anchor="background" title="Background">

<t>The reader is assumed to be familiar with the concepts and terminology regarding source-specific multicast as described in <xref target="RFC4607"/> and the use of IGMPv3 <xref target="RFC3376"/> and MLDv2 <xref target="RFC3810"/> for group management of source-specific multicast channels, as described in <xref target="RFC4604"/>.</t>

<t>The reader is also assumed to be familiar with the concepts and terminology for RESTCONF <xref target="RFC8040"/> and YANG <xref target="RFC7950"/>.</t>

<t>The reader is also assumed to be familiar with the use of DNS-SD <xref target="RFC6763"/> for discovery of services provided by the network to end hosts.</t>

</section>
<section anchor="terminology" title="Terminology">

<texttable>
      <ttcol align='right'>Term</ttcol>
      <ttcol align='left'>Definition</ttcol>
      <c>(S,G)</c>
      <c>A source-specific multicast channel, as described in <xref target="RFC4607"/>. A pair of IP addresses with a source host IP and destination group IP.</c>
      <c>egress node</c>
      <c>A MNAT client operating at a point where NATted multicast traffic exits the network.</c>
      <c>ingress node</c>
      <c>A MNAT client operating at a point where multicast traffic enters the network and gets NATted</c>
      <c>MNAT client</c>
      <c>A client using the ietf-mnat YANG model via RESTCONF, or a client with equivalent signaling to an MNAT service.</c>
      <c>NATted traffic</c>
      <c>Multicast traffic that has been translated to use addressing or encapsulation assigned locally within the network, rather than its original global addressing.</c>
      <c>SSM</c>
      <c>Source-specific multicast, as described in <xref target="RFC4607"/></c>
</texttable>

<t>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 <xref target="RFC2119"/> and <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>

</section>
<section anchor="motivation" title="Motivation">

<t>This section lists use cases where a global (S,G) may not be possible to transport within a network, requiring the use of some kind of encapsulation or address translation in order to adequately communicate the group membership for packet replication within the network, or in order to perform the forwarding for the subscribed traffic within the network.</t>

<t><list style="symbols">
  <t>Global IPv6 (S,G)s subscribed from within an IPv4-only network, or global IPv4 (S,G)s subscribed from within an IPv6-only network.</t>
  <t>Networks with legacy devices that support only IGMPv2 or MLDv1, or otherwise do not support SSM and cannot discover the external sources without the use of non-standard services since interdomain any-source multicast has been deprecated (see <xref target="RFC8815"/>).</t>
  <t>Networks that provision multicast transport and packet replication channels with static group addresses instead of dynamic tree-building protocols like PIM-SM <xref target="RFC7761"/>.</t>
</list></t>

<t>A note elaborating on the use of static provisioning of multicast groups:</t>

<t>Some networks have found that there are good use cases to deliver a limited set of packet-replicating flows, including sometimes the use of externally sourced multicast traffic, but have struggled with the operational complexity of operating a dynamic tree-building system based on PIM-SM <xref target="RFC7761"/>.
Operating an MNAT service can allow these networks to provide for the limited use of packet-replicating data channels while keeping the operational complexity of handling a dynamically changing set of channels confined to a single service that implements their business logic for admission control, rather than trying to apply access control lists for group membership propagation spread across the network.</t>

</section>
<section anchor="notes-for-contributors-and-reviewers" title="Notes for Contributors and Reviewers">

<t>Note to RFC Editor: Please remove this section and its subsections before publication.</t>

<t>This section is to provide references to make it easier to review the development and discussion on the draft so far.</t>

<section anchor="venue" title="Venues for Contribution and Discussion">

<t>This document is in the Github repository at:</t>

<t>https://github.com/GrumpyOldTroll/draft-ietf-mnat</t>

<t>Readers are welcome to open issues and send pull requests for this document.</t>

<t>Please note that contributions may be merged and substantially edited, and as a reminder, please carefully consider the Note Well before contributing: https://datatracker.ietf.org/submit/note-well/</t>

<t>Substantial discussion of this document should take place on the MBONED working group mailing list (mboned@ietf.org).</t>

<t><list style="symbols">
  <t>Join: https://www.ietf.org/mailman/listinfo/mboned</t>
  <t>Search: https://mailarchive.ietf.org/arch/browse/mboned/</t>
</list></t>

</section>
</section>
</section>
<section anchor="protocol" title="Protocol Operation">

<section anchor="overview" title="Overview">

<t>The use of MNAT within a network is defined in terms the folowing entities:</t>

<t><list style="symbols">
  <t>MNAT service</t>
  <t>ingress nodes</t>
  <t>egress nodes</t>
</list></t>

<t>Address translation is performed at the ingress and egress nodes.
Ingress is where an external (S,G) is mapped to locally assigned address mapping before being forwarded for transport within the network.
Egress is where the traffic received on locally assigned addresses is translated back to the corresponding external (S,G) address before being forwarded for further transmission or processed by a receiving application.</t>

<t>The MNAT service maintains the mapping between external (S,G)s and the local network addresses used to transport traffic of those (S,G)s within the network.
The address mapping is performed according to the needs of the network operating the MNAT service, to satisfy whatever constraints and restrictions may be necessary or desirable according to the operational considerations within that network.
Some example considerations that have motivated the design of MNAT are described in <xref target="motivation"/>.</t>

<t>Ingress and egress nodes communicate with the MNAT service according to the schema defined by the YANG model in <xref target="model"/>.
In particular, they maintain an up-to-date table of the mappings between the external (S,G)s and the locally assigned addresses for transport within the network in order to perform the corresponding network address translations.</t>

<t>TBD: probably add a diagram here.
Probably something roughly similar to page 7 of the IETF 108 mboned presentation touching on this: https://www.ietf.org/proceedings/108/slides/slides-108-mboned-status-update-on-multicast-to-the-browser-00.pdf#page=7</t>

<section anchor="virtual" title="Egress Node Operational Modes">

<t>Egress nodes can run in at least two separate modes of operation.</t>

<t>One of the modes is “bump in the wire”, which refers to a node that receives traffic using the network-assigned locally chosen addresses, and translates the traffic back to the associated externally addressed (S,G) before forwarding the traffic along the rest of the network paths to the receiving applications that tried to join the external (S,G).</t>

<t>The second mode is “bump in the host”, which refers to a virtual node operating inside a client application.</t>

<t>As a “bump in the host” egress node, the virtual egress node can discover and connect to the MNAT service from a receiving application.
The receiving application would then use the knowledge about the address mapping within the network to perform a join for the mapped addresses in the local network, rather than for the external (S,G), treating the payloads of the packets received as though they arrived with the external (S,G) addressing.</t>

<t>A common scenario for a bump in the wire egress node deployment might be to have egress nodes operating in Customer Premesis Equipment (CPE), such as a Cable Modem or Wi-Fi router inside the home of a customer to a multicast-capable Internet Service Provider (ISP).
In this scenario, the egress node discovery mechanism for the MNAT service might be a static configuration for the MNAT service’s hostname, pushed by the ISP to the CPE devices.</t>

<t>For a bump in the host egress node, the discovery of the MNAT service might either operate via DNS-SD <xref target="RFC6763"/> using a search domain for the ISP distributed to hosts via a DHCP Domain Search option <xref target="RFC3397"/>, or via configuration instructions the ISP gives to their customers to configure a search domain for their devices, or to configure the MNAT service’s hostname for that ISP in their applications.</t>

</section>
</section>
<section anchor="service-discovery" title="Service Discovery">

<t>It is RECOMMENDED that a network operating an MNAT service provide service discovery with the use of DNS-SD <xref target="RFC6763"/>.
However, a network MAY use other mechanisms, including options such as manual configuration.
As long as an MNAT client can find a valid hostname to use, it can connect to the given MNAT service and monitor changes to the address assignments within the network.</t>

<section anchor="detecting-invalid-services" title="Detecting Invalid Services">

<t>TBD: recommendations for noticing and discontinuing use of MNAT services that report mappings that don’t correspond to the mappings apparently in use in the client’s local network (particularly from egress nodes).</t>

</section>
</section>
<section anchor="restconf-bootstrap" title="RESTCONF Bootstrap">

<t>TBD: describe the RESTCONF validation and bootstrapping steps.
Use the same section name from I-D.draft-ietf-mboned-dorms as a template, assuming it passes a wider review.</t>

</section>
<section anchor="message-handling" title="Message Handling">

<section anchor="notification-subscription" title="Notification Subscription">

<t>When possible, changes to the group assignments should be communicated with subscriptions to data model updates using a server push mechanism, for example as described in <xref target="RFC8641"/>.</t>

<t>Where clients or servers do not support server push updates, long polling can be used instead to provide timely updates.  See <xref target="RFC6202"/> for an explanation of the approach and a discussion of its pros and cons.</t>

<t>If long polling and server push are both unavailable, MNAT clients may need to poll the server to monitor updates instead.
This approach is likely to encounter delays in the detection of changes to mapping decisions within the MNAT service, but can be used as a last resort for providing multicast connectivity.</t>

</section>
<section anchor="egress-keys" title="Egress Keys">

<t>Egress nodes open a persistent connection to the MNAT service and request allocation of an egress key with the get-new-egress-key rpc.
Egress keys are identifiers chosen by the MNAT service and communicated to egress nodes in the response to a successful get-new-egress-key rpc.
Egress keys SHOULD be based on a random value and unique per new key requested.</t>

<t>Egress nodes provide their egress key when performing group management functions (join and leave operations).</t>

<t>TBD: better explanation about how the service times out egress nodes that don’t refresh their egress key on schedule, and how egress nodes that reconnect can attempt to refresh the prior key they were using, but must request a new one on error.
Probably define a state per egress key (e.g. active vs. recently expired vs. non-existant) for the MNAT service to maintain.
Explain how the MNAT service should use population count from the egress joins to make prioritization decisions for the assignment of flows when there is limited flow space.
Probably reference CBACC in that explanation (I-D.draft-ietf-mboned-cbacc).</t>

</section>
<section anchor="egress-group-management" title="Egress Group Management">

<t>The join-global and leave-global RPCs in the YANG model provide a mechanism for egress nodes to directly advertise their group membership to the MNAT service for externally addressed (S,G)s.</t>

<t>Egress nodes advertise their group membership to external (S,G)s to the MNAT service and also advertise group membership to their next-hop router using IGMP or MLD for the locally mapped addressing withing the network.
Joins and leaves for the locally mapped network addresses occur in response to downstream joins for an external (S,G) that has or gains a mapping according to the MNAT service, when the join or leave propagates to the egress node.</t>

<t>Payloads of the locally mapped traffic should be treated as though they were carried in packets addressed as the external (S,G), including any authentication checks that should be performed for the traffic.
Egress nodes that forward traffic (non-virtual egress nodes) will perform an address translation from the locally mapped addreessing to the original (S,G) (according to the address mapping the MNAT service provides) before forwarding packets matching a locally mapped address.
It is the responsibility of the MNAT service and the network that operates it to ensure that multiple different traffic streams are not merged to the same locally mapped addresses in a way that collides.</t>

</section>
<section anchor="ingress-considerations" title="Ingress Considerations">

<t>Like egress nodes, ingress nodes monitor the assignments provided by the MNAT service and perform network address translation and group membership propagation.
Ingress nodes perform the translation from an external (S,G) to the internally mapped addressing for the local network transport.</t>

<t>In general, ingress nodes are translating traffic before the in-network multicast fanout to multiple egress nodes.
So an ingress node is generally assumed to be feeding one or more egress nodes.
Because one ingress node can feed many egress nodes, ingress nodes should be given priority ahead of egress nodes for notifications about changes to the address mapping from the MNAT service.</t>

</section>
<section anchor="mnat-service-considerations" title="MNAT Service Considerations">

<t>The details of the address assignment strategies used by the internal logic of the MNAT service are out of scope for this document.
Different instances of MNAT services are expected to use a wide range of considerations specific to the networks in which the instances operate.</t>

<t>However, outside of address assignment there are some operational points an MNAT service instance should take into consideration:</t>

<t><list style="numbers">
  <t>Assignment Transition Grace Period  <vspace blankLines='1'/>
It’s recommended to provide a grace period between reassigning a local address mapping to a new external (S,G) after unassigning its mapping to an old (S,G).
The grace period should account for the expected time for the connected ingress and egress nodes to process the unassigning of the external (S,G) and for egress nodes to perform leave operations for the old locally mapped address, and for the leave operations to propagate through the network.</t>
  <t>Scaling  <vspace blankLines='1'/>
The MNAT service should be appropriately provisioned to support the expected number of ingress and egress nodes within the network.
In an eyeball network, restrictions on the number of egress nodes per shared receiver IP address may be appropriate, to avoid a rogue client application from forming an excessive number of egress connections.
Alternately, for bump-in-the-wire deployments of egress nodes in CPE devices it may be appropriate to authenticate the egress connections with a client certificate for each home to avoid denial of service attacks based on overloading the MNAT service with egress connections.  <vspace blankLines='1'/>
Additionally, it’s RECOMMENDED to provide per-egress limits on the number of external simultaneous (S,G)s permitted per egress at a level appropriate to the scaling limitations for the network, to avoid denial of service attacks based on overloading the group assignments.</t>
</list></t>

</section>
<section anchor="example-messaging-walkthrough" title="Example Messaging Walkthrough">

<t>TBD: show what an expected example message sequence or 2 would look like.</t>

</section>
</section>
</section>
<section anchor="model" title="YANG Model">

<section anchor="yang-tree" title="Yang Tree">

<t>The tree diagram below uses the notation defined in <xref target="RFC8340"/>.</t>

<figure title="MNAT Tree Diagram"><artwork><![CDATA[
module: ietf-mnat
  +--ro assigned-channels
     +--ro mapped-sg* [id]
        +--ro id                     assignment-id
        +--ro state                  assignment-state
        +--ro global-subscription
        |  +--ro (channel-type)?
        |     +--:(ssm-channel)
        |     |  +--ro source       inet:ip-address
        |     |  +--ro group
        |     |          rt-types:ip-multicast-group-address
        |     +--:(asm-channel)
        |        +--ro asm-group
        |                rt-types:ip-multicast-group-address
        +--ro local-mapping
           +--ro (mapping-type)?
              +--:(local-multicast-mapping)
                 +--ro (channel-type)?
                    +--:(ssm-channel)
                    |  +--ro source       inet:ip-address
                    |  +--ro group
                    |          rt-types:ip-multicast-group-address
                    +--:(asm-channel)
                       +--ro asm-group
                               rt-types:ip-multicast-group-address

  rpcs:
    +---x get-new-egress-key
    |  +--ro output
    |     +--ro egress-id         egress-key
    |     +--ro refresh-period?   uint16
    +---x refresh-egress-key
    |  +---w input
    |     +---w egress-id    egress-key
    +---x join-global
    |  +---w input
    |     +---w egress-id          egress-key
    |     +---w (channel-type)?
    |        +--:(ssm-channel)
    |        |  +---w source       inet:ip-address
    |        |  +---w group
    |        |          rt-types:ip-multicast-group-address
    |        +--:(asm-channel)
    |           +---w asm-group
    |                   rt-types:ip-multicast-group-address
    +---x leave-global
       +---w input
          +---w egress-id          egress-key
          +---w (channel-type)?
             +--:(ssm-channel)
             |  +---w source       inet:ip-address
             |  +---w group
             |          rt-types:ip-multicast-group-address
             +--:(asm-channel)
                +---w asm-group
                        rt-types:ip-multicast-group-address

]]></artwork></figure>

</section>
<section anchor="yang-module" title="Yang Module">

<figure><artwork><![CDATA[
<CODE BEGINS> file ietf-mnat@2020-11-02.yang
module ietf-mnat {
  yang-version 1.1;

  namespace "urn:ietf:params:xml:ns:yang:ietf-mnat";
  prefix mnat;

  import ietf-yang-types {
    prefix yang;
  }

  import ietf-inet-types {
    prefix inet;
    reference
      "RFC 6991: Common YANG Data Types";
  }

  import ietf-routing-types {
      prefix "rt-types";
      reference "RFC 8294";
  }

  organization
    "IETF MBONED (Multicast Backbone Deployment) Working Group";

  contact
    "WG Web:   <https://datatracker.ietf.org/wg/mboned/>
     WG List:  <mailto:mboned@ietf.org>

     Author:   Jake Holland
               <mailto:jakeholland.net@gmail.com>";

  description
    "Multicast Network Address Translation Model.

     Copyright (c) 2012 - 2020 IETF Trust and the persons
     identified as authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Simplified BSD
     License set forth in Section 4.c of the IETF Trust's
     Legal Provisions Relating to IETF Documents
     (https://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC XXXX; see
     the RFC itself for full legal notices.";

  revision "2020-10-22" {
    description
      "Initial version.";
  }

  grouping multicast-channel {
    choice channel-type {
      description
        "ASM or SSM multicast channels can be represented.";
      case ssm-channel {
        leaf source {
          type inet:ip-address;
          mandatory true;
          description
            "Source address of a multicast channel";
        }
        leaf group {
          type rt-types:ip-multicast-group-address;
          mandatory true;
          description "The global (S,G)'s group address";
        }
      }
      case asm-channel {
        leaf asm-group {
          type rt-types:ip-multicast-group-address;
          mandatory true;
          description "The global (S,G)'s group address";
        }
      }
    }
  }

  typedef egress-key {
    type string;
    description
      "A key for egress identification.";
  }

  typedef assignment-id {
    type uint32;
    description
      "A type for assignment identifiers.";
  }

  identity assignment-state {
    description
      "Base identity to represent assignment states";
  }

  typedef assignment-state {
    type identityref {
      base assignment-state;
    }
    description "Status of an assigned (S,G).";
  }

  identity unassigned {
    base assignment-state;
    description
      "Represents an unassigned global (S,G) that cannot be
       received in the local network.";
  }

  identity assigned-local-multicast {
    base assignment-state;
    description
      "Represents an assigned global (S,G) that can be
       received in the local network by joining the associated
       local-mapping.";
  }

  container assigned-channels {
    config false;
    description
      "MNAT mappings of global (S,G)s into a local transport.";

    list mapped-sg {
      key "id";
      description
        "The local network's assignment of global channels to
         local transport characteristics.";

      leaf id {
        type assignment-id;
        mandatory true;
        description
          "Identifier for this assignment.";
      }
      leaf state {
        type assignment-state;
        mandatory true;
        description
          "Status of the global (S,G)s that are assigned in the
           local network.";
      }
      container global-subscription {
        description
          "The global channel that's mapped.";
        uses multicast-channel;
      }
      container local-mapping {
        choice mapping-type {
          description
            "The description of how the global channel is
             transported within the local network";

          case local-multicast-mapping {
            description
              "Defines the use of a local multicast (S,G) or
               (*,G).";
            uses multicast-channel;
          }
        }
      }
    }
  }

  rpc get-new-egress-key {
    description
      "Obtain a secret key unique to an individual mnat-egress
       instance, assigned by the server and used for subscription
       management.";
    output {
      leaf egress-id {
        type egress-key;
        mandatory true;
        description
          "Egress identifier for subscription management.";
      }
      leaf refresh-period {
        type uint16;
        default 10;
        description
          "Number of seconds to wait between refresh messages.";
      }
    }
  }
  rpc refresh-egress-key {
    description
      "A secret key unique to an individual mnat-egress instance,
       assigned by the server and used for subscription
       management.";
    input {
      leaf egress-id {
        type egress-key;
        mandatory true;
        description
          "Egress identifier for subscription management.";
      }
    }
  }
  rpc join-global {
    description
      "An mnat-egress instance calls this RPC to register to the
       network an interest in a global (S,G).  Depending on
       popularity and local network decisions, this may result in
       adding and possibly removing an entry in
       assigned-channels/mapped-sg.";
    input {
      leaf egress-id {
        type egress-key;
        mandatory true;
        description
          "Egress identifier.";
      }
      uses multicast-channel;
    }
  }
  rpc leave-global {
    description
      "An mnat-egress instance calls this RPC to register to the
       network an interest in a global (S,G).  Depending on
       popularity and local network decisions, this may result in
       adding and possibly removing an entry in
       assigned-channels/mapped-sg.";
    input {
      leaf egress-id {
        type egress-key;
        mandatory true;
        description
          "Egress identifier.";
      }
      uses multicast-channel;
    }
  }
}

<CODE ENDS>
]]></artwork></figure>

</section>
</section>
<section anchor="iana-considerations" title="IANA Considerations">

<section anchor="the-yang-module-names-registry" title="The YANG Module Names Registry">

<t>This document adds one YANG module to the “YANG Module Names” registry maintained at &lt;https://www.iana.org/assignments/yang-parameters&gt;.
The following registrations are made, per the format in Section 14 of <xref target="RFC6020"/>:</t>

<figure><artwork><![CDATA[
      name:      ietf-mnat
      namespace: urn:ietf:params:xml:ns:yang:ietf-mnat
      prefix:    mnat
      reference: I-D.draft-jholland-mboned-mnat
]]></artwork></figure>

</section>
<section anchor="the-xml-registry" title="The XML Registry">

<t>This document adds the following registration to the “ns” subregistry of the “IETF XML Registry” defined in <xref target="RFC3688"/>, referencing this document.</t>

<figure><artwork><![CDATA[
       URI: urn:ietf:params:xml:ns:yang:ietf-mnat
       Registrant Contact: The IESG.
       XML: N/A, the requested URI is an XML namespace.
]]></artwork></figure>

</section>
<section anchor="the-service-name-and-transport-protocol-port-number-registry" title="The Service Name and Transport Protocol Port Number Registry">

<t>This document adds one service name to the “Service Name and Transport Protocol Port Number Registry” maintained at &lt;https://www.iana.org/assignments/service-names-port-numbers&gt;.
The following registrations are made, per the format in Section 8.1.1 of <xref target="RFC6335"/>:</t>

<figure><artwork><![CDATA[
     Service Name:            mnat
     Transport Protocol(s):   TCP, UDP
     Assignee:                IESG <iesg@ietf.org>
     Contact:                 IETF Chair <chair@ietf.org>
     Description:             The MNAT service (RESTCONF that
                              includes ietf-mnat YANG model)
     Reference:               I-D.draft-jholland-mboned-mnat
     Port Number:             N/A
     Service Code:            N/A
     Known Unauthorized Uses: N/A
     Assignment Notes:        N/A
]]></artwork></figure>

</section>
</section>
<section anchor="security" title="Security Considerations">

<t>TBD.  (What, me worry?)</t>

<t>Notable points to cover:</t>

<t><list style="symbols">
  <t>communcation with the MNAT service should be secured.  RESTCONF does this, alternate methods should also do it.</t>
  <t>separate authentication of the contents of the multicast traffic is recommended.</t>
  <t>mistaken mappings can result in receipt of payloads for the wrong channel.  This can happen transiently even during normal operation.  Recommend some steps to mitigate and avoid.</t>
  <t>Clients can (deliberately or accidentally) overload the service.  Limits should be set to avoid disrupting traffic to the rest of the network.</t>
</list></t>

</section>
<section anchor="acknowledgements" title="Acknowledgements">

<t>Many thanks to anyone who reads this and provides feedback.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference  anchor="RFC2119" target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='2119'/>
<seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>



<reference  anchor="RFC3810" target='https://www.rfc-editor.org/info/rfc3810'>
<front>
<title>Multicast Listener Discovery Version 2 (MLDv2) for IPv6</title>
<author initials='R.' surname='Vida' fullname='R. Vida' role='editor'><organization /></author>
<author initials='L.' surname='Costa' fullname='L. Costa' role='editor'><organization /></author>
<date year='2004' month='June' />
<abstract><t>This document updates RFC 2710, and it specifies Version 2 of the ulticast Listener Discovery Protocol (MLDv2).  MLD is used by an IPv6 router to discover the presence of multicast listeners on directly attached links, and to discover which multicast addresses are of interest to those neighboring nodes.  MLDv2 is designed to be interoperable with MLDv1.  MLDv2 adds the ability for a node to report interest in listening to packets with a particular multicast address only from specific source addresses or from all sources except for specific source addresses.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='3810'/>
<seriesInfo name='DOI' value='10.17487/RFC3810'/>
</reference>



<reference  anchor="RFC3376" target='https://www.rfc-editor.org/info/rfc3376'>
<front>
<title>Internet Group Management Protocol, Version 3</title>
<author initials='B.' surname='Cain' fullname='B. Cain'><organization /></author>
<author initials='S.' surname='Deering' fullname='S. Deering'><organization /></author>
<author initials='I.' surname='Kouvelas' fullname='I. Kouvelas'><organization /></author>
<author initials='B.' surname='Fenner' fullname='B. Fenner'><organization /></author>
<author initials='A.' surname='Thyagarajan' fullname='A. Thyagarajan'><organization /></author>
<date year='2002' month='October' />
</front>
<seriesInfo name='RFC' value='3376'/>
<seriesInfo name='DOI' value='10.17487/RFC3376'/>
</reference>



<reference  anchor="RFC4604" target='https://www.rfc-editor.org/info/rfc4604'>
<front>
<title>Using Internet Group Management Protocol Version 3 (IGMPv3) and Multicast Listener Discovery Protocol Version 2 (MLDv2) for Source-Specific Multicast</title>
<author initials='H.' surname='Holbrook' fullname='H. Holbrook'><organization /></author>
<author initials='B.' surname='Cain' fullname='B. Cain'><organization /></author>
<author initials='B.' surname='Haberman' fullname='B. Haberman'><organization /></author>
<date year='2006' month='August' />
<abstract><t>The Internet Group Management Protocol Version 3 (IGMPv3) and the Multicast Listener Discovery Protocol Version 2 (MLDv2) are protocols that allow a host to inform its neighboring routers of its desire to receive IPv4 and IPv6 multicast transmissions, respectively. Source-specific multicast (SSM) is a form of multicast in which a receiver is required to specify both the network-layer address of the source and the multicast destination address in order to receive the multicast transmission.  This document defines the notion of an &quot;SSM-aware&quot; router and host, and clarifies and (in some cases) modifies the behavior of IGMPv3 and MLDv2 on SSM-aware routers and hosts to accommodate source-specific multicast.  This document updates the IGMPv3 and MLDv2 specifications.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='4604'/>
<seriesInfo name='DOI' value='10.17487/RFC4604'/>
</reference>



<reference  anchor="RFC4607" target='https://www.rfc-editor.org/info/rfc4607'>
<front>
<title>Source-Specific Multicast for IP</title>
<author initials='H.' surname='Holbrook' fullname='H. Holbrook'><organization /></author>
<author initials='B.' surname='Cain' fullname='B. Cain'><organization /></author>
<date year='2006' month='August' />
<abstract><t>IP version 4 (IPv4) addresses in the 232/8 (232.0.0.0 to 232.255.255.255) range are designated as source-specific multicast (SSM) destination addresses and are reserved for use by source-specific applications and protocols.  For IP version 6 (IPv6), the address prefix FF3x::/32 is reserved for source-specific multicast use.  This document defines an extension to the Internet network service that applies to datagrams sent to SSM addresses and defines the host and router requirements to support this extension.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='4607'/>
<seriesInfo name='DOI' value='10.17487/RFC4607'/>
</reference>



<reference  anchor="RFC6763" target='https://www.rfc-editor.org/info/rfc6763'>
<front>
<title>DNS-Based Service Discovery</title>
<author initials='S.' surname='Cheshire' fullname='S. Cheshire'><organization /></author>
<author initials='M.' surname='Krochmal' fullname='M. Krochmal'><organization /></author>
<date year='2013' month='February' />
<abstract><t>This document specifies how DNS resource records are named and structured to facilitate service discovery.  Given a type of service that a client is looking for, and a domain in which the client is looking for that service, this mechanism allows clients to discover a list of named instances of that desired service, using standard DNS queries. This mechanism is referred to as DNS-based Service Discovery, or DNS-SD.</t></abstract>
</front>
<seriesInfo name='RFC' value='6763'/>
<seriesInfo name='DOI' value='10.17487/RFC6763'/>
</reference>



<reference  anchor="RFC7950" target='https://www.rfc-editor.org/info/rfc7950'>
<front>
<title>The YANG 1.1 Data Modeling Language</title>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund' role='editor'><organization /></author>
<date year='2016' month='August' />
<abstract><t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols.  This document describes the syntax and semantics of version 1.1 of the YANG language.  YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification.  There are a small number of backward incompatibilities from YANG version 1.  This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t></abstract>
</front>
<seriesInfo name='RFC' value='7950'/>
<seriesInfo name='DOI' value='10.17487/RFC7950'/>
</reference>



<reference  anchor="RFC8040" target='https://www.rfc-editor.org/info/rfc8040'>
<front>
<title>RESTCONF Protocol</title>
<author initials='A.' surname='Bierman' fullname='A. Bierman'><organization /></author>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund'><organization /></author>
<author initials='K.' surname='Watsen' fullname='K. Watsen'><organization /></author>
<date year='2017' month='January' />
<abstract><t>This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t></abstract>
</front>
<seriesInfo name='RFC' value='8040'/>
<seriesInfo name='DOI' value='10.17487/RFC8040'/>
</reference>



<reference  anchor="RFC8174" target='https://www.rfc-editor.org/info/rfc8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></author>
<date year='2017' month='May' />
<abstract><t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='8174'/>
<seriesInfo name='DOI' value='10.17487/RFC8174'/>
</reference>



<reference  anchor="RFC8340" target='https://www.rfc-editor.org/info/rfc8340'>
<front>
<title>YANG Tree Diagrams</title>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund'><organization /></author>
<author initials='L.' surname='Berger' fullname='L. Berger' role='editor'><organization /></author>
<date year='2018' month='March' />
<abstract><t>This document captures the current syntax used in YANG module tree diagrams.  The purpose of this document is to provide a single location for this definition.  This syntax may be updated from time to time based on the evolution of the YANG language.</t></abstract>
</front>
<seriesInfo name='BCP' value='215'/>
<seriesInfo name='RFC' value='8340'/>
<seriesInfo name='DOI' value='10.17487/RFC8340'/>
</reference>



<reference  anchor="RFC8641" target='https://www.rfc-editor.org/info/rfc8641'>
<front>
<title>Subscription to YANG Notifications for Datastore Updates</title>
<author initials='A.' surname='Clemm' fullname='A. Clemm'><organization /></author>
<author initials='E.' surname='Voit' fullname='E. Voit'><organization /></author>
<date year='2019' month='September' />
<abstract><t>This document describes a mechanism that allows subscriber applications to request a continuous and customized stream of updates from a YANG datastore.  Providing such visibility into updates enables new capabilities based on the remote mirroring and monitoring of configuration and operational state.</t></abstract>
</front>
<seriesInfo name='RFC' value='8641'/>
<seriesInfo name='DOI' value='10.17487/RFC8641'/>
</reference>




    </references>

    <references title='Informative References'>





<reference  anchor="RFC2663" target='https://www.rfc-editor.org/info/rfc2663'>
<front>
<title>IP Network Address Translator (NAT) Terminology and Considerations</title>
<author initials='P.' surname='Srisuresh' fullname='P. Srisuresh'><organization /></author>
<author initials='M.' surname='Holdrege' fullname='M. Holdrege'><organization /></author>
<date year='1999' month='August' />
<abstract><t>This document attempts to describe the operation of NAT devices and the associated considerations in general, and to define the terminology used to identify various flavors of NAT.  This memo provides information for the Internet community.</t></abstract>
</front>
<seriesInfo name='RFC' value='2663'/>
<seriesInfo name='DOI' value='10.17487/RFC2663'/>
</reference>



<reference  anchor="RFC3397" target='https://www.rfc-editor.org/info/rfc3397'>
<front>
<title>Dynamic Host Configuration Protocol (DHCP) Domain Search Option</title>
<author initials='B.' surname='Aboba' fullname='B. Aboba'><organization /></author>
<author initials='S.' surname='Cheshire' fullname='S. Cheshire'><organization /></author>
<date year='2002' month='November' />
</front>
<seriesInfo name='RFC' value='3397'/>
<seriesInfo name='DOI' value='10.17487/RFC3397'/>
</reference>



<reference  anchor="RFC3688" target='https://www.rfc-editor.org/info/rfc3688'>
<front>
<title>The IETF XML Registry</title>
<author initials='M.' surname='Mealling' fullname='M. Mealling'><organization /></author>
<date year='2004' month='January' />
<abstract><t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t></abstract>
</front>
<seriesInfo name='BCP' value='81'/>
<seriesInfo name='RFC' value='3688'/>
<seriesInfo name='DOI' value='10.17487/RFC3688'/>
</reference>



<reference  anchor="RFC6020" target='https://www.rfc-editor.org/info/rfc6020'>
<front>
<title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund' role='editor'><organization /></author>
<date year='2010' month='October' />
<abstract><t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6020'/>
<seriesInfo name='DOI' value='10.17487/RFC6020'/>
</reference>



<reference  anchor="RFC6202" target='https://www.rfc-editor.org/info/rfc6202'>
<front>
<title>Known Issues and Best Practices for the Use of Long Polling and Streaming in Bidirectional HTTP</title>
<author initials='S.' surname='Loreto' fullname='S. Loreto'><organization /></author>
<author initials='P.' surname='Saint-Andre' fullname='P. Saint-Andre'><organization /></author>
<author initials='S.' surname='Salsano' fullname='S. Salsano'><organization /></author>
<author initials='G.' surname='Wilkins' fullname='G. Wilkins'><organization /></author>
<date year='2011' month='April' />
<abstract><t>On today's Internet, the Hypertext Transfer Protocol (HTTP) is often used (some would say abused) to enable asynchronous, &quot;server- initiated&quot; communication from a server to a client as well as communication from a client to a server.  This document describes known issues and best practices related to such &quot;bidirectional HTTP&quot; applications, focusing on the two most common mechanisms: HTTP long polling and HTTP streaming.  This document is not an Internet  Standards Track specification; it is published for informational  purposes.</t></abstract>
</front>
<seriesInfo name='RFC' value='6202'/>
<seriesInfo name='DOI' value='10.17487/RFC6202'/>
</reference>



<reference  anchor="RFC6335" target='https://www.rfc-editor.org/info/rfc6335'>
<front>
<title>Internet Assigned Numbers Authority (IANA) Procedures for the Management of the Service Name and Transport Protocol Port Number Registry</title>
<author initials='M.' surname='Cotton' fullname='M. Cotton'><organization /></author>
<author initials='L.' surname='Eggert' fullname='L. Eggert'><organization /></author>
<author initials='J.' surname='Touch' fullname='J. Touch'><organization /></author>
<author initials='M.' surname='Westerlund' fullname='M. Westerlund'><organization /></author>
<author initials='S.' surname='Cheshire' fullname='S. Cheshire'><organization /></author>
<date year='2011' month='August' />
<abstract><t>This document defines the procedures that the Internet Assigned Numbers Authority (IANA) uses when handling assignment and other requests related to the Service Name and Transport Protocol Port Number registry.  It also discusses the rationale and principles behind these procedures and how they facilitate the long-term sustainability of the registry.</t><t>This document updates IANA's procedures by obsoleting the previous UDP and TCP port assignment procedures defined in Sections 8 and 9.1 of the IANA Allocation Guidelines, and it updates the IANA service name and port assignment procedures for UDP-Lite, the Datagram Congestion Control Protocol (DCCP), and the Stream Control Transmission Protocol (SCTP).  It also updates the DNS SRV specification to clarify what a service name is and how it is registered.  This memo documents an Internet Best Current Practice.</t></abstract>
</front>
<seriesInfo name='BCP' value='165'/>
<seriesInfo name='RFC' value='6335'/>
<seriesInfo name='DOI' value='10.17487/RFC6335'/>
</reference>



<reference  anchor="RFC7761" target='https://www.rfc-editor.org/info/rfc7761'>
<front>
<title>Protocol Independent Multicast - Sparse Mode (PIM-SM): Protocol Specification (Revised)</title>
<author initials='B.' surname='Fenner' fullname='B. Fenner'><organization /></author>
<author initials='M.' surname='Handley' fullname='M. Handley'><organization /></author>
<author initials='H.' surname='Holbrook' fullname='H. Holbrook'><organization /></author>
<author initials='I.' surname='Kouvelas' fullname='I. Kouvelas'><organization /></author>
<author initials='R.' surname='Parekh' fullname='R. Parekh'><organization /></author>
<author initials='Z.' surname='Zhang' fullname='Z. Zhang'><organization /></author>
<author initials='L.' surname='Zheng' fullname='L. Zheng'><organization /></author>
<date year='2016' month='March' />
<abstract><t>This document specifies Protocol Independent Multicast - Sparse Mode (PIM-SM).  PIM-SM is a multicast routing protocol that can use the underlying unicast routing information base or a separate multicast-capable routing information base.  It builds unidirectional shared trees rooted at a Rendezvous Point (RP) per group, and it optionally creates shortest-path trees per source.</t><t>This document obsoletes RFC 4601 by replacing it, addresses the errata filed against it, removes the optional (*,*,RP), PIM Multicast Border Router features and authentication using IPsec that lack sufficient deployment experience (see Appendix A), and moves the PIM specification to Internet Standard.</t></abstract>
</front>
<seriesInfo name='STD' value='83'/>
<seriesInfo name='RFC' value='7761'/>
<seriesInfo name='DOI' value='10.17487/RFC7761'/>
</reference>



<reference  anchor="RFC8815" target='https://www.rfc-editor.org/info/rfc8815'>
<front>
<title>Deprecating Any-Source Multicast (ASM) for Interdomain Multicast</title>
<author initials='M.' surname='Abrahamsson' fullname='M. Abrahamsson'><organization /></author>
<author initials='T.' surname='Chown' fullname='T. Chown'><organization /></author>
<author initials='L.' surname='Giuliano' fullname='L. Giuliano'><organization /></author>
<author initials='T.' surname='Eckert' fullname='T. Eckert'><organization /></author>
<date year='2020' month='August' />
<abstract><t>This document recommends deprecation of the use of Any-Source Multicast (ASM) for interdomain multicast. It recommends the use of Source-Specific Multicast (SSM) for interdomain multicast applications and recommends that hosts and routers in these deployments fully support SSM.  The recommendations in this document do not preclude the continued use of ASM within a single organization or domain and are especially easy to adopt in existing deployments of intradomain ASM using PIM Sparse Mode (PIM-SM).</t></abstract>
</front>
<seriesInfo name='BCP' value='229'/>
<seriesInfo name='RFC' value='8815'/>
<seriesInfo name='DOI' value='10.17487/RFC8815'/>
</reference>




    </references>



  </back>

<!-- ##markdown-source:
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
rafZOhIhtqkPEVT/pf1UNcFkcCSf46ZOG0YmaOPN0Cq/e6toaPbg8yWz86Ck
/CJR96NgKEG0vOki2rWZbssIbjbpsdNpqz61d72BB3cw/HzZPg72bOOz0+S3
YLW3isGdHURMf383fD4HHhijWidmOpLxow8DcflRCxdgHq+b2j5zYEnzQAD0
B3CNJfQcsWH4B3jegEG8/ywAwzYZBCO6g/3rQRHdtaHodOVxg4DoFw/4+Lqg
9RDRhuw5QK3utQPkk2Ta7+LpIXz3JYTQh7RHkaEY4WnbpNgTM18wNe9NGJwe
tWbymxM+/fTmhK0flSifECWfvzn9LgPM+o9IjU+Li6HNGfp8loDwBsPHqaIr
v36/RWYlWiTqhO2QLRWYKudkWIQ9vzu+PDlVL09fnV1cf6/mePbLWR1/5Pu9
9qO9g8k9dBe7JDhE/hEWgG8izJ2jcbM/2f8WJRdWKfD9MVtNVUyxxxRrVVdm
+mGVTwszxW5TN9LWt9BpDYIl+6DwNw2SrchpokY0C6GEJnWN8Tn2feh2QAIY
6oDPv6UHLskju7CFx7SeffPN/lQdc8EemX0nWIZwgwNtDU6E+YesA5ybbctu
5Na38sKnlmi+FwffPPXjltUiLiSrRe23qLZZzuJs+9P0eHUH5pvUiXOJdtQ7
OatD6aYtQiGW0eA1WjTWu1fqnZ5N4et3jx4nulvY0zXfM9DQ8XVmauj5HZ7L
qctp5+jP9+yoqCO+gQ2+9a5YCz52kI3XnX3PwHP9hjcgtz7vIiGy08V1gp1c
31dUfbed7KiDvf0DFdG9dVw1foNX1LnIN6b4MQzHEsQm27mugFbmgnIJ5lDQ
Zc0VjY7xHiqTSO3Eb7Qr07MhYik1EjlFZT9ZgUcl6HqbMXuBZcX97elk4DkX
fRzLKQ/rozWVaWK662Zsj6L9omW3rX8GrrmmVBQdZCJ6EPeDCxev8cglL/Pl
9Ql3fS198PwmwAZQUTkhVzw8nSStwntC4VeCtNd6Ae7dlY1+gKOqbVC55OYn
EmeUDtuWEumyQB0c9hLAIzwotmOxSnUmVtjYw2w2P0qyydA5CnyH7PVn+HwL
6xAepxIseAyesc7nck4I9jAnsKkGTZsJUx8WRtE0W/aaw4ODLeHvLmUio+IF
KDCIADfxTE1Su1V/YvWDjJYsSzrVG+hAJ0f6M8FcR9fn6Kviaff+hTa2IqbS
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
MOD/AKx0VgXpbAAA

-->

</rfc>

