One document matched: draft-jpdionne-behave-cgn-mib-00.xml


<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc strict="no"?>
<?rfc rfcedstyle="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>

<rfc category="std" ipr="trust200902" docName="draft-jpdionne-behave-cgn-mib-00">
  <front>
    <title abbrev="CGN Management Information Base (MIB)">CGN Management Information Base (MIB)</title>
    <author initials="J.P.D" surname="Dionne" fullname="Jean-Philippe Dionne"
	    role="editor">
      <organization>Viagenie</organization>
      <address>
        <postal>
          <street>2875 boul. Laurier, suite D2-630</street>
          <city>Quebec</city>
          <country>Canada</country>
        </postal>
        <phone>+1-418-656-9254</phone>
        <email>jean-philippe.dionne@viagenie.ca</email>
      </address>
    </author>
    <author initials="M." surname="Blanchet" fullname="Marc Blanchet">
      <organization>Viagenie</organization>
      <address>
        <postal>
          <street>2875 boul. Laurier, suite D2-630</street>
          <city>Quebec</city>
          <region>QC</region>
          <code>G1V 2M2</code>
          <country>Canada</country>
        </postal>
        <email>Marc.Blanchet@viagenie.ca</email>
        <uri>http://viagenie.ca</uri>
      </address>
    </author>
    <date year="2011"/>
    <abstract>
      <t>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.</t>
    </abstract>
</front>

  <middle>
    <section title="Introduction">
      <t>This memo defines a MIB module to cover additionnal requirements of the Carrier Grade NAT (CGN) <xref target="I-D.ietf-behave-lsn-requirements"/>.  It is a complement to the NAT-MIB <xref target="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.</t>
    </section>

    <section title="The Internet-Standard Management Framework">
      <t>For a detailed overview of the documents that describe the current
      Internet-Standard Management Framework, please refer to section 7 of RFC
      3410 <xref target="RFC3410"></xref>.</t>

      <t>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 <xref
      target="RFC2578"></xref>, STD 58, RFC 2579 <xref
      target="RFC2579"></xref> and STD 58, RFC 2580 <xref
      target="RFC2580"></xref>.</t>
    </section>

    <section title="Structure of the MIB Module">
      <section title="Textual Conventions">
	      <t><list style="numbers">
	      <t>CgnProtocolType represents the protocol numbers from the IANA registry. It is used to describe to limits for UDP, TCP, ICMP, etc.</t>
      </list></t>
      </section>

      <section title="The Configuration Subtree">
	      <t>According to REQ-2 and REQ-3 of <xref target="I-D.ietf-behave-lsn-requirements"/>, a CGN should limit port allocation.</t>
      </section>

      <section title="The State Subtree">
      <t>natAddrMapTable is extended to provide live statistics on the number of external port and IP addresses in usage (cgnAddrPoolUsage)</t>
      <t><xref target="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).
      </t>
      <t>
        <figure>
          <artwork><![CDATA[     
[To be determined]
   - Link with natSessionID of RFC4008 natSessionTable 
   - Table of port usage per IP addresses.
]]></artwork>
        </figure>
      </t>
      </section>

      <section title="The Notifications Subtree">
      <t> The CGN-MIB defines three types of notifications, similar to events defined in <xref target="I-D.sivakumar-behave-nat-logging"/>.   It includes: address exhaustion (cgnAddrPoolExhaustion), port exhaustion (cgnPortExhaustion) and user quota exceeded (cgnQuotaExceeded).
      </t>
      </section>

      <section title="The Table Structures">
	      <t>TBD</t>
      </section>
    </section>

    <section title="Relationship to Other MIB Modules">
      <section title="Relationship to the RFC4008 MIB">
	      <t>TBD</t>
      </section>
     <section title="MIB modules required for IMPORTS">
<t>The following MIB module IMPORTS objects from NAT-MIB [RFC4008],
SNMP-FRAMEWORK-MIB [RFC3411], INET-ADDRESS-MIB [RFC4001].</t>
      </section>
    </section>

    <section title="Definitions">
      <figure>
<artwork><![CDATA[
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 }

]]>
</artwork>
      </figure>
    </section>

    <section title="Security Considerations">
      <t>No additional security consideration than RFC 4008.</t>
    </section>

    <section title="IANA Considerations">
     <t>TBD</t>
    </section>

    <section title="Contributors">
	Thanks to Mohamed Boucadair for his review and valuable comments.
    </section>
  </middle>

  <back>

    <references title="Normative References">
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2578.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2579.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2580.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4008.xml"?>

    </references>

    <references title="Informative References">
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2223.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.3410.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.4181.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-behave-lsn-requirements-01.xml"?>
      <?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-sivakumar-behave-nat-logging-01.xml"?>
    </references>

<!--
    <section title="Change Log ">
      from draft 1 to draft 2
      <t><list style="numbers">
      <t></t>
        </list></t>
    </section>
-->
  </back>
</rfc>

PAFTECH AB 2003-20262026-04-24 04:26:34