summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc7659.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc7659.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc7659.txt')
-rw-r--r--doc/rfc/rfc7659.txt4707
1 files changed, 4707 insertions, 0 deletions
diff --git a/doc/rfc/rfc7659.txt b/doc/rfc/rfc7659.txt
new file mode 100644
index 0000000..6ce4b9f
--- /dev/null
+++ b/doc/rfc/rfc7659.txt
@@ -0,0 +1,4707 @@
+
+
+
+
+
+
+Internet Engineering Task Force (IETF) S. Perreault
+Request for Comments: 7659 Jive Communications
+Category: Standards Track T. Tsou
+ISSN: 2070-1721 Huawei Technologies
+ S. Sivakumar
+ Cisco Systems
+ T. Taylor
+ PT Taylor Consulting
+ October 2015
+
+
+ Definitions of Managed Objects for Network Address Translators (NATs)
+
+Abstract
+
+ This memo defines a portion of the Management Information Base (MIB)
+ for devices implementing the Network Address Translator (NAT)
+ function. The new MIB module defined in this document, NATV2-MIB, is
+ intended to replace module NAT-MIB (RFC 4008). NATV2-MIB is not
+ backwards compatible with NAT-MIB, for reasons given in the text of
+ this document. A companion document deprecates all objects in NAT-
+ MIB. NATV2-MIB can be used for the monitoring of NAT instances on a
+ device capable of NAT function. Compliance levels are defined for
+ three application scenarios: basic NAT, pooled NAT, and
+ carrier-grade NAT (CGN).
+
+Status of This Memo
+
+ This is an Internet Standards Track document.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Further information on
+ Internet Standards is available in Section 2 of RFC 5741.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ http://www.rfc-editor.org/info/rfc7659.
+
+
+
+
+
+
+
+
+
+
+
+
+Perreault, et al. Standards Track [Page 1]
+
+RFC 7659 NAT MIB October 2015
+
+
+Copyright Notice
+
+ Copyright (c) 2015 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (http://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
+
+Table of Contents
+
+ 1. The Internet-Standard Management Framework . . . . . . . . . 3
+ 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 5
+ 3.1. Content Provided by the NATV2-MIB Module . . . . . . . . 5
+ 3.1.1. Configuration Data . . . . . . . . . . . . . . . . . 5
+ 3.1.2. Notifications . . . . . . . . . . . . . . . . . . . . 6
+ 3.1.3. State Information . . . . . . . . . . . . . . . . . . 9
+ 3.1.4. Statistics . . . . . . . . . . . . . . . . . . . . . 9
+ 3.2. Outline of MIB Module Organization . . . . . . . . . . . 12
+ 3.3. Detailed MIB Module Walk-Through . . . . . . . . . . . . 13
+ 3.3.1. Textual Conventions . . . . . . . . . . . . . . . . . 13
+ 3.3.2. Notifications . . . . . . . . . . . . . . . . . . . . 14
+ 3.3.3. The Subscriber Table: natv2SubscriberTable . . . . . 14
+ 3.3.4. The Instance Table: natv2InstanceTable . . . . . . . 15
+ 3.3.5. The Protocol Table: natv2ProtocolTable . . . . . . . 15
+ 3.3.6. The Address Pool Table: natv2PoolTable . . . . . . . 16
+ 3.3.7. The Address Pool Address Range Table:
+ natv2PoolRangeTable . . . . . . . . . . . . . . . . . 17
+ 3.3.8. The Address Map Table: natv2AddressMapTable . . . . . 17
+ 3.3.9. The Port Map Table: natv2PortMapTable . . . . . . . . 17
+ 3.4. Conformance: Three Application Scenarios . . . . . . . . 18
+ 4. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 19
+ 5. Operational and Management Considerations . . . . . . . . . . 74
+ 5.1. Configuration Requirements . . . . . . . . . . . . . . . 74
+ 5.2. Transition from and Coexistence with NAT-MIB (RFC 4008) . 76
+ 6. Security Considerations . . . . . . . . . . . . . . . . . . . 78
+ 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 81
+ 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 81
+ 8.1. Normative References . . . . . . . . . . . . . . . . . . 81
+ 8.2. Informative References . . . . . . . . . . . . . . . . . 82
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 84
+
+
+
+Perreault, et al. Standards Track [Page 2]
+
+RFC 7659 NAT MIB October 2015
+
+
+1. The Internet-Standard Management Framework
+
+ For a detailed overview of the documents that describe the current
+ Internet-Standard Management Framework, please refer to section 7 of
+ RFC 3410 [RFC3410].
+
+ Managed objects are accessed via a virtual information store, termed
+ the Management Information Base or MIB. MIB objects are generally
+ accessed through the Simple Network Management Protocol (SNMP).
+ Objects in the MIB are defined using the mechanisms defined in the
+ Structure of Management Information (SMI). This memo specifies a MIB
+ module that is compliant to the SMIv2, which is described in STD 58,
+ RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
+ [RFC2580].
+
+2. Introduction
+
+ This memo defines a portion of the Management Information Base (MIB)
+ for devices implementing NAT functions. This MIB module, NATV2-MIB,
+ may be used for the monitoring of such devices. NATV2-MIB supersedes
+ NAT-MIB [RFC4008], which did not fit well with existing NAT
+ implementations, and hence was not itself much implemented.
+ [RFC7658] provides a detailed analysis of the deficiencies of
+ NAT-MIB.
+
+ Relative to [RFC4008] and based on the analysis just mentioned, the
+ present document introduces the following changes:
+
+ o removed all writable configuration except that related to control
+ of the generation of notifications and the setting of quotas on
+ the use of NAT resources;
+
+ o minimized the read-only exposure of configuration to what is
+ needed to provide context for the state and statistical
+ information presented by the MIB module;
+
+ o removed the association between mapping and interfaces, retaining
+ only the mapping aspect;
+
+ o replaced references to NAT types with references to NAT behaviors
+ as specified in [RFC4787];
+
+ o replaced a module-specific enumeration of protocols with the
+ standard protocol numbers provided by the IANA Protocol Numbers
+ registry.
+
+
+
+
+
+
+Perreault, et al. Standards Track [Page 3]
+
+RFC 7659 NAT MIB October 2015
+
+
+ This MIB module adds the following features not present in [RFC4008]:
+
+ o additional writable protective limits on NAT state data;
+
+ o additional objects to report state, statistics, and notifications;
+
+ o support for the carrier-grade NAT (CGN) application, including
+ subscriber-awareness, support for an arbitrary number of address
+ realms, and support for multiple NAT instances running on a single
+ device;
+
+ o expanded support for address pools;
+
+ o revised indexing of port map entries to simplify traceback from
+ externally observable packet parameters to the corresponding
+ internal endpoint.
+
+ These features are described in more detail below.
+
+ The remainder of this document is organized as follows:
+
+ o Section 3 provides a verbal description of the content and
+ organization of the MIB module.
+
+ o Section 4 provides the MIB module definition.
+
+ o Section 5 discusses operational and management issues relating to
+ the deployment of NATV2-MIB. One of these issues is NAT
+ management when both NAT-MIB [RFC4008] and NATV2-MIB are deployed.
+
+ o Sections 6 and 7 provide a security discussion and a request to
+ IANA for allocation of an object identifier for the module in the
+ mib-2 tree, respectively.
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
+ "OPTIONAL" in this document are to be interpreted as described in
+ [RFC2119].
+
+ This document uses the following terminology:
+
+ Upper-layer protocol: The protocol following the outer IP header of
+ a packet. This follows the terminology of [RFC2460], but as that
+ document points out, "upper" is not necessarily a correct
+ description of the protocol relationships (e.g., where IP is
+ encapsulated in IP). The abbreviated term "protocol" will often
+ be used where it is unambiguous.
+
+
+
+
+Perreault, et al. Standards Track [Page 4]
+
+RFC 7659 NAT MIB October 2015
+
+
+ Trigger: With respect to notifications, the logical recognition of
+ the event that the notification is intended to report.
+
+ Report: The actual production of a notification message. Reporting
+ can happen later than triggering, or may never happen for a given
+ notification instance, because of the operation of notification
+ rate controls.
+
+ Address realm: A network domain in which the network addresses are
+ uniquely assigned to entities such that datagrams can be routed to
+ them. (Definition taken from [RFC2663], Section 2.1.) The
+ abbreviated term "realm" will often be used.
+
+3. Overview
+
+ This section provides a prose description of the contents and
+ organization of the NATV2-MIB module.
+
+3.1. Content Provided by the NATV2-MIB Module
+
+ The content provided by the NATV2-MIB module can be classed under
+ four headings: configuration data, notifications, state information,
+ and statistics.
+
+3.1.1. Configuration Data
+
+ As mentioned above, the intent in designing the NATV2-MIB module was
+ to minimize the amount of configuration data presented to that needed
+ to give a context for interpreting the other types of information
+ provided. Detailed descriptions of the configuration data are
+ included with the descriptions of the individual tables. In general,
+ that data is limited to what is needed for indexing and cross-
+ referencing between tables. The two exceptions are the objects
+ describing NAT instance behavior in the NAT instance table and the
+ detailed enumeration of resources allocated to each address pool in
+ the pool table and its extension.
+
+ The NATV2-MIB module provides three sets of read-write objects,
+ specifically related to other aspects of the module content. The
+ first set controls the rate at which specific notifications are
+ generated. The second set provides thresholds used to trigger the
+ notifications. These objects are listed in Section 3.1.2.
+
+ A third set of read-write objects sets limits on resource consumption
+ per NAT instance and per subscriber. When these limits are reached,
+ packets requiring further consumption of the given resource are
+
+
+
+
+
+Perreault, et al. Standards Track [Page 5]
+
+RFC 7659 NAT MIB October 2015
+
+
+ dropped rather than translated. Statistics described in
+ Section 3.1.4 record the numbers of packets dropped. Limits are
+ provided for:
+
+ o total number of address map entries over the NAT instance. Limit
+ is set by object natv2InstanceLimitAddressMapEntries in table
+ natv2InstanceTable. Dropped packets are counted in
+ natv2InstanceAddressMapEntryLimitDrops in that table.
+
+ o total number of port map entries over the NAT instance. Limit is
+ set by object natv2InstanceLimitPortMapEntries in table
+ natv2InstanceTable. Dropped packets are counted in
+ natv2InstancePortMapEntryLimitDrops in that table.
+
+ o total number of held fragments (applicable only when the NAT
+ instance can receive fragments out of order; see [RFC4787],
+ Section 11). Limit is set by object
+ natv2InstanceLimitPendingFragments in table natv2InstanceTable.
+ Dropped packets are counted by natv2InstanceFragmentDrops in the
+ same table.
+
+ o total number of active subscribers (i.e., subscribers having at
+ least one mapping table entry) over the NAT instance. Limit is
+ set by object natv2InstanceLimitSubscriberActives in table
+ natv2InstanceTable. Dropped packets are counted by
+ natv2InstanceSubscriberActiveLimitDrops in the same table.
+
+ o number of port map entries for an individual subscriber. Limit is
+ set by object natv2SubscriberLimitPortMapEntries in table
+ natv2SubscriberTable. Dropped packets are counted by
+ natv2SubscriberPortMapFailureDrops in the same table. Note that,
+ unlike in the instance table, the per-subscriber count is lumped
+ in with the count of packets dropped because of failures to
+ allocate a port map entry for other reasons to save on storage.
+
+3.1.2. Notifications
+
+ NATV2-MIB provides five notifications, intended to provide warning of
+ the need to provision or reallocate NAT resources. As indicated in
+ the previous section, each notification is associated with two read-
+ write objects: a control on the rate at which that notification is
+ generated and a threshold value used to trigger the notification in
+ the first place. The default setting within the MIB module
+ specification is that all notifications are disabled. The setting of
+ threshold values is discussed in Section 5.
+
+
+
+
+
+
+Perreault, et al. Standards Track [Page 6]
+
+RFC 7659 NAT MIB October 2015
+
+
+ The five notifications are as follows:
+
+ o Two notifications relate to the management of address pools. One
+ indicates that usage equals or exceeds an upper threshold and is
+ therefore a warning that the pool may be over-utilized unless more
+ addresses are assigned to it. The other notification indicates
+ that usage equals or has fallen below a lower threshold,
+ suggesting that some addresses allocated to that pool could be
+ reallocated to other pools. Address pool usage is calculated as
+ the percentage of the total number of ports allocated to the
+ address pool that are already in use, for the most-mapped protocol
+ at the time the notification is generated. The notifications
+ identify that protocol and report the number of port map entries
+ for that protocol in the given address pool at the moment the
+ notification was triggered.
+
+ o Two notifications relate to the number of address and port map
+ entries, respectively, in total over the whole NAT instance. In
+ both cases, the threshold that triggers the notification is an
+ upper threshold. The notifications return the number of mapping
+ entries of the given type, plus a cumulative counter of the number
+ of entries created in that mapping table at the moment the
+ notification was triggered. The intent is that the notifications
+ provide a warning that the total number of address or port map
+ entries is approaching the configured limit.
+
+ o The final notification is generated on a per-subscriber basis when
+ the number of port map entries for that subscriber crosses the
+ associated threshold. The objects returned by this notification
+ are similar to those returned for the instance-level mapping
+ notifications. This notification is a warning that the number of
+ port map entries for the subscriber is approaching the configured
+ limit for that subscriber.
+
+ Here is a detailed specification of the notifications. A given
+ notification can be disabled by setting the threshold to -1
+ (default).
+
+ Notification: natv2NotificationPoolUsageLow. Indicates that address
+ pool usage for the most-mapped protocol equals or is less than the
+ threshold value.
+
+ Compared value: natv2PoolNotifiedPortMapEntries as a percentage of
+ total available ports in the pool.
+
+ Threshold: natv2PoolThresholdUsageLow in natv2PoolTable.
+
+
+
+
+
+Perreault, et al. Standards Track [Page 7]
+
+RFC 7659 NAT MIB October 2015
+
+
+ Objects returned: natv2PoolNotifiedPortMapEntries and
+ natv2PoolNotifiedPortMapProtocol in natv2PoolTable.
+
+ Rate control: natv2PoolNotificationInterval in natv2PoolTable.
+
+ Notification: natv2NotificationPoolUsageHigh. Indicates that address
+ pool usage for the most-mapped protocol has risen to the threshold
+ value or more.
+
+ Compared value: natv2PoolNotifiedPortMapEntries as a percentage of
+ total available ports in the pool.
+
+ Threshold: natv2PoolThresholdUsageHigh in natv2PoolTable.
+
+ Objects returned: natv2PoolNotifiedPortMapEntries and
+ natv2PoolNotifiedPortMapProtocol in natv2PoolTable.
+
+ Rate control: natv2PoolNotificationInterval in natv2PoolTable.
+
+ Notification: natv2NotificationInstanceAddressMapEntriesHigh.
+ Indicates that the total number of entries in the address map table
+ over the whole NAT instance equals or exceeds the threshold value.
+
+ Compared value: natv2InstanceAddressMapEntries in
+ natv2InstanceTable.
+
+ Threshold: natv2InstanceThresholdAddressMapEntriesHigh in
+ natv2InstanceTable.
+
+ Objects returned: natv2InstanceAddressMapEntries and
+ natv2InstanceAddressMapCreations in natv2InstanceTable.
+
+ Rate control: natv2InstanceNotificationInterval in
+ natv2InstanceTable.
+
+ Notification: natv2NotificationInstancePortMapEntriesHigh. Indicates
+ that the total number of entries in the port map table over the whole
+ NAT instance equals or exceeds the threshold value.
+
+ Compared value: natv2InstancePortMapEntries in natv2InstanceTable.
+
+ Threshold: natv2InstanceThresholdPortMapEntriesHigh in
+ natv2InstanceTable.
+
+ Objects returned: natv2InstancePortMapEntries and
+ natv2InstancePortMapCreations in natv2InstanceTable.
+
+
+
+
+
+Perreault, et al. Standards Track [Page 8]
+
+RFC 7659 NAT MIB October 2015
+
+
+ Rate control: natv2InstanceNotificationInterval in
+ natv2InstanceTable.
+
+ Notification: natv2NotificationSubscriberPortMapEntriesHigh.
+ Indicates that the total number of entries in the port map table for
+ the given subscriber equals or exceeds the threshold value configured
+ for that subscriber.
+
+ Compared value: natv2SubscriberPortMapEntries in
+ natv2SubscriberTable.
+
+ Threshold: natv2SubscriberThresholdPortMapEntriesHigh in
+ natv2SubscriberTable.
+
+ Objects returned: natv2SubscriberPortMapEntries and
+ natv2SubscriberPortMapCreations in natv2SubscriberTable.
+
+ Rate control: natv2SubscriberNotificationInterval in
+ natv2SubscriberTable.
+
+3.1.3. State Information
+
+ State information provides a snapshot of the content and extent of
+ the NAT mapping tables at a given moment of time. The address and
+ port mapping tables are described in detail below. In addition to
+ these tables, two state variables are provided: current number of
+ entries in the address mapping table, and current number of entries
+ in the port mapping table. With one exception, these are provided at
+ four levels of granularity: per NAT instance, per protocol, per
+ address pool, and per subscriber. Address map entries are not
+ tracked per protocol, since address mapping is protocol independent.
+
+3.1.4. Statistics
+
+ NATV2-MIB provides a number of counters, intended to help with both
+ the provisioning of the NAT and the debugging of problems. As with
+ the state data, these counters are provided at the four levels of NAT
+ instance, protocol, address pool, and subscriber when they make
+ sense. Each counter is cumulative, beginning from a "last
+ discontinuity time" recorded by an object that is usually in the
+ table containing the counter.
+
+ The basic set of counters, as reflected in the NAT instance table, is
+ as follows:
+
+ Translations: number of packets processed and translated (in this
+ case, in total for the NAT instance).
+
+
+
+
+Perreault, et al. Standards Track [Page 9]
+
+RFC 7659 NAT MIB October 2015
+
+
+ Address map entry creations: cumulative number of address map
+ entries created, including static mappings.
+
+ Port map entry creations: cumulative number of port map entries
+ created, including static mappings.
+
+ Address map limit drops: cumulative number of packets dropped rather
+ than translated because the packet would have triggered the
+ creation of a new address mapping, but the configured limit on
+ number of address map entries has already been reached.
+
+ Port map limit drops: cumulative number of packets dropped rather
+ than translated because the packet would have triggered the
+ creation of a new port mapping, but the configured limit on number
+ of port map entries has already been reached.
+
+ Active subscriber limit drops: cumulative number of packets dropped
+ rather than translated because the packet would have triggered the
+ creation of a new address and/or port mapping for a subscriber
+ with no existing entries in either table, but the configured limit
+ on number of active subscribers has already been reached.
+
+ Address mapping failure drops: cumulative number of packets dropped
+ because the packet would have triggered the creation of a new
+ address mapping, but no address could be allocated in the external
+ realm concerned because all addresses from the selected address
+ pool (or the whole realm, if no address pool has been configured
+ for that realm) have already been fully allocated.
+
+ Port mapping failure drops: cumulative number of packets dropped
+ because the packet would have triggered the creation of a new port
+ mapping, but no port could be allocated for the protocol
+ concerned. The precise conditions under which these packet drops
+ occur depend on the pooling behavior [RFC4787] configured or
+ implemented in the NAT instance. See the DESCRIPTION clause for
+ the natv2InstancePortMapFailureDrops object for a detailed
+ description of the different cases. These cases were defined with
+ care to ensure that address mapping failure could be distinguished
+ from port mapping failure.
+
+ Fragment drops: cumulative number of packets dropped because the
+ packet contains a fragment, and the fragment behavior [RFC4787]
+ configured or implemented in the NAT instance indicates that the
+ packet should be dropped. The main case is a NAT instance that
+ meets REQ-14 of [RFC4787], hence it can receive and process out-
+ of-order fragments. In that case, dropping occurs only when the
+
+
+
+
+
+Perreault, et al. Standards Track [Page 10]
+
+RFC 7659 NAT MIB October 2015
+
+
+ configured limit on pending fragments provided by NATV2-MIB has
+ already been reached. The other cases are detailed in the
+ DESCRIPTION clause of the natv2InstanceFragmentBehavior object.
+
+ Other resource drops: cumulative number of packets dropped because
+ of unavailability of some other resource. The most likely case
+ would be packets where the upper-layer protocol is not one
+ supported by the NAT instance.
+
+ Table 1 indicates the granularities at which these statistics are
+ reported.
+
+ +-----------------------+------------+----------+------+------------+
+ | Statistic | NAT | Protocol | Pool | Subscriber |
+ | | Instance | | | |
+ +-----------------------+------------+----------+------+------------+
+ | Translations | Yes | Yes | No | Yes |
+ | | | | | |
+ | Address map entry | Yes | No | Yes | Yes |
+ | creations | | | | |
+ | | | | | |
+ | Port map entry | Yes | Yes | Yes | Yes |
+ | creations | | | | |
+ | | | | | |
+ | Address map limit | Yes | No | No | No |
+ | drops | | | | |
+ | | | | | |
+ | Port map limit drops | Yes | No | No | Yes |
+ | | | | | |
+ | Active subscriber | Yes | No | No | No |
+ | limit drops | | | | |
+ | | | | | |
+ | Address mapping | Yes | No | Yes | Yes |
+ | failure drops | | | | |
+ | | | | | |
+ | Port mapping failure | Yes | Yes | Yes | Yes |
+ | drops | | | | |
+ | | | | | |
+ | Fragment drops | Yes | No | No | No |
+ | | | | | |
+ | Other resource drops | Yes | No | No | No |
+ +-----------------------+------------+----------+------+------------+
+
+ Table 1: Statistics Provided By Level of Granularity
+
+
+
+
+
+
+
+Perreault, et al. Standards Track [Page 11]
+
+RFC 7659 NAT MIB October 2015
+
+
+3.2. Outline of MIB Module Organization
+
+ Figure 1 shows how object identifiers are organized in the NATV2-MIB
+ module. Under the general natv2MIB object identifier in the mib-2
+ tree, the objects are classed into four groups:
+
+ natv2MIBNotifications(0): identifies the five notifications
+ described in Section 3.1.2.
+
+ natv2MIBDeviceObjects(1): identifies objects relating to the whole
+ device, specifically, the subscriber table.
+
+ natv2MIBInstanceObjects(2): identifies objects relating to
+ individual NAT instances. These include the NAT instance table,
+ the protocol table, the address pool table and its address range
+ expansion, the address map table, and the port map table.
+
+ natv2MIBConformance(3): identifies the group and compliance clauses,
+ specified for the three application scenarios described in
+ Section 3.4.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Perreault, et al. Standards Track [Page 12]
+
+RFC 7659 NAT MIB October 2015
+
+
+ natv2MIB
+ |
+ +-------------+-------------+-------------+
+ | | | |
+ | | |
+ 0 | | |
+ natv2MIBNotifications | | |
+ | | |
+ | 1 | |
+ | natv2MIBDeviceObjects | |
+ Five | |
+ notifications | 2 |
+ | natv2MIBInstanceObjects |
+ | |
+ Subscriber | 3
+ table | natv2MIBConformance
+ | |
+ | |
+ Six per-NAT- |
+ instance tables |
+ |
+ +----------------------+-------
+ | |
+ | |
+
+ 1 2
+ natv2MIBCompliances natv2MIBGroups
+ | |
+ | |
+ Basic Basic
+ pooled pooled
+ carrier-grade NAT carrier-grade NAT
+
+ Figure 1: Organization of Object Identifiers for NATV2-MIB
+
+3.3. Detailed MIB Module Walk-Through
+
+ This section reviews the contents of the NATV2-MIB module. The table
+ descriptions include references to subsections of Section 3.1 where
+ desirable to avoid repetition of that information.
+
+3.3.1. Textual Conventions
+
+ The module defines four key textual conventions: ProtocolNumber,
+ Natv2SubscriberIndex, Natv2InstanceIndex, and Natv2PoolIndex.
+ ProtocolNumber is based on the IANA registry of protocol numbers and
+ hence is potentially reusable by other MIB modules.
+
+
+
+
+Perreault, et al. Standards Track [Page 13]
+
+RFC 7659 NAT MIB October 2015
+
+
+ Objects of type Natv2SubscriberIndex identify individual subscribers
+ served by the NAT device. The values of these identifiers are
+ administered and, in intent, are permanently associated with their
+ respective subscribers. Reuse of a value after a subscriber has been
+ deleted is discouraged. The scope of the subscriber index was
+ defined to be at the device rather than the NAT instance level to
+ make it easier to shift subscribers between instances (e.g., for load
+ balancing).
+
+ Objects of type Natv2InstanceIndex identify specific NAT instances on
+ the device. Again, these are administered values intended to be
+ permanently associated with the NAT instances to which they have been
+ assigned.
+
+ Objects of type Natv2PoolIndex identify individual address pools in a
+ given NAT instance. As with the subscriber and instance index
+ objects, the pool identifiers are administered and intended to be
+ permanently associated with their respective pools.
+
+3.3.2. Notifications
+
+ Notifications were described in Section 3.1.2.
+
+3.3.3. The Subscriber Table: natv2SubscriberTable
+
+ Table natv2SubscriberTable is indexed by the subscriber index. One
+ conceptual row contains information relating to a specific
+ subscriber: the subscriber's internal address or prefix for
+ correlation with other management information; state and statistical
+ information as described in Sections 3.1.3 and 3.1.4; the per-
+ subscriber control objects described in Section 3.1.1; and
+ natv2SubscriberDiscontinuityTime, which provides a timestamp of the
+ latest time following, which the statistics have accumulated without
+ discontinuity.
+
+ Turning back to the address information for a moment: this
+ information includes the identity of the address realm in which the
+ address is routable. That enables support of an arbitrary number of
+ address realms on the same NAT instance. Address realm identifiers
+ are administered values in the form of a limited-length
+ SnmpAdminString. In the absence of configuration to the contrary,
+ the default realm for all internal addresses as recorded in mapping
+ entries is "internal".
+
+ The term "address realm" is defined in [RFC2663], Section 2.1 and
+ reused in subsequent NAT-related documents.
+
+
+
+
+
+Perreault, et al. Standards Track [Page 14]
+
+RFC 7659 NAT MIB October 2015
+
+
+ In the special case of Dual-Stack Lite (DS-Lite) [RFC6333], for
+ unique matching of the subscriber data to other information in the
+ MIB module, it is necessary that the address information should
+ relate to the outer IPv6 header of packets going to or from the host,
+ with the address realm being the one in which that IPv6 address is
+ routable. The presentation of address information for other types of
+ tunneled access to the NAT is out of scope.
+
+3.3.4. The Instance Table: natv2InstanceTable
+
+ Table natv2InstanceTable is indexed by an object of type
+ Natv2InstanceIndex. A conceptual row of this table provides
+ information relating to a particular NAT instance configured on the
+ device.
+
+ Configuration information provided by this table includes an instance
+ name of type DisplayString that may have been configured for this
+ instance and a set of objects indicating, respectively, the port
+ mapping, filtering, pooling, and fragment behaviors configured or
+ implemented in the instance. These behaviors are all defined in
+ [RFC4787]. Their values affect the interpretation of some of the
+ statistics provided in the instance table.
+
+ Read-write objects listed in Section 3.1.2 set the notification rate
+ for instance-level notifications and set the thresholds that trigger
+ them. Additional read-write objects described in Section 3.1.1 set
+ limits on the number of address and port mapping entries, number of
+ pending fragments, and number of active subscribers for the instance.
+
+ The state and statistical information provided by this table consists
+ of the per-instance items described in Sections 3.1.3 and 3.1.4,
+ respectively. natv2InstanceDiscontinuityTime is a timestamp giving
+ the time beyond which all of the statistical counters in
+ natv2InstanceTable are guaranteed to have accumulated continuously.
+
+3.3.5. The Protocol Table: natv2ProtocolTable
+
+ The protocol table is indexed by the NAT instance number and an
+ object of type ProtocolNumber as described in Section 3.3.1 (i.e., an
+ IANA-registered protocol number). The set of protocols supported by
+ the NAT instance is implementation dependent, but they MUST include
+ ICMP(1), TCP(6), UDP(17), and ICMPv6(58). Depending on the
+ application, it SHOULD include IPv4 encapsulation(4), IPv6
+ encapsulation(41), IPsec AH(51), and SCTP(132). Support of PIM(103)
+ is highly desirable.
+
+
+
+
+
+
+Perreault, et al. Standards Track [Page 15]
+
+RFC 7659 NAT MIB October 2015
+
+
+ This table includes no configuration information. The state and
+ statistical information provided by this table consists of the per-
+ protocol items described in Sections 3.1.3 and 3.1.4, respectively.
+ natv2InstanceDiscontinuityTime in natv2InstanceTable is reused as the
+ timestamp giving the time beyond which all of the statistical
+ counters in natv2ProtocolTable are guaranteed to have accumulated
+ continuously. The reasoning is that any event affecting the
+ continuity of per-protocol statistics will affect the continuity of
+ NAT instance statistics, and vice versa.
+
+3.3.6. The Address Pool Table: natv2PoolTable
+
+ The address pool table is indexed by the NAT instance identifier for
+ the instance on which it is provisioned, plus a pool index of type
+ Natv2PoolIndex. Configuration information provided includes the
+ address realm for which the pool provides addresses, the type of
+ address (IPv4 or IPv6) supported by the realm, plus the port range it
+ makes available for allocation. The same set of port numbers (or, in
+ the ICMP case, identifier values) is made available for every
+ protocol supported by the NAT instance. The port range is specified
+ in terms of minimum and maximum port number.
+
+ The state and statistical information provided by this table consists
+ of the per-pool items described in Sections 3.1.3 and 3.1.4
+ respectively, plus two additional state objects described below.
+ natv2PoolTable provides the pool-specific object
+ natv2PoolDiscontinuityTime to indicate the time since the statistical
+ counters have accumulated continuously.
+
+ Read-write objects to set high and low thresholds for pool usage
+ notifications and for governing the notification rate were identified
+ in Section 3.1.2.
+
+ Implementation note: the thresholds are defined in terms of
+ percentage of available port utilization. The number of available
+ ports in a pool is equal to (max port - min port + 1) (from the
+ natv2PoolTable configuration information) multiplied by the number
+ of addresses provisioned in the pool (sum of number of addresses
+ provided by each natv2PoolRangeTable conceptual row relating to
+ that pool). At configuration time, the thresholds can be
+ recalculated in terms of total number of port map entries
+ corresponding to the configured percentage, so that runtime
+ comparisons to the current number of port map entries require no
+ further arithmetic operations.
+
+ natv2PoolTable also provides two state objects that are returned with
+ the notifications. natv2PoolNotifiedPortMapProtocol identifies the
+ most-mapped protocol at the time the notification was triggered.
+
+
+
+Perreault, et al. Standards Track [Page 16]
+
+RFC 7659 NAT MIB October 2015
+
+
+ natv2PoolNotifiedPortMapEntries provides the total number of port map
+ entries for that protocol using addresses owned by this pool at that
+ same time.
+
+3.3.7. The Address Pool Address Range Table: natv2PoolRangeTable
+
+ natv2PoolRangeTable provides configuration information only. It is
+ an expansion of natv2PoolTable giving the address ranges with which a
+ given address pool has been configured. As such, it is indexed by
+ the combination of NAT instance index, address pool index, and a
+ conceptual row index, where each conceptual row conveys a different
+ address range. The address range is specified in terms of lowest
+ address, highest address rather than the usual prefix notation to
+ provide maximum flexibility.
+
+3.3.8. The Address Map Table: natv2AddressMapTable
+
+ The address map table provides a table of mappings from internal to
+ external address at a given moment. It is indexed by the combination
+ of NAT instance index, internal realm, internal address type (IPv4 or
+ IPv6) in that realm, the internal address of the local host for which
+ the map entry was created, and a conceptual row index to traverse all
+ of the entries relating to the same internal address.
+
+ In the special case of DS-Lite [RFC6333], the internal address and
+ realm used in the index are those of the IPv6 outer header. The IPv4
+ source address for the inner header, for which [RFC6333] has reserved
+ addresses in the 192.0.0.0/29 range, is captured in two additional
+ objects in the corresponding conceptual row:
+ natv2AddressMapInternalMappedAddressType and
+ natv2AddressMapInternalMappedAddress. In cases other than DS-Lite
+ access, these objects have no meaning. (Other tunneled access is out
+ of scope.)
+
+ The additional information provided by natv2AddressMapTable consists
+ of the external realm, address type in that realm, and mapped
+ external address. Depending on implementation support, the table
+ also provides the index of the address pool from which the external
+ address was drawn and the index of the subscriber to which the map
+ entry belongs.
+
+3.3.9. The Port Map Table: natv2PortMapTable
+
+ The port map table provides a table of mappings by protocol from
+ external port, address, and realm to internal port, address, and
+ realm. As such, it is indexed by the combination of NAT instance
+ index, protocol number, external realm identifier, address type in
+ that realm, external address, and external port. The mapping from
+
+
+
+Perreault, et al. Standards Track [Page 17]
+
+RFC 7659 NAT MIB October 2015
+
+
+ external realm, address, and port to internal realm, address, and
+ port is unique, so no conceptual row index is needed. The indexing
+ is designed to make it easy to trace individual sessions back to the
+ host, based on the contents of packets observed in the external
+ realm.
+
+ Beyond the indexing, the information provided by the port map table
+ consists of the internal realm, address type, address, and port
+ number, and, depending on implementation support, the index of the
+ subscriber to which the map entry belongs.
+
+ As with the address map table, special provision is made for the case
+ of DS-Lite [RFC6333]. The realm and outgoing source address are
+ those for the outer header, and the address type is IPv6. Additional
+ objects natv2PortMapInternalMappedAddressType and
+ natv2PortMapInternalMappedAddress capture the outgoing source address
+ in the inner header, which will be in the well-known 192.0.0.0/29
+ range.
+
+3.4. Conformance: Three Application Scenarios
+
+ The conformance statements in NATV2-MIB provide for three application
+ scenarios: basic NAT, NAT supporting address pools, and CGN.
+
+ A basic NAT MAY limit the number of NAT instances it supports to one,
+ but it MUST support indexing by NAT instance. Similarly, a basic NAT
+ MAY limit the number of realms it supports to two. By definition, a
+ basic NAT is not required to support the subscriber table, the
+ address pool table, or the address pool address range table. Some
+ individual objects in other tables are also not relevant to basic
+ NAT.
+
+ A NAT supporting address pools adds the address pool table and the
+ address pool address range table to what it implements. Some
+ individual objects in other tables also need to be implemented. A
+ NAT supporting address pools MUST support more than two realms.
+
+ Finally, a CGN MUST support the full contents of the MIB module.
+ That includes the subscriber table, but it also includes the special
+ provision for DS-Lite access in the address and port map tables.
+
+
+
+
+
+
+
+
+
+
+
+Perreault, et al. Standards Track [Page 18]
+
+RFC 7659 NAT MIB October 2015
+
+
+4. Definitions
+
+ This MIB module IMPORTs objects from [RFC2578], [RFC2579], [RFC2580],
+ [RFC3411], and [RFC4001].
+
+NATV2-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY,
+ OBJECT-TYPE,
+ Integer32,
+ Unsigned32,
+ Counter64,
+ mib-2,
+ NOTIFICATION-TYPE
+ FROM SNMPv2-SMI -- RFC 2578
+ TEXTUAL-CONVENTION,
+ DisplayString,
+ TimeStamp
+ FROM SNMPv2-TC -- RFC 2579
+ MODULE-COMPLIANCE,
+ NOTIFICATION-GROUP,
+ OBJECT-GROUP
+ FROM SNMPv2-CONF -- RFC 2580
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB -- RFC 3411
+ InetAddressType,
+ InetAddress,
+ InetAddressPrefixLength,
+ InetPortNumber
+ FROM INET-ADDRESS-MIB; -- RFC 4001
+
+natv2MIB MODULE-IDENTITY
+ LAST-UPDATED "201510020000Z" -- 2 October 2015
+
+ ORGANIZATION
+ "IETF Behavior Engineering for Hindrance
+ Avoidance (BEHAVE) Working Group"
+ CONTACT-INFO
+ "Working Group Email: behave@ietf.org
+
+ Simon Perreault
+ Jive Communications
+ Quebec, QC
+ Canada
+
+ Email: sperreault@jive.com
+
+
+
+
+Perreault, et al. Standards Track [Page 19]
+
+RFC 7659 NAT MIB October 2015
+
+
+ Tina Tsou
+ Huawei Technologies
+ Bantian, Longgang
+ Shenzhen 518129
+ China
+
+ Email: tina.tsou.zouting@huawei.com
+
+ Senthil Sivakumar
+ Cisco Systems
+ 7100-8 Kit Creek Road
+ Research Triangle Park, North Carolina 27709
+ United States
+
+ Phone: +1 919 392 5158
+ Email: ssenthil@cisco.com
+
+ Tom Taylor
+ PT Taylor Consulting
+ Ottawa
+ Canada
+
+ Email: tom.taylor.stds@gmail.com"
+
+ DESCRIPTION
+ "This MIB module defines the generic managed objects
+ for NAT.
+
+ Copyright (c) 2015 IETF Trust and the persons
+ identified as authors of the code. All rights reserved.
+
+ Redistribution and use in source and binary forms, with
+ or without modification, is permitted pursuant to, and
+ subject to the license terms contained in, the Simplified
+ BSD License set forth in Section 4.c of the IETF Trust's
+ Legal Provisions Relating to IETF Documents
+ (http://trustee.ietf.org/license-info).
+
+ This version of this MIB module is part of RFC 7659;
+ see the RFC itself for full legal notices."
+ REVISION "201510020000Z" -- 2 October 2015
+ DESCRIPTION
+ "Complete rewrite, published as RFC 7659.
+ Replaces former version published as RFC 4008."
+ ::= { mib-2 234 }
+
+-- Textual conventions
+
+
+
+
+Perreault, et al. Standards Track [Page 20]
+
+RFC 7659 NAT MIB October 2015
+
+
+ProtocolNumber ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A protocol number, from the IANA Protocol Numbers
+ registry."
+ REFERENCE
+ "IANA Protocol Numbers,
+ <http://www.iana.org/assignments/protocol-numbers>"
+ SYNTAX Unsigned32 (0..255)
+
+Natv2SubscriberIndex ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A unique value, greater than zero, for each subscriber
+ in the managed system. The value for each
+ subscriber MUST remain constant at least from one
+ update of the entity's natv2SubscriberDiscontinuityTime
+ object until the next update of that object. If a
+ subscriber is deleted, its assigned index value MUST NOT
+ be assigned to another subscriber at least until
+ reinitialization of the entity's management system."
+ SYNTAX Unsigned32 (1..4294967295)
+
+Natv2SubscriberIndexOrZero ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "This textual convention is an extension of the
+ Natv2SubscriberIndex convention. The latter defines a
+ greater than zero value used to identify a subscriber in
+ the managed system. This extension permits the additional
+ value of zero, which serves as a placeholder when no
+ subscriber is associated with the object."
+ SYNTAX Unsigned32 (0|1..4294967295)
+
+Natv2InstanceIndex ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A unique value, greater than zero, for each NAT instance
+ in the managed system. It is RECOMMENDED that values are
+ assigned contiguously starting from 1. The value for each
+ NAT instance MUST remain constant at least from one
+ update of the entity's natv2InstanceDiscontinuityTime
+ object until the next update of that object. If a NAT
+ instance is deleted, its assigned index value MUST NOT
+
+
+
+Perreault, et al. Standards Track [Page 21]
+
+RFC 7659 NAT MIB October 2015
+
+
+ be assigned to another NAT instance at least until
+ reinitialization of the entity's management system."
+ SYNTAX Unsigned32 (1..4294967295)
+
+Natv2PoolIndex ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A unique value over the containing NAT instance, greater than
+ zero, for each address pool supported by that NAT instance.
+ It is RECOMMENDED that values are assigned contiguously
+ starting from 1. The value for each address pool MUST remain
+ constant at least from one update of the entity's
+ natv2PoolDiscontinuityTime object until the next update of
+ that object. If an address pool is deleted, its assigned
+ index value MUST NOT be assigned to another address pool for
+ the same NAT instance at least until reinitialization of the
+ entity's management system."
+ SYNTAX Unsigned32 (1..4294967295)
+
+Natv2PoolIndexOrZero ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "This textual convention is an extension of the
+ Natv2PoolIndex convention. The latter defines a greater
+ than zero value used to identify address pools in the
+ managed system. This extension permits the additional
+ value of zero, which serves as a placeholder when the
+ implementation does not support address pools or no address
+ pool is configured in a given external realm."
+ SYNTAX Unsigned32 (0|1..4294967295)
+
+-- Notifications
+
+natv2MIBNotifications OBJECT IDENTIFIER ::= { natv2MIB 0 }
+
+natv2NotificationPoolUsageLow NOTIFICATION-TYPE
+ OBJECTS { natv2PoolNotifiedPortMapEntries,
+ natv2PoolNotifiedPortMapProtocol }
+ STATUS current
+ DESCRIPTION
+ "This notification is triggered when an address pool's usage
+ becomes less than or equal to the value of the
+ natv2PoolThresholdUsageLow object for that pool, unless the
+ notification has been disabled by setting the value of the
+ threshold to -1. It is reported subject to the rate
+ limitation specified by natv2PortMapNotificationInterval.
+
+
+
+Perreault, et al. Standards Track [Page 22]
+
+RFC 7659 NAT MIB October 2015
+
+
+ Address pool usage is calculated as the percentage of the
+ total number of ports allocated to the address pool that are
+ already in use, for the most-mapped protocol at the time
+ the notification is triggered. The two returned objects are
+ members of natv2PoolTable indexed by the NAT instance and
+ pool indices for which the event is being reported. They
+ give the number of port map entries using external addresses
+ configured on the pool for the most-mapped protocol and
+ identify that protocol at the time the notification was
+ triggered."
+ REFERENCE
+ "RFC 7659, Sections 3.1.2 and 3.3.6."
+ ::= { natv2MIBNotifications 1 }
+
+natv2NotificationPoolUsageHigh NOTIFICATION-TYPE
+ OBJECTS { natv2PoolNotifiedPortMapEntries,
+ natv2PoolNotifiedPortMapProtocol }
+ STATUS current
+ DESCRIPTION
+ "This notification is triggered when an address pool's usage
+ becomes greater than or equal to the value of the
+ natv2PoolThresholdUsageHigh object for that pool, unless
+ the notification has been disabled by setting the value of
+ the threshold to -1. It is reported subject to the rate
+ limitation specified by natv2PortMapNotificationInterval.
+
+ Address pool usage is calculated as the percentage of the
+ total number of ports allocated to the address pool that are
+ already in use, for the most-mapped protocol at the time the
+ notification is triggered. The two returned objects are
+ members of natv2PoolTable indexed by the NAT instance and
+ pool indices for which the event is being reported. They
+ give the number of port map entries using external addresses
+ configured on the pool for the most-mapped protocol and
+ identify that protocol at the time the notification was
+ triggered."
+ REFERENCE
+ "RFC 7659, Sections 3.1.2 and 3.3.6."
+ ::= { natv2MIBNotifications 2 }
+
+natv2NotificationInstanceAddressMapEntriesHigh NOTIFICATION-TYPE
+ OBJECTS { natv2InstanceAddressMapEntries,
+ natv2InstanceAddressMapCreations }
+ STATUS current
+ DESCRIPTION
+ "This notification is triggered when the value of
+ natv2InstanceAddressMapEntries equals or exceeds the value
+ of the natv2InstanceThresholdAddressMapEntriesHigh object
+
+
+
+Perreault, et al. Standards Track [Page 23]
+
+RFC 7659 NAT MIB October 2015
+
+
+ for the NAT instance, unless disabled by setting that
+ threshold to -1. Reporting is subject to the rate limitation
+ given by natv2InstanceNotificationInterval.
+
+ natv2InstanceAddressMapEntries and
+ natv2InstanceAddressMapCreations are members of table
+ natv2InstanceTable indexed by the identifier of the NAT
+ instance for which the event is being reported. The values
+ reported are those observed at the moment the notification
+ was triggered."
+ REFERENCE
+ "RFC 7659, Section 3.1.2."
+ ::= { natv2MIBNotifications 3 }
+
+natv2NotificationInstancePortMapEntriesHigh NOTIFICATION-TYPE
+ OBJECTS { natv2InstancePortMapEntries,
+ natv2InstancePortMapCreations }
+ STATUS current
+ DESCRIPTION
+ "This notification is triggered when the value of
+ natv2InstancePortMapEntries becomes greater than or equal
+ to the value of natv2InstanceThresholdPortMapEntriesHigh,
+ unless disabled by setting that threshold to -1. Reporting
+ is subject to the rate limitation given by
+ natv2InstanceNotificationInterval.
+
+ natv2InstancePortMapEntries and
+ natv2InstancePortMapCreations are members of table
+ natv2InstanceTable indexed by the identifier of the NAT
+ instance for which the event is being reported. The values
+ reported are those observed at the moment the notification
+ was triggered."
+ ::= { natv2MIBNotifications 4 }
+
+natv2NotificationSubscriberPortMappingEntriesHigh
+NOTIFICATION-TYPE
+ OBJECTS { natv2SubscriberPortMapEntries,
+ natv2SubscriberPortMapCreations }
+ STATUS current
+ DESCRIPTION
+ "This notification is triggered when the value of
+ natv2SubscriberPortMapEntries for an individual subscriber
+ becomes greater than or equal to the value of the
+ natv2SubscriberThresholdPortMapEntriesHigh object for that
+ subscriber, unless disabled by setting that threshold to -1.
+ Reporting is subject to the rate limitation given by
+ natv2SubscriberNotificationInterval.
+
+
+
+
+Perreault, et al. Standards Track [Page 24]
+
+RFC 7659 NAT MIB October 2015
+
+
+ natv2SubscriberPortMapEntries and
+ natv2SubscriberPortMapCreations are members of table
+ natv2SubscriberTable indexed by the subscriber for
+ which the event is being reported. The values
+ reported are those observed at the moment the notification
+ was triggered."
+ ::= { natv2MIBNotifications 5 }
+
+-- Device-level objects
+
+natv2MIBDeviceObjects OBJECT IDENTIFIER ::= { natv2MIB 1 }
+
+-- Subscriber table
+
+natv2SubscriberTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Natv2SubscriberEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Table of subscribers. As well as the subscriber index, it
+ provides per-subscriber state and counter objects, a last
+ discontinuity time object for the counters, and a writable
+ threshold value and limit on port consumption."
+ REFERENCE
+ "RFC 7659, Section 3.3.3."
+ ::= { natv2MIBDeviceObjects 1 }
+
+natv2SubscriberEntry OBJECT-TYPE
+ SYNTAX Natv2SubscriberEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Each entry describes a single subscriber."
+ INDEX { natv2SubscriberIndex }
+ ::= { natv2SubscriberTable 1 }
+
+Natv2SubscriberEntry ::=
+ SEQUENCE {
+ natv2SubscriberIndex Natv2SubscriberIndex,
+ natv2SubscriberInternalRealm SnmpAdminString,
+ natv2SubscriberInternalPrefixType InetAddressType,
+ natv2SubscriberInternalPrefix InetAddress,
+ natv2SubscriberInternalPrefixLength InetAddressPrefixLength,
+-- State
+ natv2SubscriberAddressMapEntries Unsigned32,
+ natv2SubscriberPortMapEntries Unsigned32,
+
+
+
+
+
+Perreault, et al. Standards Track [Page 25]
+
+RFC 7659 NAT MIB October 2015
+
+
+-- Counters and last discontinuity time
+ natv2SubscriberTranslations Counter64,
+ natv2SubscriberAddressMapCreations Counter64,
+ natv2SubscriberPortMapCreations Counter64,
+ natv2SubscriberAddressMapFailureDrops Counter64,
+ natv2SubscriberPortMapFailureDrops Counter64,
+ natv2SubscriberDiscontinuityTime TimeStamp,
+-- Read-write controls
+ natv2SubscriberLimitPortMapEntries Unsigned32,
+-- Disable notifications by setting threshold to -1
+ natv2SubscriberThresholdPortMapEntriesHigh Integer32,
+-- Disable limit by setting to 0
+ natv2SubscriberNotificationInterval Unsigned32
+ }
+
+natv2SubscriberIndex OBJECT-TYPE
+ SYNTAX Natv2SubscriberIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A unique value, greater than zero, for each subscriber
+ in the managed system. The value for each
+ subscriber MUST remain constant at least from one
+ update of the entity's natv2SubscriberDiscontinuityTime
+ object until the next update of that object. If a
+ subscriber is deleted, its assigned index value MUST NOT
+ be assigned to another subscriber at least until
+ reinitialization of the entity's management system."
+ ::= { natv2SubscriberEntry 1 }
+
+-- Configuration for this subscriber: realm, internal address(es)
+
+natv2SubscriberInternalRealm OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The address realm to which this subscriber belongs. A realm
+ defines an address space. All NATs support at least two
+ realms.
+
+ The default realm for subscribers is 'internal'.
+ Administrators can set other values for individual
+ subscribers when they are configured. The administrator MAY
+ configure a new value of natv2SubscriberRealm at any time
+ subsequent to initial configuration of the subscriber. If
+ this happens, it MUST be treated as a point of discontinuity
+ requiring an update of natv2SubscriberDiscontinuityTime.
+
+
+
+Perreault, et al. Standards Track [Page 26]
+
+RFC 7659 NAT MIB October 2015
+
+
+ When the subscriber sends a packet to the NAT through a
+ DS-Lite (RFC 6333) tunnel, this is the realm of the outer
+ packet header source address. Other tunneled access is out
+ of scope."
+ REFERENCE
+ "Address realm: RFC 2663. DS-Lite: RFC 6333."
+ DEFVAL
+ { "internal" }
+ ::= { natv2SubscriberEntry 2 }
+
+natv2SubscriberInternalPrefixType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Subscriber's internal prefix type. Any value other than
+ ipv4(1) or ipv6(2) would be unexpected. In the case of
+ DS-Lite access, this is the prefix type (IPv6(2)) used in
+ the outer packet header."
+ REFERENCE
+ "DS-Lite: RFC 6333."
+ ::= { natv2SubscriberEntry 3 }
+
+natv2SubscriberInternalPrefix OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Prefix assigned to a subscriber's Customer Premises Equipment
+ (CPE). The type of this prefix is given by
+ natv2SubscriberInternalPrefixType. Source addresses of packets
+ outgoing from the subscriber will be contained within this
+ prefix. In the case of DS-Lite access, the source address
+ taken from the prefix will be that of the outer header."
+ REFERENCE
+ "DS-Lite: RFC 6333."
+ ::= { natv2SubscriberEntry 4 }
+
+natv2SubscriberInternalPrefixLength OBJECT-TYPE
+ SYNTAX InetAddressPrefixLength
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Length of the prefix assigned to a subscriber's CPE, in
+ bits. If a single address is assigned, this will be 32
+ for IPv4 and 128 for IPv6."
+ ::= { natv2SubscriberEntry 5 }
+
+
+
+
+Perreault, et al. Standards Track [Page 27]
+
+RFC 7659 NAT MIB October 2015
+
+
+-- State objects
+
+natv2SubscriberAddressMapEntries OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current number of address map entries for the
+ subscriber, including static mappings. An address map entry
+ maps from a given internal address and realm to an external
+ address in a particular external realm. This definition
+ includes 'hairpin' mappings, where the external realm is the
+ same as the internal one. Address map entries are also
+ tracked per instance and per address pool within the
+ instance."
+ REFERENCE
+ "RFC 7659, Section 3.3.8."
+ ::= { natv2SubscriberEntry 6 }
+
+natv2SubscriberPortMapEntries OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current number of port map entries in the port map table
+ for the subscriber, including static mappings. A port map
+ entry maps from a given external realm, address, and port
+ for a given protocol to an internal realm, address, and
+ port. This definition includes 'hairpin' mappings, where the
+ external realm is the same as the internal one. Port map
+ entries are also tracked per instance and per protocol and
+ address pool within the instance."
+ REFERENCE
+ "RFC 7659, Section 3.3.9."
+ ::= { natv2SubscriberEntry 7 }
+
+-- Counters and last discontinuity time
+
+natv2SubscriberTranslations OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of translated packets received from or
+ sent to this subscriber. This value MUST be monotone
+ increasing in the periods between updates of the entity's
+ natv2SubscriberDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+
+
+
+Perreault, et al. Standards Track [Page 28]
+
+RFC 7659 NAT MIB October 2015
+
+
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2SubscriberDiscontinuityTime."
+ ::= { natv2SubscriberEntry 8 }
+
+natv2SubscriberAddressMapCreations OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of address map entries created for
+ this subscriber, including static mappings. Address map
+ entries are also tracked per instance and per protocol and
+ address pool within the instance.
+
+ This value MUST be monotone increasing in
+ the periods between updates of the entity's
+ natv2SubscriberDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2SubscriberDiscontinuityTime."
+ ::= { natv2SubscriberEntry 9 }
+
+natv2SubscriberPortMapCreations OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of port map entries created for this
+ subscriber, including static mappings. Port map entries are
+ also tracked per instance and per protocol and address pool
+ within the instance.
+
+ This value MUST be monotone increasing in the periods
+ between updates of the entity's
+ natv2SubscriberDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2SubscriberDiscontinuityTime."
+ ::= { natv2SubscriberEntry 10 }
+
+natv2SubscriberAddressMapFailureDrops OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+
+
+
+
+Perreault, et al. Standards Track [Page 29]
+
+RFC 7659 NAT MIB October 2015
+
+
+ DESCRIPTION
+ "The cumulative number of packets originated by this
+ subscriber that were dropped because the packet would have
+ triggered the creation of a new address map entry, but no
+ address could be allocated in the selected external realm
+ because all addresses from the selected address pool (or the
+ whole realm, if no address pool has been configured for that
+ realm) have already been fully allocated.
+
+ This value MUST be monotone increasing in the periods
+ between updates of the entity's
+ natv2SubscriberDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2SubscriberDiscontinuityTime."
+ ::= { natv2SubscriberEntry 11 }
+
+natv2SubscriberPortMapFailureDrops OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of packets dropped because the
+ packet would have triggered the creation of a new
+ port mapping, but no port could be allocated for the
+ protocol concerned. The usual case for this will be
+ for a NAT instance that supports address pooling and
+ the 'Paired' pooling behavior recommended by RFC 4787,
+ where the internal endpoint has used up all of the
+ ports allocated to it for the address it was mapped to
+ in the selected address pool in the external realm
+ concerned and cannot be given more ports because
+ - policy or implementation prevents it from having a
+ second address in the same pool, and
+ - policy or unavailability prevents it from acquiring
+ more ports at its originally assigned address.
+
+ If the NAT instance supports address pooling but its
+ pooling behavior is 'Arbitrary' (meaning that
+ the NAT instance can allocate a new port mapping for
+ the given internal endpoint on any address in the
+ selected address pool and is not bound to what it has
+ already mapped for that endpoint), then this counter
+ is incremented when all ports for the protocol concerned
+ over the whole of the selected address pool are already
+ in use.
+
+
+
+
+Perreault, et al. Standards Track [Page 30]
+
+RFC 7659 NAT MIB October 2015
+
+
+ As a third case, if no address pools have been configured
+ for the external realm concerned, then this counter is
+ incremented because all ports for the protocol involved over
+ the whole set of addresses available for that external realm
+ are already in use.
+
+ Finally, this counter is incremented if the packet would
+ have triggered the creation of a new port mapping, but the
+ current value of natv2SubscriberPortMapEntries equals or
+ exceeds the value of natv2SubscriberLimitPortMapEntries
+ for this subscriber (unless that limit is disabled).
+
+ This value MUST be monotone increasing in the periods
+ between updates of the entity's
+ natv2SubscriberDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2SubscriberDiscontinuityTime."
+ REFERENCE
+ "Pooling behavior: RFC 4787, end of Section 4.1."
+ ::= { natv2SubscriberEntry 12 }
+
+natv2SubscriberDiscontinuityTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Snapshot of the value of the sysUpTime object at the
+ beginning of the latest period of continuity of the
+ statistical counters associated with this subscriber."
+ ::= { natv2SubscriberEntry 14 }
+
+-- Per-subscriber limit and threshold on port mappings
+-- Disabled if set to zero
+natv2SubscriberLimitPortMapEntries OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Limit on total number of port mappings active for this
+ subscriber (natv2SubscriberPortMapEntries). Once this limit
+ is reached, packets that might have triggered new port
+ mappings are dropped. The number of such packets dropped is
+ counted in natv2InstancePortMapFailureDrops.
+
+ Limit is disabled if set to zero."
+
+
+
+
+Perreault, et al. Standards Track [Page 31]
+
+RFC 7659 NAT MIB October 2015
+
+
+ DEFVAL
+ { 0 }
+ ::= { natv2SubscriberEntry 15 }
+
+natv2SubscriberThresholdPortMapEntriesHigh OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Notification threshold for total number of port mappings
+ active for this subscriber. Whenever
+ natv2SubscriberPortMapEntries is updated, if it equals or
+ exceeds natv2SubscriberThresholdPortMapEntriesHigh, the
+ notification
+ natv2NotificationSubscriberPortMappingEntriesHigh is
+ triggered, unless the notification is disabled by setting
+ the threshold to -1. Reporting is subject to the minimum
+ inter-notification interval given by
+ natv2SubscriberNotificationInterval. If multiple
+ notifications are triggered during one interval, the agent
+ MUST report only the one containing the highest value of
+ natv2SubscriberPortMapEntries and discard the others."
+ DEFVAL
+ { -1 }
+ ::= { natv2SubscriberEntry 16 }
+
+natv2SubscriberNotificationInterval OBJECT-TYPE
+ SYNTAX Unsigned32 (1..3600)
+ UNITS
+ "Seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Minimum number of seconds between successive
+ reporting of notifications for this subscriber. Controls
+ the reporting of
+ natv2NotificationSubscriberPortMappingEntriesHigh."
+ DEFVAL
+ { 60 }
+ ::= { natv2SubscriberEntry 17 }
+
+-- Per-NAT-instance objects
+
+natv2MIBInstanceObjects OBJECT IDENTIFIER ::= { natv2MIB 2 }
+
+-- Instance table
+
+
+
+
+
+Perreault, et al. Standards Track [Page 32]
+
+RFC 7659 NAT MIB October 2015
+
+
+natv2InstanceTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Natv2InstanceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Table of NAT instances. As well as state and counter
+ objects, it provides the instance index, instance name, and
+ the last discontinuity time object that is applicable to
+ the counters. It also contains writable thresholds for
+ reporting of notifications and limits on usage of resources
+ at the level of the NAT instance.
+
+ It is assumed that NAT instances can be created and deleted
+ dynamically, but this MIB module does not provide the means
+ to do so. For restrictions on assignment and maintenance of
+ the NAT index instance, see the description of
+ natv2InstanceIndex in the table below. For the requirements
+ on maintenance of the values of the counters in this table,
+ see the description of natv2InstanceDiscontinuityTime in
+ this table.
+
+ Each NAT instance has its own resources and behavior. The
+ resources include memory as reflected in space for map
+ entries, processing power as reflected in the rate of map
+ creation and deletion, and mappable addresses in each realm
+ that can play the role of an external realm for at least
+ some mappings for that instance. The NAT instance table
+ includes limits and notification thresholds that relate to
+ memory usage for mapping at the level of the whole instance.
+ The limit on number of subscribers with active mappings is a
+ limit to some extent on processor usage.
+
+ The mappable 'external' addresses may or may not be
+ organized into address pools. For a definition of address
+ pools, see the description of natv2PoolTable. If the instance
+ does support address pools, it also has a pooling behavior.
+ Mapping, filtering, and pooling behavior are defined in the
+ descriptions of the natv2InstancePortMappingBehavior,
+ natv2InstanceFilteringBehavior, and
+ natv2InstancePoolingBehavior objects in this table. The
+ instance also has a fragmentation behavior, defined in the
+ description of the natv2InstanceFragmentBehavior object."
+ REFERENCE
+ "RFC 7659, Section 3.3.4.
+ NAT behaviors: RFC 4787 (primary, UDP); RFC 5382 (TCP);
+ RFC 5508 (ICMP); and RFC 5597 (Datagram Congestion Control
+ Protocol (DCCP))."
+ ::= { natv2MIBInstanceObjects 1 }
+
+
+
+Perreault, et al. Standards Track [Page 33]
+
+RFC 7659 NAT MIB October 2015
+
+
+natv2InstanceEntry OBJECT-TYPE
+ SYNTAX Natv2InstanceEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Objects related to a single NAT instance."
+ INDEX { natv2InstanceIndex }
+ ::= { natv2InstanceTable 1 }
+
+Natv2InstanceEntry ::=
+ SEQUENCE {
+ natv2InstanceIndex Natv2InstanceIndex,
+ natv2InstanceAlias DisplayString,
+-- Configured behaviors
+ natv2InstancePortMappingBehavior INTEGER,
+ natv2InstanceFilteringBehavior INTEGER,
+ natv2InstancePoolingBehavior INTEGER,
+ natv2InstanceFragmentBehavior INTEGER,
+-- State
+ natv2InstanceAddressMapEntries Unsigned32,
+ natv2InstancePortMapEntries Unsigned32,
+-- Statistics and discontinuity time
+ natv2InstanceTranslations Counter64,
+ natv2InstanceAddressMapCreations Counter64,
+ natv2InstancePortMapCreations Counter64,
+ natv2InstanceAddressMapEntryLimitDrops Counter64,
+ natv2InstancePortMapEntryLimitDrops Counter64,
+ natv2InstanceSubscriberActiveLimitDrops Counter64,
+ natv2InstanceAddressMapFailureDrops Counter64,
+ natv2InstancePortMapFailureDrops Counter64,
+ natv2InstanceFragmentDrops Counter64,
+ natv2InstanceOtherResourceFailureDrops Counter64,
+ natv2InstanceDiscontinuityTime TimeStamp,
+-- Notification thresholds, disabled if set to -1
+ natv2InstanceThresholdAddressMapEntriesHigh Integer32,
+ natv2InstanceThresholdPortMapEntriesHigh Integer32,
+ natv2InstanceNotificationInterval Unsigned32,
+-- Limits, disabled if set to 0
+ natv2InstanceLimitAddressMapEntries Unsigned32,
+ natv2InstanceLimitPortMapEntries Unsigned32,
+ natv2InstanceLimitPendingFragments Unsigned32,
+ natv2InstanceLimitSubscriberActives Unsigned32
+ }
+
+natv2InstanceIndex OBJECT-TYPE
+ SYNTAX Natv2InstanceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+
+
+
+Perreault, et al. Standards Track [Page 34]
+
+RFC 7659 NAT MIB October 2015
+
+
+ DESCRIPTION
+ "NAT instance index. It is up to the implementation to
+ determine which values correspond to in-service NAT
+ instances. This object is used as an index for all tables
+ defined below."
+ ::= { natv2InstanceEntry 1 }
+
+natv2InstanceAlias OBJECT-TYPE
+ SYNTAX DisplayString (SIZE (0..64))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object is an 'alias' name for the NAT instance as
+ specified by a network manager and provides a non-volatile
+ 'handle' for the instance.
+
+ An example of the value that a network manager might store
+ in this object for a NAT instance is the name/identifier of
+ the interface that brings in internal traffic for this NAT
+ instance or the name of the Virtual Routing and Forwarding
+ (VRF) for internal traffic."
+ ::= { natv2InstanceEntry 2 }
+
+-- Configured behaviors
+
+natv2InstancePortMappingBehavior OBJECT-TYPE
+ SYNTAX INTEGER {
+ endpointIndependent (0),
+ addressDependent (1),
+ addressAndPortDependent (2)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Port mapping behavior is the policy governing the selection
+ of external address and port in a given realm for a given
+ five-tuple of source address and port, destination address
+ and port, and protocol.
+
+ endpointIndependent(0), the behavior REQUIRED by RFC 4787,
+ REQ-1, maps the source address and port to the same
+ external address and port for all destination address and
+ port combinations reached through the same external realm
+ and using the given protocol.
+
+
+
+
+
+
+
+Perreault, et al. Standards Track [Page 35]
+
+RFC 7659 NAT MIB October 2015
+
+
+ addressDependent(1) maps to the same external address and
+ port for all destination ports at the same destination
+ address reached through the same external realm and using
+ the given protocol.
+
+ addressAndPortDependent(2) maps to a separate external
+ address and port combination for each different
+ destination address and port combination reached through
+ the same external realm."
+ REFERENCE
+ "RFC 4787, Section 4.1."
+ ::= { natv2InstanceEntry 3 }
+
+natv2InstanceFilteringBehavior OBJECT-TYPE
+ SYNTAX INTEGER {
+ endpointIndependent (0),
+ addressDependent (1),
+ addressAndPortDependent (2)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Filtering behavior is the policy governing acceptance or
+ the dropping of packets incoming from remote sources via a
+ given external realm and destined to a specific three-tuple
+ of external address, port, and protocol at the NAT instance
+ that has been assigned in a port mapping.
+
+ endpointIndependent(0) accepts for translation packets from
+ all combinations of remote address and port destined to the
+ mapped external address and port via the given external
+ realm and using the given protocol.
+
+ addressDependent(1) accepts for translation packets from all
+ remote ports from the same remote source address destined to
+ the mapped external address and port via the given external
+ realm and using the given protocol.
+
+ addressAndPortDependent(2) accepts for translation only
+ those packets with the same remote source address, port, and
+ protocol incoming from the same external realm as identified
+ when the applicable port map entry was created.
+
+ RFC 4787, REQ-8 recommends either endpointIndependent(0) or
+ addressDependent(1) filtering behavior depending on whether
+ application friendliness or security takes priority."
+ REFERENCE
+ "RFC 4787, Section 5."
+
+
+
+Perreault, et al. Standards Track [Page 36]
+
+RFC 7659 NAT MIB October 2015
+
+
+ ::= { natv2InstanceEntry 4 }
+
+natv2InstancePoolingBehavior OBJECT-TYPE
+ SYNTAX INTEGER {
+ arbitrary (0),
+ paired (1)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Pooling behavior is the policy used to select the address
+ for a new port mapping within a given address pool to which
+ the internal address has already been mapped.
+
+ arbitrary(0) pooling behavior means that the NAT instance
+ may create the new port mapping using any address in the
+ pool that has a free port for the protocol concerned.
+
+ paired(1) pooling behavior, the behavior RECOMMENDED by RFC
+ 4787, REQ-2, means that once a given internal address has
+ been mapped to a particular address in a particular pool,
+ further mappings of the same internal address to that pool
+ will reuse the previously assigned pool member address."
+ REFERENCE
+ "RFC 4787, near the end of Section 4.1"
+ ::= { natv2InstanceEntry 5 }
+
+natv2InstanceFragmentBehavior OBJECT-TYPE
+ SYNTAX INTEGER {
+ fragmentNone (0),
+ fragmentInOrder (1),
+ fragmentOutOfOrder (2)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Fragment behavior is the NAT instance's capability to
+ receive and translate fragments incoming from remote
+ sources.
+
+ fragmentNone(0) implies no capability to translate incoming
+ fragments, so all received fragments are dropped. Each
+ dropped fragment is counted in natv2InstanceFragmentDrops.
+
+ fragmentInOrder(1) implies the ability to translate
+ fragments only if they are received in order, so that in
+ particular the header is in the first packet. If a fragment
+
+
+
+
+Perreault, et al. Standards Track [Page 37]
+
+RFC 7659 NAT MIB October 2015
+
+
+ is received out of order, it is dropped and counted in
+ natv2InstanceFragmentDrops.
+
+ fragmentOutOfOrder(2), the capability REQUIRED by RFC 4787,
+ REQ-14, implies the capability to translate fragments even
+ when they arrive out of order, subject to a protective
+ limit natv2InstanceLimitPendingFragments on total number of
+ fragments awaiting the first fragment of the chain. If the
+ implementation supports this capability,
+ natv2InstanceFragmentDrops is incremented only when a new
+ fragment arrives but is dropped because the limit on pending
+ fragments has already been reached."
+ REFERENCE
+ "RFC 4787, Section 11."
+ ::= { natv2InstanceEntry 6 }
+
+-- State
+
+natv2InstanceAddressMapEntries OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current number of address map entries in total over the
+ whole NAT instance, including static mappings. An address
+ map entry maps from a given internal address and realm to an
+ external address in a particular external realm. This
+ definition includes 'hairpin' mappings, where the external
+ realm is the same as the internal one. Address map entries
+ are also tracked per subscriber and per address pool within
+ the instance."
+ REFERENCE
+ "RFC 7659, Section 3.3.8.
+ Hairpinning: RFC 4787, Section 6."
+ ::= { natv2InstanceEntry 7 }
+
+natv2InstancePortMapEntries OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current number of entries in the port map table in total
+ over the whole NAT instance, including static mappings. A
+ port map entry maps from a given external realm, address,
+ and port for a given protocol to an internal realm, address,
+ and port. This definition includes 'hairpin' mappings, where
+ the external realm is the same as the internal one. Port map
+
+
+
+
+Perreault, et al. Standards Track [Page 38]
+
+RFC 7659 NAT MIB October 2015
+
+
+ entries are also tracked per subscriber and per protocol and
+ address pool within the instance."
+ REFERENCE
+ "RFC 7659, Section 3.3.9.
+ Hairpinning: RFC 4787, Section 6."
+ ::= { natv2InstanceEntry 8 }
+
+-- Statistics
+
+natv2InstanceTranslations OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of translated packets passing through
+ this NAT instance. This value MUST be monotone increasing in
+ the periods between updates of
+ natv2InstanceDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2InstanceDiscontinuityTime."
+ ::= { natv2InstanceEntry 9 }
+
+natv2InstanceAddressMapCreations OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of address map entries created by the
+ NAT instance, including static mappings. Address map
+ creations are also tracked per address pool within the
+ instance and per subscriber.
+
+ This value MUST be monotone increasing in
+ the periods between updates of
+ natv2InstanceDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2InstanceDiscontinuityTime."
+ ::= { natv2InstanceEntry 10 }
+
+natv2InstancePortMapCreations OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+
+
+
+
+Perreault, et al. Standards Track [Page 39]
+
+RFC 7659 NAT MIB October 2015
+
+
+ DESCRIPTION
+ "The cumulative number of port map entries created by the
+ NAT instance, including static mappings. Port map
+ creations are also tracked per protocol and address pool
+ within the instance and per subscriber.
+
+ This value MUST be monotone increasing in
+ the periods between updates of
+ natv2InstanceDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2InstanceDiscontinuityTime."
+ ::= { natv2InstanceEntry 11 }
+
+natv2InstanceAddressMapEntryLimitDrops OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of packets dropped rather than
+ translated because the packet would have triggered
+ the creation of a new address map entry, but the limit
+ on number of address map entries for the NAT instance
+ given by natv2InstanceLimitAddressMapEntries has
+ already been reached.
+
+ This value MUST be monotone increasing in the periods
+ between updates of the entity's
+ natv2InstanceDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2InstanceDiscontinuityTime."
+ ::= { natv2InstanceEntry 12 }
+
+natv2InstancePortMapEntryLimitDrops OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of packets dropped rather than
+ translated because the packet would have triggered
+ the creation of a new port map entry, but the limit
+ on number of port map entries for the NAT instance
+ given by natv2InstanceLimitPortMapEntries has
+ already been reached.
+
+
+
+
+Perreault, et al. Standards Track [Page 40]
+
+RFC 7659 NAT MIB October 2015
+
+
+ This value MUST be monotone increasing in the periods
+ between updates of the entity's
+ natv2InstanceDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2InstanceDiscontinuityTime."
+ ::= { natv2InstanceEntry 13 }
+
+natv2InstanceSubscriberActiveLimitDrops OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of packets dropped rather than
+ translated because the packet would have triggered the
+ creation of a new mapping for a subscriber with no other
+ active mappings, but the limit on number of active
+ subscribers for the NAT instance given by
+ natv2InstanceLimitSubscriberActives has already been
+ reached.
+
+ This value MUST be monotone increasing in the periods
+ between updates of the entity's
+ natv2InstanceDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2InstanceDiscontinuityTime."
+ ::= { natv2InstanceEntry 14 }
+
+natv2InstanceAddressMapFailureDrops OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of packets dropped because the packet
+ would have triggered the creation of a new address map
+ entry, but no address could be allocated in the selected
+ external realm because all addresses from the selected
+ address pool (or the whole realm, if no address pool has
+ been configured for that realm) have already been fully
+ allocated.
+
+ This value MUST be monotone increasing in the periods
+ between updates of the entity's
+ natv2InstanceDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+
+
+
+Perreault, et al. Standards Track [Page 41]
+
+RFC 7659 NAT MIB October 2015
+
+
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2InstanceDiscontinuityTime."
+ ::= { natv2InstanceEntry 15 }
+
+natv2InstancePortMapFailureDrops OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of packets dropped because the
+ packet would have triggered the creation of a new
+ port map entry, but no port could be allocated for the
+ protocol concerned. The usual case for this will be
+ for a NAT instance that supports address pooling and
+ the 'Paired' pooling behavior recommended by RFC 4787,
+ where the internal endpoint has used up all of the
+ ports allocated to it for the address it was mapped to
+ in the selected address pool in the external realm
+ concerned and cannot be given more ports because
+ - policy or implementation prevents it from having a
+ second address in the same pool, and
+ - policy or unavailability prevents it from acquiring
+ more ports at its originally assigned address.
+
+ If the NAT instance supports address pooling but its
+ pooling behavior is 'Arbitrary' (meaning that
+ the NAT instance can allocate a new port mapping for
+ the given internal endpoint on any address in the
+ selected address pool and is not bound to what it has
+ already mapped for that endpoint), then this counter
+ is incremented when all ports for the protocol concerned
+ over the whole of the selected address pool are already
+ in use.
+
+ Finally, if no address pools have been configured for the
+ external realm concerned, then this counter is incremented
+ because all ports for the protocol involved over the whole
+ set of addresses available for that external realm are
+ already in use.
+
+ This value MUST be monotone increasing in the periods
+ between updates of the entity's
+ natv2InstanceDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2InstanceDiscontinuityTime."
+
+
+
+Perreault, et al. Standards Track [Page 42]
+
+RFC 7659 NAT MIB October 2015
+
+
+ REFERENCE
+ "Pooling behavior: RFC 4787, end of Section 4.1."
+ ::= { natv2InstanceEntry 16 }
+
+natv2InstanceFragmentDrops OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of fragments received by the NAT
+ instance but dropped rather than translated. When the NAT
+ instance supports the 'Receive Fragment Out of Order'
+ capability as required by RFC 4787, this occurs because the
+ fragment was received out of order and would be added to the
+ queue of fragments awaiting the initial fragment of the
+ chain, but the queue has already reached the limit set by
+ natv2InstanceLimitsPendingFragments. Counting in other cases
+ is specified in the description of
+ natv2InstanceFragmentBehavior.
+
+ This value MUST be monotone increasing in the periods
+ between updates of the entity's
+ natv2InstanceDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2InstanceDiscontinuityTime."
+ REFERENCE
+ "RFC 4787, Section 11."
+ ::= { natv2InstanceEntry 17 }
+
+natv2InstanceOtherResourceFailureDrops OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of packets dropped because of
+ unavailability of a resource other than an address or port
+ that would have been required to process it. The most likely
+ case is where the upper-layer protocol in the packet is not
+ supported by the NAT instance.
+
+ This value MUST be monotone increasing in the periods
+ between updates of the entity's
+ natv2InstanceDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+
+
+
+Perreault, et al. Standards Track [Page 43]
+
+RFC 7659 NAT MIB October 2015
+
+
+ before the new value of natv2InstanceDiscontinuityTime."
+ ::= { natv2InstanceEntry 18 }
+
+natv2InstanceDiscontinuityTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Snapshot of the value of the sysUpTime object at the
+ beginning of the latest period of continuity of the
+ statistical counters associated with this NAT instance."
+ ::= { natv2InstanceEntry 19 }
+
+-- Notification thresholds, disabled by setting to -1.
+
+natv2InstanceThresholdAddressMapEntriesHigh OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Notification threshold for total number of address map
+ entries held by this NAT instance. Whenever
+ natv2InstanceAddressMapEntries is updated, if it equals or
+ exceeds natv2InstanceThresholdAddressMapEntriesHigh, then
+ natv2NotificationInstanceAddressMapEntriesHigh may be
+ triggered, unless the notification is disabled by setting
+ the threshold to -1. Reporting is subject to the minimum
+ inter-notification interval given by
+ natv2InstanceNotificationInterval. If multiple notifications
+ are triggered during one interval, the agent MUST report
+ only the one containing the highest value of
+ natv2InstanceAddressMapEntries and discard the others."
+ DEFVAL
+ { -1 }
+ ::= { natv2InstanceEntry 20 }
+
+natv2InstanceThresholdPortMapEntriesHigh OBJECT-TYPE
+ SYNTAX Integer32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Notification threshold for total number of port map
+ entries held by this NAT instance. Whenever
+ natv2InstancePortMapEntries is updated, if it equals or
+ exceeds natv2InstanceThresholdPortMapEntriesHigh, then
+ natv2NotificationInstancePortMapEntriesHigh may be
+ triggered, unless the notification is disabled by setting
+ the threshold to -1. Reporting is subject to the minimum
+
+
+
+Perreault, et al. Standards Track [Page 44]
+
+RFC 7659 NAT MIB October 2015
+
+
+ inter-notification interval given by
+ natv2InstanceNotificationInterval. If multiple notifications
+ are triggered during one interval, the agent MUST report
+ only the one containing the highest value of
+ natv2InstancePortMapEntries and discard the others."
+ DEFVAL
+ { -1 }
+ ::= { natv2InstanceEntry 21 }
+
+natv2InstanceNotificationInterval OBJECT-TYPE
+ SYNTAX Unsigned32 (1..3600)
+ UNITS
+ "Seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Minimum number of seconds between successive
+ notifications for this NAT instance. Controls the reporting
+ of natv2NotificationInstanceAddressMapEntriesHigh and
+ natv2NotificationInstancePortMapEntriesHigh."
+ DEFVAL
+ { 10 }
+ ::= { natv2InstanceEntry 22 }
+
+ -- Limits, disabled if set to 0
+
+natv2InstanceLimitAddressMapEntries OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Limit on total number of address map entries supported by
+ the NAT instance. When natv2InstanceAddressMapEntries has
+ reached this limit, subsequent packets that would normally
+ trigger creation of a new address map entry will be dropped
+ and counted in natv2InstanceAddressMapEntryLimitDrops.
+ Warning of an approach to this limit can be achieved by
+ setting natv2InstanceThresholdAddressMapEntriesHigh to a
+ non-zero value, for example, 80% of the limit. The limit is
+ disabled by setting its value to zero.
+
+ For further information, please see the descriptions of
+ natv2NotificationInstanceAddressMapEntriesHigh and
+ natv2InstanceAddressMapEntries."
+ DEFVAL
+ { 0 }
+ ::= { natv2InstanceEntry 23 }
+
+
+
+
+Perreault, et al. Standards Track [Page 45]
+
+RFC 7659 NAT MIB October 2015
+
+
+natv2InstanceLimitPortMapEntries OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Limit on total number of port map entries supported by the
+ NAT instance. When natv2InstancePortMapEntries has reached
+ this limit, subsequent packets that would normally trigger
+ creation of a new port map entry will be dropped and counted
+ in natv2InstancePortMapEntryLimitDrops. Warning of an
+ approach to this limit can be achieved by setting
+ natv2InstanceThresholdPortMapEntriesHigh to a non-zero
+ value, for example, 80% of the limit. The limit is disabled
+ by setting its value to zero.
+
+ For further information, please see the descriptions of
+ natv2NotificationInstancePortMapEntriesHigh and
+ natv2InstancePortMapEntries."
+ DEFVAL
+ { 0 }
+ ::= { natv2InstanceEntry 24 }
+
+natv2InstanceLimitPendingFragments OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Limit on number of out-of-order fragments received by the
+ NAT instance from remote sources and held until head of
+ chain appears. While the number of held fragments is at this
+ limit, subsequent packets that contain fragments not
+ relating to those already held will be dropped and counted
+ in natv2InstancePendingFragmentLimitDrops. The limit is
+ disabled by setting the value to zero.
+
+ Applicable only when the NAT instance supports 'Receive
+ Fragments Out of Order' behavior; leave at default
+ otherwise. See the description of
+ natv2InstanceFragmentBehavior."
+ REFERENCE
+ "RFC 4787, Section 11."
+ DEFVAL { 0 }
+ ::= { natv2InstanceEntry 25 }
+
+natv2InstanceLimitSubscriberActives OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-write
+ STATUS current
+
+
+
+Perreault, et al. Standards Track [Page 46]
+
+RFC 7659 NAT MIB October 2015
+
+
+ DESCRIPTION
+ "Limit on number of total number of active subscribers
+ supported by the NAT instance. An active subscriber is
+ defined as any subscriber with at least one map entry,
+ including static mappings. While the number of active
+ subscribers is at this limit, subsequent packets that would
+ otherwise trigger first mappings for newly active
+ subscribers will be dropped and counted in
+ natv2InstanceSubscriberActiveLimitDrops. The limit is
+ disabled by setting the value to zero."
+ DEFVAL { 0 }
+ ::= { natv2InstanceEntry 26 }
+
+-- Table of counters per upper-layer protocol identified by the
+-- packet header and supported by the NAT instance.
+
+natv2ProtocolTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Natv2ProtocolEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Table of protocols with per-protocol counters. Conceptual
+ rows of the table are indexed by the combination of the NAT
+ instance number and the IANA-assigned upper-layer protocol
+ number as given by the ProtocolNumber Textual Convention
+ (TC) and contained in the packet IP header. It is up to the
+ agent implementation to determine and operate upon only
+ those upper-layer protocol numbers supported by the NAT
+ instance."
+ REFERENCE
+ "RFC 7659, Section 3.3.5."
+ ::= { natv2MIBInstanceObjects 2 }
+
+natv2ProtocolEntry OBJECT-TYPE
+ SYNTAX Natv2ProtocolEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Per-protocol counters."
+ INDEX { natv2ProtocolInstanceIndex,
+ natv2ProtocolNumber }
+ ::= { natv2ProtocolTable 1 }
+
+Natv2ProtocolEntry ::=
+ SEQUENCE {
+ natv2ProtocolInstanceIndex Natv2InstanceIndex,
+ natv2ProtocolNumber ProtocolNumber,
+
+
+
+
+Perreault, et al. Standards Track [Page 47]
+
+RFC 7659 NAT MIB October 2015
+
+
+-- State
+ natv2ProtocolPortMapEntries Unsigned32,
+-- Statistics. Discontinuity object from instance table reused here.
+ natv2ProtocolTranslations Counter64,
+ natv2ProtocolPortMapCreations Counter64,
+ natv2ProtocolPortMapFailureDrops Counter64
+ }
+
+natv2ProtocolInstanceIndex OBJECT-TYPE
+ SYNTAX Natv2InstanceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "NAT instance index. It is up to the implementation to
+ determine and operate upon only those values that
+ correspond to in-service NAT instances."
+ ::= { natv2ProtocolEntry 1 }
+
+natv2ProtocolNumber OBJECT-TYPE
+ SYNTAX ProtocolNumber
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Counters in this conceptual row apply to packets indicating
+ the upper-layer protocol identified by the value of
+ this object. It is up to the implementation to determine and
+ operate upon only those values that correspond to protocols
+ supported by the NAT instance."
+ REFERENCE
+ "RFC 7659, Section 3.3.5.
+ IANA Protocol Numbers,
+ <http://www.iana.org/assignments/protocol-numbers>"
+ ::= { natv2ProtocolEntry 2 }
+
+ -- State
+natv2ProtocolPortMapEntries OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current number of entries in the port map table in total
+ over the whole NAT instance for a given protocol, including
+ static mappings. A port map entry maps from a given external
+ realm, address, and port for a given protocol to an internal
+ realm, address, and port. This definition includes 'hairpin'
+ mappings, where the external realm is the same as the
+ internal one. Port map entries are also tracked per
+ subscriber, per instance, and per address pool within the
+
+
+
+Perreault, et al. Standards Track [Page 48]
+
+RFC 7659 NAT MIB October 2015
+
+
+ instance."
+ REFERENCE
+ "RFC 7659, Sections 3.3.5 and 3.3.9.
+ Hairpinning: RFC 4787, Section 6."
+ ::= { natv2ProtocolEntry 3 }
+
+-- Statistics
+natv2ProtocolTranslations OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of packets translated by the NAT
+ instance in either direction for the given protocol.
+
+ This value MUST be monotone increasing in the periods
+ between updates of the NAT instance
+ natv2InstanceDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2InstanceDiscontinuityTime."
+ ::= { natv2ProtocolEntry 4 }
+
+natv2ProtocolPortMapCreations OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of port map entries created by the NAT
+ instance for the given protocol.
+
+ This value MUST be monotone increasing in the periods
+ between updates of the NAT instance
+ natv2InstanceDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2InstanceDiscontinuityTime."
+ ::= { natv2ProtocolEntry 5 }
+
+natv2ProtocolPortMapFailureDrops OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of packets dropped because the packet
+ would have triggered the creation of a new port map entry,
+
+
+
+Perreault, et al. Standards Track [Page 49]
+
+RFC 7659 NAT MIB October 2015
+
+
+ but no port could be allocated for the protocol concerned.
+ The usual case for this will be for a NAT instance that
+ supports address pooling and the 'Paired' pooling behavior
+ recommended by RFC 4787, where the internal endpoint has
+ used up all of the ports allocated to it for the address it
+ was mapped to in the selected address pool in the external
+ realm concerned and cannot be given more ports because
+ - policy or implementation prevents it from having a
+ second address in the same pool, and
+ - policy or unavailability prevents it from acquiring
+ more ports at its originally assigned address.
+
+ If the NAT instance supports address pooling but its
+ pooling behavior is 'Arbitrary' (meaning that
+ the NAT instance can allocate a new port mapping for
+ the given internal endpoint on any address in the
+ selected address pool and is not bound to what it has
+ already mapped for that endpoint), then this counter
+ is incremented when all ports for the protocol concerned
+ over the whole of the selected address pool are already
+ in use.
+
+ Finally, if the NAT instance has no configured address
+ pooling, then this counter is incremented because all
+ ports for the protocol concerned over the whole of the
+ NAT instance for the external realm concerned are already
+ in use.
+
+ This value MUST be monotone increasing in the periods
+ between updates of the NAT instance
+ natv2InstanceDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2InstanceDiscontinuityTime."
+ REFERENCE
+ "RFC 4787, end of Section 4.1."
+ ::= { natv2ProtocolEntry 6 }
+
+-- pools
+
+natv2PoolTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Natv2PoolEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Table of address pools, applicable only if these are
+ supported by the NAT instance. An address pool is a set of
+
+
+
+Perreault, et al. Standards Track [Page 50]
+
+RFC 7659 NAT MIB October 2015
+
+
+ addresses and ports in a particular realm, available for
+ assignment to the 'external' portion of a mapping. Where more
+ than one pool has been configured for the realm, policy
+ determines which subscribers and/or services are mapped to
+ which pool. natv2PoolTable provides basic information, state,
+ statistics, and two notification thresholds for each pool.
+ natv2PoolRangeTable is an expansion table for natv2PoolTable
+ that identifies particular address ranges allocated to the
+ pool."
+ REFERENCE
+ "RFC 7659, Section 3.3.6."
+ ::= { natv2MIBInstanceObjects 3 }
+
+natv2PoolEntry OBJECT-TYPE
+ SYNTAX Natv2PoolEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Entry in the table of address pools."
+ INDEX { natv2PoolInstanceIndex, natv2PoolIndex }
+ ::= { natv2PoolTable 1 }
+
+Natv2PoolEntry ::=
+ SEQUENCE {
+-- Index
+ natv2PoolInstanceIndex Natv2InstanceIndex,
+ natv2PoolIndex Natv2PoolIndex,
+-- Configuration
+ natv2PoolRealm SnmpAdminString,
+ natv2PoolAddressType InetAddressType,
+ natv2PoolMinimumPort InetPortNumber,
+ natv2PoolMaximumPort InetPortNumber,
+-- State
+ natv2PoolAddressMapEntries Unsigned32,
+ natv2PoolPortMapEntries Unsigned32,
+-- Statistics and discontinuity time
+ natv2PoolAddressMapCreations Counter64,
+ natv2PoolPortMapCreations Counter64,
+ natv2PoolAddressMapFailureDrops Counter64,
+ natv2PoolPortMapFailureDrops Counter64,
+ natv2PoolDiscontinuityTime TimeStamp,
+-- Notification thresholds and objects returned by notifications
+ natv2PoolThresholdUsageLow Integer32,
+ natv2PoolThresholdUsageHigh Integer32,
+ natv2PoolNotifiedPortMapEntries Unsigned32,
+ natv2PoolNotifiedPortMapProtocol ProtocolNumber,
+ natv2PoolNotificationInterval Unsigned32
+ }
+
+
+
+Perreault, et al. Standards Track [Page 51]
+
+RFC 7659 NAT MIB October 2015
+
+
+natv2PoolInstanceIndex OBJECT-TYPE
+ SYNTAX Natv2InstanceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "NAT instance index. It is up to the agent implementation
+ to determine and operate upon only those values that
+ correspond to in-service NAT instances."
+ ::= { natv2PoolEntry 1 }
+
+natv2PoolIndex OBJECT-TYPE
+ SYNTAX Natv2PoolIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Index of an address pool that is unique for a given NAT
+ instance. It is up to the agent implementation to determine
+ and operate upon only those values that correspond to
+ provisioned pools."
+ ::= { natv2PoolEntry 2 }
+
+-- Configuration
+natv2PoolRealm OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..32))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Address realm to which this pool's addresses belong."
+ REFERENCE
+ "Address realms are discussed in Section 3.3.3 of
+ RFC 7659. The primary reference is RFC 2663, Section 2.1."
+ ::= { natv2PoolEntry 3 }
+
+natv2PoolAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Address type supplied by this address pool. This will be the
+ same for all pools in a given realm (by definition of an
+ address realm). Values other than ipv4(1) or ipv6(2) would
+ be unexpected."
+ REFERENCE
+ "InetAddressType in RFC 4001."
+ ::= { natv2PoolEntry 4 }
+
+natv2PoolMinimumPort OBJECT-TYPE
+ SYNTAX InetPortNumber
+
+
+
+Perreault, et al. Standards Track [Page 52]
+
+RFC 7659 NAT MIB October 2015
+
+
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Minimum port number of the range that can be allocated in
+ this pool. Applies to all protocols supported by the NAT
+ instance."
+ REFERENCE
+ "InetPortNumber in RFC 4001."
+ ::= { natv2PoolEntry 5 }
+
+natv2PoolMaximumPort OBJECT-TYPE
+ SYNTAX InetPortNumber
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Maximum port number of the range that can be allocated in
+ this pool. Applies to all protocols supported by the NAT
+ instance."
+ REFERENCE
+ "InetPortNumber in RFC 4001."
+ ::= { natv2PoolEntry 6 }
+
+-- State
+natv2PoolAddressMapEntries OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current number of address map entries using external
+ addresses drawn from this pool, including static mappings.
+ This definition includes 'hairpin' mappings, where the
+ external realm is the same as the internal one. Address map
+ entries are also tracked per subscriber and per instance."
+ REFERENCE
+ "RFC 7659, Section 3.3.8.
+ Hairpinning: RFC 4787, Section 6."
+ ::= { natv2PoolEntry 7 }
+
+natv2PoolPortMapEntries OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current number of entries in the port map table using
+ external addresses and ports drawn from this pool, including
+ static mappings. This definition includes 'hairpin'
+ mappings, where the external realm is the same as the
+ internal one. Port map entries are also tracked per
+
+
+
+Perreault, et al. Standards Track [Page 53]
+
+RFC 7659 NAT MIB October 2015
+
+
+ subscriber, per instance, and per protocol within the
+ instance."
+ REFERENCE
+ "RFC 7659, Section 3.3.9.
+ Hairpinning: RFC 4787, Section 6."
+ ::= { natv2PoolEntry 8 }
+
+-- Statistics and discontinuity time
+natv2PoolAddressMapCreations OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of address map entries created in this
+ pool, including static mappings. Address map entries are
+ also tracked per instance and per subscriber.
+
+ This value MUST be monotone increasing in
+ the periods between updates of the entity's
+ natv2PoolDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2PoolDiscontinuityTime."
+ ::= { natv2PoolEntry 9 }
+
+natv2PoolPortMapCreations OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of port map entries created in this
+ pool, including static mappings. Port map entries are also
+ tracked per instance, per protocol, and per subscriber.
+
+ This value MUST be monotone increasing in the periods
+ between updates of the entity's
+ natv2PoolDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2PoolDiscontinuityTime."
+ ::= { natv2PoolEntry 10 }
+
+natv2PoolAddressMapFailureDrops OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+
+
+
+Perreault, et al. Standards Track [Page 54]
+
+RFC 7659 NAT MIB October 2015
+
+
+ DESCRIPTION
+ "The cumulative number of packets originated by the
+ subscriber that were dropped because the packet would have
+ triggered the creation of a new address map entry, but no
+ address could be allocated from this address pool because
+ all addresses in the pool have already been fully allocated.
+ Counters of this event are also provided per instance, per
+ protocol, and per subscriber.
+
+ This value MUST be monotone increasing in the periods
+ between updates of the entity's
+ natv2PoolDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2PoolDiscontinuityTime."
+ ::= { natv2PoolEntry 11 }
+
+natv2PoolPortMapFailureDrops OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The cumulative number of packets dropped because the packet
+ would have triggered the creation of a new port map entry,
+ but no port could be allocated for the protocol concerned.
+ The usual case for this will be for a NAT instance that
+ supports the 'Paired' pooling behavior recommended by RFC
+ 4787, where the internal endpoint has used up all of the
+ ports allocated to it for the address it was mapped to in
+ this pool and cannot be given more ports because
+ - policy or implementation prevents it from having a
+ second address in the same pool, and
+ - policy or unavailability prevents it from acquiring
+ more ports at its originally assigned address.
+
+ If the NAT instance pooling behavior is 'Arbitrary' (meaning
+ that the NAT instance can allocate a new port mapping for
+ the given internal endpoint on any address in the selected
+ address pool and is not bound to what it has already mapped
+ for that endpoint), then this counter is incremented when
+ all ports for the protocol concerned over the whole of this
+ address pool are already in use.
+
+ This value MUST be monotone increasing in the periods
+ between updates of the entity's
+ natv2PoolDiscontinuityTime. If a manager detects a
+ change in the latter since the last time it sampled this
+
+
+
+Perreault, et al. Standards Track [Page 55]
+
+RFC 7659 NAT MIB October 2015
+
+
+ counter, it SHOULD NOT make use of the difference between
+ the latest value of the counter and any value retrieved
+ before the new value of natv2PoolDiscontinuityTime."
+ REFERENCE
+ "Pooling behavior: RFC 4787, end of Section 4.1."
+ ::= { natv2PoolEntry 12 }
+
+
+natv2PoolDiscontinuityTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Snapshot of the value of the sysUpTime object at the
+ beginning of the latest period of continuity of the
+ statistical counters associated with this address
+ pool. This MUST be initialized when the address pool
+ is configured and MUST be updated whenever the port
+ or address ranges allocated to the pool change."
+ ::= { natv2PoolEntry 13 }
+
+-- Notification thresholds and objects returned by notifications
+natv2PoolThresholdUsageLow OBJECT-TYPE
+ SYNTAX Integer32 (-1|0..100)
+ UNITS "Percent"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Threshold for reporting low utilization of the address pool.
+ Utilization at a given instant is calculated as the
+ percentage of ports allocated in port map entries for the
+ most-used protocol at that instant. If utilization is less
+ than or equal to natv2PoolThresholdUsageLow, an instance of
+ natv2NotificationPoolUsageLow may be triggered, unless
+ disabled by setting it to -1. Reporting is subject to the
+ per-pool notification interval given by
+ natv2PoolNotificationInterval. If multiple notifications
+ are triggered during one interval, the agent MUST report
+ only the one with the lowest value of
+ natv2PoolNotifiedPortMapEntries and discard the others.
+
+ Implementation note: the percentage specified by this object
+ can be converted to a number of port map entries at
+ configuration time (after port and address ranges have been
+ configured or reconfigured) and compared to the current
+ value of natv2PoolNotifiedPortMapEntries."
+ REFERENCE
+ "RFC 7659, Sections 3.1.2 and 3.3.6."
+
+
+
+Perreault, et al. Standards Track [Page 56]
+
+RFC 7659 NAT MIB October 2015
+
+
+ DEFVAL { -1 }
+ ::= { natv2PoolEntry 14 }
+
+natv2PoolThresholdUsageHigh OBJECT-TYPE
+ SYNTAX Integer32 (-1|0..100)
+ UNITS "Percent"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Threshold for reporting high utilization of the address
+ pool. Utilization at a given instant is calculated as the
+ percentage of ports allocated in port map entries for the
+ most-used protocol at that instant. If utilization is
+ greater than or equal to natv2PoolThresholdUsageHigh, an
+ instance of natv2NotificationPoolUsageHigh may be triggered,
+ unless disabled by setting it to -1.
+
+ Reporting is subject to the per-pool notification interval
+ given by natv2PoolNotificationInterval. If multiple
+ notifications are triggered during one interval, the agent
+ MUST report only the one with the highest value of
+ natv2PoolNotifiedPortMapEntries and discard the others.
+ In the rare case where both upper and lower thresholds
+ are crossed in the same interval, the agent MUST report only
+ the upper-threshold notification.
+
+ Implementation note: the percentage specified by this object
+ can be converted to a number of port map entries at
+ configuration time (after port and address ranges have been
+ configured or reconfigured) and compared to the current
+ value of natv2PoolNotifiedPortMapEntries."
+ DEFVAL { -1 }
+ ::= { natv2PoolEntry 15 }
+
+natv2PoolNotifiedPortMapEntries OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "Number of port map entries using addresses and ports from
+ this address pool for the most-used protocol at a given
+ instant. One of the objects returned by
+ natv2NotificationPoolUsageLow and
+ natv2NotificationPoolUsageHigh."
+ ::= { natv2PoolEntry 16 }
+
+natv2PoolNotifiedPortMapProtocol OBJECT-TYPE
+ SYNTAX ProtocolNumber
+
+
+
+Perreault, et al. Standards Track [Page 57]
+
+RFC 7659 NAT MIB October 2015
+
+
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "The most-used protocol (i.e., with the largest number of
+ port map entries) mapped into this address pool at a given
+ instant. One of the objects returned by
+ natv2NotificationPoolUsageLow and
+ natv2NotificationPoolUsageHigh."
+ ::= { natv2PoolEntry 17 }
+
+natv2PoolNotificationInterval OBJECT-TYPE
+ SYNTAX Unsigned32 (1..3600)
+ UNITS
+ "Seconds"
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Minimum number of seconds between successive
+ notifications for this address pool. Controls the generation
+ of natv2NotificationPoolUsageLow and
+ natv2NotificationPoolUsageHigh."
+ DEFVAL
+ { 20 }
+ ::= { natv2PoolEntry 18 }
+
+
+natv2PoolRangeTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Natv2PoolRangeEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table contains address ranges used by pool entries.
+ It is an expansion of natv2PoolTable."
+ REFERENCE
+ "RFC 7659, Section 3.3.7."
+ ::= { natv2MIBInstanceObjects 4 }
+
+natv2PoolRangeEntry OBJECT-TYPE
+ SYNTAX Natv2PoolRangeEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "NAT pool address range."
+ INDEX {
+ natv2PoolRangeInstanceIndex,
+ natv2PoolRangePoolIndex,
+ natv2PoolRangeRowIndex
+ }
+
+
+
+Perreault, et al. Standards Track [Page 58]
+
+RFC 7659 NAT MIB October 2015
+
+
+ ::= { natv2PoolRangeTable 1 }
+
+Natv2PoolRangeEntry ::=
+ SEQUENCE {
+ natv2PoolRangeInstanceIndex Natv2InstanceIndex,
+ natv2PoolRangePoolIndex Natv2PoolIndex,
+ natv2PoolRangeRowIndex Unsigned32,
+ natv2PoolRangeBegin InetAddress,
+ natv2PoolRangeEnd InetAddress
+ }
+
+natv2PoolRangeInstanceIndex OBJECT-TYPE
+ SYNTAX Natv2InstanceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Index of the NAT instance on which the address pool and this
+ address range are configured. See Natv2InstanceIndex."
+ ::= { natv2PoolRangeEntry 1 }
+
+natv2PoolRangePoolIndex OBJECT-TYPE
+ SYNTAX Natv2PoolIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Index of the address pool to which this address range
+ belongs. See Natv2PoolIndex."
+ ::= { natv2PoolRangeEntry 2 }
+
+natv2PoolRangeRowIndex OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Row index for successive range entries for the same
+ address pool."
+ ::= { natv2PoolRangeEntry 3 }
+
+natv2PoolRangeBegin OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Lowest address included in this range. The type of address
+ (IPv4 or IPv6) is given by natv2PoolAddressType
+ in natv2PoolTable."
+ ::= { natv2PoolRangeEntry 4 }
+
+
+
+
+Perreault, et al. Standards Track [Page 59]
+
+RFC 7659 NAT MIB October 2015
+
+
+natv2PoolRangeEnd OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Highest address included in this range. The type of address
+ (IPv4 or IPv6) is given by natv2PoolAddressType
+ in natv2PoolTable."
+ ::= { natv2PoolRangeEntry 5 }
+
+-- Indexed mapping tables
+
+-- Address Map Table. Mapped from the internal to external address.
+
+natv2AddressMapTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Natv2AddressMapEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Table of mappings from the internal to external address. By
+ definition, this is a snapshot of NAT instance state at a
+ given moment. Indexed by NAT instance, internal realm, and
+ internal address in that realm. Provides the mapped external
+ address and, depending on implementation support, identifies
+ the address pool from which the external address and port
+ were taken and the index of the subscriber to which the
+ mapping has been allocated.
+
+ In the case of DS-Lite (RFC 6333), the indexing realm and
+ address are those of the IPv6 encapsulation rather than the
+ IPv4 inner packet."
+ REFERENCE
+ "RFC 7659, Section 3.3.8. DS-Lite: RFC 6333"
+ ::= { natv2MIBInstanceObjects 5 }
+
+natv2AddressMapEntry OBJECT-TYPE
+ SYNTAX Natv2AddressMapEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Mapping from internal to external address."
+ INDEX { natv2AddressMapInstanceIndex,
+ natv2AddressMapInternalRealm,
+ natv2AddressMapInternalAddressType,
+ natv2AddressMapInternalAddress,
+ natv2AddressMapRowIndex }
+ ::= { natv2AddressMapTable 1 }
+
+
+
+
+Perreault, et al. Standards Track [Page 60]
+
+RFC 7659 NAT MIB October 2015
+
+
+Natv2AddressMapEntry ::=
+ SEQUENCE {
+ natv2AddressMapInstanceIndex Natv2InstanceIndex,
+ natv2AddressMapInternalRealm SnmpAdminString,
+ natv2AddressMapInternalAddressType InetAddressType,
+ natv2AddressMapInternalAddress InetAddress,
+ natv2AddressMapRowIndex Unsigned32,
+ natv2AddressMapInternalMappedAddressType InetAddressType,
+ natv2AddressMapInternalMappedAddress InetAddress,
+ natv2AddressMapExternalRealm SnmpAdminString,
+ natv2AddressMapExternalAddressType InetAddressType,
+ natv2AddressMapExternalAddress InetAddress,
+ natv2AddressMapExternalPoolIndex Natv2PoolIndexOrZero,
+ natv2AddressMapSubscriberIndex Natv2SubscriberIndexOrZero
+ }
+
+natv2AddressMapInstanceIndex OBJECT-TYPE
+ SYNTAX Natv2InstanceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Index of the NAT instance that generated this address map."
+ ::= { natv2AddressMapEntry 1 }
+
+natv2AddressMapInternalRealm OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Realm to which the internal address belongs. In most cases,
+ this is the realm defining the address space of the packet
+ being translated. However, in the case of DS-Lite (RFC
+ 6333), this realm defines the IPv6 outer header address
+ space. It is the combination of that outer header and
+ the inner IPv4 packet header that is remapped to the
+ external address and realm. The corresponding IPv4 realm is
+ restricted in scope to the tunnel, so there is no point in
+ identifying it. The mapped IPv4 address will normally be the
+ well-known value 192.0.0.2, or at least lie in the reserved
+ 192.0.0.0/29 range.
+
+ If natv2AddressMapSubscriberIndex in this table is a valid
+ subscriber index (i.e., greater than zero), then the value
+ of natv2AddressMapInternalRealm MUST be identical to the
+ value of natv2SubscriberRealm associated with that index."
+ REFERENCE
+ "DS-Lite: RFC 6333, Sections 5.7 (for well-known addresses)
+ and 6.6 (on the need to have the IPv6 tunnel address in
+
+
+
+Perreault, et al. Standards Track [Page 61]
+
+RFC 7659 NAT MIB October 2015
+
+
+ the NAT mapping tables)."
+ ::= { natv2AddressMapEntry 2 }
+
+natv2AddressMapInternalAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Address type in the header of packets on the
+ interior side of this mapping. Any value other than ipv4(1)
+ or ipv6(2) would be unexpected.
+
+ In the DS-Lite case, the address type is ipv6(2)."
+ REFERENCE
+ "DS-Lite: RFC 6333, Sections 5.7 (for well-known addresses)
+ and 6.6 (on the need to have the IPv6 tunnel source
+ address in the NAT mapping tables)."
+ ::= { natv2AddressMapEntry 3 }
+
+natv2AddressMapInternalAddress OBJECT-TYPE
+ SYNTAX InetAddress (SIZE (0..16))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Source address of packets originating from the interior
+ of the association provided by this mapping. The address
+ type is given by natv2AddressMapInternalAddressType.
+
+ In the case of DS-Lite (RFC 6333), this is the IPv6 tunnel
+ source address. The mapping in this case is considered to
+ be from the combination of the IPv6 tunnel source address
+ natv2AddressMapInternalRealmAddress and the well-known IPv4
+ inner source address natv2AddressMapInternalMappedAddress to
+ the external address."
+ REFERENCE
+ "DS-Lite: RFC 6333, Sections 5.7 (for well-known addresses)
+ and 6.6 (on the need to have the IPv6 tunnel address in
+ the NAT mapping tables)."
+ ::= { natv2AddressMapEntry 4 }
+
+natv2AddressMapRowIndex OBJECT-TYPE
+ SYNTAX Unsigned32
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Index of a conceptual row corresponding to a mapping of the
+ given internal realm and address to a single external realm
+ and address. Multiple rows will be present because of a
+
+
+
+Perreault, et al. Standards Track [Page 62]
+
+RFC 7659 NAT MIB October 2015
+
+
+ promiscuous external address selection policy, policies
+ associating the same internal address with different address
+ pools, or because the same internal realm-address
+ combination is communicating with multiple external address
+ realms."
+ ::= { natv2AddressMapEntry 5 }
+
+natv2AddressMapInternalMappedAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Internal address type actually translated by this mapping.
+ Any value other than ipv4(1) or ipv6(2) would be unexpected.
+ In the general case, this is the same as given by
+ natv2AddressMapInternalRealmAddressType. In the
+ tunneled case, it is the address type used in the
+ encapsulated packet header. In particular, in the DS-Lite
+ case, the mapped address type is ipv4(1)."
+ REFERENCE
+ "DS-Lite: RFC 6333."
+ ::= { natv2AddressMapEntry 6 }
+
+natv2AddressMapInternalMappedAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Internal address actually translated by this mapping. In the
+ general case, this is the same as
+ natv2AddressMapInternalRealmAddress. The address type is
+ given by natv2AddressMapInternalMappedAddressType. In the
+ case of DS-Lite (RFC 6333), this is the source address of
+ the encapsulated IPv4 packet, normally lying in the well-known
+ range 192.0.0.0/29. The mapping in this case is considered
+ to be from the combination of the IPv6 tunnel source address
+ natv2AddressMapInternalRealmAddress and the well-known IPv4
+ inner source address natv2AddressMapInternalMappedAddress to
+ the external address."
+ REFERENCE
+ "DS-Lite: RFC 6333, Sections 5.7 (for well-known addresses)
+ and 6.6 (on the need to have the IPv6 tunnel address in
+ the NAT mapping tables)."
+ ::= { natv2AddressMapEntry 7 }
+
+natv2AddressMapExternalRealm OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS read-only
+
+
+
+Perreault, et al. Standards Track [Page 63]
+
+RFC 7659 NAT MIB October 2015
+
+
+ STATUS current
+ DESCRIPTION
+ "External address realm to which this mapping maps the
+ internal address. This can be the same as the internal realm
+ in the case of a 'hairpin' connection, but otherwise will be
+ different."
+ ::= { natv2AddressMapEntry 8 }
+
+natv2AddressMapExternalAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Address type for the external realm. Any value other than
+ ipv4(1) or ipv6(2) would be unexpected."
+ ::= { natv2AddressMapEntry 9 }
+
+natv2AddressMapExternalAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "External address to which the internal address is mapped.
+ The address type is given by
+ natv2AddressMapExternalAddressType.
+
+ In the DS-Lite case, the mapping is from the combination of
+ the internal IPv6 tunnel source address as presented in this
+ table and the well-known IPv4 source address of the
+ encapsulated IPv4 packet."
+ REFERENCE
+ "DS-Lite: RFC 6333, Sections 5.7 (for well-known addresses)
+ and 6.6 (on the need to have the IPv6 tunnel address in
+ the NAT mapping tables)."
+ ::= { natv2AddressMapEntry 10 }
+
+natv2AddressMapExternalPoolIndex OBJECT-TYPE
+ SYNTAX Natv2PoolIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Index of the address pool in the external realm from which
+ the mapped external address given in
+ natv2AddressMapExternalAddress was taken. Zero if the
+ implementation does not support address pools but has chosen
+ to support this object or if no pool was configured for the
+ given external realm."
+ ::= { natv2AddressMapEntry 11 }
+
+
+
+Perreault, et al. Standards Track [Page 64]
+
+RFC 7659 NAT MIB October 2015
+
+
+natv2AddressMapSubscriberIndex OBJECT-TYPE
+ SYNTAX Natv2SubscriberIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Index of the subscriber to which this address mapping
+ applies, or zero if no subscribers are configured on
+ this NAT instance."
+ ::= { natv2AddressMapEntry 12 }
+
+-- natv2PortMapTable
+
+natv2PortMapTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF Natv2PortMapEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Table of port map entries indexed by the NAT instance,
+ protocol, and external realm and address. A port map entry
+ associates an internal upper-layer protocol endpoint with an
+ endpoint for the same protocol in the given external realm.
+ By definition, this is a snapshot of NAT instance state at
+ a given moment. The table provides the basic mapping
+ information.
+
+ In the case of DS-Lite (RFC 6333), the table provides the
+ internal IPv6 tunnel source address in
+ natv2PortMapInternalRealmAddress and the IPv4 source address
+ of the encapsulated packet that is actually translated in
+ natv2PortMapInternalMappedAddress. In the general (non-DS-
+ Lite) case, those two objects will have the same value."
+ REFERENCE
+ "RFC 7659, Section 3.3.9.
+ DS-Lite: RFC 6333, Sections 5.7
+ (for well-known addresses) and 6.6 (on the need to have the
+ IPv6 tunnel address in the NAT mapping tables)."
+ ::= { natv2MIBInstanceObjects 6 }
+
+natv2PortMapEntry OBJECT-TYPE
+ SYNTAX Natv2PortMapEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A single NAT mapping."
+ INDEX { natv2PortMapInstanceIndex,
+ natv2PortMapProtocol,
+ natv2PortMapExternalRealm,
+ natv2PortMapExternalAddressType,
+
+
+
+Perreault, et al. Standards Track [Page 65]
+
+RFC 7659 NAT MIB October 2015
+
+
+ natv2PortMapExternalAddress,
+ natv2PortMapExternalPort }
+ ::= { natv2PortMapTable 1 }
+
+Natv2PortMapEntry ::=
+ SEQUENCE {
+ natv2PortMapInstanceIndex Natv2InstanceIndex,
+ natv2PortMapProtocol ProtocolNumber,
+ natv2PortMapExternalRealm SnmpAdminString,
+ natv2PortMapExternalAddressType InetAddressType,
+ natv2PortMapExternalAddress InetAddress,
+ natv2PortMapExternalPort InetPortNumber,
+ natv2PortMapInternalRealm SnmpAdminString,
+ natv2PortMapInternalAddressType InetAddressType,
+ natv2PortMapInternalAddress InetAddress,
+ natv2PortMapInternalMappedAddressType InetAddressType,
+ natv2PortMapInternalMappedAddress InetAddress,
+ natv2PortMapInternalPort InetPortNumber,
+ natv2PortMapExternalPoolIndex Natv2PoolIndexOrZero,
+ natv2PortMapSubscriberIndex Natv2SubscriberIndexOrZero
+ }
+
+natv2PortMapInstanceIndex OBJECT-TYPE
+ SYNTAX Natv2InstanceIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Index of the NAT instance that created this port map entry."
+ ::= { natv2PortMapEntry 1 }
+
+natv2PortMapProtocol OBJECT-TYPE
+ SYNTAX ProtocolNumber
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The map entry's upper-layer protocol number."
+ ::= { natv2PortMapEntry 2 }
+
+natv2PortMapExternalRealm OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The realm to which natv2PortMapExternalAddress belongs."
+ ::= { natv2PortMapEntry 3 }
+
+natv2PortMapExternalAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+
+
+
+Perreault, et al. Standards Track [Page 66]
+
+RFC 7659 NAT MIB October 2015
+
+
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Address type for the external realm. A value other
+ than ipv4(1) or ipv6(2) would be unexpected."
+ ::= { natv2PortMapEntry 4 }
+
+natv2PortMapExternalAddress OBJECT-TYPE
+ SYNTAX InetAddress (SIZE (0..16))
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The mapping's assigned external address. (This address is
+ taken from the address pool identified by
+ natv2PortMapExternalPoolIndex, if the implementation
+ supports address pools and pools are configured for the
+ given external realm.) This is the source address for
+ translated outgoing packets. The address type is given
+ by natv2PortMapExternalAddressType."
+
+ ::= { natv2PortMapEntry 5 }
+
+natv2PortMapExternalPort OBJECT-TYPE
+ SYNTAX InetPortNumber
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The mapping's assigned external port number. This is the
+ source port for translated outgoing packets. If the internal
+ port number given by natv2PortMapInternalPort is zero, this
+ value MUST also be zero. Otherwise, this MUST be a non-zero
+ value."
+ ::= { natv2PortMapEntry 6 }
+
+natv2PortMapInternalRealm OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE(0..32))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The realm to which natv2PortMapInternalRealmAddress belongs.
+ In the general case, this realm contains the address that is
+ being translated. In the DS-Lite (RFC 6333) case, this realm
+ defines the IPv6 address space from which the tunnel source
+ address is taken. The realm of the encapsulated IPv4 address
+ is restricted in scope to the tunnel, so there is no point
+ in identifying it separately."
+ REFERENCE
+ "DS-Lite: RFC 6333."
+
+
+
+Perreault, et al. Standards Track [Page 67]
+
+RFC 7659 NAT MIB October 2015
+
+
+ ::= { natv2PortMapEntry 7 }
+
+natv2PortMapInternalAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Address type for addresses in the realm identified by
+ natv2PortMapInternalRealm."
+ ::= { natv2PortMapEntry 8 }
+
+natv2PortMapInternalAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Source address for packets received under this mapping on
+ the internal side of the NAT instance. In the general case,
+ this address is the same as the address given in
+ natv2PortMapInternalMappedAddress. In the DS-Lite case,
+ natv2PortMapInternalAddress is the IPv6 tunnel source
+ address. The address type is given
+ by natv2PortMapInternalAddressType."
+ REFERENCE
+ "DS-Lite: RFC 6333, Sections 5.7 (for well-known addresses)
+ and 6.6 (on the need to have the IPv6 tunnel address in
+ the NAT mapping tables)."
+ ::= { natv2PortMapEntry 9 }
+
+natv2PortMapInternalMappedAddressType OBJECT-TYPE
+ SYNTAX InetAddressType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Internal address type actually translated by this mapping.
+ Any value other than ipv4(1) or ipv6(2) would be unexpected.
+ In the general case, this is the same as given by
+ natv2AddressMapInternalAddressType. In the DS-Lite
+ case, the address type is ipv4(1)."
+ REFERENCE
+ "DS-Lite: RFC 6333."
+ ::= { natv2PortMapEntry 10 }
+
+natv2PortMapInternalMappedAddress OBJECT-TYPE
+ SYNTAX InetAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+
+
+
+Perreault, et al. Standards Track [Page 68]
+
+RFC 7659 NAT MIB October 2015
+
+
+ "Internal address actually translated by this mapping. In the
+ general case, this is the same as
+ natv2PortMapInternalRealmAddress. The address type is given
+ by natv2PortMapInternalMappedAddressType.
+
+ In the case of DS-Lite (RFC 6333), this is the source
+ address of the encapsulated IPv4 packet, normally selected
+ from the well-known range 192.0.0.0/29. The mapping in this
+ case is considered to be from the external address to the
+ combination of the IPv6 tunnel source address
+ natv2PortMapInternalRealmAddress and the well-known IPv4
+ inner source address natv2PortMapInternalMappedAddress."
+ REFERENCE
+ "DS-Lite: RFC 6333, Sections 5.7 (for well-known addresses)
+ and 6.6 (on the need to have the IPv6 tunnel address in
+ the NAT mapping tables)."
+ ::= { natv2PortMapEntry 11 }
+
+natv2PortMapInternalPort OBJECT-TYPE
+ SYNTAX InetPortNumber
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The mapping's internal port number. If this is zero, ports
+ are not translated (i.e., the NAT instance is a pure NAT
+ rather than a Network Address and Port Translator (NAPT))."
+ ::= { natv2PortMapEntry 12 }
+
+natv2PortMapExternalPoolIndex OBJECT-TYPE
+ SYNTAX Natv2PoolIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Identifies the address pool from which the external address
+ in this port map entry was taken. Zero if the implementation
+ does not support address pools but has chosen to support
+ this object or if no pools are configured for the given
+ external realm."
+ ::= { natv2PortMapEntry 13 }
+
+natv2PortMapSubscriberIndex OBJECT-TYPE
+ SYNTAX Natv2SubscriberIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Subscriber using this map entry. Zero if the implementation
+ does not support subscribers but has chosen to support
+ this object."
+
+
+
+Perreault, et al. Standards Track [Page 69]
+
+RFC 7659 NAT MIB October 2015
+
+
+ ::= { natv2PortMapEntry 14 }
+
+-- Conformance section. Specifies three cumulatively more extensive
+-- applications: basic NAT, pooled NAT, and carrier-grade NAT.
+
+natv2MIBConformance OBJECT IDENTIFIER ::= { natv2MIB 3 }
+
+natv2MIBCompliances OBJECT IDENTIFIER ::= { natv2MIBConformance 1 }
+natv2MIBGroups OBJECT IDENTIFIER ::= { natv2MIBConformance 2 }
+
+natv2MIBBasicCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "Describes the requirements for conformance to the basic NAT
+ application of NATV2-MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS { natv2BasicNotificationGroup,
+ natv2BasicInstanceLevelGroup
+ }
+ ::= { natv2MIBCompliances 1 }
+
+natv2MIBPooledNATCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "Describes the requirements for conformance to the pooled NAT
+ application of NATV2-MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS { natv2BasicNotificationGroup,
+ natv2BasicInstanceLevelGroup,
+ natv2PooledNotificationGroup,
+ natv2PooledInstanceLevelGroup
+ }
+ ::= { natv2MIBCompliances 2 }
+
+natv2MIBCGNCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "Describes the requirements for conformance to the
+ carrier-grade NAT application of NATV2-MIB."
+ MODULE -- this module
+ MANDATORY-GROUPS { natv2BasicNotificationGroup,
+ natv2BasicInstanceLevelGroup,
+ natv2PooledNotificationGroup,
+ natv2PooledInstanceLevelGroup,
+ natv2CGNNotificationGroup,
+ natv2CGNDeviceLevelGroup,
+ natv2CGNInstanceLevelGroup
+ }
+
+
+
+Perreault, et al. Standards Track [Page 70]
+
+RFC 7659 NAT MIB October 2015
+
+
+ ::= { natv2MIBCompliances 3 }
+
+-- Groups
+
+natv2BasicNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ natv2NotificationInstanceAddressMapEntriesHigh,
+ natv2NotificationInstancePortMapEntriesHigh
+ }
+ STATUS current
+ DESCRIPTION
+ "Notifications that MUST be supported by all NAT
+ applications."
+ ::= { natv2MIBGroups 1 }
+
+natv2BasicInstanceLevelGroup OBJECT-GROUP
+ OBJECTS {
+-- from natv2InstanceTable
+ natv2InstanceAlias,
+ natv2InstancePortMappingBehavior,
+ natv2InstanceFilteringBehavior,
+ natv2InstanceFragmentBehavior,
+ natv2InstanceAddressMapEntries,
+ natv2InstancePortMapEntries,
+ natv2InstanceTranslations,
+ natv2InstanceAddressMapCreations,
+ natv2InstanceAddressMapEntryLimitDrops,
+ natv2InstanceAddressMapFailureDrops,
+ natv2InstancePortMapCreations,
+ natv2InstancePortMapEntryLimitDrops,
+ natv2InstancePortMapFailureDrops,
+ natv2InstanceFragmentDrops,
+ natv2InstanceOtherResourceFailureDrops,
+ natv2InstanceDiscontinuityTime,
+ natv2InstanceThresholdAddressMapEntriesHigh,
+ natv2InstanceThresholdPortMapEntriesHigh,
+ natv2InstanceNotificationInterval,
+ natv2InstanceLimitAddressMapEntries,
+ natv2InstanceLimitPortMapEntries,
+ natv2InstanceLimitPendingFragments,
+-- from natv2ProtocolTable
+ natv2ProtocolPortMapEntries,
+ natv2ProtocolTranslations,
+ natv2ProtocolPortMapCreations,
+ natv2ProtocolPortMapFailureDrops,
+-- from natv2AddressMapTable
+ natv2AddressMapExternalRealm,
+ natv2AddressMapExternalAddressType,
+
+
+
+Perreault, et al. Standards Track [Page 71]
+
+RFC 7659 NAT MIB October 2015
+
+
+ natv2AddressMapExternalAddress,
+-- from natv2PortMapTable
+ natv2PortMapInternalRealm,
+ natv2PortMapInternalAddressType,
+ natv2PortMapInternalAddress,
+ natv2PortMapInternalPort
+ }
+ STATUS current
+ DESCRIPTION
+ "Per-instance objects that MUST be supported by
+ implementations of all NAT applications."
+ ::= { natv2MIBGroups 2 }
+
+natv2PooledNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ natv2NotificationPoolUsageLow,
+ natv2NotificationPoolUsageHigh
+ }
+ STATUS current
+ DESCRIPTION
+ "Notifications that MUST be supported by pooled and
+ carrier-grade NAT applications."
+ ::= { natv2MIBGroups 3 }
+
+natv2PooledInstanceLevelGroup OBJECT-GROUP
+ OBJECTS {
+-- from natv2InstanceTable
+ natv2InstancePoolingBehavior,
+-- from natv2PoolTable
+ natv2PoolRealm,
+ natv2PoolAddressType,
+ natv2PoolMinimumPort,
+ natv2PoolMaximumPort,
+ natv2PoolAddressMapEntries,
+ natv2PoolPortMapEntries,
+ natv2PoolAddressMapCreations,
+ natv2PoolPortMapCreations,
+ natv2PoolAddressMapFailureDrops,
+ natv2PoolPortMapFailureDrops,
+ natv2PoolDiscontinuityTime,
+ natv2PoolThresholdUsageLow,
+ natv2PoolThresholdUsageHigh,
+ natv2PoolNotifiedPortMapEntries,
+ natv2PoolNotifiedPortMapProtocol,
+ natv2PoolNotificationInterval,
+-- from natv2PoolRangeTable
+ natv2PoolRangeBegin,
+ natv2PoolRangeEnd,
+
+
+
+Perreault, et al. Standards Track [Page 72]
+
+RFC 7659 NAT MIB October 2015
+
+
+-- from natv2AddressMapTable
+ natv2AddressMapExternalPoolIndex,
+-- from natv2PortMapTable
+ natv2PortMapExternalPoolIndex
+ }
+ STATUS current
+ DESCRIPTION
+ "Per-instance objects that MUST be supported by
+ implementations of the pooled and carrier-grade
+ NAT applications."
+ ::= { natv2MIBGroups 4 }
+
+natv2CGNNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ natv2NotificationSubscriberPortMappingEntriesHigh
+ }
+ STATUS current
+ DESCRIPTION
+ "Notification that MUST be supported by implementations
+ of the carrier-grade NAT application."
+ ::= { natv2MIBGroups 5 }
+
+natv2CGNDeviceLevelGroup OBJECT-GROUP
+ OBJECTS {
+-- from table natv2SubscriberTable
+ natv2SubscriberInternalRealm,
+ natv2SubscriberInternalPrefixType,
+ natv2SubscriberInternalPrefix,
+ natv2SubscriberInternalPrefixLength,
+ natv2SubscriberAddressMapEntries,
+ natv2SubscriberPortMapEntries,
+ natv2SubscriberTranslations,
+ natv2SubscriberAddressMapCreations,
+ natv2SubscriberPortMapCreations,
+ natv2SubscriberAddressMapFailureDrops,
+ natv2SubscriberPortMapFailureDrops,
+ natv2SubscriberDiscontinuityTime,
+ natv2SubscriberLimitPortMapEntries,
+ natv2SubscriberThresholdPortMapEntriesHigh,
+ natv2SubscriberNotificationInterval
+ }
+ STATUS current
+ DESCRIPTION
+ "Device-level objects that MUST be supported by the
+ carrier-grade NAT application."
+ ::= { natv2MIBGroups 6 }
+
+natv2CGNInstanceLevelGroup OBJECT-GROUP
+
+
+
+Perreault, et al. Standards Track [Page 73]
+
+RFC 7659 NAT MIB October 2015
+
+
+ OBJECTS {
+ -- from natv2InstanceTable
+ natv2InstanceSubscriberActiveLimitDrops,
+ natv2InstanceLimitSubscriberActives,
+ -- from natv2AddressMapTable
+ natv2AddressMapInternalMappedAddressType,
+ natv2AddressMapInternalMappedAddress,
+ natv2AddressMapSubscriberIndex,
+ -- from natv2PortMapTable
+ natv2PortMapInternalMappedAddressType,
+ natv2PortMapInternalMappedAddress,
+ natv2PortMapSubscriberIndex
+ }
+ STATUS current
+ DESCRIPTION
+ "Per-instance objects that MUST be supported by the
+ carrier-grade NAT application."
+ ::= { natv2MIBGroups 7 }
+
+END
+
+5. Operational and Management Considerations
+
+ This section covers two particular areas of operations and
+ management: configuration requirements and transition from or
+ coexistence with the MIB module in [RFC4008].
+
+5.1. Configuration Requirements
+
+ This MIB module assumes that the following information is configured
+ on the NAT device by means outside the scope of the present document
+ or is imposed by the implementation:
+
+ o the set of address realms to which the device connects;
+
+ o for the CGN application, per-subscriber information including
+ subscriber index, address realm, assigned prefix or address, and
+ (possibly) policies regarding address pool selection in the
+ various possible address realms to which the subscriber may
+ connect. In the particular case of DS-Lite [RFC6333] access, as
+ well as the assigned outer-layer (IPv6) prefix or address, the
+ subscriber information will include an inner (IPv4) source
+ address, usually 192.0.0.2;
+
+ o the set of NAT instances running on the device, identified by NAT
+ instance index and name;
+
+
+
+
+
+Perreault, et al. Standards Track [Page 74]
+
+RFC 7659 NAT MIB October 2015
+
+
+ o the port mapping, filtering, pooling, and fragment behavior for
+ each NAT instance;
+
+ o the set of protocols supported by each NAT instance;
+
+ o for the pooled NAT and CGN applications, address pool information
+ for each NAT instance, including for each pool the pool index,
+ address realm, address type, minimum and maximum port number, the
+ address ranges assigned to that pool, and policies for access to
+ that pool's resources;
+
+ o static address and port map entries.
+
+ As described in previous sections, this MIB module does provide read-
+ write objects for control of notifications (see especially
+ Section 3.1.2) and limiting of resource consumption (Section 3.1.1).
+ This document is written in advance of any practical experience with
+ the setting of these values and can thus provide only general
+ principles for how to set them.
+
+ By default, the MIB module definition disables notifications until
+ they are explicitly enabled by the operator, using the associated
+ threshold value to do so. To make use of the notifications, the
+ operator may wish to take the following considerations into account.
+
+ Except for the low address pool utilization notification, the
+ notifications imply that some sort of administrative action is
+ required to mitigate an impending shortage of a particular resource.
+ The choice of value for the triggering threshold needs to take two
+ factors into account: the volatility of usage of the given resource,
+ and the amount of time the operator needs to mitigate the potential
+ overload situation. That time could vary from almost immediate to
+ several weeks required to order and install new hardware or software.
+
+ To give a numeric example, if average utilization is going up 1% per
+ week but can vary 10% around that average in any given hour, and it
+ takes two weeks to carry through mitigating measures, the threshold
+ should be set to 88% of the corresponding limit (two weeks' growth
+ plus 10% volatility margin). If mitigating measures can be carried
+ out immediately, this can rise to 90%. For this particular example,
+ that change is insignificant, but in other cases the difference may
+ be large enough to matter in terms of reduced load on the management
+ plane.
+
+ The notification rate-limit settings really depend on the operator's
+ processes but are a tradeoff between reliably reporting the notified
+ condition and not having it overload the management plane.
+ Reliability rises in importance with the importance of the resource
+
+
+
+Perreault, et al. Standards Track [Page 75]
+
+RFC 7659 NAT MIB October 2015
+
+
+ involved. Thus, the default notification intervals defined in this
+ MIB module range from 10 seconds (high reliability) for the address
+ and port map entry thresholds up to 60 seconds (lower reliability)
+ for the per-subscriber port entry thresholds. Experience may suggest
+ better values.
+
+ The limits on number of instance-level address map and port map
+ entries and held fragments relate directly to memory allocations for
+ these tables. The relationship between number of map entries or
+ number of held fragments and memory required will be implementation-
+ specific. Hence it is up to the implementor to provide specific
+ advice on the setting of these limits.
+
+ The limit on simultaneous number of active subscribers is indirectly
+ related to memory consumption for map entries, but also to processor
+ usage by the NAT instance. The best strategy for setting this limit
+ would seem to be to leave it disabled during an initial period while
+ observing device processor utilization, then to implement a trial
+ setting while observing the number of blocked packets affected by the
+ new limit. The setting may vary by NAT instance if a suitable
+ estimator of likely load (e.g., total number of hosts served by that
+ instance) is available.
+
+5.2. Transition from and Coexistence with NAT-MIB (RFC 4008)
+
+ A manager may have to deal with a mixture of devices supporting the
+ NAT-MIB module [RFC4008] and the NATV2-MIB module defined in the
+ present document. It is even possible that both modules are
+ supported on the same device. The following discussion brings out
+ the limits of comparability between the two MIB modules. A first
+ point to note is that NAT-MIB is primarily focused on configuration,
+ while NATV2-MIB is primarily focused on measurements.
+
+ To summarize the model used by [RFC4008]:
+
+ o The basic unit of NAT configuration is the interface.
+
+ o An interface connects to a single realm, either "private" or
+ "public". In principle that means there could be multiple
+ instances of one type of realm or the other, but the number is
+ physically limited by the number of interfaces on the NAT device.
+
+ o Before the NAT can operate on a given interface, an "address map"
+ has to be configured on it. The address map in [RFC4008] is
+ equivalent to the pool tables in the present document. Since just
+ one "address map" is configured per interface, this is the
+ equivalent of a single address pool per interface.
+
+
+
+
+Perreault, et al. Standards Track [Page 76]
+
+RFC 7659 NAT MIB October 2015
+
+
+ o The address binding and port binding tables are roughly equivalent
+ to the address map and port map tables in the present document in
+ their content, but they can be either unidirectional or
+ bidirectional. The model in [RFC4008] shows the address binding
+ and port binding as alternative precursors to session
+ establishment, depending on whether the device does address
+ translation only or address and port translation. In contrast,
+ NATV2-MIB assumes a model where bidirectional port mappings are
+ based on bidirectional address mappings that have conceptually
+ been established beforehand.
+
+ o The equivalent to an [RFC4008] session in NATV2-MIB would be a
+ pair of port map entries. The added complexity in [RFC4008] is
+ due to the modeling of NAT service types as defined in [RFC3489]
+ (the symmetric NAT in particular) instead of the more granular set
+ of behaviors described in [RFC4787]. (Note: [RFC3489] has been
+ obsoleted by [RFC5389].)
+
+ With regard to that last point, the mapping between [RFC3489] service
+ types and [RFC4787] NAT behaviors is as follows:
+
+ o A full cone NAT exhibits endpoint-independent port mapping
+ behavior and endpoint-independent filtering behavior.
+
+ o A restricted cone NAT exhibits endpoint-independent port mapping
+ behavior, but address-dependent filtering behavior.
+
+ o A port restricted cone NAT exhibits endpoint-independent port
+ mapping behavior, but address-and-port-dependent filtering
+ behavior.
+
+ o A symmetric NAT exhibits address-and-port-dependent port mapping
+ and filtering behaviors.
+
+ Note that these NAT types are a subset of the types that could be
+ configured according to the [RFC4787] behavioral classification used
+ in NATV2-MIB, but they include the two possibilities (full and
+ restricted cone NAT) that satisfy requirements REQ-1 and REQ-8 of
+ [RFC4787]. Note further that other behaviors defined in [RFC4787]
+ are not considered in [RFC4008].
+
+ Having established a context for discussion, we are now in a position
+ to compare the outputs provided to management from the [RFC4008] and
+ NATV2-MIB modules. This comparison relates to the ability to compare
+ results if testing with both MIBs implemented on the same device
+ during a transition period.
+
+
+
+
+
+Perreault, et al. Standards Track [Page 77]
+
+RFC 7659 NAT MIB October 2015
+
+
+ [RFC4008] provides three counters: incoming translations, outgoing
+ translations, and discarded packets, at the granularities of
+ interface, address map, and protocol, and incoming and outgoing
+ translations at the levels of individual address bind, address port
+ bind, and session entries. Implementation at the protocol and
+ address map levels is optional. NATV2-MIB provides a single total
+ (both directions) translations counter at the instance, protocol
+ within instance, and subscriber levels. Given the differences in
+ granularity, it appears that the only comparable measurement of
+ translations between the two MIB modules would be through aggregation
+ of the [RFC4008] interface counters to give a total number of
+ translations for the NAT instance.
+
+ NATV2-MIB has broken out the single discard counter into a number of
+ different counters reflecting the cause of the discard in more
+ detail, to help in troubleshooting. Again, with the differing levels
+ of granularity, the only comparable statistic would be through
+ aggregation to a single value of total discards per NAT instance.
+
+ Moving on to state variables, [RFC4008] offers counts of number of
+ "address map" (i.e., address pool) entries used (excluding static
+ entries) at the address map level and number of entries in the
+ address bind and address and port bind tables, respectively.
+ Finally, [RFC4008] provides a count of the number of sessions
+ currently using each entry in the address and port bind table. None
+ of these counts are directly comparable with the state values offered
+ by NATV2-MIB, because of the exclusion of static entries at the
+ address map level, and because of the differing models of the
+ translation tables between [RFC4008] and the NATV2-MIB.
+
+6. Security Considerations
+
+ There are a number of management objects defined in this MIB module
+ with a MAX-ACCESS clause of read-write. Such objects may be
+ considered sensitive or vulnerable in some network environments. The
+ support for SET operations in a non-secure environment without proper
+ protection opens devices to attack. These are the tables and objects
+ and their sensitivity/vulnerability:
+
+ Limits: An attacker setting a very low or very high limit can easily
+ cause a denial-of-service situation.
+
+ * natv2InstanceLimitAddressMapEntries;
+
+ * natv2InstanceLimitPortMapEntries;
+
+ * natv2InstanceLimitPendingFragments;
+
+
+
+
+Perreault, et al. Standards Track [Page 78]
+
+RFC 7659 NAT MIB October 2015
+
+
+ * natv2InstanceLimitSubscriberActives;
+
+ * natv2SubscriberLimitPortMapEntries.
+
+ Notification thresholds: An attacker setting an arbitrarily low
+ threshold can cause many useless notifications to be generated
+ (subject to the notification interval). Setting an arbitrarily
+ high threshold can effectively disable notifications, which could
+ be used to hide another attack.
+
+ * natv2InstanceThresholdAddressMapEntriesHigh;
+
+ * natv2InstanceThresholdPortMapEntriesHigh;
+
+ * natv2PoolThresholdUsageLow;
+
+ * natv2PoolThresholdUsageHigh;
+
+ * natv2SubscriberThresholdPortMapEntriesHigh.
+
+ Notification intervals: An attacker setting a low notification
+ interval in combination with a low threshold value can cause many
+ useless notifications to be generated.
+
+ * natv2InstanceNotificationInterval;
+
+ * natv2PoolNotificationInterval;
+
+ * natv2SubscriberNotificationInterval.
+
+ Some of the readable objects in this MIB module (i.e., objects with a
+ MAX-ACCESS other than not-accessible) may be considered sensitive or
+ vulnerable in some network environments. It is thus important to
+ control even GET and/or NOTIFY access to these objects and possibly
+ to even encrypt the values of these objects when sending them over
+ the network via SNMP. These are the tables and objects and their
+ sensitivity/vulnerability:
+
+ Objects that reveal host identities: Various objects can reveal the
+ identity of private hosts that are engaged in a session with
+ external end nodes. A curious outsider could monitor these to
+ assess the number of private hosts being supported by the NAT
+ device. Further, a disgruntled former employee of an enterprise
+ could use the information to break into specific private hosts by
+ intercepting the existing sessions or originating new sessions
+ into the host. If nothing else, unauthorized monitoring of these
+ objects will violate individual subscribers' privacy.
+
+
+
+
+Perreault, et al. Standards Track [Page 79]
+
+RFC 7659 NAT MIB October 2015
+
+
+ * entries in the natv2SubscriberTable;
+
+ * entries in the natv2AddressMapTable;
+
+ * entries in the natv2PortMapTable.
+
+ Other objects that reveal NAT state: Other managed objects in this
+ MIB may contain information that may be sensitive from a business
+ perspective, in that they may represent NAT capabilities, business
+ policies, and state information.
+
+ * natv2SubscriberLimitPortMapEntries;
+
+ * natv2InstancePortMappingBehavior;
+
+ * natv2InstanceFilteringBehavior;
+
+ * natv2InstancePoolingBehavior;
+
+ * natv2InstanceFragmentBehavior;
+
+ * natv2InstanceAddressMapEntries;
+
+ * natv2InstancePortMapEntries.
+
+ There are no objects that are sensitive in their own right, such as
+ passwords or monetary amounts.
+
+ SNMP versions prior to SNMPv3 did not include adequate security.
+ Even if the network itself is secure (for example by using IPsec),
+ there is no control as to who on the secure network is allowed to
+ access and GET/SET (read/change/create/delete) the objects in this
+ MIB module.
+
+ Implementations SHOULD provide the security features described by the
+ SNMPv3 framework (see [RFC3410]), and implementations claiming
+ compliance to the SNMPv3 standard MUST include full support for
+ authentication and privacy via the User-based Security Model (USM)
+ [RFC3414] with the AES cipher algorithm [RFC3826]. Implementations
+ MAY also provide support for the Transport Security Model (TSM)
+ [RFC5591] in combination with a secure transport such as SSH
+ [RFC5592] or TLS/DTLS [RFC6353].
+
+ Further, deployment of SNMP versions prior to SNMPv3 is NOT
+ RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to
+ enable cryptographic security. It is then a customer/operator
+ responsibility to ensure that the SNMP entity giving access to an
+ instance of this MIB module is properly configured to give access to
+
+
+
+Perreault, et al. Standards Track [Page 80]
+
+RFC 7659 NAT MIB October 2015
+
+
+ the objects only to those principals (users) that have legitimate
+ rights to indeed GET or SET (change/create/delete) them.
+
+7. IANA Considerations
+
+ IANA has assigned an object identifier to the natv2MIB module, with
+ prefix iso.org.dod.internet.mgmt.mib-2 in the SMI Numbers registry
+ [SMI-NUMBERS].
+
+8. References
+
+8.1. Normative References
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119,
+ DOI 10.17487/RFC2119, March 1997,
+ <http://www.rfc-editor.org/info/rfc2119>.
+
+ [RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J.
+ Schoenwaelder, Ed., "Structure of Management Information
+ Version 2 (SMIv2)", STD 58, RFC 2578,
+ DOI 10.17487/RFC2578, April 1999,
+ <http://www.rfc-editor.org/info/rfc2578>.
+
+ [RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J.
+ Schoenwaelder, Ed., "Textual Conventions for SMIv2",
+ STD 58, RFC 2579, DOI 10.17487/RFC2579, April 1999,
+ <http://www.rfc-editor.org/info/rfc2579>.
+
+ [RFC2580] McCloghrie, K., Ed., Perkins, D., Ed., and J.
+ Schoenwaelder, Ed., "Conformance Statements for SMIv2",
+ STD 58, RFC 2580, DOI 10.17487/RFC2580, April 1999,
+ <http://www.rfc-editor.org/info/rfc2580>.
+
+ [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An
+ Architecture for Describing Simple Network Management
+ Protocol (SNMP) Management Frameworks", STD 62, RFC 3411,
+ DOI 10.17487/RFC3411, December 2002,
+ <http://www.rfc-editor.org/info/rfc3411>.
+
+ [RFC3414] Blumenthal, U. and B. Wijnen, "User-based Security Model
+ (USM) for version 3 of the Simple Network Management
+ Protocol (SNMPv3)", STD 62, RFC 3414,
+ DOI 10.17487/RFC3414, December 2002,
+ <http://www.rfc-editor.org/info/rfc3414>.
+
+
+
+
+
+
+Perreault, et al. Standards Track [Page 81]
+
+RFC 7659 NAT MIB October 2015
+
+
+ [RFC3826] Blumenthal, U., Maino, F., and K. McCloghrie, "The
+ Advanced Encryption Standard (AES) Cipher Algorithm in the
+ SNMP User-based Security Model", RFC 3826,
+ DOI 10.17487/RFC3826, June 2004,
+ <http://www.rfc-editor.org/info/rfc3826>.
+
+ [RFC4001] Daniele, M., Haberman, B., Routhier, S., and J.
+ Schoenwaelder, "Textual Conventions for Internet Network
+ Addresses", RFC 4001, DOI 10.17487/RFC4001, February 2005,
+ <http://www.rfc-editor.org/info/rfc4001>.
+
+ [RFC4787] Audet, F., Ed. and C. Jennings, "Network Address
+ Translation (NAT) Behavioral Requirements for Unicast
+ UDP", BCP 127, RFC 4787, DOI 10.17487/RFC4787, January
+ 2007, <http://www.rfc-editor.org/info/rfc4787>.
+
+ [RFC5591] Harrington, D. and W. Hardaker, "Transport Security Model
+ for the Simple Network Management Protocol (SNMP)",
+ STD 78, RFC 5591, DOI 10.17487/RFC5591, June 2009,
+ <http://www.rfc-editor.org/info/rfc5591>.
+
+ [RFC5592] Harrington, D., Salowey, J., and W. Hardaker, "Secure
+ Shell Transport Model for the Simple Network Management
+ Protocol (SNMP)", RFC 5592, DOI 10.17487/RFC5592, June
+ 2009, <http://www.rfc-editor.org/info/rfc5592>.
+
+ [RFC6353] Hardaker, W., "Transport Layer Security (TLS) Transport
+ Model for the Simple Network Management Protocol (SNMP)",
+ STD 78, RFC 6353, DOI 10.17487/RFC6353, July 2011,
+ <http://www.rfc-editor.org/info/rfc6353>.
+
+8.2. Informative References
+
+ [RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
+ (IPv6) Specification", RFC 2460, DOI 10.17487/RFC2460,
+ December 1998, <http://www.rfc-editor.org/info/rfc2460>.
+
+ [RFC2663] Srisuresh, P. and M. Holdrege, "IP Network Address
+ Translator (NAT) Terminology and Considerations",
+ RFC 2663, DOI 10.17487/RFC2663, August 1999,
+ <http://www.rfc-editor.org/info/rfc2663>.
+
+ [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart,
+ "Introduction and Applicability Statements for Internet-
+ Standard Management Framework", RFC 3410,
+ DOI 10.17487/RFC3410, December 2002,
+ <http://www.rfc-editor.org/info/rfc3410>.
+
+
+
+
+Perreault, et al. Standards Track [Page 82]
+
+RFC 7659 NAT MIB October 2015
+
+
+ [RFC3489] Rosenberg, J., Weinberger, J., Huitema, C., and R. Mahy,
+ "STUN - Simple Traversal of User Datagram Protocol (UDP)
+ Through Network Address Translators (NATs)", RFC 3489,
+ DOI 10.17487/RFC3489, March 2003,
+ <http://www.rfc-editor.org/info/rfc3489>.
+
+ [RFC4008] Rohit, R., Srisuresh, P., Raghunarayan, R., Pai, N., and
+ C. Wang, "Definitions of Managed Objects for Network
+ Address Translators (NAT)", RFC 4008,
+ DOI 10.17487/RFC4008, March 2005,
+ <http://www.rfc-editor.org/info/rfc4008>.
+
+ [RFC5389] Rosenberg, J., Mahy, R., Matthews, P., and D. Wing,
+ "Session Traversal Utilities for NAT (STUN)", RFC 5389,
+ DOI 10.17487/RFC5389, October 2008,
+ <http://www.rfc-editor.org/info/rfc5389>.
+
+ [RFC6333] Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual-
+ Stack Lite Broadband Deployments Following IPv4
+ Exhaustion", RFC 6333, DOI 10.17487/RFC6333, August 2011,
+ <http://www.rfc-editor.org/info/rfc6333>.
+
+ [RFC7658] Perreault, S., Tsou, T., Sivakumar, S., and T. Taylor,
+ "Deprecation of MIB Module NAT-MIB: Managed Objects for
+ Network Address Translators (NATs)", RFC 7658,
+ DOI 10.17487/RFC7658, October 2015,
+ <http://www.rfc-editor.org/info/rfc7658>.
+
+ [SMI-NUMBERS]
+ IANA, "Structure of Management Information (SMI) Numbers
+ (MIB Module Registrations)",
+ <http://www.iana.org/assignments/smi-number>.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Perreault, et al. Standards Track [Page 83]
+
+RFC 7659 NAT MIB October 2015
+
+
+Authors' Addresses
+
+ Simon Perreault
+ Jive Communications
+ Quebec, QC
+ Canada
+
+ Email: sperreault@jive.com
+
+
+ Tina Tsou
+ Huawei Technologies
+ Bantian, Longgang District
+ Shenzhen 518129
+ China
+
+ Email: tina.tsou.zouting@huawei.com
+
+
+ Senthil Sivakumar
+ Cisco Systems
+ 7100-8 Kit Creek Road
+ Research Triangle Park, North Carolina 27709
+ United States
+
+ Phone: +1 919 392 5158
+ Email: ssenthil@cisco.com
+
+
+ Tom Taylor
+ PT Taylor Consulting
+ Ottawa
+ Canada
+
+ Email: tom.taylor.stds@gmail.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Perreault, et al. Standards Track [Page 84]
+