One document matched: draft-ietf-behave-syslog-nat-logging-03.xml


<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
     which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
     There has to be one entity for each item to be referenced. 
     An alternate method (rfc include) is described in the references. --> 
  <!ENTITY RFC2119 SYSTEM "reference.RFC.2119.xml">
  <!ENTITY RFC2663 SYSTEM "reference.RFC.2663.xml">
  <!ENTITY RFC2685 SYSTEM "reference.RFC.2685.xml">
  <!ENTITY RFC3022 SYSTEM "reference.RFC.3022.xml">
  <!ENTITY RFC4787 SYSTEM "reference.RFC.4787.xml">
  <!ENTITY RFC5101 SYSTEM "reference.RFC.5101.xml">
  <!ENTITY RFC5382 SYSTEM "reference.RFC.5382.xml">
  <!ENTITY RFC5424 SYSTEM "reference.RFC.5424.xml">
  <!ENTITY RFC5425 SYSTEM "reference.RFC.5425.xml">
  <!ENTITY RFC5848 SYSTEM "reference.RFC.5848.xml">
  <!ENTITY RFC5952 SYSTEM "reference.RFC.5952.xml">
  <!ENTITY RFC5969 SYSTEM "reference.RFC.5969.xml">
  <!ENTITY RFC6145 SYSTEM "reference.RFC.6145.xml">
  <!ENTITY RFC6146 SYSTEM "reference.RFC.6146.xml">
  <!ENTITY RFC6264 SYSTEM "reference.RFC.6264.xml">
  <!ENTITY RFC6333 SYSTEM "reference.RFC.6333.xml">
  <!ENTITY RFC6674 SYSTEM "reference.RFC.6674.xml">
  <!ENTITY RFC6887 SYSTEM "reference.RFC.6887.xml">
  <!ENTITY RFC6888 SYSTEM "reference.RFC.6888.xml">

]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
     please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
     (Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space 
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->

<rfc category="std" docName="draft-ietf-behave-syslog-nat-logging-03" ipr="trust200902">
  <!-- category values: std, bcp, info, exp, and historic
     ipr values: trust200902, noModificationTrust200902, noDerivativesTrust200902
     pre5378Trust200902
     you can add the attributes updates="NNNN" and obsoletes="NNNN" 
     they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the 
         full title is longer than 39 characters -->

    <title>Syslog Format for NAT Logging</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->

     <author fullname="Zhonghua Chen" initials="Z."  surname="Chen">
      <organization>China Telecom</organization>
      <address>
        <postal>
          <street></street>
          <city></city>
          <code></code>
          <country>P.R. China</country>
        </postal>
        <phone></phone>
        <email>18918588897@189.cn</email>
      </address>
    </author>

    <author fullname="Cathy Zhou" initials="C."  surname="Zhou">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>Bantian, Longgang District</street>
          <city>Shenzhen</city>
          <code>518129</code>
          <country>P.R. China</country>
        </postal>
        <phone></phone>
        <email>cathy.zhou@huawei.com</email>
      </address>
    </author>
    
    <author fullname="Tina Tsou" initials="T." surname="Tsou">
      <organization>Huawei Technologies (USA)</organization>

      <address>
        <postal>
          <street>2330 Central Expressway</street>

          <city>Santa Clara</city>

          <region>CA</region>

          <code>95050</code>

          <country>USA</country>
        </postal>

        <phone>+1 408 330 4424</phone>

        <email>tina.tsou.zouting@huawei.com</email>
      </address>
    </author>
    
<author initials="T." surname="Taylor" fullname="T. Taylor" role="editor">
  <organization>Huawei Technologies</organization>
  <address>
    <postal>
      <street></street>
      <city>Ottawa</city>
      <region></region>
      <code></code>
      <country>Canada</country>
    </postal>
    <phone></phone>
    <email>tom.taylor.stds@gmail.com</email>
  </address>
</author>

<date year="2013" />

    <!-- If the month and year are both specified and are the current ones,
    xml2rfc will fill in the current day for you. If only the current year is
    specified, xml2rfc will fill in the current day and month for you. If the
    year is not the current one, it is necessary to specify at least a month
    (xml2rfc assumes day="1" if not specified for the purpose of calculating
    the expiry date).  With drafts it is normally sufficient to specify just
    the year. -->

    <!-- Meta-data Declarations -->

    <area>Transport</area>

    <workgroup>Behave Working Group</workgroup>

    <!-- WG name at the upperleft corner of the doc,
         IETF is fine for individual submissions.  
   If this element is not present, the default is "Network Working Group",
         which is used by the RFC Editor as a nod to the history of the IETF. -->

    <abstract>

      <t>With the wide deployment of Carrier Grade NAT (CGN) devices, the
      logging of NAT-related events has become very important for various
      operational purposes.  The logs may be required for troubleshooting, to
      identify a host that was used to launch malicious attacks, and/or for
      accounting purposes. This document identifies the events that need to be
      logged and the parameters that are required in the logs depending on the
      context in which the NAT is being used. It goes on to standardize formats
      for reporting these events and parameters using SYSLOG (RFC 5424). A
      companion document specifies formats for reporting the same events and
      parameters using IPFIX (RFC 5101). Applicability statements are provided
      in this document and its companion to guide operators and implementors in
      their choice of which technology to use for logging.</t> 
      
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
    
      <t> Operators already need to record the addresses assigned to
      subscribers at any point in time, for operational and regulatory
      reasons. When operators introduce NAT devices which support address
      sharing (e.g., Carrier Grade NATs (CGNs)) into their network,
      additional information has to be logged. This document and 
      <xref target="I-D.behave-ipfix-nat-logging"/> are provided in order to
      standardize the events and parameters to be recorded, using
      SYSLOG <xref target="RFC5424"/> and IPFIX <xref target="RFC5101"/>
      respectively. The content proposed to be logged by the two documents
      is exactly the same, but as will be seen, the choice of which to use
      in a given scenario is an engineering issue. </t>
      
      <t>Detailed logging requirements will vary depending on the context in
      which they are used. For example, different methods for transition
      from IPv4 to IPv6 require different events and different parameters to
      be logged. <xref target="deploy"/> covers this topic.</t>
      
      <t><xref target="events"/> provides a more
      detailed description of the events that need logging and the parameters
      that may be required in the logs.</t>
      
      <t>The use of SYSLOG <xref target="RFC5424"/> has advantages and
      disadvantages compared with the use of IPFIX <xref target="RFC5101"/>.
      <xref target="applic"/> provides a statement of applicability for the
      SYSLOG approach.</t>
      
      <t><xref target="recFMT"/> specifies SYSLOG record formats for logging
      of the events and parameters described in <xref target="events"/>. The
      definitions provide the flexibility to vary actual log contents based
      on the requirements of the particular deployment.</t>
      
      <section title="Terminology">
      
        <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">
        "Key words for use in RFCs to Indicate Requirement Levels"</xref>.</t>
        
        <t>This document uses the terms "session" and Binding
        Information Base (BIB) as they are defined in Section 2 of <xref
        target="RFC6146"/>. Note that this definition of "session" is
        destination-specific, where the original definition of a NAT session in
        <xref target="RFC2663"/> is destination-independent.</t>
        
        <t>This document uses the term "address mapping" to denote the initial
        logical step required to set up a session, as described in <xref
        target="realms"/>. It uses the term "transport binding" to denote the
        content of a BIB entry.</t> 
        
        <t>Except where a clear distinction is necessary, this document uses the
        abbreviation "NAT" to encompass both Network Address Translation (NAT in
        the strict sense) and Network Address and Port Translation (NAPT). The
        event report descriptions provided in this document apply to NAPT, and
        can be simplified for pure NAT operation.</t> 
        
      </section>

    </section>  <!-- Introduction -->
    
    <section anchor="deploy" title="Deployment Considerations">

      <section anchor="statDyn" title="Static and Dynamic NATs">
      
        <t>A NAT controls a set of resources in the form of one or more pools of
        external addresses. If the NAT also does port translation (i.e., it is a
        NAPT), it also controls the sets of UDP and TCP port numbers and ICMP
        identifiers associated with each external address. </t> 

        <t>Logging requirements for a NAT depend heavily on its resource
        allocation strategy. NATs can be classed as static or dynamic depending
        on whether the resources provided to individual users are pre-configured
        or allocated in real time as the NAT recognizes new flows. </t> 
        
        <t>Static assignments can be logged at configuration time by the NAT or
        by network infrastructure. The logging volume associated with static
        assignments will be relatively low, of the order of the volume of user
        logons. As discussed below, static assignments are typically associated
        with IPv6 transition methods rather than traditional NAT. The details of
        what to log will depend on the transition method concerned. </t> 
        
        <t>Dynamic assignments typically require both more detail in the logs
        and a higher volume of logs in total. A traditional Network Address Port
        Translator (NAPT) as described in <xref target="RFC3022"/> and following
        the recommendations of <xref target="RFC4787"/> and <xref
        target="RFC5382"/> will generate a new mapping each time it encounters a
        new internal <address, port> combination.</t>
        
        <t>For statistical reasons, static assignments support lower address
        sharing ratios than fully dynamic assignments as exemplified by the
        traditional NAPT. The sharing ratio can be increased while restraining
        log volumes by assigning ports to users in multi-port increments as
        required rather than assigning just one port at a time. A subscriber may
        start with no initial allocation, or may start with an initial permanent
        allocation to which temporary increments are added when the initial set
        is all being used. See <xref target="RFC6264"/> and 
        <xref target="I-D.tsou-behave-natx4-log-reduction"/> for details. If
        this strategy is followed, logging will be required only when an
        increment is allocated or reclaimed rather than every time an internal
        <address, port> combination is mapped to an external <address,
        port>. </t> 

      </section>  <!-- statDyn -->
      
      <section anchor="realms" title="Realms and Address Pools">

        <t>A realm defines the scope within which a specific set of addresses
        are unique. In general these will be IPv4 or IPv6 addresses, but not
        necessarily. A counter-example specifically addressed by this document
        is the case of Gateway-Initiated DS-Lite <xref target="RFC6674"/>,
        where individual host sites are identified by 16-bit Softwire
        Identifiers. See further discussion in <xref target="transition"/> and
        <xref target="genAddr"/>.</t>
        
        <t>Table [proposed] in the NAT-MIB <xref target="I-D.Behave-NAT-MIB"/>
        provides a mapping between each realm identifier and the Virtual Routing
        Function (VRF) instance, VLAN identifier, or Gateway-Initiated DS-Lite
        context, if any, with which it is associated. </t> 

        <t>From the point of view of a specific NAT session, only two realms
        are involved: an internal realm and an external realm. However, the
        NAT as a whole may support a number of realms, for example:
        <list style="symbols">
          <t>multiple internal realms with overlapping address spaces;</t> 
          <t>an external IPv4 public realm; and/or</t> 
          <t>an external IPv6 public realm.</t>
        </list>
        </t>

        <t>As described in [RFC6146], for example, setting up a NAT session
        proceeds in a series of logical steps. The first step in particular may
        not be implemented explicitly in a given implementation, but logically
        it has to happen before the next step can be taken. 
        <list style="numbers">
          
          <t>An address mapping is created between the internal realm and
          an external realm chosen based on information in the triggering packet
          or administrative request.</t> 
          
          <t>Using that address mapping, a transport binding is created between
          specific transport endpoints (e.g., between specific port values) in
          the two realms for the protocol required by the session, and added to
          the Binding Information Base (BIB).</t>
 
          <t>Setup of the session is completed by mapping the destination
          address and port (if necessary) into the selected external realm.</t>
        </list>
        </t>
 
        <t>This section is concerned only with the address mapping step. That
        step is always triggered either by a packet outgoing from the internal
        host to a given destination, or by administrative action providing
        equivalent information. The external realm for the mapping is chosen
        based on the destination.</t> 

        <t>To summarize where we are: an address mapping binds an internal
        address with an external address in a selected external realm.
        One address mapping can serve as the basis for one to many transport
        bindings in the BIB, and one BIB entry can serve as the basis for one to
        many sessions. A single internal address may be associated with multiple
        address mappings at one time.</t> 

        <section anchor="pools" title="Address Pools">

          <t>An address pool is a mechanism for configuring the set of addresses
          to which a given internal address can be mapped in a given realm. The
          pool may be used simply to ration the available addresses within that
          realm, or may be selected for other reasons such as to add additional
          semantics (e.g., type of service required) to the external address
          within the target realm. Clearly a given internal address may be mapped
          into more than one address pool at a given time.</t>
          
          <t>The model of an address pool assumed in this document and in the
          NAT MIB [I-D.Behave-NAT-MIB] is that the pool offers a fixed range of
          port/ICMP identifier values, the same over all addresses within the
          pool. How these are allocated to individual transport bindings in the
          BIB depends on the pooling behaviour. With a pooling behaviour of
          "arbitrary" [RFC4787], the NAT can select any address in the pool with
          a free port value for the required protocol and map the internal address
          to it. With the recommended pooling behaviour of "paired" [RFC4787],
          the NAT restricts itself to finding a free port at the address to
          which the internal address is already mapped, if there is one.</t>
          
          <t>From this description, one can see that ports are a limited
          resource, subject to exhaustion at the pool level and, with "paired"
          behaviour, at the level of the individual address. Log events are
          defined in <xref target="poolThresh"/> that allow monitoring of port
          utilization at the pool level. <xref target="mgmtConsid"/> discusses
          how the thresholds for triggering these events should be varied
          depending on pooling behaviour.</t> 

        </section>  <!-- pools -->

      </section>  <!-- realms -->
      
      <section anchor="transition" title="NAT Logging Requirements For Different Transition Methods">

        <t>A number of transition technologies have been or are being
        developed to aid in the transition from IPv4 to IPv6. 6rd 
        <xref target="RFC5969"/> and DS-Lite <xref target="RFC6333"/> are at
        the deployment stage. Several 'stateless' technologies: Public IPv4
        over IPv6 <xref target="I-D.softwire-public-4over6"/>, MAP-E 
        <xref target="I-D.softwire-map"/>, and Lightweight 4over6 
        <xref target="I-D.softwire-lw4over6"/> have seen experimental
        deployment and are in the process of being standardized at the time of
        writing of this document. </t>
        
        <t>Of the technologies just listed, 6rd and Public IPv4 over IPv6 do
        not involve NATs and hence need not be considered further. The other
        techniques involve NAT at the customer edge, at the border router, or
        both, and hence are in scope.</t>
        
        <t>A DS-Lite Address Family Transition Router (AFTR) includes a 
        large-scale session-stateful NAT44 processing potentially
        millions of sessions per second. The special character of AFTR
        operation over that of a traditional NAT44 is that the source IPv4
        addresses of the internal hosts may not be unique. As a consequence,
        the session tables need to include an alternative identifier associated
        with the subscriber host. For basic DS-Lite, this will be the IPv6
        address used to encapsulate the packets outgoing from the host. See
        Section 6.6 of <xref target="RFC6333"/>. For gateway-initiated DS-Lite
        <xref target="RFC6674"/>, an identifier associated with the incoming
        tunnel from the host is used instead.</t> 
        
        <t>The DS-Lite customer edge equipment (the 'B4') may also perform
        NAT44 functions, similar to the functions performed
        by traditional NAT44 devices.</t> 
        
        <t>As a NAT44, the DS-Lite AFTR may be fully dynamic, or may allocate
        ports in increments as described in the previous section. </t> 
        
        <t>Lightweight 4over6 <xref target="I-D.softwire-lw4over6"/> and MAP-E 
        <xref target="I-D.softwire-map"/> both require NAT44 operation at the
        customer equipment (unified CPE, 
        <xref target="I-D.softwire-unified-cpe"/>). In both cases the resource
        allocation strategy is static. Thus any logging of resource allocation
        for these two transition techniques can be done by the network at
        configuration time.</t> 

        <section anchor="genAddr" title="IP Addresses and Generalized Addresses">
  
          <t>In the event reports described below, external addresses and
          destination addresses will always be true IPv4 or IPv6 addresses. Source
          addresses of outgoing packets before mapping will also be IP addresses,
          but will not always be meaningful because they will not be unique within
          their realm. This is true in particular of some of the transition methods
          described in the previous section.</t> 
          
          <t>For this reason, the event report descriptions introduce the term
          "generalized address" to describe internal addresses (as opposed to
          source addresses within packets). The detailed description of the
          encoding of a generalized address in <xref target="params"/> provides for
          an address type, address/prefix value, and address/prefix length,
          similarly to the encoding of an IP address. However, the range of
          generalized address types is expanded to support the following:
          <list style="symbols">
            <t>For traditional NATs, the source IPv4 address (for NAT44) or IPv6
            address (for NAT64) is sufficient.</t> 
            
            <t>For the DS-Lite, Lightweight 4over6 or MAP-E transition methods,
            the subscriber site can be identified by the IPv6 tunnel endpoint
            prefix or address provisioned to that site.</t> 
            
            <t>Gateway-initiated DS-Lite uses the combination of a 32-bit context
            identifier (CID) and a softwire identifier (SWID). Several different
            realizations of these identifiers are described in Section 6 of <xref
            target="RFC6674"/>. From the point of view of this document, the CID is
            represented by a realm identifier, leaving the SWID as the value of the
            generalized address itself.</t> 
          
          </list>
          </t> 
  
        </section>  <!-- genAddr -->
      
      </section>  <!-- transition -->
      
      <section anchor="PCP" title="The Port Control Protocol (PCP)">

        <t>The Port Control Protocol (PCP) <xref target="RFC6887"/> and
        its port set extension <xref target="I-D.pcp-port-set"/> can be viewed
        as a way to provision ports by other means. However, PCP can be invoked on a
        per-flow basis, so the volume of logs generated by a PCP server can be
        closer to the volume associated with a fully dynamic NAT. The volume
        really depends on how PCP is being used in a specific network.</t> 
        
      </section>  <!-- PCP -->
      
      <section anchor="edgeLogs" title="Logging At the Customer Edge">
        
        <t>Logging at the customer edge (or at the ISP edge for NATs
        protecting the ISP's internal networks) may be done by the customer
        for purposes of internal management, or by the ISP for its own
        administrative and regulatory purposes. Given the likelihood of a high
        internal community of interest, it is possible but unlikely that a NAT
        at the edge of a large enterprise network processes a number of new
        packet flows per second which is comparable to the volume handled by a
        carrier grade NAT. Most customer edge NATs will handle a much smaller
        volume of flows.</t>

      </section>  <!-- edgeLogs -->
        
    </section>  <!-- deploy -->
    
    <section anchor="events" title="NAT-Related Events and Parameters">

      <t>The events which follow were initially gleaned, in the words of the
      authors of <xref target="I-D.behave-ipfix-nat-logging"/>, from <xref
      target="RFC4787"/> and <xref target="RFC5382"/>. Some details were
      subsequently informed by the discussion in <xref
      target="deploy"/> and by provisions within the NAT MIB 
      <xref target="I-D.Behave-NAT-MIB"/>. Section 4 of <xref target="RFC6888"/>
      also provides a brief statement of logging requirements for carrier grade
      NATs.</t> 
      
      <t>Since the present document deals with SYSLOG rather
      than IPFIX, the timestamp and the event type will appear in the log
      header rather than as an explicit part of the structured data portion
      of the log. Hence they are omitted from the parameter tabulations that
      follow.  </t>
      
      <t>The listed parameters include an optional triggering NAT procedure in
      each case. The triggering NAT procedure is an implementation-defined
      string indicating the type of NAT function (e.g., NAT44) being applied in
      association with the reported event. The same device can offer different
      functions depending on the particular packets being processed. The
      triggering NAT procedure is most relevant when address mappings are
      created, but if address mapping events are not reported (i.e., because
      pooling behaviour is "arbitrary" <xref target="RFC4787"/>),
      implementations MAY choose to report it for BIB entry or session
      events.</t> 
      
      <section anchor="sessCrDe" title="NAT Session Creation and Deletion">

        <t>A NAT session creation or deletion event is logged when a transport
        binding is further bound to or unbound from a specific destination
        address and port in the external realm. One to many sessions can be
        based on the same transport binding.</t> 
        
        <t>Implementations MUST NOT report session creation and deletion
        events unless destination logging is enabled (see discussion below).</t> 
        
        <t>The following specific events are defined: 
        <list style="symbols">
          <t>NAT session creation</t> 
          <t>NAT session deletion</t> 
        </list> 
        </t> 
        
        <t>These take the same parameters for all types of NAT. Parameters
        "internal realm" through "protocol identifier" capture the underlying
        transport binding. The destination IP address and port and possibly the
        trigger are unique to the session. If the destination IP and port do not
        require remapping into the external realm, the internal values are
        redundant and SHOULD be omitted from the report. So long as the
        underlying BIB entry exists, the internal values can in any event be
        retrieved from the natMappingTable in the NAT MIB 
        <xref target="I-D.Behave-NAT-MIB"/> using the combination of protocol,
        external realm, external destination address, and external destination
        port as key. 
        <list style="symbols">
          <t>Triggering NAT procedure (OPTIONAL);</t>
          <t>Internal realm (MANDATORY);</t>
          <t>Generalized internal address (MANDATORY);</t>
          <t>Internal port or ICMP identifier (MANDATORY);</t>
          <t>External realm (MANDATORY);</t>
          <t>External IP address (MANDATORY);</t>
          <t>External port or ICMP identifier (MANDATORY);</t>
          <t>Protocol identifier (MANDATORY);</t>
          <t>Internal destination IP address (as given in outgoing packets)
          (OPTIONAL);</t> 
          <t>Internal destination port or ICMP identifier (as given in
          outgoing packets) (OPTIONAL);</t> 
          <t>External destination IP address (as given in outgoing packets)
          (MANDATORY);</t> 
          <t>External destination port or ICMP identifier (as given in
          outgoing packets) (MANDATORY);</t> 
          <t>Trigger for session creation or deletion (OPTIONAL):
          <list style="symbols">
            <t>outgoing packet received; </t>            
            <t>incoming packet received;</t> 
            <t>administrative action (e.g., via the Port Control Protocol
            <xref target="RFC6887"/>); or</t>
            <t>deletion of the underlying BIB entry.</t>
          </list>
          </t> 
        </list>
        </t>
        
        <section anchor="destLog" title="Destination Logging">
          
          <t>The logging of destination address and port is generally
          undesirable, for several reasons. <xref target="RFC6888"/> recommends
          against destination logging because of the privacy issues it creates.
          From an operator's point of view, destination logging is costly not
          just because of the volume of logs it will generate, but because the
          NAT now has to carry additional session state so that it only needs to
          log once per session between two transport end points rather than
          logging every packet. Finally, <xref target="RFC4787"/>, etc.
          recommend the use of endpoint-independent mapping to maximize the
          ability of applications to operate through the NAT. In that case, most
          of the contents of the session creation event report will be repeated
          for one destination after another.</t> 
         
          <t>One possibility is that the implementation provides the operator
          with the ability to log destinations only for particular subscribers
          or particular mapped addresses on a special study basis. This facility
          could be used for trouble-shooting or malicious activity tracing in
          particular cases as required. If such a capability is provided, the
          implementation MUST report session creation and deletion events for
          sessions matching the specified criteria, but MUST NOT report these
          events for other sessions.</t> 

        </section>  <!-- destLog -->

      </section>  <!-- sessCrDe -->
      
      <section anchor="BIBCrDe" title="Binding Information Base Entry Creation and Deletion">

        <t>A transport mapping as recorded in the Binding Information Base (BIB)
        corresponds to the older definition of NAT session as defined in Section
        2.3 of <xref target="RFC2663"/>. The BIB entry creation or deletion
        event reports the addition or deletion of a mapping between an internal
        transport endpoint and an external transport address. The event report
        provides the same information as the session creation/deletion event,
        except for the destination-related fields in the latter. </t> 
        
        <t>Particularly with endpoint-independent mapping behaviour <xref
        target="RFC4787"/>, one BIB entry creation event is associated with
        potentially many succeeding session creation events, as individual
        destinations are mapped into the session table. Similarly, a BIB entry
        deletion event will be associated with potentially many session deletion
        events, which may have preceded it over a period of time or may occur at
        the same time as a result of the BIB entry deletion.</t> 
        
        <t>Operators SHOULD disable the reporting of BIB entry creation and
        deletion events when destination logging is enabled, because of the
        redundancy between the BIB and session event reports. However, in the
        case of endpoint-independent mapping behaviour <xref target="RFC4787"/>,
        the BIB event provides a compact summary of most of the content of what
        could be a large number of corresponding session events.</t> 
        
        <t>The following specific events are defined: 
        <list style="symbols">
          <t>BIB entry creation</t> 
          <t>BIB entry deletion</t> 
        </list> 
        </t> 
        
        <t>These take the same parameters for all types of NAT. The internal
        realm, generalized internal address, external realm, and external
        address capture the underlying address mapping. The port values,
        protocol, and possibly the trigger are unique to the BIB entry. 
        <list style="symbols">
          <t>Triggering NAT procedure (OPTIONAL);</t>
          <t>Internal realm (MANDATORY);</t>
          <t>Generalized internal address (MANDATORY);</t>
          <t>Internal port or ICMP identifier (MANDATORY);</t>
          <t>External realm (MANDATORY);</t>
          <t>External address (MANDATORY);</t>
          <t>External port or ICMP identifier (MANDATORY);</t>
          <t>Protocol identifier (MANDATORY);</t>
          <t>Trigger for transport mapping creation or deletion (OPTIONAL):
          <list style="symbols">
            <t>outgoing packet received; </t>            
            <t>incoming packet received;</t> 
            <t>administrative action (e.g., via the Port Control Protocol
            <xref target="RFC6887"/>); or</t>
            <t>deletion of the underlying address mapping.</t>
          </list>
          </t> 
        </list>
        </t>

      </section>  <!-- BIBCrDe -->
      
      <section anchor="addrBind" title="Address Mapping Creation and Deletion Events">

        <t>Two specific events are provided:
        <list style="symbols">
          <t>Address mapping creation;</t>
          <t>Address mapping deletion.</t>
        </list>
        </t>
        
        <t>Address mapping is discussed in detail in <xref target="realms"/>. </t> 
        
        <t>One address mapping creation event is associated with potentially
        many succeeding BIB entry creation events, as individual port values are
        mapped into the BIB for specific protocols. Similarly, an address
        mapping deletion event will be associated with potentially many BIB
        entry deletion events, which may have preceded it over a period of time
        or may occur at the same time as a result of the address unbinding.</t> 

        <t>The address mapping events take the following specific parameters: 
        <list style="symbols">
          <t>Triggering NAT procedure (OPTIONAL);</t>
          <t>Internal realm (MANDATORY);</t>
          <t>Generalized internal address (MANDATORY);</t>
          <t>External realm (MANDATORY);</t>
          <t>External IP address (MANDATORY).</t>
          <t>Trigger for address mapping creation or deletion (OPTIONAL):
          <list style="symbols">
            <t>outgoing packet; </t>            
            <t>administrative action (e.g., via the Port Control Protocol
            <xref target="RFC6887"/>); or</t>
            <t>autonomous action of the NAT.</t>
          </list>
          </t> 
        </list></t>

      </section>  <!-- addrBind -->
      
      <section anchor="portAssgn" title="Port Set Allocation and Deallocation">

        <t>This event is recorded at a hybrid NAT whenever the set of ports
        allocated to a given address mapping changes. It is assumed that when
        ports are allocated in bulk, the same values are allocated for all
        protocols.</t> 
        
        <t>The following specific events are defined: 
        <list style="symbols">
          <t>Port set allocation;</t> 
          <t>Port set deallocation.</t> 
        </list> 
        </t> 
        
        <t>The parameters for these events are: 
        <list style="symbols">
          <t>Triggering NAT procedure (OPTIONAL);</t>
          <t>Internal realm (MANDATORY);</t>
          <t>Generalized internal address (MANDATORY);</t>
          <t>External realm (MANDATORY);</t>
          <t>External IP address (MANDATORY);</t>
          <t>A set of ports available for transport mapping, newly allocated to
          or deallocated from the given address mapping. The representation of a
          port set is described in the next paragraph (MANDATORY).</t> 
        </list></t>
        
        <t>A port set is represented by four parameters. The full set of
        parameters describes a sequence of equally-spaced and equally-sized
        ranges of consecutive port values. If only a single range is allocated
        or deallocated, two of the parameters can be omitted. The four
        parameters are:
        <list style="symbols">
          <t>Starting port number, the lowest port number in the entire port
          set (MANDATORY);</t>
          <t>Ending port number, the highest port number in the entire port
          set (MANDATORY);</t>
          <t>Range size, the number of port values in each range (OPTIONAL);</t>
          <t>Range step, the difference between the first port number in one
          range and the first port number in the immediately preceding range of
          the port set (OPTIONAL).</t> 
        </list>
        In the case of a single range, range size SHOULD be omitted
        and range step MUST be omitted because it is meaningless.</t>
        
        <t>Examples:
        <list style="numbers">
          <t>Two ranges, 1024-1535 and 2048-2559 are allocated. Each range
          consists of 512 consecutive port numbers. The parameter values to
          represent this allocation are:
          <list style="symbols">
            <t>starting port = 1024</t>
            <t>ending port = 2559</t>
            <t>range size = 512</t>
            <t>range step = 1024.</t>
          </list>
          </t>
          
          <t>Strictly for purposes of illustration, assume a sequence of 512
          even-numbered ports is allocated, beginning at 1024, then 1026, ending
          at 2046. The parameter values to represent this allocation are: 
          <list style="symbols">
            <t>starting port = 1024</t>
            <t>ending port = 2046</t>
            <t>range size = 1</t>
            <t>range step = 2.</t>
          </list>
          </t> 
          
          <t>A single range of ports is allocated, running consecutively from
          1024 to 2046. The parameter values to represent this allocation
          are:
          <list style="symbols">
            <t>starting port = 1024</t>
            <t>ending port = 2046.</t>
          </list>
          </t> 
        </list>
        </t>
        
        <t>It will be necessary to use multiple event reports to report more
        complex allocations or deallocations.</t>

      </section>  <!-- portAssgn -->
      
      <section anchor="poolThresh" title="Address Pool High- and Low-Water-Mark Threshold Events">
        
        <t>Two specific events provide reports on address pool utilization:
        <list style="symbols">
          <t>High-water-mark threshold reached or over-shot;</t>
          <t>Low-water-mark threshold reached or under-shot.</t>
        </list>
        Depending on deployment the operator has the alternative of using the
        SNMP notifications natNotifPoolWater-MarkHigh and
        natNotifPoolWater-MarkLow defined in the NAT MIB 
        <xref target="I-D.Behave-NAT-MIB"/> rather than logging these events. 
        </t>

        <t>Address pools are discussed in <xref target="pools"/>. The
        natPoolTable object in the NAT MIB <xref target="I-D.Behave-NAT-MIB"/>
        provides access to parameters describing the utilization level of
        address-port combinations within a given pool. Since a new transport
        mapping cannot be allocated unless a mappable address and a free port on
        that address are available, it is important to know when the available
        set of address-port combinations within a given pool is nearing
        exhaustion. Hence the natPoolTable contains a high-water-mark threshold
        settable by the operator. An address pool high-water-mark event report is
        generated when a new mapping into the pool is triggered and aggregate
        address-port utilization is equal to or greater the threshold.</t> 
        
        <t>Similarly it can be of interest to know when a pool is under-
        utilized. Hence the natPoolTable also provides a low-water-mark
        threshold. An address pool low-water-mark event report is generated wwhen
        aggregate address-port utilization is equal to or less than the 
        low-water-mark threshold.</t>
        
        <t><xref target="mgmtConsid"/> discusses factors affecting the choice
        of the threshold values, taking note that the port utilization as
        computed does not take account of the number of different protocols
        mapped to a given port value.</t> 
        
        <t>An address pool threshold event report contains the following specific
        parameters:
        <list style="symbols">
          <t>Triggering NAT procedure (OPTIONAL);</t>
          <t>Pool identifier, equal to the value of the natPoolIndex object
          presented in the natPoolTable in the MIB (MANDATORY).</t> 
        </list>
        </t>
        
      </section>  <!-- poolThresh -->
    
      <section anchor="addrThresh" title="Global Address Mapping High-Water-Mark Threshold Event">

        <t>One specific event allows monitoring of the total number of mappings
        between internal and external addresses: 
        <list style="symbols">
          <t>Address mapping high-water-mark threshold equalled or exceeded.</t>
        </list>
        This event report is most meaningful when the pooling type behaviour is
        "paired" <xref target="RFC4787"/>, and is especially
        applicable to devices implementing NAT functionality only and not port
        translation. Depending on deployment, operators can choose instead to
        use the SNMP notification natNotifAddrMappings defined in the NAT MIB 
        <xref target="I-D.Behave-NAT-MIB"/>.</t> 
        
        <t>The NAT MIB displays cumulative counts of address mappings created and
        removed in the natCounters table. When the difference
        between these two counters equals or exceeds the threshold
        natAddrMapNotifyThreshold provided in the natLimits table the global
        address binding high-water-mark threshold event is reported.</t>
        
        <t>The specific parameters provided by this event report are:
        <list style="symbols">
          <t>Triggering NAT procedure (OPTIONAL);</t>
          <t>Current number of active address mappings, equal to the difference
          between the natAddressMappingCreations and natAddressMappingRemovals
          counters displayed in the natCounters table in the NAT MIB
          (MANDATORY).</t> 
        </list>
        </t>

      </section>  <!-- addrThresh -->
      
      <section anchor="addrMapLim" title="Global Address Mapping Limit Exceeded">

        <t>The "Global Address Mapping Limit Exceeded" event is reported when a
        new address mapping is triggered but the total number of address
        mappings would exceed an administrative limit if it were added. The
        limit is given by object natLimitAddressMappings in the natLimits table
        of the NAT MIB. MIB counters giving number of packets dropped due to
        resource limitations including this one are: 
        <list style="symbols">
          <t>globally, natResourceErrors in the natCounters table;</t>
          <t>per protocol, natProtocolResourceErrors in natProtocolTable;</t>
          <t>per subscriber, natSubscriberResourceErrors in natSubscribersTable.</t>
        </list>
        </t>
        
        <t>The parameters for this event are:
        <list style="symbols">
          <t>Triggering NAT procedure (OPTIONAL);</t>
          <t>Internal realm (MANDATORY);</t>
          <t>Generalized internal address (MANDATORY);</t>
          <t>Trigger for address mapping creation (MANDATORY):
          <list style="symbols">
            <t>outgoing packet; </t>            
            <t>administrative action (e.g., via the Port Control Protocol
            <xref target="RFC6887"/>).</t>
          </list>
          </t>
        </list>
        </t>
        
      </section>  <!-- addrMapLim -->
   
      <section anchor="transThresh" title="Global Transport Mapping High-Water-Mark Threshold Event">

        <t>One specific event allows monitoring of the total number of mapping
        entries in the Binding Information Base (BIB): 
        <list style="symbols">
          <t>Transport mapping high-water-mark threshold equalled or exceeded.</t>
        </list>
        Depending on deployment, operators can choose instead to use the SNMP
        notification natNotifMappings defined in the NAT MIB 
        <xref target="I-D.Behave-NAT-MIB"/>.</t>
        
        <t>The NAT MIB displays cumulative counts of mappings created in and
        removed from the BIB in the natCounters table. When the difference
        between these two counters equals or exceeds the threshold
        natMappingsNotifyThreshold provided in the natLimits table the global
        mapping high-water-mark threshold event is reported.</t>
        
        <t>The specific parameters provided by this event report are:
        <list style="symbols">
          <t>Reporting device identifier (OPTIONAL);</t>
          <t>Triggering NAT procedure (OPTIONAL);</t>
          <t>Current number of active mappings, equal to the difference between
          the natMappingCreations and natMappingRemovals counters displayed in
          the natCounters table in the NAT MIB (MANDATORY).</t> 
        </list>
        </t>

      </section>  <!-- transThresh -->
      
      <section anchor="transMapLim" title="Global Transport Mapping Limit Exceeded">

        <t>The "Global Transport Mapping Limit Exceeded" event is reported when
        a new transport mapping (i.e., BIB entry creation) is triggered but the
        total number of transport mappings would exceed an administrative limit
        if it were added. The limit is given by object natLimitMappings in the
        natLimits table of the NAT MIB. MIB counters giving number of packets
        dropped due to resource limitations including this one are: 
        <list style="symbols">
          <t>globally, natResourceErrors in the natCounters table;</t>
          <t>per protocol, natProtocolResourceErrors in natProtocolTable;</t>
          <t>per subscriber, natSubscriberResourceErrors in natSubscribersTable.</t>
        </list> 
        </t>
        
        <t>The parameters for this event are:
        <list style="symbols">
          <t>Reporting device identifier (OPTIONAL);</t>
          <t>Triggering NAT procedure (OPTIONAL);</t>
          <t>Internal realm (MANDATORY);</t>
          <t>Generalized internal address (MANDATORY);</t>
          <t>Trigger for BIB entry creation (MANDATORY):
          <list style="symbols">
            <t>incoming packet;</t>
            <t>outgoing packet; </t>            
            <t>administrative action (e.g., via the Port Control Protocol
            <xref target="RFC6887"/>).</t>
          </list>
          </t>
        </list> 
        </t>

      </section>  <!-- transMapLim -->
   
      <section anchor="subsThresh" title="Subscriber-Specific Mapping Threshold Event">

        <t>An event is provided to allow monitoring of the total number of BIB
        entries per subscriber: 
        <list style="symbols">
          <t>Subscriber-specific mapping high-water-mark threshold equalled or exceeded.</t>
        </list>
        Depending on deployment, operators can choose instead to
        use the SNMP notification natNotifSubscriberMappings defined in the NAT
        MIB <xref target="I-D.Behave-NAT-MIB"/>.</t> 
        
        <t>The NAT MIB displays cumulative counts of transport mappings created
        and removed per subscriber in the natSubscribersTable. When the
        difference between these two counters equals or exceeds the threshold
        natSubscriberMapNotifyThresh provided in that table the subscriber
        mapping high-water-mark threshold event is reported.</t> 
        
        <t>The specific parameters provided by this event report are:
        <list style="symbols">
          <t>Reporting device identifier (OPTIONAL);</t>
          <t>Triggering NAT procedure (OPTIONAL);</t>
          <t>Internal realm of the subscriber (MANDATORY);</t>
          <t>Generalized internal address of the subscriber (MANDATORY);</t>
          <t>Current number of active transport mappings for this subscriber,
          equal to the difference between the natSubscriberMappingCreations and
          natSubscriberMappingRemovals counters displayed in the
          natSubscribersTable table in the NAT MIB (MANDATORY).</t> 
        </list>
        </t>

      </section>  <!-- subsThresh -->
      
      <section anchor="actSubsLim" title="Global Limit On Number of Active Subscribers Exceeded">

        <t>The "Global Limit On Number of Active Subscribers Exceeded" event is
        reported when an address mapping is triggered (at least at the logical
        level) for a subscriber with no previous active mappings, but the total
        number of active subscribers would exceed an administrative limit if it
        were added. The limit is given by object natLimitSubscribers in the
        natLimits table of the NAT MIB. MIB counters giving number of packets
        dropped due to resource limitations including this one are: 
        <list style="symbols">
          <t>globally, natResourceErrors in the natCounters table;</t>
          <t>per protocol, natProtocolResourceErrors in natProtocolTable;</t>
          <t>per subscriber, natSubscriberResourceErrors in natSubscribersTable.</t>
        </list> 
        </t>
        
        <t>The parameters for this event are:
        <list style="symbols">
          <t>Reporting device identifier (OPTIONAL);</t>
          <t>Triggering NAT procedure (OPTIONAL);</t>
          <t>Internal realm of the rejected subscriber (MANDATORY);</t>
          <t>Generalized internal address of the rejected subscriber (MANDATORY);</t>
          <t>Trigger for mapping creation (MANDATORY):
          <list style="symbols">
            <t>outgoing packet; </t>            
            <t>administrative action (e.g., via the Port Control Protocol
            <xref target="RFC6887"/>).</t>
          </list>
          </t>
        </list> 
        </t>

      </section>  <!-- actSubsLim -->
   
      <section anchor="subsMapLim" title="Subscriber-Specific Limit On Number of Transport Mappings Exceeded">

        <t>The "Subscriber-Specific Limit On Number of Transport Mappings Exceeded" event is
        reported when a new BIB entry is triggered, but the total
        number of BIB entries for that subscriber would exceed an administrative limit if it
        were added. The limit is given by object natSubscriberLimitMappings in 
        natSubscribersTable in the NAT MIB. MIB counters giving number of packets
        dropped due to resource limitations including this one are: 
        <list style="symbols">
          <t>globally, natResourceErrors in the natCounters table;</t>
          <t>per protocol, natProtocolResourceErrors in natProtocolTable;</t>
          <t>per subscriber, natSubscriberResourceErrors in natSubscribersTable.</t>
        </list> 
        </t>
        
        <t>The parameters for this event are:
        <list style="symbols">
          <t>Triggering NAT procedure (OPTIONAL);</t>
          <t>Internal realm of the subscriber (MANDATORY);</t>
          <t>Generalized internal address of the subscriber (MANDATORY);</t>
          <t>Trigger for transport mapping creation (MANDATORY):
          <list style="symbols">
            <t>incoming packet;</t>
            <t>outgoing packet; </t>            
            <t>administrative action (e.g., via the Port Control Protocol
            <xref target="RFC6887"/>).</t>
          </list>
          </t>
        </list> 
        </t>

      </section>  <!-- subsMapLim -->
      
      <section anchor="quota" title="Quota Exceeded Event">

        <t>A "Quota Exceeded" event is reported when the NAT cannot allocate a
        new address mapping, transport mapping, or session because an
        administrative quota has been reached. Quotas may be applied on absolute
        quantities or on rates. The specific types of quota capability offered
        by a device are implementation dependent, hence the "Quota Exceeded"
        event reports only the minimum of information needed to identify and
        interpret the quota. Table [proposed] in the NAT MIB lists quota
        identifiers and corresponding total counts of packets dropped because of quota
        violations. This table may be extended to provide information on the
        configuration of the particular quota, depending on the implementation.
        </t>
        
        <t>A number of counters within the NAT MIB record the number of packets
        dropped due to quota violations:
        <list style="symbols">
          <t>globally, in counter natQuotaDrops in the natCounters table;</t>
          <t>by protocol, in the natProtocolQuotaDrops counter in the
          natProtocolTable;</t>
          <t>per subscriber, in counter natSubscriberQuotaDrops in the
          natSubscribersTable.</t>
        </list>
        </t> 

        <t>In the list of report parameters that follows, the internal realm and
        generalized internal address MUST be provided if they are available. If
        the trigger for the quota violation is a packet, the contents of the
        received packet header and the realm that the packet came from MUST be
        reported. If the trigger was an administrative action, the equivalent to
        as much of this information as possible SHOULD be reported. 
        <list style="symbols">
          <t>Triggering NAT procedure (OPTIONAL);</t>
          <t>Quota identifier (MANDATORY);</t>
          <t>Internal realm (OPTIONAL);</t>
          <t>Generalized internal address (OPTIONAL);</t>
          <t>Source realm for triggering packet (OPTIONAL);</t>
          <t>Source IP address (OPTIONAL);</t>
          <t>Source port or ICMP identifier (OPTIONAL);</t>
          <t>Destination IP address (OPTIONAL);</t>
          <t>Destination port (OPTIONAL);</t>
          <t>Protocol (OPTIONAL);</t>
          <t>Trigger for quota violation (OPTIONAL)
          <list style="symbols">
            <t>packet received at the NAT; </t>            
            <t>administrative action (e.g., via the Port Control Protocol
            <xref target="RFC6887"/>).</t>
          </list>
          </t>
        </list>
        </t> 
        
        <t>In the special case where the quota addresses bulk port allocation,
        the parameters listed above MUST be interpreted and populated as
        follows, so as to capture the address mapping to which the ports would
        have been allocated:
        <list style="symbols">
          <t>Internal realm and generalized internal address retain their usual
          meanings;</t>
          <t>Source realm and source IP address present the external realm and
          address portion of the address mapping;</t>
          <t>port numbers, protocol, and destination address MUST be omitted.</t>
        </list>
        </t> 

      </section>  <!-- quota -->
      
      <section anchor="fragLim" title="Global Limit On Number Of Fragments Pending Reassembly Exceeded">

        <t>The "Global Limit On Number Of Fragments Pending Reassembly Exceeded"
        event is reported when a new fragment is received and the number of
        fragments currently awaiting reassembly is already equal to an
        administrative limit. That limit is given by the natLimitFragments
        object in the natLimits table. This event MUST NOT be reported unless
        the NAT supports the "Receive Fragments Out of Order" behavior <xref
        target="RFC4787"/>. MIB counters giving number of packets
        dropped due to resource limitations including this one are: 
        <list style="symbols">
          <t>globally, natResourceErrors in the natCounters table;</t>
          <t>per protocol, natProtocolResourceErrors in natProtocolTable;</t>
          <t>per subscriber, natSubscriberResourceErrors in natSubscribersTable.</t>
        </list>
        </t>
        
        <t>The parameters for this event provide the contents of the IP header
        of the received fragment that triggered it. If the source realm is
        internal and the generalized internal address is available, it MUST also
        be included. 
        <list style="symbols">
          <t>Source realm of the packet (MANDATORY);</t>
          <t>Source IP address (MANDATORY);</t>
          <t>Destination IP address (MANDATORY);</t>
          <t>Generalized internal address of the source (OPTIONAL).</t>
        </list>
        </t> 

      </section>  <!-- fragLim -->
      
    </section>  <!-- events -->
    
    <section anchor="applic" title="SYSLOG Applicability">

      <t>The primary advantage of SYSLOG is the human readability and
      searchability of its contents. In addition, it has built-in priority
      and severity fields that allow for separate routing of reports
      requiring management action. Finally, it has a well-developed
      underpinning of transport and security protocol infrastructure.</t>
      
      <t>SYSLOG presents two obstacles to scalability: the fact that the
      records will typically be larger than records based on a binary
      protocol such as IPFIX, and, depending on the architectural context,
      the reduced performance of a router that is forced to do text
      manipulation in the data plane. One has to conclude that for larger
      message volumes, IPFIX should be preferred as the reporting medium on
      the NAT itself. It is possible that SYSLOG could be used as a back-end
      format on an off-board device processing IPFIX records in real time,
      but this would give a limited boost to scalability. One concern
      expressed in list discussion is that when the SYSLOG formatting
      process gets overloaded records will be lost.</t>
      
      <t>As a result, the key question is what the practical cutoff point is
      for the expected volume of SYSLOG records, on-board or off-board the
      NAT. This obviously depends on the computing power of the formatting 
      platform, and also on the record lengths being generated. </t>
      
      <t>Information has been provided to the BEHAVE list at the time of
      writing to the effect that one production application is generating an
      average of 150,000 call detail records per second, varying in length from
      500 to 1500 bytes. Capacities several times this level have been
      reported involving shorter records, but this particular application
      has chosen to limit the average in order to handle peaks.</t> 
      
      <t>As illustrated by the examples in <xref target="evCode"/>, typical
      record sizes for the high-volume logs are in the order of 150 to 200
      bytes, so throughput capacity should be higher than in the call detail
      case for the same amount of computing power. In private communication,
      a discussant has noted a practical limit of a few hundred thousand
      SYSLOG records per second on a router.</t>  

    </section>  <!-- applic -->
    
    <section anchor="recFMT" title="SYSLOG Record Format For NAT Logging">

      <t>This section describes the SYSLOG record format for NAT logging in
      terms of the field names used in <xref target="RFC5424"/> and
      specified in Section 6 of that document. In particular,
      this section specifies values for the APP-NAME and MSGID fields in the
      record header, the SD-ID identifying the STRUCTURED-DATA section, and
      the PARAM-NAMEs and PARAM-VALUE types for the individual possible
      parameters within that section. The specification is in three parts, 
      covering the header, encoding of the individual parameters, and encoding
      of the complete log record for each event type.</t>
      
      <section anchor="hdrFMT" title="SYSLOG HEADER Fields">

        <t>Within the HEADER portion of the SYSLOG record, the priority (PRI)
        level is subject to local policy, but a default value of 8x is
        suggested, representing a Facility value of 10
        (security/authorization) and a Severity level varying with the event
        type. The suggested value by event type is shown in <xref
        target="tab_events"/>. The HOSTNAME field MUST identify the NAT. The
        value of the HOSTNAME field is subject to the preferences given in
        Section 6.2.4 of <xref target="RFC5424"/>.</t> 

        <t> The values of the APP-NAME and MSGID fields in the record header
        determine the semantics of the record. The APP-NAME value
        "NAT" indicates that the record relates to an event reported by a NAT
        device. The MSGID values indicate the individual events. 
        They are listed in <xref target="tab_events"/> for each of the events
        defined in <xref target="events"/>. The table also shows the SD-ID 
        value used to label the event-specific STRUCTURED-DATA element.</t>
        
        <texttable anchor="tab_events" title="Recommended MSGID Encodings and Default PRI Values for the Events Defined In Section 3">
          <ttcol align="left">Event</ttcol>
          <ttcol align="left">MSGID</ttcol>
          <ttcol align="left">PRI</ttcol>
          <ttcol align="left">SD-ID</ttcol>
          
          <c>NAT session creation</c>
          <c>SessAdd</c>
          <c>86 info</c>
          <c>NATsess</c>
          
          <c>NAT session deletion</c>
          <c>SessDel</c>
          <c>86 info</c>
          <c>NATsess</c>
          
          <c>Address binding event</c>
          <c>AddrBind</c>
          <c>86 info</c>
          <c>NATBind</c>
          
          <c>Port allocation change</c>
          <c>PtAlloc</c>
          <c>86 info</c>
          <c>NATPBlk</c>
          
          <c>NAT address exhaustion</c>
          <c>AddrEx</c>
          <c>82 critical</c>
          <c>NATAddrEx</c>
          
          <c>NAT port exhaustion</c>
          <c>PortEx</c>
          <c>84 warning</c>
          <c>NATPEx</c>
         
          <c>Quota exceeded</c>
          <c>Quota</c>
          <c>85 notice</c>
          <c>NATQEx</c>
         
          <c>Invalid port detected</c>
          <c>InvPort</c>
          <c>83 error</c>
          <c>NATInvP</c>
          
        </texttable>
        
      </section>  <!-- hdrFMT -->
      
      <section anchor="params" title="Parameter Encodings">

        <t>This section describes how to encode the individual parameters that
        can appear in NAT-related logs. The parameters are taken from the event
        descriptions in <xref target="events"/>, and are listed in <xref
        target="tab_params"/>. Formally, as will be seen in <xref
        target="iana"/>, a parameter used with more than one event is registered
        as multiple separate parameters, one for each event report in which it
        is used. However, there is no reason to change either the PARAM-NAME or
        the encoding of the PARAM-VALUE between different instances of the same
        parameter.</t> 
                
        <texttable anchor="tab_params" title="Parameters Used In NAT-Related Log Reports, By PARAM-NAME">
          <ttcol align="left">PARAM-NAME</ttcol>
          <ttcol align="left">Parameter</ttcol>
          
          <c>APoolId</c>
          <c>Address pool identifier</c>
          
          <c>DevID</c>
          <c>reporting device identifier</c>
          
          <c>DevTyp</c>
          <c>reporting device type</c>
          
          <c>PostS4</c>
          <c>Mapped external IPv4 address</c>
          
          <c>PostSPt</c>
          <c>Mapped external port or ICMP identifier</c>
          
          <c>PreSPt</c>
          <c>Internal port or ICMP identifier</c>
          
          <c>Proto</c>
          <c>Protocol identifier</c>
          
          <c>PScop</c>
          <c>Protocol scope for quota</c>
          
          <c>PSID</c>
          <c>Port set identifier</c>
          
          <c>PtRg</c>
          <c>Range of consecutive port numbers</c>
          
          <c>SiteID</c>
          <c>Subscriber site identifier</c>
          
          <c>SScop</c>
          <c>Site scope for quota</c>
          
          <c>TrigR</c>
          <c>Address realm triggering the creation of the session</c>
          
          <c>VLANid</c>
          <c>VLAN identifier</c>
          
          <c>VRFid</c>
          <c>VPN routing and forwarding identifier</c>
          
        </texttable>
      
        <section anchor="APoolId" title="APoolId: Address Pool Identifier">
  
          <t>PARAM-Value: decimal integer identifying a specific address pool at the
          reporting NAT.</t>
  
        </section>  <!-- APoolId -->
            
        <section anchor="DevID" title="DevID: Reporting Device Identifier">

          <t>PARAM-VALUE: a US-ASCII string identifying the NAT or BR observing the
          event which this record reports. Needed only if the necessary
          identification is not provided by the HOSTNAME parameter in the log
          record header. </t> 

        </section>  <!-- DevID -->
          
        <section anchor="DevTyp" title="DevTyp: Reporting Device Type">

          <t>PARAM-VALUE: one of the values provided in the IANA SYSLOG
          reporting device type registry established by this document. The
          initial values in that registry are: 
          <list style="hanging" hangIndent="8"> 
            <t hangText="44">NAT44 <xref target="RFC3022"/>;</t> 
            <t hangText="64">NAT64 <xref target="RFC6145"/> or 
            <xref target="RFC6146"/>;</t>
            <t hangText="AFTR">DS-Lite AFTR <xref target="RFC6333"/>;</t>
            <t hangText="BR">Lightweight 4over6 or MAP-E border router.</t>
          </list></t>
        
          <t>This parameter is primarily additional information for the human
          reader of a log report, but could be used to provide a consistency
          check on the contents of a log. Instances where parameter usage
          depends on the reporting device type of the reporting NAT are noted in
          <xref target="evCode"/>. </t> 

        </section>  <!-- DevTyp -->
          
        <section anchor="PostS4" title="PostS4: Mapped External IPv4 Address">
  
          <t>PARAM-VALUE: IPv4 address, represented in dotted decimal form.</t>
  
        </section>  <!-- PostS4 -->
         
        <section anchor="PostSPt" title="PostSPt: Mapped External Port or ICMP    Identifier">
  
          <t>PARAM-Value: decimal integer, port number or ICMP query
          identifier.</t>
  
        </section>  <!-- PostSPt -->
            
        <section anchor="PreSPt" title="PreSPt: Internal Port or ICMP Identifier">
  
          <t>PARAM-Value: decimal integer, port number or ICMP query
          identifier.</t>
  
        </section>  <!-- PreSPt -->
            
        <section anchor="Proto" title="Proto: Protocol Identifier">
  
          <t>PARAM-VALUE: an integer indicating the value of the Protocol header
          field (IPv4) or Next Header field (IPv6) in the incoming packet(s)
          (after decapsulation, for reporting device type "AFTR") to which the event
          described by this record applies.</t>
  
        </section>  <!-- Proto -->
        
        <section anchor="PScop" title="PScop: Protocol Scope For Quota">

          <t>PARAM-VALUE: as for Proto for a specific protocol. "*" for sum over
          all protocols.</t> 

        </section>  <!-- PScop -->
            
        <section anchor="PSID" title="PSID: Port Set Identifier">
  
          <t>PARAM-VALUE: integer between 0 and 65535 designating a port set.
          In practice the upper limit is likely to be two orders of magnitude
          smaller.</t> 
 
        </section>  <!-- PSID -->  
        
        <section anchor="PtRg" title="PtRg: Allocated Port Range">

          <t>PARAM-VALUE: a field consisting of two decimal integers separated
          by a minus sign/hyphen. The first integer is the lowest port number,
          the second, the highest port number, in a range of consecutive
          ports.</t> 

        </section>  <!-- PtRg -->
        
        <section anchor="SiteID" title="SiteID: Subscriber Site Identifier">

          <t>A human-readable US-ASCII string identifying a specific host or CPE
          served by the reporting device. The type of identifier depends on the
          configuration of the reporting device, and is implementation and
          deployment-specific. See <xref target="events"/> for a discussion of
          the possible identifier types.</t> 

        </section>  <!-- SiteID -->
        
        <section anchor="SScop" title="SScop: Site Scope For Quota">

          <t>PARAM-VALUE: "S" for single site, "M" for sum over multiple sites,
          served by the same VLAN or VRF. "*" for sum over all sites served by
          the NAT.</t> 

        </section>  <!-- SScop -->
        
        <section anchor="TrigR" title="TrigR: Realm Triggering Session Creation">
  
          <t>PARAM-VALUE: "I" for internal, "E" for external.</t>
  
        </section>  <!-- TrigR -->
            
        <section anchor="VLANid" title="VLANid: VLAN Identifier">

          <t>PARAM-VALUE: a decimal integer representing the VLAN identifier
          associated with the subscriber site.</t> 

        </section>  <!-- VLANid -->
          
        <section anchor="VRFid" title="VRFid: VPN Routing and Forwarding Identifier">

          <t>PARAM-VALUE: a hexadecimal number representing a VPN identifier
          <xref target="RFC2685"/> associated with the subscriber site. It is
          RECOMMENDED that implementations be configurable to include or not
          include the OUI portion of the identifier.</t> 

        </section>  <!-- VRFid -->
          
      </section>  <!-- params -->
      
      <section anchor="evCode" title="Encoding Of Complete Log Report For Each Event Type">

        <t>This section describes the complete NAT-related contents of the logs
        used to report the events listed in <xref target="tab_events"/>.</t> 
        
        <section anchor="SessCode" title="NAT Session Creation and Deletion">

          <t>As shown in <xref target="tab_events"/>, the NAT session
          creation event is indicated by MSG-ID set to "SessAdd".  Similarly,
          the NAT session deletion event is indicated by MSG-ID set to
          "SessDel". For both events, the associated SD-ELEMENT is tagged by 
          SD-ID "NATsess". The contents of the NATsess SD-ELEMENT are shown in
          <xref target="tab_NATsess"/>. The requirements for these contents are
          derived from the description in <xref target="sessCrDe"/>.</t> 
          
          <texttable anchor="tab_NATsess" title="Contents Of the SD-ELEMENT Section For Logging the Session Creation and Deletion Events">
            <ttcol align="left">PARAM-NAME</ttcol>
            <ttcol align="left">Description</ttcol>
            <ttcol align="left">Requirement</ttcol>
            
            <c>DevTyp</c>
            <c><xref target="DevTyp"/></c>
            <c>OPTIONAL</c>
            
            <c>DevID</c>
            <c><xref target="DevID"/></c>
            <c>OPTIONAL</c>
            
            <c>SiteID</c>
            <c><xref target="SiteID"/></c>
            <c>MANDATORY</c>
            
            <c>PostS4</c>
            <c><xref target="PostS4"/></c>
            <c>MANDATORY</c>
            
            <c>Proto</c>
            <c><xref target="Proto"/></c>
            <c>MANDATORY</c>
            
            <c>PreSPt</c>
            <c><xref target="PreSPt"/></c>
            <c>MANDATORY</c>
            
            <c>PostSPt</c>
            <c><xref target="PostSPt"/></c>
            <c>MANDATORY</c>
            
            <c>TrigR</c>
            <c><xref target="TrigR"/></c>
            <c>OPTIONAL</c>
            
          </texttable>
          
          <section anchor="sessEx" title="Examples">

            <t>The first example is deliberately chosen to show how long a
            complete session log might be. For this first example, assume the
            log is formatted at an off-board device, which collects the
            information from an AFTR. Thus HOSTNAME and DevID are both present.
            IPv6 addresses are reported omitting a common /16 prefix and the IID
            portion of the address (not to be too unrealistic!). All the
            optional parameters are present. Note that the log could also
            include other SD-ELEMENTs (e.g., timeQuality), but enough is
            enough.</t> 

            <t>The log appears as a single record, but is wrapped between lines
            for purposes of presentation.
            <list style="empty">
              <t><86>1 2013-05-07T22:14:15.03Z record.example.net NAT 5063 SessAdd
              <vspace blankLines="0"/>
              [NATsess DevTyp="AFTR" DevID="bgw211.example.net"
              <vspace blankLines="0"/>
              SiteID="A2E0:62" PostS4="198.51.100.127"
              <vspace blankLines="0"/>
              Proto="6" PreSPt="49156" PostSPt="6083" TrigR="I"]</t>
            </list>
            Character count: about 205.</t>
            
            <t>The next example is perhaps more typical in size. Assume an
            enterprise NAT44 generating its own logs. The optional
            parameters are omitted. This is a session deletion event.
            <list style="empty">
              <t><86>1 2013-05-07T15:27:49.603-04:00 cerberus.example.com
              <vspace blankLines="0"/>
              NAT 175 SessDel [NATsess SiteID="192.0.2.5" PostS4="198.51.100.14"
              <vspace blankLines="0"/>
              Proto="6" PreSPt="51387" PostSPt="17865"]</t>
            </list>
            The character count: about 165.</t> 

          </section>  <!-- sessEx -->

        </section>  <!-- SessCode -->
        
        <section anchor="ABindCode" title="Address Binding Event">

          <t>As shown in <xref target="tab_events"/>, the NAT address
          binding event is indicated by MSG-ID set to "AddrBind". The associated
          SD-ELEMENT is tagged by SD-ID "NATBind". The contents of the NATBind
          SD-ELEMENT are shown in <xref target="tab_NATBind"/>. The requirements
          for these contents are derived from the description in <xref
          target="addrBind"/>.</t> 

          <texttable anchor="tab_NATBind" title="Contents Of the SD-ELEMENT Section For Logging the Address Binding Event">
            <ttcol align="left">PARAM-NAME</ttcol>
            <ttcol align="left">Description</ttcol>
            <ttcol align="left">Requirement</ttcol>
            
            <c>DevTyp</c>
            <c> <xref target="DevTyp"/> </c>
            <c>OPTIONAL</c>
            
            <c>DevID</c>
            <c> <xref target="DevID"/> </c>
            <c>OPTIONAL</c>
            
            <c>SiteID</c>
            <c> <xref target="SiteID"/> </c>
            <c>MANDATORY</c>
            
            <c>PostS4</c>
            <c> <xref target="PostS4"/> </c>
            <c>MANDATORY</c>
            
          </texttable>
          
          <t>As an example, consider a DS-Lite AFTR <xref target="RFC6333"/>
          incorporating a PCP server, where PCP is used to obtain an external
          address binding and a port range. See Section 11 of <xref
          target="RFC6887"/> for the address binding. (The port allocation is
          shown in the next section's example.) As in the session creation
          example, the first /16 prefix and the final 64 bits are omitted from
          the encapsulating IPv6 address which is used as the subscriber site
          identifier. 
          <list style="empty"> 

            <t><86>1 2013-05-07T15:27:49.603Z yourd137mzmhow.example.net
            <vspace blankLines="0"/>
            NAT 68 AddrBind [NATBind SiteID="5A27:876E" PostS4="198.51.100.1"]</t>

          </list>
          Character count: about 125.</t> 

        </section>  <!-- ABindCode -->
        
        <section anchor="PBlkCode" title="Port Allocation Change">

          <t>As indicated in <xref target="tab_events"/>, the port block
          allocation change event is indicated by MSG-ID set to "PtAlloc". The
          associated SD-ELEMENT is tagged by SD-ID "NATPBlk".  The contents of
          the NATPBlk SD-ELEMENT are shown in <xref target="tab_NATPBlk"/>. The
          requirements for these contents are derived from the description in
          <xref target="portAssgn"/>.</t> 

          <texttable anchor="tab_NATPBlk" title="Contents Of the SD-ELEMENT Section For Logging the Port Allocation Change Event">
            <ttcol align="left">PARAM-NAME</ttcol>
            <ttcol align="left">Description</ttcol>
            <ttcol align="left">Requirement</ttcol>
            
            <c>DevTyp</c>
            <c><xref target="DevTyp"/></c>
            <c>OPTIONAL</c>
            
            <c>DevID</c>
            <c><xref target="DevID"/></c>
            <c>OPTIONAL</c>
            
            <c>SiteID</c>
            <c><xref target="SiteID"/></c>
            <c>MANDATORY</c>
                        
            <c>PostS4</c>
            <c><xref target="PostS4"/></c>
            <c>MANDATORY</c>
            
            <c>PtRg</c>
            <c><xref target="PtRg"/></c>
            <c>MANDATORY</c>
            
          </texttable>
          
          <t>As in the example in the previous section example, consider a DS-
          Lite AFTR <xref target="RFC6333"/> incorporating a PCP server, where
          PCP is used to obtain an external address binding and a port range.
          See <xref target="I-D.pcp-port-set"/> for the port set part of this
          operation.</t> 
          
          <t> Strictly for purposes of illustration, assume that the subscriber is
          allocated two ranges of 64 consecutive values each, with the first
          beginning at 2048 and the second at 4096. 
          <list style="empty"> 
            <t><86>1 2013-05-07T15:27:49.751Z yourd137mzmhow.example.net
            <vspace blankLines="0"/>
            NAT 68 PtAlloc [NATPBlk SiteID="5A27:876E" PostS4="198.51.100.1"
            <vspace blankLines="0"/>
            PtRg="2048-2111" PtRg="4096-4159"]</t>
          </list>
          Character count: about 155.</t> 

        </section>  <!-- PBlkCode -->
        
        <section anchor="AExhCode" title="Address Exhaustion Event">

          <t>As indicated in <xref target="tab_events"/>, the address
          exhaustion event is indicated by MSG-ID set to "AddrEx". The
          associated SD-ELEMENT is tagged by SD-ID "NATAddrEx". The contents of
          the NATAddrEx SD-ELEMENT are shown in <xref target="tab_NATAddrEx"/>.
          The requirements for these contents are derived from the description
          in [event deleted].</t> 

          <texttable anchor="tab_NATAddrEx" title="Contents Of the SD-ELEMENT Section For Logging the Address Exhaustion Event">
            <ttcol align="left">PARAM-NAME</ttcol>
            <ttcol align="left">Description</ttcol>
            <ttcol align="left">Requirement</ttcol>
            
            <c>DevTyp</c>
            <c><xref target="DevTyp"/></c>
            <c>OPTIONAL</c>
            
            <c>DevID</c>
            <c><xref target="DevID"/></c>
            <c>OPTIONAL</c>
            
            <c>APoolId</c>
            <c><xref target="APoolId"/></c>
            <c>MANDATORY</c>

          </texttable>
          
          <t>The example shows this event being reported by a DS-Lite AFTR.
          Note the critical priority indication at the beginning of the log.
          As with the session example, we assume off-board log generation.
          <list style="empty">
            <t><82>1 2013-05-07T22:14:15.03Z record.example.net NAT 5063
              <vspace blankLines="0"/>
              AddrEx [NATAddrEx DevID="bgw211.example.net" APoolId="2"]</t>
          </list>
          Character count: about 120.</t>
          
        </section>  <!-- AExhCode -->
        
        <section anchor="PortExCode" title="NAT Port Exhaustion">

          <t>As indicated in <xref target="tab_events"/>, the port
          exhaustion event is indicated by MSG-ID set to "PortEx". The
          associated SD-ELEMENT is tagged by SD-ID "NATPEx". The contents of
          the NATPEx SD-ELEMENT are shown in <xref target="tab_NATPEx"/>.
          The requirements for these contents are derived from the description
          in [event deleted].</t> 

          <texttable anchor="tab_NATPEx" title="Contents Of the SD-ELEMENT Section For Logging the Port Exhaustion Event">
            <ttcol align="left">PARAM-NAME</ttcol>
            <ttcol align="left">Description</ttcol>
            <ttcol align="left">Requirement</ttcol>
            
            <c>DevTyp</c>
            <c><xref target="DevTyp"/></c>
            <c>OPTIONAL</c>
            
            <c>DevID</c>
            <c><xref target="DevID"/></c>
            <c>OPTIONAL</c>
            
            <c>PostS4</c>
            <c> <xref target="PostS4"/> </c>
            <c>MANDATORY</c>
            
            <c>Proto</c>
            <c><xref target="Proto"/></c>
            <c>MANDATORY</c>

          </texttable>
          
          <t>The example is straightforward.
          Note the warning priority indication at the beginning of the log.
          <list style="empty">
            <t><84>1 2013-05-07T22:14:15.03Z cerberus.example.com NAT 5063
              <vspace blankLines="0"/>
              PortEx [NATPEx PostS4="198.51.100.1" Proto="6"]</t>
          </list>
          Character count: about 110.</t>

        </section>  <!-- PortExCode -->
        
        <section anchor="quotaCode" title="Quota Exceeded">

          <t>As indicated in <xref target="tab_events"/>, the quota
          exceeded event is indicated by MSG-ID set to "Quota". The
          associated SD-ELEMENT is tagged by SD-ID "NATQEx". The contents of
          the NATQEx SD-ELEMENT are shown in <xref target="tab_NATQEx"/>.
          The requirements for these contents are derived from the description
          in <xref target="quota"/>.</t> 

          <texttable anchor="tab_NATQEx" title="Contents Of the SD-ELEMENT Section For Logging the Quota Exceeded Event">
            <ttcol align="left">PARAM-NAME</ttcol>
            <ttcol align="left">Description</ttcol>
            <ttcol align="left">Requirement</ttcol>
            
            <c>DevTyp</c>
            <c><xref target="DevTyp"/></c>
            <c>OPTIONAL</c>
            
            <c>DevID</c>
            <c><xref target="DevID"/></c>
            <c>OPTIONAL</c>
            
            <c>SScop</c>
            <c><xref target="SScop"/></c>
            <c>MANDATORY</c>
            
            <c>PScop</c>
            <c><xref target="PScop"/></c>
            <c>MANDATORY</c>
            
            <c>SiteID</c>
            <c><xref target="SiteID"/></c>
            <c>OPTIONAL</c>

            <c>VLANid</c>
            <c><xref target="VLANid"/></c>
            <c>OPTIONAL</c>
            
             <c>VRFid</c>
            <c><xref target="VRFid"/></c>
            <c>OPTIONAL</c>
            
          </texttable>
          
          <t>Example 1: limit on TCP sessions for a specific user site reached
          at an AFTR with off-board log generation.
          <list style="empty">
            <t><85>1 2013-05-07T22:14:15.03Z record.example.net NAT 5063
            <vspace blankLines="0"/>
            Quota [NATQEx DevID="bgw211.example.net" SScop="S" PScop="6"
            <vspace blankLines="0"/>
            SiteID="A2E0:62"]</t>
          </list>
          Character count: about 135.</t>
          
          <t>Example 2: global limit on number of sessions for all subscribers
          served by the same VLAN.
          <list style="empty">
            <t><85>1 2013-05-07T15:27:49.603-04:00 cerberus.example.com
            <vspace blankLines="0"/>
            NAT 175 Quota [NATQEx SScop="M" PScop="*" VLANid="1246"]</t>
          </list>
          Character count: about 115.</t>
          
          <t>Example 3: limit on total number of sessions for TCP.
          <list style="empty">
            <t><85>1 2013-05-07T15:27:49.603-04:00 cerberus.example.com
            <vspace blankLines="0"/>
            NAT 175 Quota [NATQEx SScop="*" PScop="6"]</t>
          </list>
          Character count: about 100.</t>
        
        </section>  <!-- quotaCode -->
        
      </section>  <!-- evCode -->
      
    </section>  <!-- recFMT -->
    

    <section anchor="IANA" title="IANA Considerations">
    
      <t>This document requests IANA to make the following assignments to
      the SYSLOG Structured Data ID Values registry. RFCxxxx refers to the
      present document when approved.</t>
      
      <texttable anchor="iana" title="NAT-Related STRUCTERED-DATA Registrations">
        <ttcol align="left">Structured Data ID</ttcol>
        <ttcol align="left">Structured Data Parameter</ttcol>
        <ttcol align="left">Required or Optional</ttcol>
        <ttcol align="left">Reference</ttcol>
        
        <c>NATsess</c>
        <c></c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>DevTyp</c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>DevID</c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>SiteID</c>
        <c>MANDATORY</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>PostS4</c>
        <c>MANDATORY</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>Proto</c>
        <c>MANDATORY</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>PreSPt</c>
        <c>MANDATORY</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>PostSPt</c>
        <c>MANDATORY</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>TrigR</c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c>----</c>
        <c>----</c>
        <c>----</c>
        <c>----</c>
        
        <c>NATBind</c>
        <c></c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>DevTyp</c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>DevID</c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>SiteID</c>
        <c>MANDATORY</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>PostS4</c>
        <c>MANDATORY</c>
        <c>RFCxxxx</c>
        
        <c>----</c>
        <c>----</c>
        <c>----</c>
        <c>----</c>
        
        <c>NATPBlk</c>
        <c></c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>DevTyp</c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>DevID</c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>SiteID</c>
        <c>MANDATORY</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>PostS4</c>
        <c>MANDATORY</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>PtRg</c>
        <c>MANDATORY</c>
        <c>RFCxxxx</c>
        
        <c>----</c>
        <c>----</c>
        <c>----</c>
        <c>----</c>
        
        <c>NATAddrEx</c>
        <c></c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>DevTyp</c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>DevID</c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>APoolId</c>
        <c>MANDATORY</c>
        <c>RFCxxxx</c>
        
        <c>----</c>
        <c>----</c>
        <c>----</c>
        <c>----</c>
        
        <c>NATPEx</c>
        <c></c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>DevTyp</c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>DevID</c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>PostS4</c>
        <c>MANDATORY</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>Proto</c>
        <c>MANDATORY</c>
        <c>RFCxxxx</c>
        
        <c>----</c>
        <c>----</c>
        <c>----</c>
        <c>----</c>
        
        <c>NATQEx</c>
        <c></c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>DevTyp</c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>DevID</c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>SScop</c>
        <c>MANDATORY</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>PScop</c>
        <c>MANDATORY</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>SiteID</c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>VLANid</c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>VRFid</c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c>----</c>
        <c>----</c>
        <c>----</c>
        <c>----</c>
        
        <c>NATInvP</c>
        <c></c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>DevID</c>
        <c>OPTIONAL</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>SiteID</c>
        <c>MANDATORY</c>
        <c>RFCxxxx</c>
        
        <c></c>
        <c>PSID</c>
        <c>MANDATORY</c>
        <c>RFCxxxx</c>
        
      </texttable>
      
    </section>
    
    <section anchor="mgmtConsid" title="Management Considerations">

      <t>To come.</t>

    </section>  <!-- mgmtConsid -->
    
    <section anchor="Security" title="Security Considerations">
    
      <t>When logs are being recorded for regulatory reasons, preservation
      of their integrity and authentication of their origin is essential. To
      achieve this result, it is RECOMMENDED that the operator deploy 
      <xref target="RFC5848"/>. </t>
      
      <t>Access to the logs defined here while the reported assignments are
      in force could improve an attacker's chance of hijacking a session
      through port-guessing. Even after an assignment has expired, the
      information in the logs SHOULD be treated as confidential, since, if
      revealed, it could help an attacker trace sessions back to a
      particular subscriber or subscriber location. It is therefore
      RECOMMENDED that these logs be transported securely, using <xref
      target="RFC5425"/>, for example, and that they be stored securely at
      the collector.</t>
    </section>
  </middle>

 <back>
    <references title="Normative References">
     &RFC2663;
     &RFC2685;
     &RFC5424;
     &RFC5425;
     &RFC5848;
     &RFC5952;
     &RFC6145;
     &RFC6146;
     &RFC2119;
     
    </references>
    
    <references title="Informative References">
      &RFC3022;
      &RFC4787;
      &RFC5101;
      &RFC5382;
      &RFC5969;
      &RFC6264;
      &RFC6333;
      &RFC6674;
      &RFC6887;
      &RFC6888;
      
      <reference anchor="I-D.behave-ipfix-nat-logging">
        <front>
          <title>IPFIX Information Elements for logging NAT Events (Work in progress)</title>
          <author initials="S." surname="Sivakumar" fullname="S. Sivakumar">
            <organization>Cisco Systems</organization>
          </author>
          <author initials="R." surname="Penno" fullname="R. Penno">
            <organization>Cisco Systems</organization>
          </author>
          <date month="March" year="2013"/>
        </front>
      </reference>
      
      
      
  <reference anchor="I-D.softwire-public-4over6">
    <front>
      <title>Public IPv4 over IPv6 Access Network (Work in progress)</title>
      <author initials="Y." surname="Cui" fullname="Y. Cui">
        <organization>Tsinghua University</organization>
      </author>
      <author initials="J." surname="Wu" fullname="J. Wu">
        <organization>Tsinghua University</organization>
      </author>
      <author initials="P." surname="Wu" fullname="P. Wu">
        <organization>Tsinghua University</organization>
      </author>
      <author initials="O." surname="Vautrin" fullname="O. Vautrin">
        <organization>Juniper Networks</organization>
      </author>
      <author initials="Y." surname="Lee" fullname="Y. Lee">
        <organization>Comcast</organization>
      </author>
      <date month="February" year="2013"/>
    </front>
  </reference>
  
  <reference anchor="I-D.softwire-map">
    <front>
      <title>Mapping of Address and Port with Encapsulation (MAP) (Work in progress)</title>
      <author initials="O." surname="Troan" fullname="O. Troan">
        <organization>Cisco Systems</organization>
      </author>
      <author initials="W." surname="Dec" fullname="W. Dec">
        <organization>Cisco Systems</organization>
      </author>
      <author initials="X." surname="Li" fullname="X. Li">
        <organization>CERNET Center/Tsinghua University</organization>
      </author>
      <author initials="C." surname="Bao" fullname="C. Bao">
        <organization>CERNET Center/Tsinghua University</organization>
      </author>
      <author initials="S." surname="Matsushima" fullname="S. Matsushima">
        <organization>SoftBank Telecom</organization>
      </author>
      <author initials="T." surname="Murakami" fullname="T. Murakami">
        <organization>IP Infusion</organization>
      </author>
      <date month="March" year="2013"/>
    </front>
  </reference>
  
  <reference anchor="I-D.softwire-lw4over6">
    <front>
      <title>Lightweight 4over6: An Extension to the DS-Lite Architecture (Work in progress)</title>
      <author initials="Y." surname="Cui" fullname="Y. Cui">
        <organization>Tsinghua University</organization>
      </author>
      <author initials="Q." surname="Sun" fullname="Q. Sun">
        <organization>China Telecom</organization>
      </author>
      <author initials="M." surname="Boucadair" fullname="M. Boucadair">
        <organization>France Telecom</organization>
      </author>
      <author initials="T." surname="Tsou" fullname="T. Tsou">
        <organization>Huawei Technologies</organization>
      </author>
      <author initials="Y." surname="Lee" fullname="Y. Lee">
        <organization>Comcast</organization>
      </author>
      <author initials="I." surname="Farrer" fullname="I. Farrer">
        <organization>Deutsche Telekom AG</organization>
      </author>
      <date month="April" year="2013"/>
    </front>
  </reference>
  
  <reference anchor="I-D.softwire-unified-cpe">
    <front>
      <title>Unified IPv4-in-IPv6 Softwire CPE (Work in progress)</title>
      <author initials="M." surname="Boucadair" fullname="M. Boucadair">
        <organization>France Telecom</organization>
      </author>
      <author initials="I." surname="Farrer" fullname="I. Farrer">
        <organization>Deutsche Telekom</organization>
      </author>
      <date month="March" year="2013"/>
    </front>
  </reference>
  
  <reference anchor="I-D.tsou-behave-natx4-log-reduction">
    <front>
      <title>Port Management To Reduce Logging In
       Large-Scale NATs (Work in progress)</title>
      <author fullname="Tina Tsou" initials="T." surname="Tsou">
        <organization>Huawei Technologies (USA)</organization>
      </author>
      <author fullname="Weibo Li" initials="W." surname="Li">
        <organization>China Telecom</organization>
      </author>
      <author fullname="Tom Taylor" initials="T." surname="Taylor">
        <organization>Huawei Technologies</organization>
      </author>
      <date month="May" year="2013"/>
    </front>
  </reference>
  
  <reference anchor="I-D.pcp-port-set">
    <front>
      <title>Port Control Protocol (PCP) Extension for Port Set Allocation (Work in progress)</title>
      <author initials="Q." surname="Sun" fullname="Q. Sun">
        <organization>China Telecom</organization>
      </author>
      <author initials="M." surname="Boucadair" fullname="M. Boucadair">
        <organization>France Telecom</organization>
      </author>
      <author initials="S." surname="Sivakumar" fullname="S. Sivakumar">
        <organization>Cisco Systems</organization>
      </author>
      <author initials="C." surname="Zhou" fullname="C. Zhou">
        <organization>Huawei Technologies</organization>
      </author>
      <author initials="T." surname="Tsou" fullname="T. Tsou">
        <organization>Huawei Technologies (USA)</organization>
      </author>
      <author initials="S." surname="Perreault" fullname="S. Perreault">
        <organization>Viagenie</organization>
      </author>
      <date month="March" year="2013"/>
    </front>
  </reference>
  
    <reference anchor="I-D.Behave-NAT-MIB">
    <front>
      <title>Additional Managed Objects for Network Address Translators (NAT) (Work in progress)</title>
      <author initials="S." surname="Perreault">
        <organization>Viagenie</organization>
      </author>
      <author initials="T." surname="Tsou">
        <organization>Huawei</organization>
      </author>
      <author initials="S." surname="Sivakumar">
        <organization>Cisco Systems</organization>
      </author>
      <date month="July" year="2013"/>
    </front>
  </reference>
  
    </references>

</back>
</rfc>

PAFTECH AB 2003-20262026-04-24 01:18:49