<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<rfc
   xmlns:xi="http://www.w3.org/2001/XInclude"
   category="std"
   consensus="true"
   submissionType="IETF"
   ipr="trust200902"
   docName="draft-raszuk-lsr-imp-00"
   updates=""
   obsoletes=""
   sortRefs="true"
   version="3">

  <front>
    <title abbrev="IMP">IGP Monitoring Protocol (IMP)</title>

<author fullname='Robert Raszuk' initials='R' surname='Raszuk' role='editor'>
    <organization>NTT NI</organization>
    <address>
        <postal>
            <street></street>
            <city></city>
            <region></region>
            <code></code>
            <country></country>
        </postal>
        <email>robert@raszuk.net</email>
    </address>
</author>

<!--
<author fullname='Gunter Van De Velde' initials='G' surname='Van De Velde'>
    <organization>Nokia</organization>
    <address>
        <postal>
            <street></street>
            <city></city>
            <region></region>
            <code></code>
            <country></country>
        </postal>
        <email>gunter.van_de_velde@nokia.com</email>
    </address>
</author>
-->

<date year="2022" />
<area>Routing</area>
<workgroup>LSR Working Group</workgroup>
<keyword>I-D</keyword>
<keyword>Internet-Draft</keyword>
<keyword>OSPF</keyword>
<keyword>ISIS</keyword>
<keyword>BGP-LS</keyword>

    <abstract>
      <t> This document defines a new point to point protocol to carry information
          present in link state database of OSPF and ISIS Interior Gateway Protocols 
          (IGPs) as well as in Traffic Engineering Database (TED).</t>
    </abstract>

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

  </front>

  <middle>

    <section title="Introduction">
    
      <t> With the growing number of network programmability and central control 
          there is an increased need to share topology, link and node 
          information from each IGP area. Such requirements traditionally were
          fulfilled by establishing an IGP adjacency between such central 
          entities and selected nodes in each area. Often that adjacency was 
          established over a tunnel interface.</t>

      <t> In recent years selected link state and TE information have 
          been carried by BGP4 extension called BGP-LS <xref target="RFC7752" />. 
          However with the growing number of IGP extensions, application aware 
          networking (APN), new per node network actions and ongoing link 
          state protocols extensions load of BGP-LS on BGP protocol development, 
          testing and deployments keeps increasing. Moreover BGP is a 
          point-to-multipoint protocol which does not make it a good fit to 
          propagate point-to-point information.</t> 

      <t> In addition to the above requirements IGP Monitoring Protocol should 
          provide ability to simplify operations of the network and assist when 
          enhanced troubleshooting is required. The below proposal addresses 
          that requirement as well.</t>

      <t> The primary inspiration for this work has been based on the success of 
          BGP Monitoring Protocol (BMP) <xref target="RFC7854" /> which in a
          number of aspects shares the same high level requirements - point to 
          point routing information distribution, protocol observability and 
          enhanced operations. It also needs to be highlighted that BMP 
          (while it technically could) does not use native BGP sessions to 
          propagate such information, but is running a separate transport. IMP 
          authors have chosen to reuse selected BMP building blocks and BMP 
          operational and deployment experience. </t>

    </section>

    <section title="Terminology">

      <section title="Abbreviations">

        <ul spacing="compact">
           <li> IGP - Interior Gateway Protocol</li>  
           <li> LSDB - Links State Database</li>
           <li> TED - Traffic Engineering Database</li>
           <li> OSPF - Open Shortest Path First</li>
           <li> ISIS - Intermediate System to Intermediate System Protocol</li>
           <li> SPAN - Switched Port Analyzer</li>
           <li> YANG - Yet Another Next Generation</li>
           <li> DBD - Database Description</li>
           <li> CSNP - Complete Sequence Number PDU</li>
           <li> PSNP - Partial Sequence Number PDU</li>
           <li> TLV - Type Length Value</li>
           <li> LSA - Link State Advertisement</li>
           <li> LSP - Link State PDU</li>
           <li> PDU - Protocol Data Unit</li>
           <li> QUIC - Quick UDP Internet Connections</li>
        </ul>
  
      </section>

    </section>

    <section title="Transport">

      <t> IGP Monitoring Protocol messages can be transported over either TCP 
          session or UDP based QUIC transport <xref target="RFC9000" />. 
          The use of QUIC protocol is recommended however for backwards 
          compatibility with existing deployments of BGP-LS 
          <xref target="RFC7752" /> use of TCP session can also be leveraged.</t>

      <t> Irrespective of the choice of transport layer the IMP messages would 
          remain identical.</t>

      <t> TCP session SHOULD be configured with TCP AO and QUIC SHOULD be used 
          with its native security.</t> 

      <t> IMP operates in point-to-point mode. What information is sent can be 
          either configured statically or learned dynamically in a PUB-SUB 
          fashion.</t>

      <t> IMP protocol operates between two nodes: Producer and Receiver. The
          ultimate destination can be many Producer-Receiver hops away. The 
          following modes of operations are independently permitted for each 
          data type:</t>

          <ul>
          <li> MODE "A" - PUSH - Only IMP DATA messages containing given data 
              type(s) are sent only from Producer to Receiver(s). What is being 
              sent is subject to local configuration on the Producer. No 
              filtering is permitted on the Producer.</li>

          <li> MODE "B" - F_PUSH - IMP DATA messages are sent from Producer 
              to Receiver. Receiver may request a subset of data types by sending 
              FILTER message(s) to the Producer. Producer may honor that filter or 
              drop it.</li>

          <li> MODE "C" - PUB-SUB - Before any DATA messages are sent from Producer, 
              Receiver MUST register interest in specific data type(s) by sending
              REQUEST messages.</li>

          <li> MODE "D" F_PUB-SUB - MODE "C" with subset of data as communicated 
              by Receiver in sending FILTER message(s).</li>
          </ul>
     
    </section>

    <section title="Common Header">

        <t> The below common header will appear in all IMP messages.</t>

        <figure align='center' anchor='Figure_1' title='IMP Common Header'>
        <artwork>
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+
   |    Version    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Message Length                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Msg. Type   |
   +---------------+
       </artwork></figure>

        <ul>
           <li>o  Version (1 byte): Indicates the IMP version.  This is set to '1'
               for all messages defined in this specification. Versions 0 and 
               255 are reserved and MUST NOT be used.</li>

           <li>o  Message Length (4 bytes): Length of the message in bytes
               (including common header, data, and encapsulated messages, if any).</li>

           <li>o  Message Type (1 byte): This identifies the type of the IMP
               message. An IMP implementation MUST ignore unrecognized message
               types upon receipt. This document defines the following type codes:</li>
        </ul>
        
        <ul spacing="compact">
             <li>1 - DATA</li>
             <li>2 - REQUEST</li>
             <li>3 - FILTER</li>
        </ul>
        
  </section>

  <section title="DATA Message">

      <t> IMP can carry different types of protocol and local system data. All 
          types of DATA Messages are propagated from Producer to Receiver(s). 
          Except DATA Type 1 all other DATA Types are optional. All DATA Types
          are subject to both implementation exposure and operator's permission.</t> 

      <t> The following figure illustrates DATA Message Header:</t>

      <figure align='center' anchor='Figure_2' title='IMP DATA Message Header'>
      <artwork>
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1       
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Router Identifier                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            DATA Type          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                       Data (variable)                         |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       </artwork></figure>

      <t> Router Identifier - Producer's 4 octet Router ID to uniquly identify 
          the sender data. For ISIS if 4 octet Router ID is not configured IPv4 
          address of lowest loopback interface SHOULD be used.</t>

      <t> DATA Type - The below list of DATA Types are defined by this 
          specification. DATA Type 0x0000 and 0xFFFF are reserved for 
          special use.</t> 

      <t> IMP specification focuses on propagating information carried in link 
          state protocols along with any extensions. The base specifications 
          for protocols are: OSPFv2 <xref target="RFC2328" />, OSPFv3 
          <xref target="RFC5340" /> and ISIS <xref target="RFC1195" />. </t> 
      
      <ul spacing="compact">
        <li> DATA Type 1 - BGP-LS NLRI of AFI 16388 SAFI 71</li>
        <li> DATA Type 2 - BGP-LS NLRI of AFI 16388 SAFI 72</li>
      </ul>
        
      <ul spacing="compact">
        <li> DATA Type 3 - OSPFv2 native LSDB Synchronization using DBDs</li>
        <li> DATA Type 4 - OSPFv3 native LSDB Synchronization using DBDs</li>
        <li> DATA Type 5 - ISIS native LSDB Synchronization using CSNPs</li>
        <li> DATA Type 6 - ISIS native LSDB Synchronization using PSNPs</li>
      </ul>

      <ul spacing="compact">
        <li> DATA Type 7 - OSPFv2 LSDB Content - YANG model</li> 
        <li> DATA Type 8 - OSPFv3 LSDB Content- YANG model</li> 
        <li> DATA Type 9 - ISIS LSDB Content - YANG model</li>
      </ul>
        
      <ul spacing="compact">
        <li> DATA Type 10 - OSPFv2 and OSPFv3 packets inbound mirroring</li>
        <li> DATA Type 11 - OSPFv2 and OSPFv3 packets onbound mirroring</li>
        <li> DATA Type 12 - ISIS PDUs inbound mirroring</li>
        <li> DATA Type 13 - ISIS PDUs outbound mirroring</li>
      </ul>
        
      <ul spacing="compact">
        <li> DATA Type 14 - OSPFv2 configuration - XML format</li>
        <li> DATA Type 15 - OSPFv2 configuration - JSON format</li>
        <li> DATA Type 16 - OSPFv3 configuration - XML format</li>
        <li> DATA Type 17 - OSPFv3 configuration - JSON format</li>
        <li> DATA Type 18 - ISIS configuration - XML format</li>
        <li> DATA Type 19 - ISIS configuration - JSON format</li>
      </ul>

      <t> An implementation MAY provide means to apply additional filtering to send 
          only subset of DATA Types or fields within specific DATA Type.</t> 

      <t> An implementation MAY provide facilities to define thresholds where 
          a given type of information may be sent immediately or could be sent with 
          predefined delay only when the absolute value contained exceeds threshold.</t>

      <t> For DATA Types containing BGP-LS data the encoding is identical to what
          is defined in the main BGP-LS specification <xref target="RFC7752" /> and all 
          extensions. The nature of data is incremental and only changes are propagated.</t>

      <t> Native LSBD synchronization the data block follows frequency of identical 
          data sent to any neighbour.</t>

      <t> Structured DATA Types using YANG, XML or JSON encoding first data block 
          should contain the entire dataset followed by incremental updates only when 
          changes occur.</t>

      <t> Raw DATA Types are asynchronous by design and reflect what protocol 
          communication takes place on a given interface(es).</t>

    </section>


