Softwire Y. Fu Internet Draft S. Jiang Intended status: Standards Track Huawei Technologies Co., Ltd Expires: March 01, 2014 J. Dong Y. Chen Tsinghua University August 28, 2013 DS-Lite Management Information Base (MIB) draft-ietf-softwire-dslite-mib-03 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 March 01, 2014. Copyright Notice Copyright (c) 2013 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. Fu, et al. Expires March 01, 2014 [Page 1] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 Abstract This memo defines a portion of the Management Information Base (MIB) for using with network management protocols in the Internet community. In particular, it defines managed objects for DS-Lite. Table of Contents 1. Introduction ................................................. 3 2. The Internet-Standard Management Framework ................... 3 3. Terminology .................................................. 3 4. Difference from the IP tunnel MIB and NAT MIB ................ 3 5. Relationship to the IF-MIB ................................... 5 6. Structure of the MIB Module .................................. 5 6.1. The Object Group ........................................ 5 6.1.1. The dsliteTunnel Subtree ........................... 5 6.1.2. The dsliteNAT Subtree .............................. 5 6.1.3. The dsliteInfo Subtree ............................. 6 6.2. The Notification Group .................................. 6 6.2.1. The dsliteTrap Subtree ............................. 6 6.3. The Conformance Group ................................... 6 7. MIB modules required for IMPORTS ............................. 6 8. Definitions .................................................. 6 9. Extending this MIB for Gateway Initiated Dual-Stack Lite .....27 10. IANA Considerations......................................... 27 11. Security Considerations .................................... 28 12. References ................................................. 29 12.1. Normative References .................................. 29 12.2. Informative References ................................ 30 Author's Addresses ............................................. 30 Fu, et al. Expires March 01, 2014 [Page 2] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 1. Introduction Dual-Stack Lite [RFC 6333] is a solution to offer both IPv4 and IPv6 connectivity to customers crossing IPv6 only infrastructure. One of its key components is an IPv4-over-IPv6 tunnel, which is used to provide IPv4 connection across service provider's IPv6 network. Another key component is a carrier-grade IPv4-IPv4 NAT to share service provider IPv4 addresses among customers. This document defines a portion of the Management Information Base (MIB) for using with network management protocols in the Internet community. This MIB module may be used for configuration and monitoring the devices in the Dual-Stack Lite scenario. This MIB also can be extended to the application for Gateway Initiated Dual-Stack Lite [RFC 6674]. 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 [RFC3410]. Managed objects are accessed via a virtual information store, termed the 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 [RFC2578], [RFC2579] and [RFC2580]. 3. Terminology 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 [RFC2119]. 4. Difference from the IP tunnel MIB and NAT MIB The key technologies for DS-Lite are IP in IP (IPv4-in-IPv6) tunnel and NAT (IPv4 to IPv4 translation). Notes: According to the section 5.2 of RFC6333, DS-Lite only defines IPv4 in IPv6 tunnels at this moment, but other types of encapsulation could be defined in the future. So this DS-Lite MIB only support IP Fu, et al. Expires March 01, 2014 [Page 3] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 in IP encapsulation, if the RFC6333 defined other tunnel types in the future, this DS-Lite MIB will be updated then. The NAT-MIB [RFC4008] is designed to carry translation from any address family to any address family, therefore it supports IPv4 to IPv4 translation. The tunnel MIB [RFC4087] is designed for managing tunnels of any type over IPv4 and IPv6 networks, therefore it supports IP in IP tunnels. However, NAT MIB and tunnel MIB together are not sufficient to support DS-Lite. This document describes the specific MIB requirements for DS-Lite, as below. In DS-Lite scenario, the tunnel type is IP in IP, more precisely, is IPv4 in IPv6. Therefore, it is unnecessary to describe tunnel type in DS-Lite MIB. In DS-Lite scenario, the translation type is IPv4 private address to IPv4 public address. Therefore, it is unnecessary to describe the type of address in the corresponding tunnelIfLocalInetAddress and tunnelIfRemoteInetAddress objects which are defined in tunnel MIB for DS-Lite MIB. In DS-Lite scenario, the AFTR is not only the tunnel end concentrator, but also a 4-4 translator. Within the AFTR, tunnel information and translation information MUST be mapped each other. Two independent MIB is not able to reflect this mapping relationship. Therefore, a combined MIB is necessary. If the Gateway Initiated Dual-Stack Lite scenario[RFC 6674] is required, the MIB defined in this document could be easily extended for GI-DS-Lite. CID (Context Identifier) can be extended to the tunnel MIB to identifier the access devices which have the same IPv4 address. And both CID and SWID (Softwire Identifier) can be extended to the NAT MIB for performing the NAT binding look up. The implementation of the IP Tunnel MIB is required for DS-Lite. The tunnelIfEncapsMethod in the tunnelIfEntry should be set to dsLite("xx"), and corresponding entry in the DS-Lite module will exist for every tunnelIfEntry with this tunnelIfEncapsMethod. The tunnelIfRemoteInetAddress must be set to "::". Fu, et al. Expires March 01, 2014 [Page 4] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 5. Relationship to the IF-MIB The Interfaces MIB [RFC2863] defines generic managed objects for managing interfaces. Each logical interface (physical or virtual)has an ifEntry. Tunnels are handled by creating a logical interface (ifEntry) for each tunnel. DS-Lite tunnel also acts as a virtual interface, which has corresponding entries in IP Tunnel MIB and Interface MIB. Those corresponding entries are indexed by ifIndex. The ifOperStatus in ifTable would be used to represent whether the DS-Lite tunnel function has been originated. The ifInUcastPkts defined in ifTabel will represent the number of IPv4 packets which have been encapsulated into IPv6 packets sent to B4. The ifOutUcastPkts defined in ifTabel contains the number of IPv6 packets which can be decapsulated to IPv4 in the virtual interface. Also, the IF-MIB defines ifMtu for the MTU of this tunnel interface, so DS-Lite MIB does not need to define the MTU for tunnel. 6. Structure of the MIB Module The DS-Lite MIB provides a way to monitor and manage the devices (AFTRs)in DS-Lite scenario through SNMP. DS-Lite MIB is configurable on a per-interface basis. It depends on several parts of the IF-MIB [RFC2863], tunnel MIB [RFC4087], and NAT MIB [RFC4008]. 6.1. The Object Group This Group defines objects which are needed for DS-Lite MIB. 6.1.1. The dsliteTunnel Subtree The dsliteTunnel subtree describes managed objects used for managing tunnels in the DS-Lite scenario. Because some objects defined in Tunnel MIB are not access, a few new objects are defined in DS-Lite MIB. 6.1.2. The dsliteNAT Subtree The dsliteNAT Subtree describes managed objects used for configuration as well as monitoring of AFTR which is capable of NAT function. Because the NAT MIB supports the NAT management function in DS-Lite, we may reuse it in DS-Lite MIB. The dsliteNAT Subtree also provides the information of mapping relationship between the tunnel MIB and NAT MIB by extending the IPv6 address of B4 to the bind table in NAT MIB. Fu, et al. Expires March 01, 2014 [Page 5] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 6.1.3. The dsliteInfo Subtree The dsliteInfo Subtree provides the statistical information for DS- lite. 6.2. The Notification Group This Group defines some notification objects for DS-Lite MIB. 6.2.1. The dsliteTrap Subtree The dsliteTrap Subtree provides trap information in DS-Lite instance. 6.3. The Conformance Group The dsliteConformance Subtree provides conformance information of MIB objects. 7. MIB modules required for IMPORTS This MIB module IMPORTs objects from [RFC4008], [RFC2580], [RFC2578], [RFC2863], [RFC4001], [RFC3411]. 8. Definitions DSLite-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, transmission, NOTIFICATION-TYPE,Gauge32,TimeTicks, Integer32, Counter64 FROM SNMPv2-SMI OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP FROM SNMPv2-CONF DisplayString FROM SNMPv2-TC ifIndex FROM IF-MIB InetAddress, InetAddressType,InetPortNumber FROM INET-ADDRESS-MIB Fu, et al. Expires March 01, 2014 [Page 6] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 NatAddrMapId, NatBindId FROM NAT-MIB; dsliteMIB MODULE-IDENTITY LAST-UPDATED "201308280000Z" -- August 28, 2013 ORGANIZATION "IETF Softwire Working Group" CONTACT-INFO "Yu Fu Huawei Technologies Co., Ltd Huawei Building, 156 Beiqing Rd., Hai-Dian District Beijing, P.R. China 100095 EMail: eleven.fuyu@huawei.com Sheng Jiang Huawei Technologies Co., Ltd Huawei Building, 156 Beiqing Rd., Hai-Dian District Beijing, P.R. China 100095 EMail: jiangsheng@huawei.com Jiang Dong Tsinghua University Department of Computer Science, Tsinghua University Beijing 100084 P.R. China Email: knight.dongjiang@gmail.com Yuchi Chen Tsinghua University Department of Computer Science, Tsinghua University Beijing 100084 P.R. China Email: flashfoxmx@gmail.com " DESCRIPTION "The MIB module is defined for management of object in the DS-Lite scenario. " REVISION "201308280000Z" DESCRIPTION "Initial version. Published as RFC xxxx." --RFC Ed.: RFC-edtitor pls fill in xxxx ::= { transmission xxx } --RFC Ed.: assigned by IANA, see section 10 for details --Top level components of this MIB module Fu, et al. Expires March 01, 2014 [Page 7] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 dsliteMIBObjects OBJECT IDENTIFIER ::= { dsliteMIB 1 } dsliteTunnel OBJECT IDENTIFIER ::= { dsliteMIBObjects 1 } dsliteNAT OBJECT IDENTIFIER ::= { dsliteMIBObjects 2 } dsliteInfo OBJECT IDENTIFIER ::= { dsliteMIBObjects 3 } --Notifications section dsliteTraps OBJECT IDENTIFIER ::= { dsliteMIB 2 } --dsliteTunnel --dsliteTunnelTable dsliteTunnelTable OBJECT-TYPE SYNTAX SEQUENCE OF DsliteTunnelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information on configured tunnels. This table can be used to map CPE address to the associated AFTR address. It can also be used for row creation." ::= { dsliteTunnel 1 } dsliteTunnelEntry OBJECT-TYPE SYNTAX DsliteTunnelEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry in this table contains the information on a particular configured tunnel." INDEX { dsliteTunnelStartAddress, dsliteTunnelEndAddress, ifIndex } ::= { dsliteTunnelTable 1 } DsliteTunnelEntry ::= SEQUENCE { dsliteTunnelStartAddressType InetAddressType, Fu, et al. Expires March 01, 2014 [Page 8] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 dsliteTunnelStartAddress InetAddress, dsliteTunnelStartAddPreLen Integer32, dsliteTunnelEndAddressType InetAddressType, dsliteTunnelEndAddress InetAddress } dsliteTunnelStartAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "In this object, it MUST be set to the value of 2 to present IPv6 type. It describes the address type of the start point of the tunnel." ::= { dsliteTunnelEntry 1 } dsliteTunnelStartAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The address of the start point of the tunnel." ::= { dsliteTunnelEntry 2 } dsliteTunnelStartAddPreLen OBJECT-TYPE SYNTAX Integer32 (0..128) MAX-ACCESS read-create STATUS current DESCRIPTION "IPv6 prefix length of the IP address of the start point of the tunnel." ::= { dsliteTunnelEntry 3 } dsliteTunnelEndAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "In this object, it MUST be set to the value of 2 to present IPv6 type. It describes the address type of the end point of the tunnel." ::= { dsliteTunnelEntry 4 } dsliteTunnelEndAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current Fu, et al. Expires March 01, 2014 [Page 9] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 DESCRIPTION "The address of the endpoint of the tunnel." ::= { dsliteTunnelEntry 5 } --dsliteNAT --dsliteNATMapTable(define address pool) --dsliteNATBindTable(NAPT) dsliteNATMapTable OBJECT-TYPE SYNTAX SEQUENCE OF DsliteNATMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information about address map parameters." ::= { dsliteNAT 1 } dsliteNATMapEntry OBJECT-TYPE SYNTAX DsliteNATMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION " This entry represents an address map to be used for NAT and contributes to the address mapping tables of AFTR." INDEX { ifIndex, dsliteNATMapIndex } ::= { dsliteNATMapTable 1 } DsliteNATMapEntry ::= SEQUENCE { dsliteNATMapIndex NatAddrMapId, dsliteNATMapLocalAddrFromType InetAddressType, dsliteNATMapLocalAddrFrom InetAddress, dsliteNATMapLocalAddrToType InetAddressType, dsliteNATMapLocalAddrTo InetAddress, dsliteNATMapLocalPortFrom InetPortNumber, dsliteNATMapLocalPortTo InetPortNumber, dsliteNATMapGlobalAddrFromType InetAddressType, dsliteNATMapGlobalAddrFrom InetAddress, dsliteNATMapGlobalAddrToType InetAddressType, dsliteNATMapGlobalAddrTo InetAddress, dsliteNATMapGlobalPortFrom InetPortNumber, dsliteNATMapGlobalPortTo InetPortNumber, dsliteNATMapAddrUsed Gauge32 } Fu, et al. Expires March 01, 2014 [Page 10] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 dsliteNATMapIndex OBJECT-TYPE SYNTAX NatAddrMapId MAX-ACCESS not-accessible STATUS current DESCRIPTION "Along with ifIndex, this object uniquely identifies an entry in the dsliteNATMapTable. Address map entries are applied in the order specified by dsliteNATMapIndex." ::= { dsliteNATMapEntry 1 } dsliteNATMapLocalAddrFromType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "It describes the address type of the dsliteNATMapLocalAddrFrom object. In this object, it MUST be set to the value of 1 to present IPv4 type. It complies the textule convention of IPv4 address defined in [RFC4001]." ::= { dsliteNATMapEntry 2 } dsliteNATMapLocalAddrFrom OBJECT-TYPE SYNTAX InetAddress 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. The value of this object must be less than or equal to the value of the dsliteNATMapLocalAddrTo object." ::= { dsliteNATMapEntry 3 } dsliteNATMapLocalAddrToType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "It describes the address type of the dsliteNATMapLocalAddrTo object. In this object, it MUST be set to the value of 1 to present IPv4 type. It complies the textule Fu, et al. Expires March 01, 2014 [Page 11] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 convention of IPv4 address defined in [RFC4001]." ::= { dsliteNATMapEntry 4 } dsliteNATMapLocalAddrTo OBJECT-TYPE SYNTAX InetAddress 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 is being mapped, the value of this object is equal to the value of natAddrMapLocalAddrFrom. The value of this object must be greater than or equal to the value of the natAddrMapLocalAddrFrom object." ::= { dsliteNATMapEntry 5 } dsliteNATMapLocalPortFrom OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION "The value of this object must be less than or equal to the value of the dsliteNATMapLocalPortTo object. If the translation specifies a single port, then the value of this object is equal to the value of dsliteNATMapLocalPortTo." DEFVAL { 0 } ::= { dsliteNATMapEntry 6 } dsliteNATMapLocalPortTo OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION "The value of this object must be greater than or equal to the value of the dsliteNATMapLocalPortFrom object. If the translation specifies a single port, then the value of this object is equal to the value of dsliteNATMapLocalPortFrom." DEFVAL { 0 } ::= { dsliteNATMapEntry 7 } dsliteNATMapGlobalAddrFromType OBJECT-TYPE SYNTAX InetAddressType Fu, et al. Expires March 01, 2014 [Page 12] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 MAX-ACCESS read-create STATUS current DESCRIPTION "It describes the address type of the dsliteNATMapGlobalAddrFrom object. In this object, it MUST be set to the value of 1 to present IPv4 type. It complies the textule convention of IPv4 address defined in [RFC4001]." ::= { dsliteNATMapEntry 8 } dsliteNATMapGlobalAddrFrom OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies the first IP address of the range of IP addresses being mapped to. The value of this object must be less than or equal to the value of the dsliteNATMapGlobalAddrTo object." ::= { dsliteNATMapEntry 9 } dsliteNATMapGlobalAddrToType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "It describes the address type of the dsliteNATMapGlobalAddrTo object. In this object, it MUST be set to the value of 1 to present IPv4 type. It complies the textule convention of IPv4 address defined in [RFC4001]." ::= { dsliteNATMapEntry 10 } dsliteNATMapGlobalAddrTo OBJECT-TYPE SYNTAX InetAddress 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 Fu, et al. Expires March 01, 2014 [Page 13] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 address is being mapped to, the value of this object is equal to the value of dsliteNATMapGlobalAddrFrom. The value of this object must be greater than or equal to the value of the dsliteNATMapGlobalAddrFrom object." ::= { dsliteNATMapEntry 11 } dsliteNATMapGlobalPortFrom OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION "The value of this object must be less than or equal to the value of the dsliteNATMapGlobalPortTo object. If the translation specifies a single port, then the value of this object is equal to the value dsliteNATMapGlobalPortTo." DEFVAL { 0 } ::= { dsliteNATMapEntry 12 } dsliteNATMapGlobalPortTo OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-create STATUS current DESCRIPTION "The value of this object must be greater than or equal to the value of the dsliteNATMapGlobalPortFrom object. If the translation specifies a single port, then the value of this object is equal to the value of dsliteNATMapGlobalPortFrom." DEFVAL { 0 } ::= { dsliteNATMapEntry 13 } dsliteNATMapAddrUsed 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." ::= { dsliteNATMapEntry 14 } dsliteNATBindTable OBJECT-TYPE SYNTAX SEQUENCE OF DsliteNATBindEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information about currently Fu, et al. Expires March 01, 2014 [Page 14] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 active NAT binds in AFTR. This table extends the natAddrPortBindTable designed in NAT MIB (RFC 4008) by IPv6 address of B4." ::= { dsliteNAT 2 } dsliteNATBindEntry OBJECT-TYPE SYNTAX DsliteNATBindEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry in this table holds the relationship between tunnel information and nat bind information. These entries are lost upon agent restart." INDEX { ifIndex, dsliteNATBindLocalAddr, dsliteNATBindLocalPort, dsliteTunnelStartAddress, dsliteTunnelStartAddPreLen } ::= { dsliteNATBindTable 1 } DsliteNATBindEntry ::= SEQUENCE { dsliteNATBindLocalAddrType InetAddressType, dsliteNATBindLocalAddr InetAddress, dsliteNATBindLocalPort InetPortNumber, dsliteNATBindGlobalAddrType InetAddressType, dsliteNATBindGlobalAddr InetAddress, dsliteNATBindGlobalPort InetPortNumber, dsliteNATBindId NatBindId, dsliteNATBindMapIndex NatAddrMapId, dsliteNATBindSessions Gauge32, dsliteNATBindMaxIdleTime TimeTicks, dsliteNATBindCurrentIdleTime TimeTicks, dsliteNATBindInTranslates Counter64, dsliteNATBindOutTranslates Counter64 } dsliteNATBindLocalAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION " This object specifies the address type used for dsliteNATBindLocalAddr." ::= { dsliteNATBindEntry 1 } Fu, et al. Expires March 01, 2014 [Page 15] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 dsliteNATBindLocalAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object represents the private IP address of host." ::= { dsliteNATBindEntry 2 } dsliteNATBindLocalPort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS not-accessible STATUS current DESCRIPTION "For a protocol value TCP or UDP, this object represents the private-realm specific port number. On the other hand, for ICMP a bind is created only for query/response type ICMP messages such as ICMP echo, Timestamp, and Information request messages, and this object represents the private-realm specific identifier in the ICMP message, as defined in RFC 792 for ICMPv4." ::= { dsliteNATBindEntry 3 } dsliteNATBindGlobalAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION " This object specifies the address type used for dsliteNATBindGlobalAddr." ::= { dsliteNATBindEntry 4 } dsliteNATBindGlobalAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents the public-realm IP address of host." ::= { dsliteNATBindEntry 5 } dsliteNATBindGlobalPort OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-only STATUS current DESCRIPTION "For a protocol value TCP or UDP, this object represents the public-realm specific port number. On the other Fu, et al. Expires March 01, 2014 [Page 16] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 hand, for ICMP a bind is created only for query/response type ICMP messages such as ICMP echo, Timestamp, and Information request messages, and this object represents the public-realm specific identifier in the ICMP message, as defined in RFC 792 for ICMPv4." ::= { dsliteNATBindEntry 6 } dsliteNATBindId OBJECT-TYPE SYNTAX NatBindId MAX-ACCESS read-only STATUS current DESCRIPTION "This object represents a bind id that is dynamically assigned to each bind by AFTR. Each bind is represented by a unique bind id across the dsliteNATBindTable." ::= { dsliteNATBindEntry 7 } dsliteNATBindMapIndex OBJECT-TYPE SYNTAX NatAddrMapId MAX-ACCESS read-only STATUS current DESCRIPTION "This object is a pointer to the dsliteNATMapTable entry used in creating this BIND." ::= { dsliteNATBindEntry 8 } dsliteNATBindSessions OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION " This object represents the number of sessions currently using this BIND." ::= { dsliteNATBindEntry 9 } dsliteNATBindMaxIdleTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the maximum time for which this bind can be idle without any sessions attached to it." ::= { dsliteNATBindEntry 10 } Fu, et al. Expires March 01, 2014 [Page 17] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 dsliteNATBindCurrentIdleTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "At any given instance, this object indicates the time that this bind has been idle without any sessions attached to it." ::= { dsliteNATBindEntry 11 } dsliteNATBindInTranslates OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of inbound packets that were translated as per this bind entry." ::= { dsliteNATBindEntry 12 } dsliteNATBindOutTranslates OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of outbound packets that were translated as per this bind entry." ::= { dsliteNATBindEntry 13 } --dsliteInfo dsliteSessionLimitTable OBJECT-TYPE SYNTAX SEQUENCE OF DsliteSessionLimitEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information about session limit. It can also be used for row creation." ::= { dsliteInfo 1 } dsliteSessionLimitEntry OBJECT-TYPE SYNTAX DsliteSessionLimitEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry in this table contains the information to be used for configuring session limits for DS-lite." INDEX { dsliteSessionLimitInstanceName, Fu, et al. Expires March 01, 2014 [Page 18] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 dsliteSessionLimitType } ::= { dsliteSessionLimitTable 1 } DsliteSessionLimitEntry ::= SEQUENCE { dsliteSessionLimitInstanceName DisplayString, dsliteSessionLimitType INTEGER, dsliteSessionLimitNumber Integer32 } dsliteSessionLimitInstanceName OBJECT-TYPE SYNTAX DisplayString (SIZE (1..31)) MAX-ACCESS not-accessible STATUS current DESCRIPTION " This object represents the instance name that is limited." ::= { dsliteSessionLimitEntry 1 } dsliteSessionLimitType OBJECT-TYPE SYNTAX INTEGER { tcp(0), udp(1), icmp(2), total(3) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object represents the session limit type: tcp or udp or totally." ::= { dsliteSessionLimitEntry 2 } dsliteSessionLimitNumber OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION " This table represents the limit number of the session." ::= { dsliteSessionLimitEntry 3 } dslitePortLimitTable OBJECT-TYPE SYNTAX SEQUENCE OF DslitePortLimitEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION Fu, et al. Expires March 01, 2014 [Page 19] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 "This table is used to configure port limits for a DS-Lite instance." ::= { dsliteInfo 2 } dslitePortLimitEntry OBJECT-TYPE SYNTAX DslitePortLimitEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry in this table contains the information to be used for configuring port limits for DS-lite." INDEX { dslitePortLimitInstanceName, dslitePortLimitType } ::= { dslitePortLimitTable 1 } DslitePortLimitEntry ::= SEQUENCE { dslitePortLimitInstanceName DisplayString, dslitePortLimitType INTEGER, dslitePortLimitNumber Integer32 } dslitePortLimitInstanceName OBJECT-TYPE SYNTAX DisplayString (SIZE (1..31)) MAX-ACCESS not-accessible STATUS current DESCRIPTION " This object represents the instance name that is limited." ::= { dslitePortLimitEntry 1 } dslitePortLimitType OBJECT-TYPE SYNTAX INTEGER { tcp(0), udp(1), icmp(2), total(3) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object represents the port limit type: tcp or udp or totally." ::= { dslitePortLimitEntry 2 } Fu, et al. Expires March 01, 2014 [Page 20] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 dslitePortLimitNumber OBJECT-TYPE SYNTAX Integer32 (1..300000) MAX-ACCESS read-create STATUS current DESCRIPTION "This object represents the limit number of the port usage." ::= { dslitePortLimitEntry 3 } dsliteAFTRAlarmScalar OBJECT IDENTIFIER ::= { dsliteInfo 3 } dsliteAFTRAlarmB4Addr OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object indicate the IP address of B4 that send alarm " ::= { dsliteAFTRAlarmScalar 1 } dsliteAFTRAlarmProtocolType OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object indicate the procotol type of alarm, 0:tcp,1:udp,2:icmp,3:total " ::= { dsliteAFTRAlarmScalar 2 } dsliteAFTRAlarmMapAddrName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object indicate the name of dsliteNATMapAddrName " ::= { dsliteAFTRAlarmScalar 3 } dsliteAFTRAlarmSpecificIP OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION " This object indicate the IP address whose port usage reach threshold " ::= { dsliteAFTRAlarmScalar 4 } Fu, et al. Expires March 01, 2014 [Page 21] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 dsliteAFTRAlarmConnectNumber OBJECT-TYPE SYNTAX Integer32 (60..90) MAX-ACCESS read-write STATUS current DESCRIPTION " This object indicate the threshold of DS-Lite connections alarm." ::= { dsliteAFTRAlarmScalar 5 } dsliteStatisticTable OBJECT-TYPE SYNTAX SEQUENCE OF DsliteStatisticEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table provides statistical information of DS-Lite." ::= { dsliteInfo 4 } dsliteStatisticEntry OBJECT-TYPE SYNTAX DsliteStatisticEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table provides statistical information of DS-Lite." INDEX { dsliteStatisticInstanceName } ::= { dsliteStatisticTable 1 } DsliteStatisticEntry ::= SEQUENCE { dsliteStatisticInstanceName DisplayString, dsliteStatisticDiscard Counter64, dsliteStatisticReceived Counter64, dsliteStatisticTransmitted Counter64, dsliteStatisticIpv4Session Counter64, dsliteStatisticIpv6Session Counter64 } dsliteStatisticInstanceName OBJECT-TYPE SYNTAX DisplayString (SIZE (1..31)) MAX-ACCESS not-accessible STATUS current DESCRIPTION " This object indicate the instance name that is limited." ::= { dsliteStatisticEntry 1 } Fu, et al. Expires March 01, 2014 [Page 22] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 dsliteStatisticDiscard OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION " This object indicate the count number of the discarded packet." ::= { dsliteStatisticEntry 2 } dsliteStatisticReceived OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicate the count number of received packet count." ::= { dsliteStatisticEntry 3 } dsliteStatisticTransmitted OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicate the count number of transmitted packet count." ::= { dsliteStatisticEntry 4 } dsliteStatisticIpv4Session OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION " This object indicate the number of the current IPv4 Session." ::= { dsliteStatisticEntry 5 } dsliteStatisticIpv6Session OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION " This object indicate the number of the current IPv6 Session." ::= { dsliteStatisticEntry 6 } ---dslite trap Fu, et al. Expires March 01, 2014 [Page 23] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 dsliteTunnelNumAlarm NOTIFICATION-TYPE STATUS current DESCRIPTION "This trap is triggered when dslite tunnel reach the threshold." ::= { dsliteTraps 1 } dsliteAFTRUserSessionNumAlarm NOTIFICATION-TYPE OBJECTS { dsliteAFTRAlarmProtocolType, dsliteAFTRAlarmB4Addr } STATUS current DESCRIPTION " This trap is triggered when sessions of user reach the threshold." ::= { dsliteTraps 2 } dsliteAFTRPortUsageOfSpecificIpAlarm NOTIFICATION-TYPE OBJECTS { dsliteAFTRAlarmMapAddrName, dsliteAFTRAlarmSpecificIP } STATUS current DESCRIPTION "This trap is triggered when used NAT ports of map address reach the threshold." ::= { dsliteTraps 3 } --Module Conformance statement dsliteConformance OBJECT IDENTIFIER ::= { dsliteMIB 3 } dsliteCompliances OBJECT IDENTIFIER ::= { dsliteConformance 1 } dsliteGroups OBJECT IDENTIFIER ::= { dsliteConformance 2 } -- compliance statements dsliteCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION " Description the minimal requirements for conformance to the DS-Lite MIB." MODULE -- this module MANDATORY-GROUPS { dsliteNATMapGroup,dsliteNATBindGroup, dsliteTunnelGroup, dsliteSessionLimitGroup, dslitePortLimitGroup, dsliteStatisticGroup, dsliteTrapsGroup,dsliteAFTRAlarmScalarGroup } ::= { dsliteCompliances 1 } Fu, et al. Expires March 01, 2014 [Page 24] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 dsliteNATMapGroup OBJECT-GROUP OBJECTS { dsliteNATMapLocalAddrFromType, dsliteNATMapLocalAddrFrom, dsliteNATMapLocalAddrTo, dsliteNATMapLocalAddrToType, dsliteNATMapLocalPortFrom, dsliteNATMapLocalPortTo, dsliteNATMapGlobalAddrFrom, dsliteNATMapGlobalAddrFromType, dsliteNATMapGlobalAddrTo, dsliteNATMapGlobalAddrToType, dsliteNATMapGlobalPortFrom, dsliteNATMapGlobalPortTo, dsliteNATMapAddrUsed } STATUS current DESCRIPTION " The collection of this objects are used to give the information about NAT address mapping." ::= { dsliteGroups 1 } dsliteTunnelGroup OBJECT-GROUP OBJECTS { dsliteTunnelStartAddressType, dsliteTunnelStartAddPreLen, dsliteTunnelEndAddressType } STATUS current DESCRIPTION " The collection of this objects are used to give the information of tunnel in ds-lite." ::= { dsliteGroups 2 } dsliteNATBindGroup OBJECT-GROUP OBJECTS { dsliteNATBindLocalAddrType, dsliteNATBindGlobalAddrType, dsliteNATBindGlobalAddr, dsliteNATBindGlobalPort, dsliteNATBindId, dsliteNATBindMapIndex, dsliteNATBindSessions, dsliteNATBindMaxIdleTime, dsliteNATBindCurrentIdleTime, dsliteNATBindInTranslates, dsliteNATBindOutTranslates } STATUS current DESCRIPTION " The collection of this objects are used to give the Fu, et al. Expires March 01, 2014 [Page 25] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 information about NAT Bind." ::= { dsliteGroups 3 } dsliteSessionLimitGroup OBJECT-GROUP OBJECTS { dsliteSessionLimitNumber } STATUS current DESCRIPTION " The collection of this objects are used to give the information about port limit." ::= { dsliteGroups 4 } dslitePortLimitGroup OBJECT-GROUP OBJECTS { dslitePortLimitNumber } STATUS current DESCRIPTION " The collection of this objects are used to give the information about port limit." ::= { dsliteGroups 5 } dsliteStatisticGroup OBJECT-GROUP OBJECTS { dsliteStatisticDiscard, dsliteStatisticReceived, dsliteStatisticTransmitted, dsliteStatisticIpv4Session, dsliteStatisticIpv6Session } STATUS current DESCRIPTION " The collection of this objects are used to give the statistical information of ds-lite." ::= { dsliteGroups 6 } dsliteTrapsGroup NOTIFICATION-GROUP NOTIFICATIONS { dsliteTunnelNumAlarm, dsliteAFTRUserSessionNumAlarm, dsliteAFTRPortUsageOfSpecificIpAlarm } STATUS current DESCRIPTION "The collection of this objects are used to give the trap information of ds-lite." ::= { dsliteGroups 7 } dsliteAFTRAlarmScalarGroup OBJECT-GROUP OBJECTS { dsliteAFTRAlarmB4Addr, dsliteAFTRAlarmProtocolType, dsliteAFTRAlarmMapAddrName, dsliteAFTRAlarmSpecificIP, dsliteAFTRAlarmConnectNumber } Fu, et al. Expires March 01, 2014 [Page 26] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 STATUS current DESCRIPTION " The collection of this objects are used to give the information about AFTR alarming Scalar." ::= { dsliteGroups 8 } END 9. Extending this MIB for Gateway Initiated Dual-Stack Lite Similar to DS-lite, GI-DS-lite enables the service provider to share public IPv4 addresses among different customers by combining tunneling and NAT. GI-DS-lite extends existing access tunnels beyond the access gateway to an IPv4-IPv4 NAT using softwires with an embedded context identifier that uniquely identifies the end host the tunneled packets belong to. The MIB defined in this document can easily extended to use for GI-DS-Lite scenario. New object as CID SHOULD be extended to the dsliteTunnelTable. And a new object as dsliteTunnelID can be defined in DS-Lite MIB as SWID in GI-DS-Lite. Both CID and SWID SHOULD be extended to the dsliteNATBindTable.The combination of CID and SWID will be used as the unique identifier for the end host and store it in the NAT binding entry. 10. IANA Considerations The MIB module in this document uses the following IANA-assigned OBJECT IDENTIFIER values recorded in the SMI Numbers registry, and the following IANA-assigned tunnelType values recorded in the IANAtunnelType-MIB registry: Descriptor OBJECT IDENTIFIER value ---------- ----------------------- DSLite-MIB { transmission XXX } IANAtunnelType ::= TEXTUAL-CONVENTION SYNTAX INTEGER { dsLite ("XX") -- dslite tunnel } Notes: As the Appendix A of the IP Tunnel MIB[RFC4087] described that it has already assigned the value direct(2) to indicate the tunnel type is IP in ip tunnel, but it is still difficult to distinguish the DS-Lite tunnel packets and the normal IP in IP tunnel packets in the Fu, et al. Expires March 01, 2014 [Page 27] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 scenario of the AFTR connecting to both the DS-lite tunnel and IP in IP tunnel. 11. Security Considerations The DS-Lite MIB module can be used for configuration of certain objects, and anything that can be incorrectly configured, with potentially disastrous results. Because this MIB module reuses the IP tunnel MIB and nat MIB, the security considerations for these MIBs are also applicable to the DS-Lite MIB. Unauthorized read access todsliteTunnelEndAddress, or any object in the dsliteBindRelationTable or dslitePortBindRelationTable would reveal information about the mapping information. SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPSec), even then, there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module. It is RECOMMENDED that implementers consider the security features as provided by the SNMPv3 framework (see [RFC3410], section 8), including full support for the SNMPv3 cryptographic mechanisms (for authentication and privacy). Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of this MIB module is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them. 12. References 12.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)", RFC 2578, April 1999. [RFC2579] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Textual Conventions for SMIv2", RFC 2579, April 1999. Fu, et al. Expires March 01, 2014 [Page 28] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Conformance Statements for SMIv2", RFC 2580, April 1999. [RFC2863] McCloghrie, K. and F. Kastenholz. "The Interfaces Group MIB", RFC 2863, June 2000. [RFC3411] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks", RFC 3411, December 2002. [RFC4001] Daniele, M., Haberman, B., Routhier, S., and J. Schoenwaelder, "Textual Conventions for Internet Network Addresses", RFC 4001, February 2005. [RFC4008] Rohit, R., Srisuresh, P., Raghunarayan,R., Pai, N., and Wang, C., "Definitions of Managed Objects for Network Address Translators (NAT)", RFC 4008, March 2005. [RFC4087] Thaler, D., "IP Tunnel MIB", RFC 4087, June 2005. [RFC6333] Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual- Stack Lite Broadband Deployments Following IPv4 Exhaustion", RFC6333, August 2011. [RFC6674] Brockners, F., Gundavelli, S., Speicher, S., Ward, D. "Gateway-Initiated Dual-Stack Lite Deployment", RFC 6674, July 2012. 12.2. Informative References [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction and Applicability Statements for Internet- Standard Management Framework", RFC 3410, December 2002. Fu, et al. Expires March 01, 2014 [Page 29] Internet-Draft draft-ietf-softwire-dslite-mib-03.txt August 2013 Author's Addresses Yu Fu Huawei Technologies Co., Ltd Huawei Building, 156 Beiqing Rd., Hai-Dian District, Beijing 100095 P.R. China Email: eleven.fuyu@huawei.com Sheng Jiang Huawei Technologies Co., Ltd Huawei Building, 156 Beiqing Rd., Hai-Dian District, Beijing 100095 P.R. China Email: jiangsheng@huawei.com Jiang Dong Tsinghua University Department of Computer Science, Tsinghua University Beijing 100084 P.R. China Email: knight.dongjiang@gmail.com Yuchi Chen Tsinghua University Department of Computer Science, Tsinghua University Beijing 100084 P.R. China Email: flashfoxmx@gmail.com Fu, et al. Expires March 01, 2014 [Page 30]