NAT Working Group R. Raghunarayan
INTERNET-DRAFT N. Pai
Expires March 2002 Cisco Systems, Inc.
R. Rohit
World Wide Packets, Inc.
C. Wang
SmartPipes, Inc.
September 2001
Definitions of Managed Objects for Network Address Translators (NAT)
<draft-ietf-nat-natmib-01.txt>
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026 [16].
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet- Drafts as
reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Abstract
This memo defines a Management Information Base (MIB) for use with
network management protocols in the Internet community. In
particular, it describes managed objects used for managing Network
Address Translators (NAT).
Rohit, Pai, Raghunarayan, Wang [Page 1]
INTERNET-DRAFT NAT MIB September 2001
Table of Contents
1 Introduction ................................................2
2 The Network Management Framework.............................2
3 Terminology..................................................3
4 Overview.....................................................3
5 Definitions .................................................5
6 Security Considerations.....................................45
7 Future Directions...........................................46
8 References .................................................46
9 Acknowledgements ...........................................47
10 Author's Addresses .........................................48
11 Change History .............................................48
1. Introduction
This memo defines a portion of the Management Information Base
(MIB) for use with network management protocols in the Internet
community. In particular, it describes objects used for managing
Network Address Translators (NAT) [17,19].
2. The Network Management Framework
The SNMP Management Framework presently consists of five major
components:
o An overall architecture, described in RFC 2571 [1].
o Mechanisms for describing and naming objects and events for
the purpose of management. The first version of this Structure
of Management Information (SMI) is called SMIv1 and described
in STD 16, RFC 1155 [2], STD 16, RFC 1212 [3] and RFC 1215
[4]. The second version, called SMIv2, is described in STD 58,
RFC 2578 [5], STD 58, RFC 2579 [6] and STD 58, RFC 2580 [7].
o Message protocols for transferring management information.
The first version of the SNMP message protocol is called
SNMPv1 and is described in STD 15, RFC 1157 [8]. A second
version of the SNMP message protocol, which is not an Internet
standards track protocol, is called SNMPv2c and described in
RFC 1901 [9] and RFC 1906 [10]. The third version of the
message protocol is called SNMPv3 and described in RFC 1906
[10], RFC 2572 [11] and RFC 2574 [12].
o Protocol operations for accessing management information. The
first set of protocol operations and associated PDU formats is
described in STD 15, RFC 1157 [8]. A second set of protocol
operations and associated PDU formats is described in RFC 1905
[13].
Rohit, Pai, Raghunarayan, Wang [Page 2]
INTERNET-DRAFT NAT MIB September 2001
o A set of fundamental applications described in RFC 2573 [14]
and the view-based access control mechanism described in RFC
2575 [15].
Managed Objects are accessed via virtual information store, termed
the Management Information Base or MIB. Objects in the MIB are
defined using a subset of Abstract Syntax Notation One (ASN.1)
defined in the SMIv2.
This memo specifies a MIB module that is compliant to the SMIv2. A
MIB conforming to the SMIv1 can be produced through the appropriate
translations. The resulting translated MIB must be semantically
equivalent, except where objects or events are omitted because no
translation is possible (use of Counter64). Some machine readable
information in SMIv2 will be converted into textual descriptions in
SMIv1 during the translation process. However, this loss of
machine readable information is not considered to change the
semantics of the MIB.
3. Terminology
The terminology used throughout this document is mostly as per RFC
2663 [18].
The term NAT has been used generically, throughout the document,
to represent both NAT and NAPT. In cases, where necessary, NAPT and
NAT will be used to mean port translation and address translation
respectively, and appropriate usage would be clear from the
context.
The terms public/private are used throughout the document in the
context of networks, while the terms local/global are used when
referring to addresses and ports.
4. Overview
The MIB module has been split into three groups:
o the configuration group,
o the bind group, and
o the statistics group.
The configuration group consists of four tables and two scalars:
o the generic configuration table, which specifies among other
things the type of NAT to be employed and the associated timers.
o the static address map table, which is an extension of the
generic configuration table, and specifies information required
to setup static NAT.
o the dynamic address map table, which again is an extension of the
generic configuration table, but specifies information required
to setup dynamic NAT.
Rohit, Pai, Raghunarayan, Wang [Page 3]
INTERNET-DRAFT NAT MIB September 2001
o the interfaces table, which holds information regarding
interfaces on which NAT is enabled.
o the two scalars are used to monitor address thresholds and
generate notifications when the thresholds are crossed.
The bind group consists of two scalars and three tables:
o the scalars, natAddrBindNumberOfEntries and
natAddrPortBindNumberOfEntries, hold the number of entries
the currently exist in the Address bind and the Address-Port
bind tables respectively.
o the Address bind table, which holds the currently active
address mappings.
o the Address-Port bind table, which holds the currently active
transport mappings.
o the session table, holds information regarding active NAT
sessions.
And finally, the statistics group consists of three tables:
o the Protocol stats table, which holds NAT statistics on a per
protocol basis.
o the Address Map stats table, which holds NAT statistics on a
per address map basis.
o the Interface stats table, which holds NAT statistics on a per
interface basis
There are also two notifications defined in the MIB:
o natAddressUseRising notifies the end user/manager of the address
usage exceeding a pre-defined threshold.
o And finally, natPacketDiscard notifies the end user/manager of
packets being discarded due to lack of address mappings.
Rohit, Pai, Raghunarayan, Wang [Page 4]
INTERNET-DRAFT NAT MIB September 2001
5. Definitions
NAT-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY,
OBJECT-TYPE,
Integer32,
Unsigned32,
Gauge32,
Counter32,
TimeTicks,
IpAddress, -- NOTE: To be replaced with
-- InetAddress/InetAddressType throughout the MIB.
mib-2,
NOTIFICATION-TYPE
FROM SNMPv2-SMI
MODULE-COMPLIANCE,
NOTIFICATION-GROUP,
OBJECT-GROUP
FROM SNMPv2-CONF
TEXTUAL-CONVENTION,
StorageType,
RowStatus
FROM SNMPv2-TC
InterfaceIndex
FROM IF-MIB
SnmpAdminString
FROM SNMP-FRAMEWORK-MIB;
Rohit, Pai, Raghunarayan, Wang [Page 5]
INTERNET-DRAFT NAT MIB September 2001
natMIB MODULE-IDENTITY
LAST-UPDATED "200109100000Z"
ORGANIZATION "IETF NAT Working Group"
CONTACT-INFO
" Rohit
World Wide Packets
115 North Sullivan Road
Veradale, Spokane, WA 99037
Phone: +1 509 242 9320
Email: Rohit.Rohit@worldwidepackets.com
Nalinaksh Pai
Cisco Systems, Inc.
Prestige Waterford
No. 9, Brunton Road
Bangalore - 560 025
India
Phone: +91 80 532 1300
Email: npai@cisco.com
Rajiv Raghunarayan
Cisco Systems, Inc.
Prestige Waterford
No. 9, Brunton Road
Bangalore - 560 025
India
Phone: +91 80 532 1300
Email: rrajiv@cisco.com
Cliff Wang
SmartPipes Inc.
Suite 300, 565 Metro Place South
Dublin, OH 43017
Phone: +1 614 923 6241
Email: CWang@smartpipes.com
"
DESCRIPTION
"This MIB module defines the generic managed objects
for NAT."
REVISION "200109100000Z"
DESCRIPTION
"Notifications added."
REVISION "200103010000Z"
DESCRIPTION
"Initial version of this MIB module."
::= { mib-2 xx } -- xx to be assigned by RFC-editor.
natMIBObjects OBJECT IDENTIFIER ::= { natMIB 1 }
Rohit, Pai, Raghunarayan, Wang [Page 6]
INTERNET-DRAFT NAT MIB September 2001
--
-- The Groups
-- o natConfig - Pertaining to NAT configuration information
-- o natBind - Pertaining to the NAT BINDs/sessions.
-- o natStatistics - NAT statistics, other than those maintained
-- by the Bind and Session tables.
--
natConfig OBJECT IDENTIFIER ::= { natMIBObjects 1 }
natBind OBJECT IDENTIFIER ::= { natMIBObjects 2 }
natStatistics OBJECT IDENTIFIER ::= { natMIBObjects 3 }
--
-- Textual Conventions
--
NATProtocolType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A list of protocols that are affected by NAT.
Inclusion of values is not intended to imply that
those protocols need be supported."
SYNTAX INTEGER {
other (1), -- not specified
icmp (2),
udp (3),
tcp (4)
}
--
-- The Configuration Group
-- The NAT Generic Configuration Table
--
natConfTable OBJECT-TYPE
SYNTAX SEQUENCE OF NatConfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table specifies the configuration attributes for a
device supporting NAT function."
::= { natConfig 1 }
natConfEntry OBJECT-TYPE
SYNTAX NatConfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry in the natConfTable holds a set of
configuration parameters associated with an instance
of NAT.
Rohit, Pai, Raghunarayan, Wang [Page 7]
INTERNET-DRAFT NAT MIB September 2001
Entries in the natConfTable are created and deleted
using the natConfStatus object."
INDEX { IMPLIED natConfName }
::= { natConfTable 1 }
--
-- NOTE: The protocol specific parameters need to be moved into
-- protocol specific tables.
--
NatConfEntry ::= SEQUENCE {
natConfName SnmpAdminString,
natConfServiceType INTEGER,
natConfTimeoutIcmpIdle Integer32,
natConfTimeoutUdpIdle Integer32,
natConfTimeoutTcpIdle Integer32,
natConfTimeoutTcpNeg Integer32,
natConfTimeoutOther Integer32,
natConfMaxBindLeaseTime Integer32,
natConfMaxBindIdleTime Integer32,
natConfStorageType StorageType,
natConfStatus RowStatus
}
natConfName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(1..32))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The locally arbitrary, but unique identifier
associated with this natConfEntry."
::= { natConfEntry 1 }
natConfServiceType OBJECT-TYPE
SYNTAX INTEGER {
basicNat (1),
napt (2),
bidirectionalNat (3),
twiceNat (4),
multihomedNat (5)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"An indication of the direction in which new sessions
are permitted and the extent of translation done within
the IP and transport headers."
::= { natConfEntry 2 }
Rohit, Pai, Raghunarayan, Wang [Page 8]
INTERNET-DRAFT NAT MIB September 2001
natConfTimeoutIcmpIdle OBJECT-TYPE
SYNTAX Integer32 (0..2147483647)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The interval of time for which an ICMP protocol session,
associated with this configuration, is allowed to remain
valid without any activity."
-- 1 minute
DEFVAL { 60 }
::= { natConfEntry 3 }
natConfTimeoutUdpIdle OBJECT-TYPE
SYNTAX Integer32 (0..2147483647)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The interval of time for which a UDP protocol session,
associated with this configuration, is allowed to remain
valid without any activity."
-- 5 minutes
DEFVAL { 300 }
::= { natConfEntry 4 }
natConfTimeoutTcpIdle OBJECT-TYPE
SYNTAX Integer32 (0..2147483647)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The interval of time for which a TCP protocol session,
associated with this configuration, is allowed to remain
valid without any activity. This timeout value applies
to a TCP session during its data transfer phase."
-- 24 hours
DEFVAL { 86400 }
::= { natConfEntry 5 }
natConfTimeoutTcpNeg OBJECT-TYPE
SYNTAX Integer32 (0..2147483647)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The interval of time for which a TCP protocol session,
associated with this configuration, is allowed to remain
valid without any activity. This timeout value applies
to a TCP session during its establishment and termination
phases."
Rohit, Pai, Raghunarayan, Wang [Page 9]
INTERNET-DRAFT NAT MIB September 2001
-- 1 minute
DEFVAL { 60 }
::= { natConfEntry 6 }
natConfTimeoutOther OBJECT-TYPE
SYNTAX Integer32 (0..2147483647)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The interval of time for which a protocol session
other than ICMP, UDP and TCP, associated with this
configuration, is allowed to remain valid, without
any activity."
::= { natConfEntry 7 }
natConfMaxBindLeaseTime OBJECT-TYPE
SYNTAX Integer32 (0..2147483647)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The maximum lease time for the BIND, associated with
this configuration. Unless the lease time is renewed, a
BIND will not be valid past the lease time. As a special
case, a value of 0 may be assumed to indicate no lease
time limit. Typically, this attribute is of relevance
only in conjunction with Realm-Specific-IP (RSIP)
operation."
DEFVAL { 0 }
::= { natConfEntry 8 }
natConfMaxBindIdleTime OBJECT-TYPE
SYNTAX Integer32 (0..2147483647)
UNITS "seconds"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The maximum time, associated with this configuration,
to allow a dynamic BIND to remain valid with no NAT
session hanging off this BIND. By default for NATIVE
NAT maximum Idle time is 0. External agents could
control this parameter differently. Static Binds and
lease time limited BINDs are not affected by this
parameter."
DEFVAL { 0 }
::= { natConfEntry 9 }
Rohit, Pai, Raghunarayan, Wang [Page 10]
INTERNET-DRAFT NAT MIB September 2001
natConfStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this conceptual row."
REFERENCE
"Textual Conventions for SMIv2, Section 2."
DEFVAL { nonVolatile }
::= { natConfEntry 10 }
natConfStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this conceptual row."
::= { natConfEntry 11 }
--
-- The Static Address Map Table
--
natConfStaticAddrMapTable OBJECT-TYPE
SYNTAX SEQUENCE OF NatConfStaticAddrMapEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table lists configuration for static NAT
entries. This table has an expansion dependent
relationship on the natConfTable. When an SNMP entity
deletes a conceptual row from the natConfTable, then
the corresponding entries are deleted from
natConfStaticAddrMapTable."
::= { natConfig 2 }
natConfStaticAddrMapEntry OBJECT-TYPE
SYNTAX NatConfStaticAddrMapEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A description of a static NAT entry. This entry
contributes to the static NAT table of the device."
INDEX { natConfName, natConfStaticAddrMapName }
::= { natConfStaticAddrMapTable 1 }
--
-- NOTE: The natConfStaticAddrMapTable to be merged with
-- natConfDynamicAddrMapTable.
--
Rohit, Pai, Raghunarayan, Wang [Page 11]
INTERNET-DRAFT NAT MIB September 2001
NatConfStaticAddrMapEntry ::= SEQUENCE {
natConfStaticAddrMapName SnmpAdminString,
natConfStaticAddrMapType INTEGER,
natConfStaticLocalAddrFrom IpAddress,
natConfStaticLocalAddrTo IpAddress,
natConfStaticLocalPortFrom Integer32,
natConfStaticLocalPortTo Integer32,
natConfStaticGlobalAddrFrom IpAddress,
natConfStaticGlobalAddrTo IpAddress,
natConfStaticGlobalPortFrom Integer32,
natConfStaticGlobalPortTo Integer32,
natConfStaticProtocol BITS,
natConfStaticAddrMapStorageType StorageType,
natConfStaticAddrMapStatus RowStatus
}
natConfStaticAddrMapName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(1..32))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An arbitrary, but unique identifier associated with this
natConfStaticAddrMapEntry. The value of this object is
unique across both the static address map and the dynamic
address map tables."
::= { natConfStaticAddrMapEntry 1 }
natConfStaticAddrMapType OBJECT-TYPE
SYNTAX INTEGER {
inbound (1),
outbound (2),
both (3)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Address (and Transport-ID) maps may be defined for both
inbound and outbound direction. Outbound address map
refers to mapping a selected set of addresses from
private realm to a selected set of addresses in external
realm; whereas inbound address map refers to mapping a
set of addresses from the external realm to private
realm."
::= { natConfStaticAddrMapEntry 2 }
natConfStaticLocalAddrFrom OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the first IP address of the range
of IP addresses mapped by this translation entry."
Rohit, Pai, Raghunarayan, Wang [Page 12]
INTERNET-DRAFT NAT MIB September 2001
::= { natConfStaticAddrMapEntry 3 }
natConfStaticLocalAddrTo OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the last IP address of the range of
IP addresses mapped by this translation entry. If only
a single address being mapped, the value of this object
is equal to the value of natConfStaticLocalAddrFrom. The
number addresses in the range defined by
natConfStaticLocalAddrFrtvpom and natConfStaticLocalAddrTo
should be equal to the number of addresses in the range
defined by natConfStaticGlobalAddrFrom and
natConfStaticGlobalAddrTo."
::= { natConfStaticAddrMapEntry 4 }
natConfStaticLocalPortFrom OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If this conceptual row describes a basic NAT, then the
value of this object is '0'. If this conceptual row
describes NAPT, then the value of this object specifies
the first port number in the range of ports being
mapped. If the translation specifies a single port, then
the value of this object is equal to the value of
natConfStaticLocalPortTo."
::= { natConfStaticAddrMapEntry 5 }
natConfStaticLocalPortTo OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If this conceptual row describes a basic NAT, then the
value of this object is '0'. If this conceptual row
describes NAPT, then the value of this object specifies
the last port number in the range of ports being mapped.
If the translation specifies a single port, then the
value of this object is equal to the value of
natConfStaticLocalPortFrom."
::= { natConfStaticAddrMapEntry 6 }
Rohit, Pai, Raghunarayan, Wang [Page 13]
INTERNET-DRAFT NAT MIB September 2001
natConfStaticGlobalAddrFrom OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the first IP address of the range of
IP addresses being mapped to."
::= { natConfStaticAddrMapEntry 7 }
natConfStaticGlobalAddrTo OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the last IP address of the range of
IP addresses being mapped to. If only a single address is
being mapped to, the value of this object is equal to the
value of natConfStaticGlobalAddrFrom.The number addresses
in the range defined by natConfStaticGlobalAddrFrom and
natConfStaticGlobalAddrTo should be equal to the number
of addresses in the range defined by
natConfStaticLocalAddrFrom and
natConfStaticLocalAddrTo. "
::= { natConfStaticAddrMapEntry 8 }
natConfStaticGlobalPortFrom OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If this conceptual row describes a basic NAT, then the
value of this object is '0'. If this conceptual row
describes NAPT, then the value of this object specifies
the first port number in the range of ports being mapped
to. If the translation specifies a single port, then the
value of this object is equal to the value
natConfStaticGlobalPortTo."
::= { natConfStaticAddrMapEntry 9 }
natConfStaticGlobalPortTo OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If this conceptual row describes a basic NAT, then the
value of this object is '0'. If this conceptual describes
NAPT, then the value of this object specifies the last
port number in the range of ports being to. If the
translation specifies a single port, then the value of
this object is equal to the value of
natConfStaticGlobalPortFrom."
::= { natConfStaticAddrMapEntry 10 }
Rohit, Pai, Raghunarayan, Wang [Page 14]
INTERNET-DRAFT NAT MIB September 2001
natConfStaticProtocol OBJECT-TYPE
SYNTAX BITS {
all (0),
other (1),
icmp (2),
udp (3),
tcp (4)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies a protocol identifier. If the
value of this object is '0', then this basic NAT entry
applies to all IP traffic. If the value of this object
is non-zero, then this NAT entry only applies to IP
traffic with the specified protocol."
::= { natConfStaticAddrMapEntry 11 }
natConfStaticAddrMapStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this conceptual row."
REFERENCE
"Textual Conventions for SMIv2, Section 2."
DEFVAL { nonVolatile }
::= { natConfStaticAddrMapEntry 12 }
natConfStaticAddrMapStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this conceptual row.
To create a row in this table, a manager must set this
object to either createAndGo(4) or createAndWait(5)."
::= { natConfStaticAddrMapEntry 13 }
Rohit, Pai, Raghunarayan, Wang [Page 15]
INTERNET-DRAFT NAT MIB September 2001
--
-- The Dynamic Address Map Table
--
natConfDynamicAddrMapTable OBJECT-TYPE
SYNTAX SEQUENCE OF NatConfDynamicAddrMapEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table lists dynamic NAT entries. This table has an
expansion dependent relationship on the natConfTable.
When an SNMP entity deletes a conceptual row from the
natConfTable, then the corresponding entries are deleted
from natConfDynamicAddrMapTable."
::= { natConfig 3 }
natConfDynamicAddrMapEntry OBJECT-TYPE
SYNTAX NatConfDynamicAddrMapEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A description of a dynamic NAT entry. This entry
contributes to the dynamic NAT table of the device."
INDEX { natConfName, natConfDynamicAddrMapName }
::= { natConfDynamicAddrMapTable 1 }
NatConfDynamicAddrMapEntry ::= SEQUENCE {
natConfDynamicAddrMapName SnmpAdminString,
natConfDynamicAddressMapType INTEGER,
natConfDynamicLocalAddrFrom IpAddress,
natConfDynamicLocalAddrTo IpAddress,
natConfDynamicLocalPortFrom Integer32,
natConfDynamicLocalPortTo Integer32,
natConfDynamicGlobalAddrFrom IpAddress,
natConfDynamicGlobalAddrTo IpAddress,
natConfDynamicGlobalPortFrom Integer32,
natConfDynamicGlobalPortTo Integer32,
natConfDynamicProtocol BITS,
natConfDynamicAddrMapStorageType StorageType,
natConfDynamicAddrMapStatus RowStatus
}
natConfDynamicAddrMapName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(1..32))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An arbitrary, but unique identifier associated with this
natConfDynamicAddrMapEntry. The value of this object is
unique across both the static address map and the dynamic
address map tables."
::= { natConfDynamicAddrMapEntry 1 }
Rohit, Pai, Raghunarayan, Wang [Page 16]
INTERNET-DRAFT NAT MIB September 2001
natConfDynamicAddressMapType OBJECT-TYPE
SYNTAX INTEGER {
inbound (1),
outbound (2),
both (3)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Address (and Transport-ID) maps may be defined for both
inbound and outbound direction. Outbound address map
refers to mapping a selected set of addresses from
private realm to a selected set of addresses in external
realm; whereas inbound address map refers to mapping a
set of addresses from the external realm to private
realm."
::= { natConfDynamicAddrMapEntry 2 }
natConfDynamicLocalAddrFrom OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the first IP address of the range
of IP addresses mapped by this translation entry."
::= { natConfDynamicAddrMapEntry 3 }
natConfDynamicLocalAddrTo OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the last IP address of the range of
IP addresses mapped by this translation entry."
::= { natConfDynamicAddrMapEntry 4 }
natConfDynamicLocalPortFrom OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If this conceptual row describes a basic NAT, then the
value of this object is '0'. If this conceptual row
describes NAPT, then the value of this object specifies
the first port number in the range of ports being mapped.
If the translation specifies a single port, then the
value of this object is equal to the value of
natConfDynamicLocalPortTo."
::= { natConfDynamicAddrMapEntry 5 }
Rohit, Pai, Raghunarayan, Wang [Page 17]
INTERNET-DRAFT NAT MIB September 2001
natConfDynamicLocalPortTo OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If this conceptual row describes a basic NAT, then the
value of this object is '0'. If this conceptual row
describes NAPT, then the value of this object specifies
the last port number in the range of ports being mapped.
If the translation specifies a single port, then the
value of this object is equal to the value of
natConfDynamicLocalPortFrom."
::= { natConfDynamicAddrMapEntry 6 }
natConfDynamicGlobalAddrFrom OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the first IP address of the range
of IP addresses being mapped to."
::= { natConfDynamicAddrMapEntry 7 }
natConfDynamicGlobalAddrTo OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the last IP address of the range of
IP addresses being mapped to."
::= { natConfDynamicAddrMapEntry 8 }
natConfDynamicGlobalPortFrom OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If this conceptual row describes a basic NAT, then the
value of this object is '0'. If this conceptual row
describes NAPT, then the value of this object specifies
the first port number in the range of ports being mapped
to. If the translation specifies a single port, then the
value of this object is equal to the value of
natConfDynamicGlobalPortTo."
::= { natConfDynamicAddrMapEntry 9 }
Rohit, Pai, Raghunarayan, Wang [Page 18]
INTERNET-DRAFT NAT MIB September 2001
natConfDynamicGlobalPortTo OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If this conceptual row describes a basic NAT, then the
value of this object is '0'. If this conceptual row
describes NAPT, then the value of this object specifies
the last port number in the range of ports being mapped
to. If the translation specifies a single port, then the
value of this object is equal to the value of
natConfDynamicGlobalPortFrom."
::= { natConfDynamicAddrMapEntry 10 }
natConfDynamicProtocol OBJECT-TYPE
SYNTAX BITS {
all (0),
other (1),
icmp (2),
udp (3),
tcp (4)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies a protocol identifier. If the
value of this object is '0', then this basic NAT entry
applies to all IP traffic. If the value of this object is
non-zero, then this NAT entry only applies to IP traffic
with the specified protocol."
::= { natConfDynamicAddrMapEntry 11 }
natConfDynamicAddrMapStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this conceptual row."
REFERENCE
"Textual Conventions for SMIv2, Section 2."
DEFVAL { nonVolatile }
::= { natConfDynamicAddrMapEntry 12 }
natConfDynamicAddrMapStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this conceptual row.
To create a row in this table, a manager must set this
object to either createAndGo(4) or createAndWait(5)."
Rohit, Pai, Raghunarayan, Wang [Page 19]
INTERNET-DRAFT NAT MIB September 2001
::= { natConfDynamicAddrMapEntry 13 }
--
-- NAT Interface Table
--
natInterfaceTable OBJECT-TYPE
SYNTAX SEQUENCE OF NatInterfaceEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table holds information regarding the interface
on which NAT is enabled."
::= { natConfig 4 }
natInterfaceEntry OBJECT-TYPE
SYNTAX NatInterfaceEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry in the NAT Interface Table holds
information regarding an interface on which NAT is
enabled."
INDEX { natInterfaceIndex }
::= { natInterfaceTable 1 }
NatInterfaceEntry ::= SEQUENCE {
natInterfaceIndex InterfaceIndex,
natInterfaceRealm INTEGER,
natInterfaceStorageType StorageType,
natInterfaceStatus RowStatus
}
natInterfaceIndex OBJECT-TYPE
SYNTAX InterfaceIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The ifIndex of the interface on which NAT is enabled."
::= { natInterfaceEntry 1 }
natInterfaceRealm OBJECT-TYPE
SYNTAX INTEGER {
private (1),
public (2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object identifies whether this interface is
connected to the private or the public realm."
DEFVAL { public }
Rohit, Pai, Raghunarayan, Wang [Page 20]
INTERNET-DRAFT NAT MIB September 2001
::= { natInterfaceEntry 2 }
natInterfaceStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this conceptual row."
REFERENCE
"Textual Conventions for SMIv2, Section 2."
DEFVAL { nonVolatile }
::= { natInterfaceEntry 3 }
natInterfaceStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Status of NAT on this interface. An active status
indicates that NAT is enabled on this interface."
::= { natInterfaceEntry 4 }
--
-- Notification thresholds
--
natConfAddressRiseThreshold OBJECT-TYPE
SYNTAX Unsigned32 (0..100)
UNITS "percentage"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This objects represents the rising threshold value for
generation of the natAddressUseRising notification. A
notification is generated whenever the usage percentage
of the address map is equal to or greater than
natConfAddressRiseThreshold.
Notifications should not be generated when the value of
this object is 0."
DEFVAL { 0 }
::= { natConfig 5 }
natConfAddressFallThreshold OBJECT-TYPE
SYNTAX Unsigned32 (0..100)
UNITS "percentage"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object represents the falling threshold value for
generation of the natAddressUseRising notification.
Rohit, Pai, Raghunarayan, Wang [Page 21]
INTERNET-DRAFT NAT MIB September 2001
This object only represents the lower end of the
hysteresis curve, and notifications are not generated when
this threshold is crossed."
DEFVAL { 0 }
::= { natConfig 6 }
--
-- The BIND Group
--
--
-- Address Bind section
--
natAddrBindNumberOfEntries OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object maintains a count of the number of entries
that currently exist in the natAddrBindTable."
::= { natBind 1 }
--
-- The NAT Address BIND Table
--
natAddrBindTable OBJECT-TYPE
SYNTAX SEQUENCE OF NatAddrBindEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table holds information about the currently
active NAT BINDs."
::= { natBind 2 }
natAddrBindEntry OBJECT-TYPE
SYNTAX NatAddrBindEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry in the NAT BIND table holds information
about a NAT BIND that is currently active."
INDEX { natAddrBindLocalAddr }
::= { natAddrBindTable 1 }
--
-- NOTE: BIND table may be restructured to attend to conditional NAT.
--
Rohit, Pai, Raghunarayan, Wang [Page 22]
INTERNET-DRAFT NAT MIB September 2001
NatAddrBindEntry ::= SEQUENCE {
natAddrBindLocalAddr IpAddress,
natAddrBindGlobalAddr IpAddress,
natAddrBindId Unsigned32,
natAddrBindDirection INTEGER,
natAddrBindType INTEGER,
natAddrBindConfName SnmpAdminString,
natAddrBindSessionCount Gauge32,
natAddrBindCurrentIdleTime TimeTicks,
natAddrBindInTranslate Counter32,
natAddrBindOutTranslate Counter32
}
natAddrBindLocalAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object represents the private-realm specific network
layer address, which maps to the public-realm address
represented by natAddrBindGlobalAddr."
::= { natAddrBindEntry 1 }
natAddrBindGlobalAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object represents the public-realm network layer
address that maps to the private-realm network layer
address represented by natAddrBindLocalAddr."
::= { natAddrBindEntry 2 }
natAddrBindId OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object represents a BIND id that is dynamically
assigned to each BIND by a NAT enabled device. Each
BIND is represented by a unique BIND id across both,
the Address bind and Address-Port bind tables."
::= { natAddrBindEntry 3 }
Rohit, Pai, Raghunarayan, Wang [Page 23]
INTERNET-DRAFT NAT MIB September 2001
natAddrBindDirection OBJECT-TYPE
SYNTAX INTEGER {
uniDirectional (1),
biDirectional (2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object represents the direction of the BIND. A
BIND may be either uni-directional or bi-directional,
same as the orientation of the address map, based on
which this bind is formed. The direction of this bind
is with reference to the private realm."
::= { natAddrBindEntry 4 }
natAddrBindType OBJECT-TYPE
SYNTAX INTEGER {
static (1),
dynamic (2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates whether the BIND is static or
dynamic."
::= { natAddrBindEntry 5 }
natAddrBindConfName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(1..32))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object is a pointer to the natConfTable entry (and
the parameters of that entry) which was used in creating
this BIND."
::= { natAddrBindEntry 6 }
natAddrBindSessionCount OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of sessions currently using this BIND."
::= { natAddrBindEntry 7 }
Rohit, Pai, Raghunarayan, Wang [Page 24]
INTERNET-DRAFT NAT MIB September 2001
natAddrBindCurrentIdleTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"At any given instance of time, this object indicates the
time that this BIND has been idle with no sessions
attached to it. The value represented by this object is
of relevance only when the value of Maximum Idle time
(natConfMaxBindIdleTime) is non-zero."
::= { natAddrBindEntry 8 }
natAddrBindInTranslate OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of inbound packets that were successfully
translated as per this BIND entry."
::= { natAddrBindEntry 9 }
natAddrBindOutTranslate OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of outbound packets that were successfully
translated as per this BIND entry."
::= { natAddrBindEntry 10 }
--
-- Address-Port Bind section
--
natAddrPortBindNumberOfEntries OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object maintains a count of the number of entries
that currently exist in the natAddrPortBindTable."
::= { natBind 3 }
Rohit, Pai, Raghunarayan, Wang [Page 25]
INTERNET-DRAFT NAT MIB September 2001
--
-- The NAT Address-Port BIND Table
--
natAddrPortBindTable OBJECT-TYPE
SYNTAX SEQUENCE OF NatAddrPortBindEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table holds information about the currently
active NAPT BINDs."
::= { natBind 4 }
--
-- NOTE: natAddrPortBindProtocol, a BITS, doesn't make sense as index.
-- This needs to be changed to a INTEGER object (of similar nature).
--
natAddrPortBindEntry OBJECT-TYPE
SYNTAX NatAddrPortBindEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry in the this table holds information
a NAPT BIND that is currently active."
INDEX { natAddrPortBindLocalAddr, natAddrPortBindLocalPort,
natAddrPortBindProtocol }
::= { natAddrPortBindTable 1 }
NatAddrPortBindEntry ::= SEQUENCE {
natAddrPortBindLocalAddr IpAddress,
natAddrPortBindLocalPort Integer32,
natAddrPortBindProtocol BITS,
natAddrPortBindGlobalAddr IpAddress,
natAddrPortBindGlobalPort Integer32,
natAddrPortBindId Unsigned32,
natAddrPortBindDirection INTEGER,
natAddrPortBindType INTEGER,
natAddrPortBindConfName SnmpAdminString,
natAddrPortBindSessionCount Gauge32,
natAddrPortBindCurrentIdleTime TimeTicks,
natAddrPortBindInTranslate Counter32,
natAddrPortBindOutTranslate Counter32
}
Rohit, Pai, Raghunarayan, Wang [Page 26]
INTERNET-DRAFT NAT MIB September 2001
natAddrPortBindLocalAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object represents the private-realm specific network
layer address which, in conjunction with
natAddrPortBindLocalPort, maps to the public-realm
network layer address and transport id represented by
natAddrPortBindGlobalAddr and natAddrPortBindGlobalPort
respectively."
::= { natAddrPortBindEntry 1 }
natAddrPortBindLocalPort OBJECT-TYPE
SYNTAX Integer32(0..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object represents the private-realm specific port
number (or query ID in case of ICMP messages) which, in
conjunction with natAddrPortBindLocalAddr, maps to the
public-realm network layer address and transport id
represented by natAddrPortBindGlobalAddr and
natAddrPortBindGlobalPort respectively."
::= { natAddrPortBindEntry 2 }
natAddrPortBindProtocol OBJECT-TYPE
SYNTAX BITS {
all (0),
other (1),
icmp (2),
udp (3),
tcp (4)
}
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object specifies a protocol identifier. If the
value of this object is '0', then this BIND entry
applies to all IP traffic. If the value of this object is
non-zero, then this NAT entry only applies to IP traffic
with the specified protocol."
::= { natAddrPortBindEntry 3 }
Rohit, Pai, Raghunarayan, Wang [Page 27]
INTERNET-DRAFT NAT MIB September 2001
natAddrPortBindGlobalAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object represents the public-realm specific network
layer address that, in conjunction with
natAddrPortBindGlobalPort, maps to the private-realm
network layer address and transport id represented by
natAddrPortBindLocalAddr and natAddrPortBindLocalPort
respectively."
::= { natAddrPortBindEntry 4 }
natAddrPortBindGlobalPort OBJECT-TYPE
SYNTAX Integer32(0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object represents the port number (or query id in
case of ICMP) that, in conjunction with
natAddrPortBindGlobalAddr, maps to the private-realm
network layer address and transport id represented by
natAddrPortBindLocalAddr and natAddrPortBindLocalPort
respectively."
::= { natAddrPortBindEntry 5 }
natAddrPortBindId OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object represents a BIND id that is dynamically
assigned to each BIND by a NAT enabled device. Each
BIND is represented by a unique BIND id across both,
the Address Bind and Address-Port Bind tables."
::= { natAddrPortBindEntry 6 }
natAddrPortBindDirection OBJECT-TYPE
SYNTAX INTEGER {
uniDirectional (1),
biDirectional (2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object represents the direction of the BIND. A
BIND may be either uni-directional or bi-directional,
same as the orientation of the address map, based on
which this bind is formed. The direction of this bind
is with reference to the private realm."
::= { natAddrPortBindEntry 7 }
Rohit, Pai, Raghunarayan, Wang [Page 28]
INTERNET-DRAFT NAT MIB September 2001
natAddrPortBindType OBJECT-TYPE
SYNTAX INTEGER {
static (1),
dynamic (2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object indicates whether the BIND is static or
dynamic."
::= { natAddrPortBindEntry 8 }
natAddrPortBindConfName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object is a pointer to the natConfTable entry (and
the parameters of that entry) which was used in creating
this BIND."
::= { natAddrPortBindEntry 9 }
natAddrPortBindSessionCount OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of sessions currently using this BIND."
::= { natAddrPortBindEntry 10 }
natAddrPortBindCurrentIdleTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"At any given instance of time, this object indicates the
time that this BIND has been idle with no sessions
attached to it. The value represented by this object is
of relevance only when the value of Maximum Idle time
(natConfMaxBindIdleTime) is non-zero."
::= { natAddrPortBindEntry 11 }
natAddrPortBindInTranslate OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of inbound packets that were translated as per
this BIND entry."
::= { natAddrPortBindEntry 12 }
Rohit, Pai, Raghunarayan, Wang [Page 29]
INTERNET-DRAFT NAT MIB September 2001
natAddrPortBindOutTranslate OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of outbound packets that were translated as per
this BIND entry."
::= { natAddrPortBindEntry 13 }
--
-- The Session Table
--
natSessionTable OBJECT-TYPE
SYNTAX SEQUENCE OF NatSessionEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The (conceptual) table containing one entry for each
NAT session currently active on this NAT device."
::= { natBind 5 }
natSessionEntry OBJECT-TYPE
SYNTAX NatSessionEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry (conceptual row) containing information
about an active NAT session on this NAT device."
INDEX { natSessionBindId, natSessionId }
::= { natSessionTable 1 }
NatSessionEntry ::= SEQUENCE {
natSessionBindId Unsigned32,
natSessionId Unsigned32,
natSessionDirection INTEGER,
natSessionUpTime TimeTicks,
natSessionProtocolType NATProtocolType,
natSessionOrigPrivateAddr IpAddress,
natSessionTransPrivateAddr IpAddress,
natSessionOrigPrivatePort Integer32,
natSessionTransPrivatePort Integer32,
natSessionOrigPublicAddr IpAddress,
natSessionTransPublicAddr IpAddress,
natSessionOrigPublicPort Integer32,
natSessionTransPublicPort Integer32,
natSessionCurrentIdletime TimeTicks,
natSessionSecondBindId Unsigned32,
natSessionInTranslate Counter32,
natSessionOutTranslate Counter32
}
Rohit, Pai, Raghunarayan, Wang [Page 30]
INTERNET-DRAFT NAT MIB September 2001
natSessionBindId OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object represents a BIND id that is dynamically
assigned to each BIND by a NAT enabled device. This
bind id is that same as represented by the BindId
objects in the Address bind and Address-Port bind
tables."
::= { natSessionEntry 1 }
natSessionId OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The session ID for this NAT session."
::= { natSessionEntry 2 }
natSessionDirection OBJECT-TYPE
SYNTAX INTEGER {
inbound (1),
outbound (2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The direction of this session with respect to the
local network. 'inbound' indicates that this session
was initiated from the public network into the private
network. 'outbound' indicates that this session was
initiated from the private network into the public
network."
::= { natSessionEntry 3 }
natSessionUpTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The up time of this session in one-hundredths of a
second."
::= { natSessionEntry 4 }
Rohit, Pai, Raghunarayan, Wang [Page 31]
INTERNET-DRAFT NAT MIB September 2001
natSessionProtocolType OBJECT-TYPE
SYNTAX NATProtocolType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The protocol type of this session.
TCP and UDP sessions are uniquely identified by the
tuple of (source IP address, source UDP/TCP port,
destination IP address, destination TCP/UCP port).
ICMP query sessions are identified by the tuple of
(source IP address, ICMP query ID, destination IP
address)."
::= { natSessionEntry 5 }
natSessionOrigPrivateAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The original IP address of the session endpoint that
lies in the private network."
::= { natSessionEntry 6 }
natSessionTransPrivateAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The translated IP address of the session endpoint that
lies in the private network. The value of this object
is equal to that of the original public IP Address
(natSessionOrigPrivateAddr) when there is no
translation."
::= { natSessionEntry 7 }
natSessionOrigPrivatePort OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The original transport port of the session endpoint that
belongs to the private network. If this is an ICMP session
then the value is the ICMP request ID."
::= { natSessionEntry 8 }
Rohit, Pai, Raghunarayan, Wang [Page 32]
INTERNET-DRAFT NAT MIB September 2001
natSessionTransPrivatePort OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The translated transport port of the session that lies in
the private network. The value of this object is equal to
that of the original transport port
(natSessionOrigPrivatePort) when there is no translation."
::= { natSessionEntry 9 }
natSessionOrigPublicAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The original IP address of the session endpoint that lies
in the public network."
::= { natSessionEntry 10 }
natSessionTransPublicAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The translated IP address of the session endpoint that
belongs to the public network. The value of this object
is equal to that of the original public IP Address
(natSessionOrigPublicAddr) when there is no
translation."
::= { natSessionEntry 11 }
natSessionOrigPublicPort OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The original transport port of the session endpoint that
belongs to the public network. If this is an ICMP
session then the value contains the ICMP request ID."
::= { natSessionEntry 12 }
natSessionTransPublicPort OBJECT-TYPE
SYNTAX Integer32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The translated transport port of the session endpoint
that belongs to the public network. The value of this
object is equal to that of the original transport port
(natSessionOrigPublicPort) when there is no
translation."
Rohit, Pai, Raghunarayan, Wang [Page 33]
INTERNET-DRAFT NAT MIB September 2001
::= { natSessionEntry 13 }
natSessionCurrentIdletime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The time in one-hundredths of a second since a packet
belonging to this session was last detected."
::= { natSessionEntry 14 }
natSessionSecondBindId OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The natBindId of the 'other' NAT binding incase of Twice
NAT. An instance of this object contains a valid value
only if the binding type for this session is TwiceNAT."
::= { natSessionEntry 15 }
natSessionInTranslate OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of inbound packets that were translated by
this session."
::= { natSessionEntry 16 }
natSessionOutTranslate OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of outbound packets that were translated by
this session."
::= { natSessionEntry 17 }
Rohit, Pai, Raghunarayan, Wang [Page 34]
INTERNET-DRAFT NAT MIB September 2001
--
-- natStatistics Group
--
--
-- The Protocol Stats table
--
natProtocolStatsTable OBJECT-TYPE
SYNTAX SEQUENCE OF NatProtocolStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The (conceptual) table containing per protocol NAT
statistics."
::= { natStatistics 1 }
natProtocolStatsEntry OBJECT-TYPE
SYNTAX NatProtocolStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry (conceptual row) containing NAT statistics
pertaining to a particular protocol."
INDEX { natProtocolStatsName }
::= { natProtocolStatsTable 1 }
NatProtocolStatsEntry ::= SEQUENCE {
natProtocolStatsName NATProtocolType,
natProtocolStatsInTranslate Counter32,
natProtocolStatsOutTranslate Counter32,
natProtocolStatsRejectCount Counter32
}
natProtocolStatsName OBJECT-TYPE
SYNTAX NATProtocolType
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This object represents the protocol pertaining to which
statistics are reported."
::= { natProtocolStatsEntry 1 }
natProtocolStatsInTranslate OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of inbound packets, pertaining to the protocol
identified by natProtocolStatsName, that underwent NAT."
::= { natProtocolStatsEntry 2 }
Rohit, Pai, Raghunarayan, Wang [Page 35]
INTERNET-DRAFT NAT MIB September 2001
natProtocolStatsOutTranslate OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of outbound packets, pertaining to the protocol
identified by natProtocolStatsName, that underwent NAT."
::= { natProtocolStatsEntry 3 }
natProtocolStatsRejectCount OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets, pertaining to the protocol
identified by natProtocolStatsName, that had to be
rejected/dropped due to lack of resources. These
rejections could be due to session timeout, resource
unavailability etc."
::= { natProtocolStatsEntry 4 }
--
-- The Address Map Stats table
--
natAddrMapStatsTable OBJECT-TYPE
SYNTAX SEQUENCE OF NatAddrMapStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The (conceptual) table containing per address map NAT
statistics."
::= { natStatistics 2 }
natAddrMapStatsEntry OBJECT-TYPE
SYNTAX NatAddrMapStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry (conceptual row) containing NAT statistics per
address map."
INDEX { natAddrMapStatsConfName, natAddrMapStatsMapName }
::= { natAddrMapStatsTable 1 }
NatAddrMapStatsEntry ::= SEQUENCE {
natAddrMapStatsConfName SnmpAdminString,
natAddrMapStatsMapName SnmpAdminString,
natAddrMapStatsInTranslate Counter32,
natAddrMapStatsOutTranslate Counter32,
natAddrMapStatsNoResource Counter32,
natAddrMapStatsAddrUsed Gauge32
}
Rohit, Pai, Raghunarayan, Wang [Page 36]
INTERNET-DRAFT NAT MIB September 2001
natAddrMapStatsConfName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(1..32))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The name of the configuration (from the natConfTable),
regarding which statistics are being reported. The
configuration name along with Map name uniquely
identifies an entry across both (static and dynamic)
Address Map tables."
::= { natAddrMapStatsEntry 1 }
natAddrMapStatsMapName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(1..32))
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The name of the Address Map (from the
natConfStaticAddrMapTable/natConfDynamicAddrMapTable),
regarding which statistics are being reported. The
configuration name along with Map name uniquely
identifies an entry across both (static and dynamic)
Address Map tables."
::= { natAddrMapStatsEntry 2 }
natAddrMapStatsInTranslate OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of inbound packets, pertaining to this address
map entry, that were translated."
::= { natAddrMapStatsEntry 3 }
natAddrMapStatsOutTranslate OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of outbound packets, pertaining to this
address map entry, that were translated."
::= { natAddrMapStatsEntry 4 }
Rohit, Pai, Raghunarayan, Wang [Page 37]
INTERNET-DRAFT NAT MIB September 2001
natAddrMapStatsNoResource OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets, pertaining to this address map
entry, that were dropped due to lack of addresses in the
address pool identified by this address map. The value of
this object should always be zero in case of static
address map."
::= { natAddrMapStatsEntry 5 }
natAddrMapStatsAddrUsed OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of addresses, pertaining to this address map,
that are currently being used from the nat pool. The
value of this object is irrelevant if the address map in
question is a static address map."
::= { natAddrMapStatsEntry 6 }
--
-- The Interface Stats table
--
natInterfaceStatsTable OBJECT-TYPE
SYNTAX SEQUENCE OF NatInterfaceStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table augments the natInterfaceTable and provides
statistics information pertaining to the specified
interface."
::= { natStatistics 3 }
natInterfaceStatsEntry OBJECT-TYPE
SYNTAX NatInterfaceStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry of the natInterfaceStatsTable represents stats
pertaining to one interface, which is identified by its
ifIndex."
AUGMENTS { natInterfaceEntry }
::= { natInterfaceStatsTable 1 }
NatInterfaceStatsEntry ::= SEQUENCE {
natInterfacePktsIn Counter32,
natInterfacePktsOut Counter32
}
Rohit, Pai, Raghunarayan, Wang [Page 33]
INTERNET-DRAFT NAT MIB September 2001
natInterfacePktsIn OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packets received on this interface that
were translated."
::= { natInterfaceStatsEntry 1 }
natInterfacePktsOut OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of translated packets that were sent out this
interface."
::= { natInterfaceStatsEntry 2 }
--
-- Notifications section
--
natNotificationPrefix OBJECT IDENTIFIER ::= { natMIB 2 }
natNotifications OBJECT IDENTIFIER ::=
{ natNotificationPrefix 0 }
--
-- Notification objects i.e. objects accessible only for notification
-- purpose.
--
natNotificationObjects OBJECT IDENTIFIER ::=
{ natNotificationPrefix 1 }
natAddrMapName OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"This object represent the address map corresponding to
which the addresses/ports have been exhausted, thereby
resulting in a natPacketDiscard notification."
::= { natNotificationObjects 1 }
Rohit, Pai, Raghunarayan, Wang [Page 39]
INTERNET-DRAFT NAT MIB September 2001
natPktDiscardReason OBJECT-TYPE
SYNTAX INTEGER {
other (1),
addressSpaceExhausted (2)
}
MAX-ACCESS accessible-for-notify
STATUS current
DESCRIPTION
"This object represents the reason for which a packet is
discarded by NAT.
addressSpaceExhausted (2) represents a situation wherein
the address space required to do this mapping has been
exhausted (used up by other translations).
other (1) represents a case where the packet was
discarded due to any other reasons."
::= { natNotificationObjects 2 }
--
-- Notifications
--
natAddressUseRising NOTIFICATION-TYPE
OBJECTS { natAddrMapStatsAddrUsed }
STATUS current
DESCRIPTION
"This notification is generated whenever the number of
addresses per address map is equal to or greater than the
configured address rising threshold value.
Note that once this notification is generated, another
notification for the same address map should be generated
only after the address usage falls to/below the defined
falling threshold.
This notification should be generated only for dynamic
address maps, since they do not provide any useful
information for static maps."
::= { natNotifications 1 }
Rohit, Pai, Raghunarayan, Wang [Page 40]
INTERNET-DRAFT NAT MIB September 2001
-- Should natAddrMapStatsNoResource be used instead of natAddrMapName
-- - that will save us one extra object, but if/when the notification
-- is modified to include cases of explicitly packet discard due to
-- reasons other than resource exhaustion.. it might be better to
-- have AddrMap name. So we'll go with AddrMapName for now..
natPacketDiscard NOTIFICATION-TYPE
OBJECTS { natAddrMapName, natPktDiscardReason }
STATUS current
DESCRIPTION
"This notification is generated whenever packets are
discarded due to lack of mapping space i.e. when we run
out of address/ports in case of NAT/NAPT respectively.
An agent should not generate more than one
natPacketDiscard 'notification-events' in a given time
interval (five seconds is the suggested default). A
'notification-event' is the transmission of a single
trap or inform PDU to a list of notification
destinations.
If additional nat packets are discarded within the
throttling period, then notification-events for these
changes should be suppressed by the agent until the
current throttling period expires. At the end of a
throttling period, one notification-event should be
generated if any NAT packet was discarded since the
start of the throttling period. In such a case, another
throttling period is started right away."
-- 1. Is the 5 sec period OK as a throttling value??
::= { natNotifications 2 }
--
-- Conformance information.
-- NOTE: Will need to revisit this section; leaving this as is for
-- now.
--
natMIBConformance OBJECT IDENTIFIER ::= { natMIB 3 }
natMIBCompliances OBJECT IDENTIFIER ::= { natMIBConformance 1 }
natMIBGroups OBJECT IDENTIFIER ::= { natMIBConformance 2 }
--
-- Compliance statements
--
natMIBCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for devices running NAT."
MODULE -- this module
MANDATORY-GROUPS { natConfigGroup, natBindGroup }
Rohit, Pai, Raghunarayan, Wang [Page 41]
INTERNET-DRAFT NAT MIB September 2001
::= { natMIBCompliances 1 }
--
-- Units of conformance
--
natConfigGroup OBJECT-GROUP
OBJECTS { natConfServiceType,
natConfTimeoutIcmpIdle,
natConfTimeoutUdpIdle,
natConfTimeoutTcpIdle,
natConfTimeoutTcpNeg,
natConfTimeoutOther,
natConfMaxBindLeaseTime,
natConfMaxBindIdleTime,
natConfStorageType,
natConfStatus,
natConfStaticAddrMapType,
natConfStaticLocalAddrFrom,
natConfStaticLocalAddrTo,
natConfStaticLocalPortFrom,
natConfStaticLocalPortTo,
natConfStaticGlobalAddrFrom,
natConfStaticGlobalAddrTo,
natConfStaticGlobalPortFrom,
natConfStaticGlobalPortTo,
natConfStaticProtocol,
natConfStaticAddrMapStorageType,
natConfStaticAddrMapStatus,
natConfDynamicAddressMapType,
natConfDynamicLocalAddrFrom,
natConfDynamicLocalAddrTo,
natConfDynamicLocalPortFrom,
natConfDynamicLocalPortTo,
natConfDynamicGlobalAddrFrom,
natConfDynamicGlobalAddrTo,
natConfDynamicGlobalPortFrom,
natConfDynamicGlobalPortTo,
natConfDynamicProtocol,
natConfDynamicAddrMapStorageType,
natConfDynamicAddrMapStatus,
natInterfaceRealm,
natInterfaceStorageType,
natInterfaceStatus }
STATUS current
DESCRIPTION
"A collection of configuration-related information
required to support management of devices supporting
NAT."
::= { natMIBGroups 1 }
Rohit, Pai, Raghunarayan, Wang [Page 42]
INTERNET-DRAFT NAT MIB September 2001
natBindGroup OBJECT-GROUP
OBJECTS { natAddrBindNumberOfEntries,
natAddrBindGlobalAddr,
natAddrBindId,
natAddrBindDirection,
natAddrBindType,
natAddrBindConfName,
natAddrBindSessionCount,
natAddrBindCurrentIdleTime,
natAddrBindInTranslate,
natAddrBindOutTranslate,
natAddrPortBindNumberOfEntries,
natAddrPortBindGlobalAddr,
natAddrPortBindGlobalPort,
natAddrPortBindId,
natAddrPortBindDirection,
natAddrPortBindType,
natAddrPortBindConfName,
natAddrPortBindSessionCount,
natAddrPortBindCurrentIdleTime,
natAddrPortBindInTranslate,
natAddrPortBindOutTranslate,
natSessionDirection,
natSessionUpTime,
natSessionProtocolType,
natSessionOrigPrivateAddr,
natSessionTransPrivateAddr,
natSessionOrigPrivatePort,
natSessionTransPrivatePort,
natSessionOrigPublicAddr,
natSessionTransPublicAddr,
natSessionOrigPublicPort,
natSessionTransPublicPort,
natSessionCurrentIdletime,
natSessionSecondBindId,
natSessionInTranslate,
natSessionOutTranslate }
STATUS current
DESCRIPTION
"A collection of BIND-related objects required to support
management of devices supporting NAT."
::= { natMIBGroups 2 }
Rohit, Pai, Raghunarayan, Wang [Page 43]
INTERNET-DRAFT NAT MIB September 2001
natStatsGroup OBJECT-GROUP
OBJECTS { natProtocolStatsInTranslate,
natProtocolStatsOutTranslate,
natProtocolStatsRejectCount,
natAddrMapStatsInTranslate,
natAddrMapStatsOutTranslate,
natAddrMapStatsNoResource,
natAddrMapStatsAddrUsed,
natInterfacePktsIn,
natInterfacePktsOut }
STATUS current
DESCRIPTION
"A collection of NAT statistics related objects required
to support troubleshooting/monitoring NAT operation."
::= { natMIBGroups 3 }
natMIBNotifConfigGroup OBJECT-GROUP
OBJECTS { natConfAddressRiseThreshold,
natConfAddressFallThreshold }
STATUS current
DESCRIPTION
"A collection of configuration objects required to support
the threshold-based notifications."
::= { natMIBGroups 4 }
natMIBNotificationObjectsGroup OBJECT-GROUP
OBJECTS { natAddrMapName,
natPktDiscardReason }
STATUS current
DESCRIPTION
"A collection of objects required to support NAT
notifications."
::= { natMIBGroups 5 }
natMIBNotificationGroup NOTIFICATION-GROUP
NOTIFICATIONS { natAddressUseRising,
natPacketDiscard }
STATUS current
DESCRIPTION
"A collection of notifications which are generated by
devices supporting this MIB."
::= { natMIBGroups 6 }
END
Rohit, Pai, Raghunarayan, Wang [Page 44]
INTERNET-DRAFT NAT MIB September 2001
6. Security Considerations
This MIB contains readable objects whose values provide information
related to nat binds and sessions. Some of these objects could
contain sensitive information e.g. bind information. There are
a number of management objects defined in this MIB that have a
MAX-ACCESS clause of read-write and/or read-create. Such objects
may be considered sensitive or vulnerable in some network
environments.
While unauthorized access to the readable objects may be relatively
innocuous, unauthorized access to the write-able objects could
cause a denial of service, and/or widespread network
disturbance. Hence, the support for SET operations in a non-secure
environment without proper protection can have a negative effect on
network operations.
SNMPv1 by itself is not a secure environment. Even if the network
itself is secure, 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.
It is recommended that the implementors consider the security
features as provided by the SNMPv3 framework. Specifically, the use
of the User-based Security Model RFC 2574 [12] and the View-based
Access Control Model RFC 2575 [15] is recommended.
It is then a customer/user responsibility to ensure that the SNMP
entity giving access to an instance of this MIB, is properly
configured to give access to the objects only to those
principals (users) that have legitimate rights to indeed GET or
SET (change/create/delete) them.
Rohit, Pai, Raghunarayan, Wang [Page 45]
INTERNET-DRAFT NAT MIB September 2001
7. Future Directions
o Support for conditional NAT.
o Provide for protocol specific configuration tables (thereby
providing for extensibility).
o Combine the static and dynamic address map tables (since they
represent similar information).
o The index into the natAddrPortBindProtocol, defined as BITS.
It would make more sense to have this as INTEGER, but that
would require deprecating the existing table and defining a
new one. Further, the BIND table might also require
modifications to support conditional NAT.
o Usage of IpAddress as a datatype in the MIB is no longer
allowed [20]. All occurences of IpAddress need to be replaced
by InetAddressType and InetAddress.
o Revisit the conformance/compliance section to evaluate what's
necessary and what's not.
8. References
[1] Wijnen, B., Harrington, D. and R. Presuhn, "An Architecture
for Describing SNMP Management Frameworks", RFC 2571, April
1999.
[2] Rose, M. and K. McCloghrie, "Structure and Identification of
Management Information for TCP/IP-based Internets", STD 16,
RFC 1155, May 1990.
[3] Rose, M. and K. McCloghrie, "Concise MIB Definitions", STD 16,
RFC 1212, March 1991.
[4] Rose, M., "A Convention for Defining Traps for use with the
SNMP", RFC 1215, March 1991.
[5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
Rose, M. and S. Waldbusser, "Structure of Management
Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
[6] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
Rose, M. and S. Waldbusser, "Textual Conventions for SMIv2",
STD 58, RFC 2579, April 1999.
[7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
Rose, M. and S. Waldbusser, "Conformance Statements for
SMIv2", STD 58, RFC 2580, April 1999.
Rohit, Pai, Raghunarayan, Wang [Page 46]
INTERNET-DRAFT NAT MIB September 2001
[8] Case, J., Fedor, M., Schoffstall, M. and J. Davin, "Simple
Network Management Protocol", STD 15, RFC 1157, May 1990.
[9] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,
"Introduction to Community-based SNMPv2", RFC 1901, January
1996.
[10] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,
"Transport Mappings for Version 2 of the Simple Network
Management Protocol (SNMPv2)", RFC 1906, January 1996.
[11] Case, J., Harrington D., Presuhn R. and B. Wijnen, "Message
Processing and Dispatching for the Simple Network Management
Protocol (SNMP)", RFC 2572, April 1999.
[12] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM)
for version 3 of the Simple Network Management Protocol
(SNMPv3)", RFC 2574, April 1999.
[13] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,
"Protocol Operations for Version 2 of the Simple Network
Management Protocol (SNMPv2)", RFC 1905, January 1996.
[14] Levi, D., Meyer, P. and B. Stewart, "SNMPv3 Applications", RFC
2573, April 1999.
[15] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access
Control Model (VACM) for the Simple Network Management
Protocol (SNMP)", RFC 2575, April 1999.
[16] Bradner, S., "The Internet Standards Process -- Revision 3",
BCP 9, RFC 2026, October 1996.
[17] Srisuresh, P. and Egevang, K., "Traditional IP Network Address
Translator (Traditional NAT)", RFC 3022, January 2001.
[18] Srisuresh, P. and M. Holdrege, "NAT Terminology and
Considerations", RFC 2663, August 1999.
[19] Srisuresh, P., "Framework for interfacing with Network Address
Translator", Work in Progress, November 2000.
[20] Daniele, M., Haberman, B., Routhier, S., Schoenwaelder, J.,
"Textual Conventions for Internet Network Addresses", RFC
2851, June 2000.
9. Acknowledgements
The authors of this memo would like to thank Pyda Srisuresh and
Randy Turner for their valuable contribution to this MIB.
Rohit, Pai, Raghunarayan, Wang [Page 47]
INTERNET-DRAFT NAT MIB September 2001
10. Author's Addresses
Rohit R.
World Wide Packets
115 North Sullivan Road
Veradale, Spokane, WA 99037
Phone: +1 509 242 9320
Email: Rohit.Rohit@worldwidepackets.com
Nalinaksh Pai
Cisco Systems, Inc.
Prestige Waterford
No. 9, Brunton Road
Bangalore - 560 025
India
Phone: +91 80 532 1300 extn. 6354
Email: npai@cisco.com
Rajiv Raghunarayan
Cisco Systems, Inc.
Prestige Waterford
No. 9, Brunton Road
Bangalore - 560 025
India
Phone: +91 80 532 1300 extn. 6314
Email: rrajiv@cisco.com
Cliff Wang
SmartPipes Inc.
Suite 300, 565 Metro Place South
Dublin, OH 43017
Phone: +1 614 923 6241
Email: CWang@smartpipes.com
11. Change History
A record of changes which will be removed before publication.
10 September 2001
o Added the following objects to support notifications:
natConfAddressRiseThreshold, natConfAddressFallThreshold,
natAddrMapName and natPktDiscardReason.
o Following notifications were added (there are still some
unclear parameters though):
natAddressUseRising and natPacketDiscard.
Rohit, Pai, Raghunarayan, Wang [Page 48]
INTERNET-DRAFT NAT MIB September 2001
Full Copyright Statement
"Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph
are included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Rohit, Pai, Raghunarayan, Wang [Page 49]