<section title="REQUEST Message">

      <t> REQUEST Message is an optional IMP message allowing Receiver to list 
          what DATA Types it is interested in receving. The following figure 
          illustrates REQUEST Message type:</t>

      <figure align='center' anchor='Figure_3' title='IMP REQUEST Message Header'>
      <artwork>
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1       
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Receiver Identifier                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        1-N DATA Type          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             ....              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       </artwork></figure>

      <t> Receiver Identifier - Receiver's domain wide unique 4 octet identifier.</t>

      <t> Enumerated DATA Types included in REQUEST Message payload indicate to the
          Producer which DATA Types Receiver is subscribing to. </t>

      <t> REQUEST Message containing DATA Type 0x0000 indicates unsubscription from 
          any DATA Types.</t>

      <t> Each non-empty consecutive REQUEST Message received from a given Receiver 
          is an implicit withdrawal of any previously received subscription. It is also 
          an explicit overwrite of any locally configured permit policy.</t>

      <t> The size of valid REQUEST Message including Common Header is 10+(N*2) octets 
          where N >= 1.</t>

</section>

<section title="FILTER Message">

      <t> FILTER Message is an optional IMP message allowing Receiver to send 
          additional set of filters to what subset of specific protocol messages 
          within DATA Types it is interested in receiving. The following figure 
          illustrates FILTER Message type:</t>

      <figure align='center' anchor='Figure_4' title='IMP FILTER Message Header'>
      <artwork>
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1       
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Receiver Identifier                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            DATA Type          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         1-N FILTER TLVs                       |        
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       </artwork></figure>

      <t> Receiver Identifier - Receiver's domain wide unique 4 octet identifier.</t>

      <t> DATA Types included in FILTER Message indicate to which DATA Types enclosed
          filter TLVs apply.</t>

      <t> Minimal FILTER Message size including Common Header is 12 octets (no FILTER 
          TLVs is included). Meaning of such message is removal of all previously 
          advertised filters for a given DATA Type.</t>

      <t> Each non-empty consecutive FILTER Message received from a given Receiver 
          is an implicit withdrawal of any previously received subscription. TLVs sent 
          are replacing any previously sent FILTERS for a given DATA Type.</t>

      <t> Filter TLVs are scoped and their structure depends on the DATA Type they 
          are to filter. Presence of multiple TLVs in a FILTER Message is a logical 
          AND. A single FILTER message may contain Filter TLVs of multiple types.</t>
 
       <section title="FILTER TLVs">

      <figure align='center' anchor='Figure_5' title='IMP FILTER TLV'>
      <artwork>
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1       
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            TLV Type           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             Length            |        
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |        Value  (Variable)      |  
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       </artwork></figure>

        <ul>
             <li>TLV Type: Fixed two octet number indicating name of the defined TLV</li>
             <li>Length: Fixed two octet length of the TLV including its header in octets</li>
             <li>Value: Variable size in multiplication of octets containing the filter value</li>
        </ul>

        <t> The following Filter TLVs are defined in this document. Definition of more 
            Filter TLVs may be added in this or any future specificiations.</t>

        <ul spacing="compact">
             <li> Type 1: BGP-LS NLRI Type</li>
             <li> Length: 5 octets</li>
             <li> Value: 1 octet - IANA Registry: BGP-LS NLRI-Types</li>
             <li> Applicability: DATA Type 1, DATA Type 2</li>
        </ul>

        <ul spacing="compact">
             <li> Type 2: BGP-LS Descriptors</li>
             <li> Length: 6 octets</li>
             <li> Value: 2 octet - IANA Registry: BGP-LS Node Descriptor, Link Descriptor, 
                  Prefix Descriptor, and Attribute TLVs</li>
             <li> Applicability: DATA Type 1, DATA Type 2</li>
        </ul>

        <ul spacing="compact">
             <li> Type 3: OSPFv2 DBD LS Type</li>
             <li> Length: 5 octets</li>
             <li> Value: 1 octet - IANA Registry: OSPFv2 Link State (LS) Type</li>
             <li> Applicability: DATA Types: 3, 7, 10, 11</li>
        </ul>

        <ul spacing="compact">
             <li> Type 4: OSPFv3 DBD LSA Function Codes</li>
             <li> Length: 6 octets</li>
             <li> Value: 2 octet - IANA Registry: OSPFv3 LSA Function Codes</li>
             <li> Applicability: DATA Types: 4, 8, 10, 11</li>
        </ul>

        <ul spacing="compact">
             <li> Type 5: ISIS Top-Level TLV Codepoints</li>
             <li> Length: 6 octets</li>
             <li> Value: 2 octet - IANA Registry: IS-IS Top-Level TLV Codepoints</li>
             <li> Applicability: DATA Types: 5, 6, 9, 12, 13</li>
        </ul>

       </section>

