One document matched: draft-ietf-midcom-mib-analysis-01.txt
Differences from draft-ietf-midcom-mib-analysis-00.txt
Internet Draft M. Barnes
Document: draft-ietf-midcom-mib-analysis-01.txt Nortel Networks
Editor
Category: Informational
Expires: April 2004 October 2003
Middlebox Communications (MIDCOM) Protocol Managed Objects Analysis
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
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.
Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract
This document provides an analysis and identification of the managed
objects for dynamic configuration of middleboxes. The scope of the
middleboxes to which these managed objects apply is limited to NATs
and Firewalls. However, the managed objects as identified in this
document are intended to provide a baseline for the dynamic
configuration of other types of middleboxes. The applicability of
existing Management Information Base (MIB) modules to the MIDCOM
requirements, framework and semantics is described. Additional
managed objects are identified to satisfy the entirety of the MIDCOM
requirements, framework and semantics and to provide a complete
MIDCOM MIB for NATs and Firewalls to fully realize the requirements
of the MIDCOM protocol. The actual definition of any new managed
objects is provided in a separate document [MDCMIB].
Barnes Expires April 2004 [Page 1]
MIDCOM Protocol MIB Analysis October 2003
Table of Contents
1. SNMP Management Framework......................................3
2. MIDCOM Overview and SNMP Applicability.........................3
3. SNMP and the MIDCOM data model.................................4
3.1 Secure Communications......................................6
3.2 Device Configuration.......................................6
3.3 Service Configuration......................................7
3.4 Policy Coordination........................................8
4. Applicability of existing MIB modules..........................9
4.1 Network Address Translators (NAT) MIB.....................10
4.2 Policy Based Management MIB...............................11
4.3 IPsec Policy Configuration MIB............................11
4.4 Differentiated Services MIB...............................12
5. Additional MIDCOM specific managed objects....................12
6. Security Considerations.......................................13
7. Changes since last version....................................14
Normative References.............................................15
Informative References...........................................16
Appendix A – Analysis of the NATMIB against the MIDCOM semantics.18
Full Copyright Statement.........................................25
Overview
This intent of this document is to provide a detailed analysis of the
managed objects for dynamic configuration of middleboxes. The scope
of the middleboxes to which these managed objects are specifically
applied is limited to NATs and Firewalls. However, the resultant MIB
should be extensible and provide the basis for the development of
managed objects for configuring other types of middleboxes.
Section 1 provides an overview of the SNMP Management Framework.
Section 2 provides further background on SNMP and its applicability
to the MIDCOM Protocol Framework, Requirements and semantics.
Section 3 provides a high level overview of some existing MIB modules
potentially relevant and reusable, which satisfy the MIDCOM
requirements and semantics, and relate to the MIDCOM architecture and
framework.
Section 4 provides a detailed discussion of existing MIB modules,
defining the level of applicability to the MIDCOM protocol
requirements, framework and semantics and re-usability for the MIDCOM
MIB.
Section 5 identifies the additional MIDCOM specific managed objects
required to satisfy some of the requirements and to provide a linkage
between the existing MIB modules applicable to MIDCOM. The actual
Barnes Expires April 2004 [Page 2]
MIDCOM Protocol MIB Analysis October 2003
definition of the MIB module for new MIDCOM specific managed objects
is provided in a separate document [MDCMIB].
Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
1. SNMP Management Framework
For a detailed overview of the documents that describe the current
Internet-Standard (SNMP) 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. MIDCOM Overview and SNMP Applicability
The MIDCOM architecture and framework [RFC3303] defines a model in
which trusted third parties can be delegated to assist middleboxes in
performing their operations, without requiring application
intelligence be embedded in the middleboxes. This trusted third party
is referred to as the MIDCOM Agent. The MIDCOM protocol is defined
between the MIDCOM agent and middlebox.
The SNMP management framework provides functions equivalent to those
defined by the MIDCOM framework, although there are a few
architectural differences.
For SNMP, application intelligence is captured in MIB modules, rather
than in the messaging protocol. MIB modules define a data model of
the information that can be collected and configured for managed
functionality. The SNMP messaging protocol transports the data in a
standardized format without needing to understand the semantics of
the data being transferred. The endpoints of the communication
understand the semantics of the data.
Traditionally, the SNMP endpoints have been called Manager and Agent.
An SNMP manager is an entity capable of generating requests and
Barnes Expires April 2004 [Page 3]
MIDCOM Protocol MIB Analysis October 2003
receiving notifications, and a SNMP agent is an entity capable of
responding to requests and generating notifications. As applied to
the MIDCOM framework, the SNMP Manager corresponds to the MIDCOM
agent and the SNMP Agent corresponds to the Middlebox.
The MIDCOM protocol is divided into three phases, per section 4 of
[RFC3303]:
. Session Setup
. Run-time (involving real-time configuration of the middlebox)
. Session Termination
A MIDCOM session is defined to be a lasting association between a
MIDCOM agent and a middlebox. The MIDCOM agent should initiate the
session prior to the start of the application. Although the SNMP
management framework does not have the concept of a session, session-
like associations can be established through the use of managed
objects. Requests from the MIDCOM agent to the Middlebox are
performed using write access to managed objects defined in MIB
modules. The middlebox (SNMP agent) responds to requests by sending
an SNMP response message indicating the success or failure of the
request. The MIDCOM agent (SNMP manager) MAY verify this information
by reading or polling the corresponding managed objects.
The MIDCOM Protocol semantics [MDCSEM] defines two basic transaction
types: request transactions and notify transactions. SNMPv3 uses the
architecture detailed in [RFC3411], where all SNMP entities are
capable of performing certain functions, such as the generation of
requests, response to requests, the generation of asynchronous
notifications, the receipt of notifications, and the proxy-forwarding
of SNMP messages. SNMP is used to read and manipulate a virtual
database (the MIB) composed of objects representing commands,
controls, status, and statistics, which are defined in managed-
application-specific MIB modules.
3. SNMP and the MIDCOM data model
This section provides a high level description and levels of
abstraction of the categories of data required to satisfy the MIDCOM
requirements and semantics as it relates to existing SNMP MIB
modules.
Application-specific MIB modules can be defined at varying levels of
abstraction. At the lowest level, vendor-specific, device-specific
parameters may be defined, for instance, to configure a specific
model of firewall. At a higher level, a MIB module may define an
abstracted view of firewall functionality that can be used to specify
a firewall policy, which an implementation can translate into the
necessary parameters to configure the specific model of firewall on
which the abstract MIB is implemented. At a higher level yet, a MIB
Barnes Expires April 2004 [Page 4]
MIDCOM Protocol MIB Analysis October 2003
module may define service policies or business policies that end up
being translated into more detailed instructions, possibly into the
more detailed MIB module data schemas. It is common practice to have
one MIB module point to other MIB modules that contain less/more
concrete conceptual representations.
SNMP for the MIDCOM protocol can leverage the data schemas of many
existing MIB modules designed to permit secure communications,
configuration of devices, configuration of services and policy
coordination abstractions. The actual specification of the policies
is outside the scope of the MIDCOM protocol.
Many existing MIB modules provide monitoring capabilities that can be
applied to MIDCOM functionality.
The following diagram (Figure 1) summarizes the potential relevance
and reusability of the data schema of existing MIB models to the
MIDCOM architecture to satisfy the MIDCOM protocol framework,
requirements and semantics:
+----------------------+
| Application |
| |
| +---------------+ |
| | MIDCOM agent | |
| | | |
| | | |
| +---------------+ | +------------+
+------------^---------+ | |
. | Policy |
. | |
. | +--------+ |
Application . | | MIDCOM | |
Requests . /+-| PDP | |
(via SNMP) . / | +--------+ |
. / +------------+
. /
. /
. /
. |
v v
+-------------------------------------------+
| Middlebox * * |
| * a. * b. |
| v v |
| +-------------------------------+ |
| | Middlebox Communication | |
| | Protocol (MIDCOM) Interface | |
Barnes Expires April 2004 [Page 5]
MIDCOM Protocol MIB Analysis October 2003
| +-------------------------------+ |
| * |
| * c. |
| v |
| +-------------------------------+ |
| | Dynamic Device/Service | |
| | Configuration | |
| +-------------------------------+ |
| |
+-------------------------------------------+
Legend: .... Middlebox Communication Protocol (MIDCOM)
//// MIDCOM PDP Interface (outside scope of this
document)
**** Managed objects relevant to the MIDCOM Interface
(with the associated letters referencing the
MIB modules potentially applicable summarized
below:
a. gaps between existing MIB modules (b and c) and
MIDCOM requirements
b. POLICY-BASED-MANAGEMENT-MIB, DIFFSERV-CONFIG-MIB,
c. IPSEC-POLICY-MIB, NAT-MIB, DIFFSERV-MIB
Figure 1: Data relationships relevant to the MIDCOM Interface
3.1 Secure Communications
MIDCOM requirements include mutual authentication, message integrity
checking, timeliness checking to prevent replay, message encryption,
and authorization controls to ensure only certain agents can modify
certain subsets of middlebox configurations. MIDCOM requires secure
request-response capabilities and secure notifications.
SNMPv3 is designed to provide secure communications between two end-
points. SNMPv3 defines MIB modules to allow the monitoring and
configuration of all these security features. They are defined in
RFC3411-RFC3418, and RFC3410 provides an overview of these
capabilities.
3.2 Device Configuration
SNMP is the most commonly used standardized protocol for remotely
monitoring and manipulating the configuration of devices. There are a
Barnes Expires April 2004 [Page 6]
MIDCOM Protocol MIB Analysis October 2003
large number of IETF standard and vendor-specific MIB modules
available.
Most IETF standard MIB modules do not provide much configuration
support because SNMPv1 and SNMPv2c were non-secure, and it is
difficult to standardize abstractions that provide enough information
to configure device implementations that require vendor-specific
parameters. There are many vendor-specific MIB modules that permit
configuration of the vendor's devices.
SNMP MIB modules are definitions of virtual databases with scalars
and tables of data. SNMP supports multiple mechanisms to define
relationships between entries in different tables. For example,
entries in multiple tables are often related by common indices. SNMP
uses a standardized hierarchical namespace, so the value of a field
in one table can serve as the index into another table.
The ability to define relationships between MIB module tables
(including tables in different MIB modules) allows an abstracted
configuration policy to point to a vendor-specific configuration MIB
module for more detailed instructions.
There are multiple ways to send policies to middleboxes, including
SNMP and COPS/PR and RADIUS/Diameter, and most policies are auto-
magically converted into low-level configuration commands that set
the correct operational parameters to enforce desired behavior.
Some middlebox functionalities are related to physical and logical
topologies that are created by dynamically manipulating device
configurations. Some MIB modules that can be used for topology
configuration would include the 802.1X MIB [81XMIB] and the
Interfaces MIB [RFC2863] to enable or disable a physical port or
logical interface, the Bridge MIB [BREMIB]to assign interfaces into
virtual LANs and to enable port mirroring functionality for IDS
usage, the Layer Two Tunneling MIB or IPSec MIB to create topology
tunnels for VPNs, and so on.
There are many IETF standard MIB modules that monitor traffic, which
can be used to verify that a policy is being enforced. Most
"transmission" MIB modules, those that fall under the { MIB-2
transmission } subtree relative to Interfaces MIB entries, provide
statistics about traffic going in or out of ports on a device. The
Bridge MIB can be used to monitor the amount of traffic being
forwarded into or out of virtual LANs, and so on.
3.3 Service Configuration
Barnes Expires April 2004 [Page 7]
MIDCOM Protocol MIB Analysis October 2003
A middlebox may be able to support multiple types of services, and a
MIDCOM agent must determine which services are available and running,
and which have stopped running. Middlebox functionalities are
applications that run on a middlebox, and there are multiple MIB
modules designed to monitor applications and their operational
characteristics. Most of the MIB modules described here are for
monitoring only, but could be extended with application-specific MIB
modules for configuration and additional monitoring.
The Host Resources MIB [RFC2790] provides monitoring of hardware
resources, such as memory and CPU load, and monitors installed
applications, running applications, and application performance.
These can be used to do capability discovery for a middlebox, and
these factors can be important to consider before configuring
additional functionality or sessions on a middlebox.
The Network Services Monitoring MIB [RFC2788] module provides objects
for monitoring high-level concepts related to network services, such
as their current run status and their associations. This MIB works
with supplemental service-specific MIB modules, including
configuration objects.
The Systems Application MIB [RFC2287] monitors installed
applications, running applications, and running processes. The
installed application information can be important for determining
the actual capabilities of the model and version of firewall
installed.
However, MIDCOM is primarily about dynamically configuring middlebox
functionality, so MIB modules associated with configuration,
specifically any associated with the configuration of firewalls and
NATS, are the main focus.
The Diffserv MIB [RFC3289] describes the configuration and management
of a Differentiated Services interface in terms of one or more
Traffic Conditioning Blocks (TCB), each containing, arranged in the
specified order, by definition, zero or more classifiers, meters,
actions, algorithmic droppers, queues and schedulers. The "linked-
list" approach is very flexible, and could be used to configure some
firewall tasks.
The IPSec Policy MIB [IPCMIB] defines objects that could be reused
for purposes of filtering service-related traffic and subsequent
policy actions.
3.4 Policy Coordination
Barnes Expires April 2004 [Page 8]
MIDCOM Protocol MIB Analysis October 2003
To properly coordinate policy application, it is necessary to
determine if a device has the capabilities needed to effectively
enforce a policy, and to coordinate the application of policies
according to time constraints, priorities, rule groupings, policy
sessions, and so on.
The SNMPCONF working has developed a number of MIB modules designed
for the purpose of policy coordination.
Many policies are dependent on factors that are not so much traffic-
related as business related. For example, the role that a device
serves in the network or the geographic location of a device may
impact a policy. The SNMPCONF Policy MIB [PBMMIB] allows an
administrator to define roles, and associate them with policies.
The SNMPCONF MIB modules include a policy download table, a policy
registration table, and a scheduling function for defining when a
policy should be made active and when it should be made dormant. Time
schedules can be grouped for easier manipulation, and wildcards are
supported. To ease integration with other policy efforts, the
schedule table is modeled after the Policy Core Information Model
scheduler.
SNMPCONF provides a capabilities table to advertise the functionality
available for policy enforcement, including configuration parameters
to enable a MIDCOM agent to be notified when new capabilities are
installed on a system. Capabilities may be available on some
components of a system and not others, such as a board in a chassis,
but also may be accessible only in certain logical partitions, such
as the community profile (more accurately, the SNMPv3 context) of the
super-user.
SNMPCONF defines tracking tables, so an administrator can determine
which elements are being controlled by which policies. The MIB also
includes debugging tables for logging policy enforcement run-time
exceptions. An administrator can disable policies in place, if they
desire.
4. Applicability of existing MIB modules
This section summarizes the details of the applicability of existing
MIB modules to the MIDCOM data model. As highlighted in Figure 1,
the MIDCOM protocol itself is only defined to be the interface from
the MIDCOM agent (SNMP manager) to the middlebox or MIDCOM Interface.
However, requests from the MIDCOM agent to the MIDCOM Interface must
be evaluated against the installed policies and must contain all the
data required for the specific device/service configuration. In
addition, the session setup reply includes capabilities of the
Barnes Expires April 2004 [Page 9]
MIDCOM Protocol MIB Analysis October 2003
middlebox, several of which relate to policies. Thus, although the
Policy interface itself is out of scope of the MIDCOM protocol, the
correlation of the policy related data in the form of rules to the
data associated with the MIDCOM Interface is imperative. In effect,
an instance of the "MIDCOM MIB" comprises the data from the semantics
evaluated against the policy and applied to configure the
device/service.
Several of the MIB modules discussed in section 3 were analyzed and
and the following were found to have general applicability and
varying levels of re-usability for MIDCOM:
. Network Address Translators (NAT) MIB [NATMIB]
. Policy Based Management MIB [PBMMIB]
. IPsec Policy Configuration MIB [IPCMIB]
. Differentiated Services MIB [RFC3289]
4.1 Network Address Translators (NAT) MIB
The NAT MIB module [NATMIB] is intended to be used for configuration
as well as monitoring of a device capable of traditional NAT
functions. Although, the NAT MIB module appears to meet all of the
MIDCOM requirements concerning NAT control, a detailed evaluation
against the semantics highlights some areas requiring resolution.
The primary concerns arise from some fundamental views on the MIDCOM
MIB and its relation to the NAT (and FW) MIB(s), whether the
relationship is explicit or implicit, and whether the MIDCOM Agent
has a direct interface to the NAT (or FW) MIB(s).
Taking the perspective that the MIDCOM MIB has an explicit
relationship with the NAT MIB and that the MIDCOM Agent has a direct
interface to the NAT and FW MIBs results in the following position:
. PRRs have a direct relationship to NAT Binds.
. PERs have a direct relationship to NAT sessions and FW rules.
. Agent specific Group membership IDs should be assignable by
agents.
Taking the opposite perspective that the relationship between the
MIDCOM MIB and the NAT MIB is implicit and that the MIDCOM agent does
not have a direct interface to the NAT MIB and that its interface is
abstracted by the MIDCOM MIB results in the following position:
. PRR is an abstract entity, related to binds and address maps.
. PER is an abstract entity whose relationship goes beyond the
NAT session.
. Middlebox should assign and manage Group IDs for the agent.
Barnes Expires April 2004 [Page 10]
MIDCOM Protocol MIB Analysis October 2003
Appendix A was put forth to provide a detailed analysis of some of
the specific issues. Once these issues are resolved, the impact will
be summarized in this section.
In addition, section 5 summarizes the current MIB proposals the
issues requiring resolution and WG consensus.
Additional MIB modules, such as those defined by SNMP Policy Based
Management MIB (as described in section 4.2), allowing the definition
of policy rulesets and grouping of policy rules are also required.
4.2 Policy Based Management MIB
This MIB defines managed objects that enable policy-based monitoring
and management of SNMP infrastructure. The Policy Based Management
MIB defines MIB objects for the following areas: roles, capabilities
and time.
[Editor's note: Although the policy interface itself to the middlebox
is out of scope for the MIDCOM protocol, the rules associated with
the MIB module(s) for MIDCOM are in scope and thus it is anticipated
that there is some reusability of the managed objects defined by the
PBMMIB, rather than of the entire application of this MIB itself.
This section will be expanded once more detailed analysis has been
completed].
4.3 IPsec Policy Configuration MIB
The IPSEC-POLICY-MIB is a large MIB designed to support IPsec and IKE
management in a policy and rule oriented fashion. The MIB module is
divided into 3 portions, only one of which would be useful for reuse
with the MIDCOM MIB. Specifically, the IPSEC-POLICY-MIB provides a
generic mechanism for performing packet processing based on a rule
set, anticipated to provide the basis for a general FW MIB. Rules
within the IPSEC-POLICY-MIB are generic and simply bind a filter to
an action. Filters provided within the IPSEC-POLICY-MIB itself are
numerous and fairly complete for most common packet filtering usage
but externally defined filters (like those that may need to be
developed within a MIDCOM specific MIB module) are supported. The
actions encapsulated within the IPSEC-POLICY-MIB are mostly related
to IKE and IPsec and thus aren't very useful as applied to MIDCOM.
However, actions (like filters) can be externally defined. Compound
filter and action sequences can be defined for administrators that
need more complex boolean logic or need to chain multiple actions
together based on success/failure states. The compound mechanisms
are also generic and would let MIDCOM specific MIB elements to be
used within the compound bindings if necessary.
Barnes Expires April 2004 [Page 11]
MIDCOM Protocol MIB Analysis October 2003
[Editor's note: this is an initial analysis; a more detailed analysis
to be included once the details are completed. The current proposal
is to separate the packet filtering aspects into a separate FW MIB.
However, progress on this is pending support for this proposal by the
WG involved. Otherwise, an independent FW MIB would need to be
defined.]
4.4 Differentiated Services MIB
The Diffserv MIB is a very powerful and flexible MIB module, however,
this flexibility is too broad in general for the MIDCOM protocol
requirements. In addition, the requirement for NAT support, and
specifically policy rule lifetimes in the MIDCOM protocol, further
highlight that the Diffserv MIB alone is unsuitable as the MIDCOM MIB
Module.
However, the Diffserv model of using different tables for data path
elements could be applied to the MIDCOM MIB module. The use of
RowPointers as connectors in the Diffserv MIB allows for the simple
extension of the MIB. The RowPointers, whether "next" or "specific",
may point to Entries defined in other MIB modules. This mechanism can
point to other, possibly vendor-specific, configuration MIB modules.
In addition, the reuse of some specific definitions out of the
DIFFSERV MIB module is worth further consideration for the MIDCOM MIB
module, (e.g. the diffServMultiFieldClfrTable).
[Editor's note: Once we start needing to fill in the gaps as
highlighted in item a of the diagram in Figure 1, this will be
revisited].
4.5 Summary of applicability of existing MIB modules
< To Be Completed >
<Diagram showing these MIB modules as applied to the basic data
model>
5. Additional MIDCOM specific managed objects
At this time, there have been two detailed proposals put forth by
members of the design team defining the MIDCOM MIB:
. draft-stiemerling-midcom-mib-00.txt
. draft-srisuresh-midcom-mib-00.txt
Barnes Expires April 2004 [Page 12]
MIDCOM Protocol MIB Analysis October 2003
The primary differences between these two MIBs, as discussed in
section 4.1, arise from some fundamental views on the MIDCOM MIB and
its relation to the NAT and FW MIBs.
The following summarizes the issues currently being discussed within
the design team, some of which are also reflected in the detailed
NATMIB analysis in Appendix A and put forth for discussion on the
mailing list with regards to the MIDCOM semantics:
1. Session model versus transaction model. There's differing views
as to whether MIDCOM is session or transaction oriented. The
fundamental issue remains to determine which transactions rely
on a session model and how they can be realized through SNMP.
2. Level of abstraction of the MIDCOM MIB from the device. The
prevailing view seemed to be that the MIDCOM MIB could be
abstracted from the device, however, the flipside of that is
that it leaves a lot to implementation choice and thus was
deemed a potential pitfall.
3. Interfacing between MIDCOM MIB and existing NAT and FW MIBs.
This fundamentally relates to how much integration of MIDCOM
should there be with the existing NAT and FW MIBs and whether
there are separate MIDCOM "shims" to accomplish this. This
relates to the decision on the level of abstraction.
4. Extensions and restrictions to the MIDCOM semantics in support
of SNMP specifically (i.e. the semantics were written to be
protocol agnostic, however, the selection of SNMP as the MIDCOM
protocol imposes the need for some potential extensions and
restrictions to the semantics).
A single MIB [MDCMIB] document will be produced once these issues are
resolved.
6. Security Considerations
The MIDCOM requirements [RFC3304] defines the general security
requirements for the MIDCOM protocol. The SNMPv3 User-based Security
Model (USM, [RFC2574]) satisfies those requirements. USM defines
three standardized methods for providing authentication,
confidentiality, and integrity. The method to use can be optionally
chosen. The methods operate securely across untrusted domains.
Additionally, USM has specific built-in mechanisms for preventing
replay attacks including unique protocol engine IDs, timers and
counters per engine and time windows for the validity of messages.
Barnes Expires April 2004 [Page 13]
MIDCOM Protocol MIB Analysis October 2003
7. Changes since last version
The following summarizes the major changes made from the –00 in
creating the –01 version of the WG document:
. Added Appendix A, providing a working version of a detailed
analysis of the NATMIB vs. the MIDCOM semantics. Updated
section 4.1 to reflect the analysis of the NATMIB to date.
. Summarized why there are 2 MIDCOM MIB proposals and the issues
related to the development of the MIDCOM MIB from design team
discussions and the WG mailing list MIDCOM semantics discussions
(section 5).
. Updated the current status of the IPSEC Policy Configuration MIB
as it applies to MIDCOM (section 4.3).
The following summarizes the major changes made from the –01
individual draft for the –00 WG document:
. Changed the focus of the document to be the identification of
the managed objects rather than the actual MIDCOM MIB. Any new
MIB modules required will be detailed in a separate document
upon completion of this analysis. This change does not impact
the majority of the content as the only content thus far has
been the analysis aspects.
The following summarizes the major changes made to the –01 version of
the individual document from the previous version (draft-barnes-
midcom-mib-00):
. Miscellaneous editorial changes include basic formatting and
changing references of mib to MIB, and mibs to MIB modules.
. Removed reference to SNMP proxy functionality as that's not
applicable to MIDCOM.
. Updated references to include additional informational
references for Diffserv and updated versions on some drafts.
. Incorporated "Protocol" into the title of the document.
. In general, attempted to clarify references to policy to be
specific to the rulesets as they apply to a session.
. Some minor re-arranging of text in section 2 to try to improve
the readability of the document.
. Clarified that the configuration relevant to MIDCOM is primarily
dynamic.
. Removed some of the non-relevant text in sections 3 (eg.
References to CLI in the configuration section and some details
in the Policy Coordination Section). Totally removed the Policy
Specification section since it is out of scope.
. Section 4: Added analysis on Diffserv MIB, IPSEC Policy Config
MIB and Policy Based Management MIB.
Barnes Expires April 2004 [Page 14]
MIDCOM Protocol MIB Analysis October 2003
Normative References
[RFC3304] R. Swale, P. Mart, P. Sijben, S. Brim, M. Shore, "Middlebox
Communications (MIDCOM) Protocol Requirements", RFC 3304, August,
2002.
[RFC3303] P. Srisuresh, J. Kuthan, J. Rosenberg, A. Molitor, A.
Rayhan, "Middlebox Communications Architecture and Framework", RFC
3303, August, 2002.
[MDCSEM] Stiemerling, M., Quittek, J., Taylor, T., "MIDCOM Protocol
Semantics", draft-ietf-midcom-semantics-05.txt, October, 2003.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", RFC 2119, March 1997.
[RFC2578] 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.
[RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
Rose, M., and S. Waldbusser, "Textual Conventions for SMIv2", STD 58,
RFC 2579, April 1999.
[RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
Rose, M., and S. Waldbusser, "Conformance Statements for SMIv2", STD
58, RFC 2580, April 1999.
[RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An
Architecture for Describing SNMP Management Frameworks", STD 62, RFC
3411, November 2002.
[RFC3412] Case, J., Harrington D., Presuhn R., and B. Wijnen,
"Message Processing and Dispatching for the Simple Network Management
Protocol (SNMP)", STD 62, RFC 3412, November 2002.
[RFC3413] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications",
STD 62, RFC 3413, November 2002.
[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, November 2002.
[RFC3415] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based
Access Control Model (VACM) for the Simple Network Management
Protocol (SNMP)", STD 62, RFC 3415, November 2002.
Barnes Expires April 2004 [Page 15]
MIDCOM Protocol MIB Analysis October 2003
[NATMIB] Raghunarayan, R., Pai, N., Rohit, R., Wang, C., Srisuresh,
P., "Definitions of Managed Objects for Network Address Translators
(NAT)", draft-ietf-nat-natmib-06.txt, September, 2003.
[PBMMIB] Waldbusser, S., Saperia, J., Hongal, T., "Policy Based
Management MIB", draft-ietf-snmpconf-pm-13.txt, March, 2003.
[IPCMIB] Baer, M., Charlet, R., Hardaker, W., Story, R., Wang, C.,
"IPsec Policy Configuration MIB module", draft-ietf-ipsp-ipsec-conf-
MIB-06.txt, March, 2003.
[MDCMIB] TBD.
Informative References
[RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart,
"Introduction to Version 3 of the Internet-standard Network
Management Framework", 3410, November 2002.
[MDCPEV] Barnes, M., "Middlebox Communications (MIDCOM) Protocol
Evaluation", draft-ietf-midcom-protocol-eval-06.txt, November, 2002.
[RFC2287] Krupczak, C. and J. Saperia, "Definitions of System-Level
Managed Objects for Applications", RFC 2287, February 1998.
[RFC 2475] Blake, S., et al, "An Architecture for Differentiated
Service", RFC 2475, December 1998.
[RFC2564] C. Kalbfleisch, C. Krupczak, R.Presuhn, J. Saperia,
"Application Management MIB", May 1999.
[RFC2594] H. Hazewinkel, C. Kalbfleisch, J. Schoenwaelder,
"Definitions of Managed Objects for WWW Services", May 1999.
[RFC2663] P. Srisuresh, M. Holdrege, "IP Network Address Translator
(NAT) Terminology and Considerations", August 1999.
[RFC2788] N. Freed, S. Kille, "Network Services Monitoring MIB", RFC
2788, March 2000.
[RFC2790] S. Waldbusser, P. Grillo, "Host Resources MIB", March 2000.
[RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB
using SMIv2", RFC 2863, June 2000.
[RFC3289] Baker, F., Chan, K., Smith, A., "Management Information
Base for the Differentiated Services Architecture", RFC 3289, May
2002.
Barnes Expires April 2004 [Page 16]
MIDCOM Protocol MIB Analysis October 2003
[RFC3290] Bernet, Y., et al, "An Informal Management Model for
Differentiated Services Routers", RFC 3290, May 2002.
[DPCMIB] Hazewinkel, H, Partain, D., "The Differentiated Services
Configuration MIB", draft-ietf-snmpconf-diffpolicy-05.txt, June 2002.
[BRGMIB] Norseth, K.C. and Bell, E., "Definitions of Managed Objects
for Bridges", draft-ietf-bridge-bridgeMIB-smiv2-04.txt, October 2002.
[BREMIB] Ngai, V., "Definitions of Managed Objects for Bridges with
Traffic Classes, Multicast Filtering and Virtual LAN Extensions",
draft-ietf-bridge-ext-v2-01.txt, September 2002.
[81xMIB] Norseth, K.C. "Definitions for Port Access Control (IEEE
802.1X) MIB", draft-ietf-bridge-8021x-01.txt, February, 2003.
Acknowledgements
The authors would like to thank Randy Presuhn and Pyda Srisuresh for
their comments and feedback on the initial version of this document.
Contributors' Addresses
The following individuals participated in the MIDCOM MIB design team
and thus provided implicit and explicit content for this document:
Wes Hardaker
Sparta
P.O. Box 382
Davis, CA 95617
USA
EMail: hardaker@tislabs.com
David Harrington, Co-chair SNMPv3 WG
Enterasys Networks
35 Industrial Way
Rochester, NH 03867-5005
USA
Phone: +1 603-337-2614
EMail: dbh@enterasys.com
Juergen Quittek
Barnes Expires April 2004 [Page 17]
MIDCOM Protocol MIB Analysis October 2003
NEC Europe Ltd.
Network Laboratories
Kurfuersten-Anlage 36
69115 Heidelberg
Germany
Phone: +49 6221 90511-15
EMail: quittek@ccrle.nec.de
Martin Stiemerling
NEC Europe Ltd.
Network Laboratories
Adenauerplatz 6
69115 Heidelberg
Germany
Phone: +49 6221 90511-13
Email: stiemerling@ccrle.nec.de
Tom Taylor
Nortel Networks
1852 Lorraine Ave.
Ottawa, Ontario
Canada K1H 6Z8
Phone: +1 613 736 0961
Email: taylor@nortelnetworks.com
Editor's Address
Mary Barnes
Nortel Networks
2380 Performance Drive
Richardson, TX 75082
USA
Phone: 1-972-684-5432
Email: mbarnes@nortelnetworks.com
Appendix A – Analysis of the NATMIB against the MIDCOM semantics
This is an analysis of how the MIDCOM semantics requests and
notifications could be reflected by changes in the NAT MIB, and vice
versa. It compares [MDCSEM] with [NATMIB]. It does not reflect a
consensus of the design team, but rather is put forth as a position
(authored by Tom Taylor, edited by Mary) for discussion and presents
Barnes Expires April 2004 [Page 18]
MIDCOM Protocol MIB Analysis October 2003
some issues requiring resolution in order to fully understand the
impact on the applicability of the NATMIB to MIDCOM from the
perspective of the MIDCOM semantics.
A.1 NAT MIB Summary
The NAT MIB as defined in draft-ietf-nat-natmib-06.txt consists of
the following tables. Based upon design team discussions, the group
and owner will be deleted from the next version of the NAT MIB,
wherever they appear. The following annotation applies to the
summary:
RC = Read-Create; RO = Read-Only
Config: Interface table
Index
Public/private RC
Type of NAT across this interface (basic, NAPT, bidirectional,
twice-NAT) RC
Map name (for all maps relating to this interface) RC
Housekeeping stuff (storage type, active/inactive) RC
Config: Address map table
Map name (as given in interface table)
Map sub-index
OwnerID RC
GroupID RO
Static/dynamic entry type RC
Trigger for mapping: inbound source, inbound destination, outbound
source, outbound destination RC
Local address/port range RC
Global address/port range RC
UDP/TCP/ICMP/other RC
Housekeeping stuff (storage type, active/inactive) RC
Translation: Address bind table
Local (private) address type and value (index)
Owner RO
Group RO
Global (public) address type and value RC
BindID RO
Unidirectional/bidirectional –
same as underlying address map entry RC
Static/dynamic RC
Map name in address map table RC
Number of active sessions using this bind RO
Maximum life of bind while no sessions active RC
Accumulated idle time with no sessions active RO
Barnes Expires April 2004 [Page 19]
MIDCOM Protocol MIB Analysis October 2003
Number of inbound packets successfully translated using this bind
entry RO
Number of inbound packets successfully translated using this bind
entry RO
Active/inactive status RC
Translation: Address-port bind table (applies to NAPT)
Local (private) address type and value (index)
Local port. For ICMP query-id is used instead of port. (index)
Protocol. "None" => all IP. (index)
Owner RO
Group RO
Global (public) address type and value RC
Global port RC
BindID -- same as in address bind table RO
Unidirectional/bidirectional -- same as underlying address map
entry RC
Static/dynamic RC
Map name in address map table RC
Number of active sessions using this bind RO
Maximum life of bind while no sessions active RC
Accumulated idle time with no sessions active RO
Number of inbound packets successfully translated using this bind
entry RO
Number of inbound packets successfully translated using this bind
entry RO
Active/inactive status RC
Translation: session table
BindID in bind tables (index)
SessionId (index)
Owner RO
Group RO
In/out (relative to private network) RC
Session up time RO
Protocol RC
Original private address type and port (A0) RC
Translated private address type and port (A2) RC
Original public address type and port (A3) RC
Translated public address type and port (A1) RC
Maximum life of session while no packets detected RC
Accumulated idle time since last packet detected RO
Other bindID in case of twice-NAT RC
Number of inbound packets successfully translated in this session
RO
Number of inbound packets successfully translated in this session
RO
Active/inactive status RC
Barnes Expires April 2004 [Page 20]
MIDCOM Protocol MIB Analysis October 2003
A.2 General remarks
E-mail discussion has indicated that an interface is a logical point
of attachment to a given subnetwork.
There is debate over whether it is possible to have flows from one
private interface to another. The [NATMIB] authors did not expect
that this could happen and it is not described in [RFC2663], for
example. The MIB structure always assumes that flows are between a
private and a public interface.
The NATMIB seems to provide redundant mapping capability, in that the
same mapping can be specified either on the public or on the private
interface through which a given flow passes. The assumption is,
based on the comments for the NATMIB natConfAddrMapTranslationEntity,
that the mapping is always specified on the public side for the
translation between the interior endpoint address A0 and the
intermediate exterior address A2. For twice-NAT, the mapping between
the exterior endpoint address A3 and the interior endpoint address A1
is specified on the private interface. (A0, A1, A2, and A3 as
described in [MDCSEM]. These may designate a range of ports as well
as an address, depending on the protocol.)
A further note from the same comments in the NATMIB is that "inbound"
is always toward the NAT, "outbound" is always away from it. The
specific example given in the comments is a session flow from a
private to a public interface. On the public interface, it would be
seen in the NATMIB as "outbound", while on the private interface it
is seen as "inbound".
The difference between the address map and the bind tables appears to
be as follows:
- the bind tables deal with mapping between specific address/port
pairs rather than ranges;
- a bind may be automatically deleted after a certain amount of time
without an active associated session;
- certain statistics are captured.
It is not clear how the unidirectional/bidirectional setting for a
bind entry is derived from the parent address map. One possibility
is that it comes from the type of NAT service provided on the
interface. The other is that it is determined by seeing if the
address map includes sub-entries for both inbound and outbound
triggers.
A.3 Interaction between PRR and the NAT MIB
[RFC2663] (NAT terminology) does not distinguish between mapping and
binding, saying only that binding is the first step in the NAT
Barnes Expires April 2004 [Page 21]
MIDCOM Protocol MIB Analysis October 2003
translation process. This may have led to some confusion in
discussions amongst design team members, depending on what was meant
by "binding". The key question is whether an address map is allowed
to exist with no bindings referring to it. If this is possible only
in some implementations or is generally impossible, then PRR MUST
affect both the address map table and the address and address-port
bind tables. Otherwise, it can be argued that PRR should just affect
the address map table. As indicated below, this allows the MIDCOM
MIB to implement the MIDCOM concept of a fixed rule lifetime, in
contrast to (and over-riding) the traditional NAT concept of maximum
idle time.
PRR requests the reservation of an external address A2 to which the
internal endpoint address A0 will be mapped, and in the twice-NAT
case also asks for the reservation of an internal address A1 on the
interface to which A0 is connected. The unspecified external address
A3 will be mapped to A1. The relevant parameters of PRR are:
- service type: traditional or twice-NAT
- transport protocol
- internal address type and value (potentially wildcarded, if
allowed by the NAT implementation)
- internal starting port number and range
- parity of the starting external port
- external address type
- internal (private) interface (optional)
- external (public) interface (optional)
- requested reservation lifetime.
groupID has been omitted from this list because it is a MIDCOM rather
than a NAT issue. The requested reservation lifetime is not an
existing NAT concept, but has an important bearing on how the PRR is
reflected in the NAT MIB, per the arguments below.
The response to PRR includes the assigned external address(es) and
port(s).
A.3.1 Preliminary Comments
According to the NAT MIB, the NAT type is a configured property of
the interface and therefore cannot be arbitrarily chosen. It is for
this reason that this analysis suggests that the service type
parameter should not be present in the PRR.
The internal interface parameter should only be needed if the MIDCOM
agent is acting on behalf of an internal endpoint, which is served by
a different interface. Otherwise it would be expected that the
middlebox would use the internal interface on which the PRR arrived.
Barnes Expires April 2004 [Page 22]
MIDCOM Protocol MIB Analysis October 2003
It's not clear how the MIDCOM agent would know the applicable
interface identifier and whether it has to use it. It seems there is
a good argument for expecting that the MIDCOM agent and the internal
endpoint are served by the same internal interface, simply because
the MIDCOM agent is, by assumption, on the signalling path for the
application.
The value of having the external interface parameter isn't apparent.
Either the internal address-port A0 is already covered by a binding
or it is not. If it is, the external address is determined by the
existing bind. If it is not, it should be up to the middlebox to
choose the external interface, based on existing mapping table
entries, load balancing considerations, etc.
The possibility that A0 is a range of addresses rather than a single
address is problematic. The problem comes about if different
addresses within the range are covered by different existing bindings
or map entries pointing to different external addresses. It's
anticipated that it will be necessary to have a return code
indicating that assignment could not be made due to conflict.
Alternatively we can disallow wildcarding of A0 -- something that
would seem to make sense in terms of application requirements.
We have to accept the possibility that a PER following a PRR may
fail. This may be because the middlebox has selected an external
interface at the PRR stage through which A3 turns out to be
unreachable. The second possibility is in the twice-NAT case and has
been discussed already on the list: A3 when it becomes known may turn
out to be contained in a binding that conflicts with the mapping to
internal address A1.
A.3.2 Choosing A1 and A2
The PRR must always result in the assignment of an intermediate
external address A2. It attempts to select A2 (address and ports, if
applicable) according to the following possibilities in decreasing
order of preference:
(1) protocol and local address A0 from the PRR match an active bind
on any public interface. In this case, the address part of A2
is determined uniquely by the bind; the port part may be
determined by active bind(s), may conflict with active binds, or
may have to be chosen arbitrarily by the middlebox to match the
requested range and parity. Conflict occurs if existing binds
prevent the assignment of consecutive ports in the requested
Barnes Expires April 2004 [Page 23]
MIDCOM Protocol MIB Analysis October 2003
range or disagree with the requested parity. The PRR fails as a
result.
(2) local address A0 appears in an address map entry on any public
interface and, if applicable, the internal port range in the PRR
is included in the local port range for the map entry. In this
case, the address part of A2 may be determined uniquely by the
address map entry or may have to be selected from the possible
range, and similarly for the ports. There is the remote
possibility of a parity conflict if port mapping is determined
uniquely but is of the wrong parity.
(3) no applicable bind or address map entry is found. In this case
the middlebox assigns A2, address and ports, based on internal
logic.
If the NAT type on the internal interface is "twice-NAT", the PRR
must also result in the assignment of an intermediate internal
address A1 on that interface. The middlebox selects address A1 (and
ports, if applicable) from eligible possibilities for the internal
interface based on internal logic.
A.3.3 Effect of Assigning A1 and A2 On the NAT MIB
Once A2 (and A1, if applicable) have been determined, the middlebox
must create address map entries to support them. This is where the
concept of reservation life is significant. Since the operation of
the requested reservation lifetime is different from the maximum idle
time assigned to binds, it seems best implemented by making the
address map entries static. The lifetime is then controlled and
reflected by the MIDCOM MIB rather than the NAT MIB.
Creating new address map entries is straightforward if none
previously existed. The question is what to do when an applicable
address map entry already exists. The alternatives are to do
nothing, to create a new entry overlapping with the existing entry,
or else split the existing entry into multiple entries, including one
matching the assigned address and ports and as many others as
necessary to cover the original range.
Relying on the existing entry alone ("do nothing") requires that a
reference count be attached to the address map entry in the NAT MIB
to record the number of MIDCOM policy rules relying on it. This
count is increased by 1 if the original entry was created by means
other than a MIDCOM request. The count is reduced by 1 each time a
MIDCOM policy rule lifetime expires or the rule is deleted, or if the
non-MIDCOM process originally responsible for creating the address
Barnes Expires April 2004 [Page 24]
MIDCOM Protocol MIB Analysis October 2003
map entry decides to delete it. When the count reaches zero the
address map entry, all child binds, and all sessions deriving from
those binds are deleted. One problem with the "do nothing" approach
is that if the original process creating the entry was not a MIDCOM
request and no longer requires the entry, the scope of the entry
(address range, port range) will in general be broader than required
by the dependent MIDCOM policy rules. As will be seen when the
MIDCOM query primitives are discussed, this approach will require
some redundancy between the MIDCOM and NAT MIBs.
The overlapping entry approach avoids the need for reference counts
and provides a precise match to each MIDCOM request. However, the
non-MIDCOM entries must be flagged to ensure that they are the ones
non-MIDCOM processes use to create binds. The MIDCOM MIB records the
map name and sub-index of the address map entry corresponding to a
given policy rule, so no policy rule linking information is be needed
in the NAT MIB itself. This approach has the advantage that it
avoids the redundancy referred to in the previous paragraph.
The entry split approach is not really practical. To ensure that
deletions by MIDCOM and by non-MIDCOM processes were handled
correctly, the fragments of the original range would have to be
identified by the original address map entry sub-index as well as a
new one for each fragment. Reference counts might also be needed.
Moreover, the number of address map entries would grow more rapidly
than with the overlapping address map entry approach.
<Analysis of other MIDCOM primitives to be added.>
Full Copyright Statement
Copyright (C) The Internet Society (2003). 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
Barnes Expires April 2004 [Page 25]
MIDCOM Protocol MIB Analysis October 2003
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.
Barnes Expires April 2004 [Page 26]
| PAFTECH AB 2003-2026 | 2026-04-24 04:53:22 |