Network Working Group J.P.D. Dionne, Ed.
Internet-Draft M. Blanchet
Intended status: Standards Track Viagenie
Expires: January 04, 2012 July 03, 2011

CGN Management Information Base (MIB)
draft-jpdionne-behave-cgn-mib-00

Abstract

This memo describes the "Carrier Grade NAT" (CGN) Management Information Base (MIB). It is a complement to the NAT-MIB to cope with additional requirements for NAT deployed in large scale networks.

Status of this Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/.

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."

This Internet-Draft will expire on January 04, 2012.

Copyright Notice

Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.


Table of Contents

1. Introduction

This memo defines a MIB module to cover additionnal requirements of the Carrier Grade NAT (CGN) [I-D.ietf-behave-lsn-requirements]. It is a complement to the NAT-MIB [RFC4008]. Monitoring of CGN devices is essential to ensure that resources are fairly distributed amongs users. The memo is divided in three parts: configuration, state monitoring and notifications.

2. The Internet-Standard Management Framework

For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 [RFC3410].

Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580].

3. Structure of the MIB Module

3.1. Textual Conventions

  1. CgnProtocolType represents the protocol numbers from the IANA registry. It is used to describe to limits for UDP, TCP, ICMP, etc.

3.2. The Configuration Subtree

According to REQ-2 and REQ-3 of [I-D.ietf-behave-lsn-requirements], a CGN should limit port allocation.

3.3. The State Subtree

natAddrMapTable is extended to provide live statistics on the number of external port and IP addresses in usage (cgnAddrPoolUsage)

[RFC4008] allows one to access session information for all the CGN. However, in practice, sessions and bindings tables for a CGN are too large to walk. Entries should be indexed differently on a per subscriber basis (See CgnSubscrTable below).

     
[To be determined]
   - Link with natSessionID of RFC4008 natSessionTable 
   - Table of port usage per IP addresses.

3.4. The Notifications Subtree

The CGN-MIB defines three types of notifications, similar to events defined in [I-D.sivakumar-behave-nat-logging]. It includes: address exhaustion (cgnAddrPoolExhaustion), port exhaustion (cgnPortExhaustion) and user quota exceeded (cgnQuotaExceeded).

3.5. The Table Structures

TBD

4. Relationship to Other MIB Modules

4.1. Relationship to the RFC4008 MIB

TBD

4.2. MIB modules required for IMPORTS

The following MIB module IMPORTS objects from NAT-MIB [RFC4008], SNMP-FRAMEWORK-MIB [RFC3411], INET-ADDRESS-MIB [RFC4001].

5. Definitions

CGN-MIB DEFINITIONS ::= BEGIN
IMPORTS
     MODULE-IDENTITY,
     OBJECT-TYPE,
     Gauge32,
     Counter64,
     mib-2,
     NOTIFICATION-TYPE
             FROM SNMPv2-SMI
     TEXTUAL-CONVENTION,
     StorageType,
     RowStatus
             FROM SNMPv2-TC
     MODULE-COMPLIANCE,
     NOTIFICATION-GROUP,
     OBJECT-GROUP
             FROM SNMPv2-CONF
     natMIB,
     NatAddrMapId
             FROM NAT-MIB
     SnmpAdminString
             FROM SNMP-FRAMEWORK-MIB
     InetAddressType,
     InetAddress,
     InetPortNumber
             FROM INET-ADDRESS-MIB;

cgnMIB MODULE-IDENTITY
     LAST-UPDATED "201107030000Z"
     ORGANIZATION "Viagenie Inc."
     CONTACT-INFO
              "Jean-Philippe Dionne
               Viagenie Inc.
               2875 Boul Laurier, Suite D2-630
               Quebec, Quebec, Canada, G1V 2M2
               Phone: +1-418-656-9254
               Email: jean-philippe.dionne@viagenie.ca"
     DESCRIPTION
             "This MIB module defines an extension of the NAT-MIB
             (RFC4008) for Carrier Grade NAT (CGN)"
     REVISION     "201107030000Z"  -- July 3rd 2011
     DESCRIPTION
             "This MIB module defines an extension of the NAT-MIB
             (RFC4008) for Carrier Grade NAT (CGN)"

     ::= { mib-2 123 }

cgnMIBObjects OBJECT IDENTIFIER ::= { cgnMIB 1 }