</section>

<section title="Handling multiple IGP instances">

    <t> Network elements may support multiple instances of IGP protocols.
        The IMP Messages as defined in this specification are applicable 
        to a single IGP instance. When multiple IGP instances are enabled 
        each should maintain a separate IMP session. In such cases each 
        instance also should identify itself with a different 4 octet 
        Router-ID.</t>

</section>

<section title="Deployment and operational considerations">

  <t> While the specification defines protocol to operate between two nodes a 
      given deployment may operate across more then two nodes. An IMP node 
      may act as Producer's proxy. In such a scenario the same node can act as 
      Receiver on one side and as Producer for other Receiver(s) on the 
      other one. Different TCP ports MAY be used on a per session basis.</t>

  <t> The focus of IMP is to feed operational data to network controllers 
      and assist in network monitoring, analysis and debugging. But is it 
      also directly possible to share information about the state of nodes 
      and/or links from a given area to other areas in a form of unicast 
      instead of using native IGP flooding. This is especially interesting 
      when information shared is required by a subset of routers in other 
      areas. For example, indication of node down events can be propagated 
      using IMP to any other interested nodes. For scalability use of one 
      or more Producer's proxies is recommended.</t>

  <t> When an IMP Producer receives an unrecognized message or unrecognized type
      such message SHOULD be ignored and error notification sent to system
      log. Currently authors purposely did not extend the protocol with a
      separate ERROR Message to communicate back to the Receiver the
      unrecognized part of the REQUEST or FILTER Message.</t>

  <t> When an IMP Receiver detects an unrecognized part of DATA Message it should 
      log it locally and if possible continue parsing the remaining data.</t>

</section>

<section title="Capability Advertisement">

  <t>This document does not require any new capability to be defined.</t>
  
</section>

<section anchor="IANA" title="IANA Considerations">

  <t>This document defines a new IGP Monitoring Protocol (IMP) and it is 
     expected that IANA creates a new group as well as a number of following 
     registries to maintain its parameters.</t>

  <section title="IMP Message Types">

    <t> This document defines 1 octet IMP message types to be tracked by 
        IMP Message Type Registry. Currently three values are defined:</t>

    <ul spacing="compact">
         <li>1 - DATA</li>
         <li>2 - REQUEST</li>
         <li>3 - FILTER</li>
    </ul>
  
    <t>Values 0 and 255 are to be marked as Reserved. Type values 1 through 
       127 MUST be assigned using the "Standards Action" policy, and values 
       128 through 250 using the "Specification Required" policy defined in 
       <xref target="RFC5226" />. Values 251 through 254 are Experimental.</t>

  </section>

  <section title="DATA Types">

     <t>This document defines two octet DATA Types to be tracked by IMP DATA 
        Types Registry. Currently nighteen values are defined:</t>

    <ul spacing="compact">
        <li> DATA Type 1 - BGP-LS NLRI of AFI 16388 SAFI 71</li>
        <li> DATA Type 2 - BGP-LS NLRI of AFI 16388 SAFI 72</li>
        <li> DATA Type 3 - OSPFv2 native LSDB Synchronization using DBDs</li>
        <li> DATA Type 4 - OSPFv3 native LSDB Synchronization using DBDs</li>
        <li> DATA Type 5 - ISIS native LSDB Synchronization using CSNPs</li>
        <li> DATA Type 6 - ISIS native LSDB Synchronization using PSNPs</li>
        <li> DATA Type 7 - OSPFv2 LSDB Content - YANG model</li> 
        <li> DATA Type 8 - OSPFv3 LSDB Content- YANG model</li> 
        <li> DATA Type 9 - ISIS LSDB Content - YANG model</li>
        <li> DATA Type 10 - OSPFv2 and OSPFv3 packets inbound mirroring</li>
        <li> DATA Type 11 - OSPFv2 and OSPFv3 packets onbound mirroring</li>
        <li> DATA Type 12 - ISIS PDUs inbound mirroring</li>
        <li> DATA Type 13 - ISIS PDUs outbound mirroring</li>
        <li> DATA Type 14 - OSPFv2 configuration - XML format</li>
        <li> DATA Type 15 - OSPFv2 configuration - JSON format</li>
        <li> DATA Type 16 - OSPFv3 configuration - XML format</li>
        <li> DATA Type 17 - OSPFv3 configuration - JSON format</li>
        <li> DATA Type 18 - ISIS configuration - XML format</li>
        <li> DATA Type 19 - ISIS configuration - JSON format</li>
    </ul>

    <t>Values 0 and 65535 are to be marked as Reserved. Type values 1 through 
       32767 MUST be assigned using the "Standards Action" policy, and values 
       32768 through 65530 using the "Specification Required" policy defined in 
       <xref target="RFC5226" />. Values 65531 through 65534 are Experimental.</t>

  </section>

  <section title="FILTER TLV Types">

     <t>IANA is to allocate FILTER TLV Types Registry.</t>

     <t>This document defines two octet FILTER TLV Types to be tracked by 
        IMP FILTER TLV Types Registry. Currently five values are defined:</t>

    <ul spacing="compact">
         <li> Type 1: BGP-LS NLRI Type</li>
         <li> Type 2: BGP-LS Descriptors</li>
         <li> Type 3: OSPFv2 DBD LS Type</li>
         <li> Type 4: OSPFv3 DBD LSA Function Codes</li>
         <li> Type 5: ISIS Top-Level TLV Codepoints</li>
    </ul>

    <t>Values 0 and 65535 are to be marked as Reserved. Type values 1 through 
       32767 MUST be assigned using the "Standards Action" policy, and values 
       32768 through 65530 using the "Specification Required" policy defined in 
       <xref target="RFC5226" />. Values 65531 through 65534 are Experimental.</t>

  </section>
      