CgnProtocolType ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION
               "Protocol numbers
                (http://www.iana.org/assignments/protocol-numbers/)"
       SYNTAX   INTEGER

--
-- This table extends the natAddrMapTable table.
--

cgnSubscrQuotaTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CgnSubscrQuotaEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This tables represents per subscriber quota."
    ::= { cgnMIBObjects 1 }

cgnSubscrQuotaEntry OBJECT-TYPE
    SYNTAX      CgnSubscrQuotaEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This entry represents per subscriber quota indexed by
             natAddrMapIndex from natAddrMapTable and protocol number."
    INDEX { cgnUserQuotaMapIndex, cgnUserQuotaProtocol }
    ::= { cgnSubscrQuotaTable 1 }

CgnSubcrQuotaEntry ::=
    SEQUENCE {
            cgnUserQuotaMapIndex NatAddrMapId,
            cgnUserQuotaProtocol CgnProtocolType,
            cgnUserQuotaPortLimit INTEGER,
            cgnUserQuotaAddrLimit INTEGER,
            cgnUserQuotaPortAllocRate INTEGER
    }

-- [TBD] define entries elements

cgnAddrPoolTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF CgnAddrPoolEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
             "This table represents the external address pool usage."
     ::= { cgnMIBObjects 2 }

cgnAddrPoolEntry OBJECT-TYPE
     SYNTAX      CgnAddrPoolEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
             "This entry represents the external address pool usage
              indexed by natAddrMapIndex from natAddrMapTable and
              protocol number."
     INDEX { cgnAddrPoolMapIndex }

     ::= { cgnAddrPoolTable 1 }

CgnAddrPoolEntry ::=
     SEQUENCE {
         cgnAddrPoolMapIndex    NatAddrMapId,
         cgnAddrPoolUsage       Gauge32,
         cgnAddrPoolExceeded    Counter64,
         cgnPortPoolExceeded    Counter64
     }

-- [TBD] define entries elements

-- CgnSubscrTable

cgnSubscrTable    OBJECT-TYPE
     SYNTAX      SEQUENCE OF CgnSubscrEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
             "This table represents per subscriber information."
     ::= { cgnMIBObjects 3 }

cgnSubscrEntry    OBJECT-TYPE
     SYNTAX      CgnSubscrEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
             "This entry represents per subscriber information."
     INDEX { cgnSubscrMapIndex,
             cgnSubscrInetAddrType,
	     cgnSubscrInetAddr
	   }

     ::= { cgnSubscrTable 1 }

CgnSubscrEntry ::=
     SEQUENCE {
         cgnSubscrMapIndex          NatAddrMapId,
         cgnSubscrInetAddrType      InetAddrType,
         cgnSubscrInetAddr          InetAddr,
         cgnSubscrEntryAddrUsage    INTEGER,
         cgnSubscrEntryPortUsage    INTEGER,
         cgnSubscrPortQuotaExceeded Counter64,
         cgnSubscrAddrQuotaExceeded Counter64
     }

--
-- Notifications
--

cgnMIBNotifications OBJECT IDENTIFIER ::= { cgnMIB 0 }

cgnAddrPoolExhaustion NOTIFICATION-TYPE
    OBJECTS { natAddrMapIndex }
    STATUS  current
    DESCRIPTION
            ""
    ::= { cgnMIBNotifications 1 }

cgnPortExhaustion NOTIFICATION-TYPE
    OBJECTS { natAddrMapIndex, cgnProtocolType,
              inetAddressType, inetAddress }
    STATUS  current
    DESCRIPTION
            ""
    ::= { cgnMIBNotifications 2 }

cgnUserQuotaExceeded NOTIFICATION-TYPE
    OBJECTS { natAddrMapIndex, inetAddressType, inetAddress }
    STATUS  current
    DESCRIPTION
            ""
    ::= { cgnMIBNotifications 3 }


6. Security Considerations

No additional security consideration than RFC 4008.

7. IANA Considerations

TBD

8. Contributors

9. References

9.1. Normative References

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2578] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
[RFC2579] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.
[RFC2580] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999.
[RFC4008] Rohit, R., Srisuresh, P., Raghunarayan, R., Pai, N. and C. Wang, "Definitions of Managed Objects for Network Address Translators (NAT)", RFC 4008, March 2005.

9.2. Informative References

[RFC2223] Postel, J. and J.K. Reynolds, "Instructions to RFC Authors", RFC 2223, October 1997.
[RFC3410] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction and Applicability Statements for Internet-Standard Management Framework", RFC 3410, December 2002.
[RFC2629] Rose, M.T., "Writing I-Ds and RFCs using XML", RFC 2629, June 1999.
[RFC4181] Heard, C., "Guidelines for Authors and Reviewers of MIB Documents", BCP 111, RFC 4181, September 2005.
[I-D.ietf-behave-lsn-requirements] Perreault, S, Yamagata, I, Miyakawa, S, Nakagawa, A and H Ashida, "Common requirements for IP address sharing schemes", Internet-Draft draft-ietf-behave-lsn-requirements-01, March 2011.
[I-D.sivakumar-behave-nat-logging] Sivakumar, S, "Logging of NAT Events", Internet-Draft draft-sivakumar-behave-nat-logging-01, May 2011.

Authors' Addresses

Jean-Philippe Dionne editor Viagenie 2875 boul. Laurier, suite D2-630 Quebec, Canada Phone: +1-418-656-9254 EMail: jean-philippe.dionne@viagenie.ca
Marc Blanchet Viagenie 2875 boul. Laurier, suite D2-630 Quebec, QC G1V 2M2 Canada EMail: Marc.Blanchet@viagenie.ca URI: http://viagenie.ca