</section>

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

  <t> This document defines a new method to obtain link state protocol data
      from network elements.  The protocol defines a number of deployment
      scenarios, however critical network infrastructure is not expected to
      support all of them. Their role should be limited to export information 
      to a minimal number  of Receivers. It is the Receiver which can further 
      filter the available information (acting as Producer's proxies) and share 
      further optionally in PUB-SUB mode to interested parties. </t>

  <t> Due to the very sensitive nature of the link state data IMP sessions MUST 
      either be authenticated (TCP-A0) or native protocol security enabled (QUIC).</t>

  <t> The allowed peers to exchange IMP messages SHOULD be explicitly configured.</t>

  <t> In cases where TCP is used the listening port is subject to a local configuration 
      by the operator to even further make it not a well known attack target.</t>

  <t> In deployments where the security considerations outlined above are still 
      a concern, users of this protocol should use IPsec <xref target="RFC4303" /> 
      in tunnel mode with pre-shared keys.</t>

</section>

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

  <t>....</t>

</section>

</middle>

<back>
  <references>
    <name>Normative References</name>
    <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.1195.xml"/>
    <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
    <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2328.xml"/>
    <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5340.xml"/>
    <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7752.xml"/>
    <!--
    <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5307.xml"/>
    <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5305.xml"/>
    <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6119.xml"/>
    <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8814.xml"/>
    <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9086.xml"/>
    -->
  </references>
  <references>
    <name>Informative References</name>
    <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4303.xml"/>
    <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5226.xml"/>
    <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7854.xml"/>
    <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9000.xml"/>
    <!--
    <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.andersson-mpls-mna-fwk.xml"/>
    -->
  </references>
</back>

</rfc>
