MALLOC Working Group Dave Thaler INTERNET-DRAFT Microsoft Expires January 2001 6 July 2000 Multicast Address Allocation MIB Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC 2026. 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 (2000). All Rights Reserved. 1. Abstract This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects used for managing multicast address allocation. Expires January 2001 [Page 1] Draft Multicast Address Allocation MIB July 2000 2. Introduction This document defines a Management Information Base (MIB) used for managing multicast address allocation in a protocol-independent manner, as well as managing specific protocols used in allocating multicast addresses. The protocol-independent objects in this MIB apply to all multicast address allocation servers (MAASs) and clients, as described in [20]. The protocol-specific objects in this MIB include objects related to the Multicast Address Dynamic Client Allocation Protocol (MADCAP) [17], and the multicast Address Allocation Protocol (AAP) [18]. Interactions with the Multicast-scope Zone Announcement Protocol (MZAP) [19] are also noted where appropriate. 3. The SNMP Management Framework The SNMP Management Framework presently consists of five major components: o An overall architecture, described in RFC 2571 [1]. o Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and described in STD 16, RFC 1155 [2], STD 16, RFC 1212 [3] and RFC 1215 [4]. The second version, called SMIv2, is described in STD 58, RFC 2578 [5], STD 58, RFC 2579 [6] and STD 58, RFC 2580 [7]. o Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in STD 15, RFC 1157 [8]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [9] and RFC 1906 [10]. The third version of the message protocol is called SNMPv3 and described in RFC 1906 [10], RFC 2572 [11] and RFC 2574 [12]. o Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in STD 15, RFC 1157 [8]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [13]. Expires January 2001 [Page 2] Draft Multicast Address Allocation MIB July 2000 o A set of fundamental applications described in RFC 2573 [14] and the view-based access control mechanism described in RFC 2575 [15]. A more detailed introduction to the current SNMP Management Framework can be found in RFC 2570 [21]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the mechanisms defined in the SMI. This memo specifies a MIB module that is compliant to the SMIv2. A MIB conforming to the SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machine readable information is not considered to change the semantics of the MIB. 4. Overview The purpose of this MIB is to provide the ability to configure and monitor the status of multicast address allocation within the local domain. Some important monitoring questions which can be answered by this MIB include: o How full is scope X? o Who's using up the space? o Who allocated a given address A? o Are requests being met? This MIB module is divided into three primary sections: o Protocol-independent objects relevant to all multicast address allocation servers and clients. Expires January 2001 [Page 3] Draft Multicast Address Allocation MIB July 2000 o Protocol-specific objects related to the MADCAP client-server protocol. o Protocol-specific objects related to the AAP server-server protocol. 4.1. Protocol-independent objects The protocol-independent objects consist of one "capabilities" scalar and six tables. The tables are: o The Scope Table contains information on the multicast scopes known to a multicast address allocation server. This table allows configuring scopes, and viewing what scopes are known to the local system after being configured elsewhere. o The Scope Name Table contains the names of the multicast scopes. This table logically extends the Scope Table with the list of scope names in various languages for each scope. o The Allocation Range Table contains the address ranges out of which the device may allocate addresses. It also allows answering the questions "How full is scope X?" and "Are requests being met?" o The Exclusion Table contains sub-ranges which are excluded from being allocated. o The Request Table contains the requests for address allocations, and allows answering the question "Who's using up the space?" o The Address Table contains the blocks of addresses which have been allocated, and together with the Request Table, allows answering the question "Who allocated a given address A?" 4.2. Protocol-specific objects The MADCAP objects consist of a group of (scalar) configuration parameters, and a group of (scalar) statistics. The AAP objects consist of a group of (scalar) configuration parameters, and a trap. Expires January 2001 [Page 4] Draft Multicast Address Allocation MIB July 2000 5. Definitions MALLOC-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY, mib-2, NOTIFICATION-TYPE, Unsigned32, Gauge32, Counter32 FROM SNMPv2-SMI RowStatus, DisplayString, TruthValue, TEXTUAL-CONVENTION FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF InetAddress, InetAddressType FROM INET-ADDRESS-MIB LanguageTag FROM IPMROUTE-STD-MIB SnmpAdminString FROM SNMP-FRAMEWORK-MIB IANAscopeSource, IANAmallocRangeSource FROM IANA-MALLOC-MIB; mallocMIB MODULE-IDENTITY LAST-UPDATED "200007061200Z" -- July 6, 2000 ORGANIZATION "IETF MALLOC Working Group" CONTACT-INFO " Dave Thaler Microsoft Corporation One Microsoft Way Redmond, WA 98052-6399 EMail: dthaler@microsoft.com" DESCRIPTION "The MIB module for management of multicast address allocation." REVISION "200007061200Z" -- July 6, 2000 DESCRIPTION "Initial version." ::= { mib-2 XXX } -- to be assigned by IANA mallocMIBObjects OBJECT IDENTIFIER ::= { mallocMIB 1 } malloc OBJECT IDENTIFIER ::= { mallocMIBObjects 1 } Expires January 2001 [Page 5] Draft Multicast Address Allocation MIB July 2000 madcap OBJECT IDENTIFIER ::= { mallocMIBObjects 2 } aap OBJECT IDENTIFIER ::= { mallocMIBObjects 3 } -- -- Textual Conventions -- Guid ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A globally-unique identifier." SYNTAX OCTET STRING (SIZE (1..255)) -- -- scalars -- mallocCapabilities OBJECT-TYPE SYNTAX BITS { startTime(0), serverMobility(1), retryAfter(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object describes the capabilities which a client or server supports. The startTime bit indicates that allocations with a future start time are supported. The serverMobility bit indicates that allocations can be renewed or released from a server other than the one granting the original allocation. The retryAfter bit indicates support for a waiting state where the client may check back at a later time to get the status of its request." ::= { malloc 1 } -- -- the Scope Table -- -- Entries in this table may be dynamically discovered via -- some other protocol, such as MZAP, or may be statically -- configured, such as in an isolated network environment. -- Expires January 2001 [Page 6] Draft Multicast Address Allocation MIB July 2000 mallocScopeTable OBJECT-TYPE SYNTAX SEQUENCE OF MallocScopeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information on multicast scopes from which addresses may be allocated." ::= { malloc 2 } mallocScopeEntry OBJECT-TYPE SYNTAX MallocScopeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular multicast scope." INDEX { mallocScopeFirstAddressType, mallocScopeFirstAddress } ::= { mallocScopeTable 1 } MallocScopeEntry ::= SEQUENCE { mallocScopeFirstAddressType InetAddressType, mallocScopeFirstAddress InetAddress, mallocScopeLastAddressType InetAddressType, mallocScopeLastAddress InetAddress, mallocScopeTTL INTEGER, mallocScopeStatus RowStatus, mallocScopeSource IANAscopeSource, mallocScopeDivisible TruthValue, mallocScopeServerAddressType InetAddressType, mallocScopeServerAddress InetAddress } mallocScopeFirstAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The type of the first address in the multicast scope range. Legal values correspond to the subset of address families for which multicast address allocation is supported." ::= { mallocScopeEntry 1 } mallocScopeFirstAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible Expires January 2001 [Page 7] Draft Multicast Address Allocation MIB July 2000 STATUS current DESCRIPTION "The first address in the multicast scope range." ::= { mallocScopeEntry 2 } mallocScopeLastAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of the last address in the multicast scope range. The value of this object MUST be the same as the value of mallocScopeFirstAddressType. Legal values correspond to the subset of address families for which multicast address allocation is supported." ::= { mallocScopeEntry 3 } mallocScopeLastAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The last address in the multicast scope range." ::= { mallocScopeEntry 4 } mallocScopeTTL OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-create STATUS current DESCRIPTION "The IPv4 TTL or IPv6 hop limit which applications should use for groups within the scope." DEFVAL { 255 } ::= { mallocScopeEntry 5 } mallocScopeStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row, by which new entries may be created, or old entries deleted from this table." ::= { mallocScopeEntry 6 } mallocScopeSource OBJECT-TYPE Expires January 2001 [Page 8] Draft Multicast Address Allocation MIB July 2000 SYNTAX IANAscopeSource MAX-ACCESS read-only STATUS current DESCRIPTION "The method by which this entry was learned." ::= { mallocScopeEntry 7 } mallocScopeDivisible OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If false, the server may allocate addresses out of the entire range. If true, the server must not allocate addresses out of the entire range, but may only allocate addresses out of a subrange learned via another method such as AAP. Creating or deleting a scope which is not divisible has the side effect of creating or deleting the corresponding entry in the mallocAllocRangeTable." DEFVAL { false } ::= { mallocScopeEntry 8 } mallocScopeServerAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "The type of the address of a multicast address allocation server to which a request may be sent." DEFVAL { unknown } ::= { mallocScopeEntry 9 } mallocScopeServerAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The address of a multicast address allocation server to which a request may be sent. The default value is an zero- length address, indicating that no server is known." DEFVAL { ''h } -- the empty string ::= { mallocScopeEntry 10 } -- -- the Scope Name Table Expires January 2001 [Page 9] Draft Multicast Address Allocation MIB July 2000 -- -- Entries in this table may be dynamically discovered via -- some other protocol, such as MZAP, or may be statically -- configured, such as in an isolated network environment. -- mallocScopeNameTable OBJECT-TYPE SYNTAX SEQUENCE OF MallocScopeNameEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information on multicast scope names." ::= { malloc 3 } mallocScopeNameEntry OBJECT-TYPE SYNTAX MallocScopeNameEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular multicast scope name." INDEX { mallocScopeFirstAddressType, mallocScopeFirstAddress, IMPLIED mallocScopeNameLangName } ::= { mallocScopeNameTable 1 } MallocScopeNameEntry ::= SEQUENCE { mallocScopeNameLangName LanguageTag, mallocScopeNameScopeName SnmpAdminString, mallocScopeNameDefault TruthValue, mallocScopeNameStatus RowStatus } mallocScopeNameLangName OBJECT-TYPE SYNTAX LanguageTag MAX-ACCESS not-accessible STATUS current DESCRIPTION "The RFC 1766 language tag for the language of the scope name." ::= { mallocScopeNameEntry 1 } mallocScopeNameScopeName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-create Expires January 2001 [Page 10] Draft Multicast Address Allocation MIB July 2000 STATUS current DESCRIPTION "The textual name associated with the multicast scope. The value of this object should be suitable for displaying to end-users, such as when allocating a multicast address in this scope. If the scope is an IPv4 scope, and no name is specified, the default value of this object should be the string 239.x.x.x/y with x and y replaced appropriately to describe the address and mask length associated with the scope." ::= { mallocScopeNameEntry 2 } mallocScopeNameDefault OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If true, indicates a preference that the name in the associated language should be used by applications if no name is available in a desired language." DEFVAL { false } ::= { mallocScopeNameEntry 3 } mallocScopeNameStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row, by which new entries may be created, or old entries deleted from this table." ::= { mallocScopeNameEntry 4 } -- -- the Allocation Range Table -- mallocAllocRangeTable OBJECT-TYPE SYNTAX SEQUENCE OF MallocAllocRangeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information on subranges of addresses from which the device may allocate addresses, if it is a MAAS. If the device is a Prefix Coordinator, any ranges which the device is advertising to MAAS's will be in this table. Note that the device may be both a MAAS and a Expires January 2001 [Page 11] Draft Multicast Address Allocation MIB July 2000 Prefix Coordinator." ::= { malloc 4 } mallocAllocRangeEntry OBJECT-TYPE SYNTAX MallocAllocRangeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular allocation range." INDEX { mallocScopeFirstAddressType, mallocScopeFirstAddress, mallocAllocRangeFirstAddressType, mallocAllocRangeFirstAddress } ::= { mallocAllocRangeTable 1 } MallocAllocRangeEntry ::= SEQUENCE { mallocAllocRangeFirstAddressType InetAddressType, mallocAllocRangeFirstAddress InetAddress, mallocAllocRangeLastAddressType InetAddressType, mallocAllocRangeLastAddress InetAddress, mallocAllocRangeStatus RowStatus, mallocAllocRangeSource IANAmallocRangeSource, mallocAllocRangeLifetime Unsigned32, mallocAllocRangeMaxLeaseAddrs Unsigned32, mallocAllocRangeMaxLeaseTime Unsigned32, mallocAllocRangeNumAllocatedAddrs Gauge32, mallocAllocRangeNumOfferedAddrs Gauge32, mallocAllocRangeNumWaitingAddrs Gauge32, mallocAllocRangeNumTryingAddrs Gauge32, mallocAllocRangeAdvertisable TruthValue, mallocAllocRangeTotalAllocatedAddrs Gauge32, mallocAllocRangeTotalRequestedAddrs Gauge32 } mallocAllocRangeFirstAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The type of the first address in the allocation range. The value of this object MUST be the same as the value of mallocScopeFirstAddressType in the index. Legal values correspond to the subset of address families for which multicast address allocation is supported." ::= { mallocAllocRangeEntry 1 } Expires January 2001 [Page 12] Draft Multicast Address Allocation MIB July 2000 mallocAllocRangeFirstAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The first address in the allocation range." ::= { mallocAllocRangeEntry 2 } mallocAllocRangeLastAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of the last address in the allocation range. The value of this object MUST be the same as the value of mallocAllocRangeFirstAddressType. Legal values correspond to the subset of address families for which multicast address allocation is supported." ::= { mallocAllocRangeEntry 3 } mallocAllocRangeLastAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The last address in the allocation range." ::= { mallocAllocRangeEntry 4 } mallocAllocRangeStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row, by which new entries may be created, or old entries deleted from this table." ::= { mallocAllocRangeEntry 5 } mallocAllocRangeSource OBJECT-TYPE SYNTAX IANAmallocRangeSource MAX-ACCESS read-create STATUS current DESCRIPTION "The means by which this entry was learned." ::= { mallocAllocRangeEntry 6 } Expires January 2001 [Page 13] Draft Multicast Address Allocation MIB July 2000 mallocAllocRangeLifetime OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The number of seconds remaining in the lifetime of the (sub)range out of which addresses are being allocated. A value of 0 indicates that the range is not subject to aging." DEFVAL { 0 } ::= { mallocAllocRangeEntry 7 } mallocAllocRangeMaxLeaseAddrs OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum number of addresses which the server is willing to grant for a single lease in this range. A value of 0 means that no specific limit is enforced, as long as the server has valid addresses to allocate." DEFVAL { 0 } ::= { mallocAllocRangeEntry 8 } mallocAllocRangeMaxLeaseTime OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum lifetime which the server will grant for a lease in this range. A value of 0 means that no additional limit is enforced beyond that of mallocAllocRangeLifetime." DEFVAL { 0 } ::= { mallocAllocRangeEntry 9 } mallocAllocRangeNumAllocatedAddrs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of addresses in the range which have been allocated. This value can be used to determine the current address space utilization within the scoped range. This Expires January 2001 [Page 14] Draft Multicast Address Allocation MIB July 2000 should match the total number of addresses for this scope covered by entries in the mallocAddressTable." ::= { mallocAllocRangeEntry 10 } mallocAllocRangeNumOfferedAddrs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of addresses in the range which have been offered. This number should match the sum of mallocRequestNumAddrs for all entries in the mallocRequestTable in the offered state. Together with mallocAllocRangeNumAllocatedAddrs and mallocAllocRangeNumTryingAddrs, this can be used to determine the address space utilization within the scoped range in the immediate future." ::= { mallocAllocRangeEntry 11 } mallocAllocRangeNumWaitingAddrs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of addresses in the range which have been requested, but whose state is waiting, while the server attempts to acquire more address space." ::= { mallocAllocRangeEntry 12 } mallocAllocRangeNumTryingAddrs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of addresses in the scope covered by entries in the mallocRequestTable in the trying state." ::= { mallocAllocRangeEntry 13 } mallocAllocRangeAdvertisable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "The value of this object is true if the range is eligible to be advertised to other MAASs, such as via AAP if Expires January 2001 [Page 15] Draft Multicast Address Allocation MIB July 2000 aapConfigASAInterval is non-zero. The default value is true if the scope is divisible, and is false otherwise." ::= { mallocAllocRangeEntry 14 } mallocAllocRangeTotalAllocatedAddrs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The approximate number of addresses in the range which have been allocated by any MAAS, as determined by a Prefix Coordinator, e.g., based on ASRP messages from AAP. This object need only be present if mallocAllocRangeAdvertisable is true. If the number is unknown, a value of 0 may be reported." ::= { mallocAllocRangeEntry 15 } mallocAllocRangeTotalRequestedAddrs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The approximate number of addresses in the range which there is potential demand for among MAASs, as determined by a Prefix Coordinator, e.g., based on ASRP messages from AAP. This object need only be present if mallocAllocRangeAdvertisable is true. If the number is unknown, a value of 0 may be reported." ::= { mallocAllocRangeEntry 16 } -- -- the Exclusion Table -- -- Entries in this table may be dynamically discovered via -- some other protocol, such as AAP, or may be statically -- configured, such as in an isolated network environment. -- mallocScopeExclusionTable OBJECT-TYPE SYNTAX SEQUENCE OF MallocScopeExclusionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information on subranges of addresses which are excluded from allocation within Expires January 2001 [Page 16] Draft Multicast Address Allocation MIB July 2000 scoped ranges." ::= { malloc 5 } mallocScopeExclusionEntry OBJECT-TYPE SYNTAX MallocScopeExclusionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular exclusion range for a particular scope." INDEX { mallocScopeFirstAddressType, mallocScopeFirstAddress, mallocScopeExclusionFirstAddressType, mallocScopeExclusionFirstAddress } ::= { mallocScopeExclusionTable 1 } MallocScopeExclusionEntry::= SEQUENCE { mallocScopeExclusionFirstAddressType InetAddressType, mallocScopeExclusionFirstAddress InetAddress, mallocScopeExclusionLastAddressType InetAddressType, mallocScopeExclusionLastAddress InetAddress, mallocScopeExclusionStatus RowStatus, mallocScopeExclusionSource IANAmallocRangeSource } mallocScopeExclusionFirstAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The type of the first address in the excluded range. The value of this object MUST be the same as the value of mallocScopeFirstAddressType in the index. Legal values correspond to the subset of address families for which multicast address allocation is supported." ::= { mallocScopeExclusionEntry 1 } mallocScopeExclusionFirstAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The first address in the excluded range." ::= { mallocScopeExclusionEntry 2 } mallocScopeExclusionLastAddressType OBJECT-TYPE Expires January 2001 [Page 17] Draft Multicast Address Allocation MIB July 2000 SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of the last address in the excluded range. The value of this object MUST be the same as the value of mallocScopeExclusionFirstAddressType. Legal values correspond to the subset of address families for which multicast address allocation is supported." ::= { mallocScopeExclusionEntry 3 } mallocScopeExclusionLastAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The last address in the excluded range." ::= { mallocScopeExclusionEntry 4 } mallocScopeExclusionStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row, by which new entries may be created, or old entries deleted from this table." ::= { mallocScopeExclusionEntry 5 } mallocScopeExclusionSource OBJECT-TYPE SYNTAX IANAmallocRangeSource MAX-ACCESS read-only STATUS current DESCRIPTION "The means by which this entry was learned. For example, a value of aap means the range is excluded because the range was specified in an AAP AITU message received." ::= { mallocScopeExclusionEntry 6 } -- -- the Request Table -- -- Entries in this table reflect requests dynamically received -- by an address allocation protocol. -- Expires January 2001 [Page 18] Draft Multicast Address Allocation MIB July 2000 mallocRequestTable OBJECT-TYPE SYNTAX SEQUENCE OF MallocRequestEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information on allocation requests, whether allocated or in progress. This table may also be used to determine which clients are responsible for high address space utilization within a given scope." ::= { malloc 6 } mallocRequestEntry OBJECT-TYPE SYNTAX MallocRequestEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular allocation request." INDEX { IMPLIED mallocRequestGuid } ::= { mallocRequestTable 1 } MallocRequestEntry ::= SEQUENCE { mallocRequestGuid Guid, mallocRequestScopeFirstAddressType InetAddressType, mallocRequestScopeFirstAddress InetAddress, mallocRequestStartTime Unsigned32, mallocRequestEndTime Unsigned32, mallocRequestNumAddrs Unsigned32, mallocRequestState INTEGER, mallocRequestClientAddressType InetAddressType, mallocRequestClientAddress InetAddress, mallocRequestServerAddressType InetAddressType, mallocRequestServerAddress InetAddress } mallocRequestGuid OBJECT-TYPE SYNTAX Guid MAX-ACCESS not-accessible STATUS current DESCRIPTION "The unique Lease Identifier of this request." ::= { mallocRequestEntry 1 } mallocRequestScopeFirstAddressType OBJECT-TYPE SYNTAX InetAddressType Expires January 2001 [Page 19] Draft Multicast Address Allocation MIB July 2000 MAX-ACCESS read-only STATUS current DESCRIPTION "The type of the first address of the scope to which the request applies. Legal values correspond to the subset of address families for which multicast address allocation is supported." ::= { mallocRequestEntry 2 } mallocRequestScopeFirstAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The first address of the scope to which the request applies. This must match mallocScopeFirstAddress for some row in the mallocScopeTable." ::= { mallocRequestEntry 3 } mallocRequestStartTime OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of seconds remaining before the start time of the request. A value of 0 means that the allocation is currently in effect." ::= { mallocRequestEntry 4 } mallocRequestEndTime OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of seconds remaining before the end time of the request." ::= { mallocRequestEntry 5 } mallocRequestNumAddrs OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION Expires January 2001 [Page 20] Draft Multicast Address Allocation MIB July 2000 "The number of addresses requested. If the addresses have been allocated, this number should match the total number of addresses for this request covered by entries in the mallocAddressTable." ::= { mallocRequestEntry 6 } mallocRequestState OBJECT-TYPE SYNTAX INTEGER { allocated(1), offered(2), -- tentatively allocated waiting(3), -- waiting for more space trying(4) -- working on allocating } MAX-ACCESS read-only STATUS current DESCRIPTION "The state of the request. A value of allocated indicates that one or more entries for this request are present in the mallocAddressTable. A value of offered indicates that addresses have been offered to the client (e.g. via a MADCAP OFFER message), but the allocation has not been committed. A value of waiting indicates that the allocation is blocked while the server attempts to acquire more space from which it can allocate addresses. A value of trying means that no addresses have been offered to the client, but that an attempt to allocate is in progress (e.g. via an AAP ACLM message for a server, or a MADCAP REQUEST message without a previous OFFER for a client)." ::= { mallocRequestEntry 7 } mallocRequestClientAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of the address of the client to which this allocation was (last) granted." ::= { mallocRequestEntry 8 } mallocRequestClientAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the client to which this allocation was Expires January 2001 [Page 21] Draft Multicast Address Allocation MIB July 2000 (last) granted." ::= { mallocRequestEntry 9 } mallocRequestServerAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of the address of the server to which the request was (last) sent." ::= { mallocRequestEntry 10 } mallocRequestServerAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The address of the server to which the request was (last) sent." ::= { mallocRequestEntry 11 } -- -- the Address Table -- mallocAddressTable OBJECT-TYPE SYNTAX SEQUENCE OF MallocAddressEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information on blocks of allocated addresses. This table may be used to map a given multicast group address to the associated request." ::= { malloc 7 } mallocAddressEntry OBJECT-TYPE SYNTAX MallocAddressEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing the information on a particular block of allocated addresses." INDEX { mallocAddressFirstAddressType, mallocAddressFirstAddress } ::= { mallocAddressTable 1 } Expires January 2001 [Page 22] Draft Multicast Address Allocation MIB July 2000 MallocAddressEntry ::= SEQUENCE { mallocAddressFirstAddressType InetAddressType, mallocAddressFirstAddress InetAddress, mallocAddressNumAddrs Unsigned32, mallocAddressRequestGuid Guid } mallocAddressFirstAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The type of the first address in the allocated block. Legal values correspond to the subset of address families for which multicast address allocation is supported." ::= { mallocAddressEntry 1 } mallocAddressFirstAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The first address in the allocated block." ::= { mallocAddressEntry 2 } mallocAddressNumAddrs OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of addresses in the allocated block." ::= { mallocAddressEntry 3 } mallocAddressRequestGuid OBJECT-TYPE SYNTAX Guid MAX-ACCESS read-only STATUS current DESCRIPTION "The unique identifier of the request which caused this block of addresses to be allocated. This value must match the value of mallocRequestGuid for some entry in the mallocRequestTable." ::= { mallocAddressEntry 4 } -- Expires January 2001 [Page 23] Draft Multicast Address Allocation MIB July 2000 -- MADCAP-specific objects -- madcapConfig OBJECT-IDENTITY STATUS current DESCRIPTION "Group of objects that count various MADCAP events." ::= { madcap 1 } madcapConfigExtraAllocationTime OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The amount of extra time on either side of a lease which the MADCAP server allocates to allow for clock skew among clients." ::= { madcapConfig 1 } madcapConfigNoResponseDelay OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The amount of time the MADCAP client allows for receiving a response from a MADCAP server." ::= { madcapConfig 2 } madcapConfigOfferHold OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The amount of time the MADCAP server will reserve an address for after sending an OFFER message in anticipation of receiving a REQUEST message." ::= { madcapConfig 3 } madcapConfigResponseCacheInterval OBJECT-TYPE SYNTAX INTEGER (0..300) UNITS "seconds" MAX-ACCESS read-write Expires January 2001 [Page 24] Draft Multicast Address Allocation MIB July 2000 STATUS current DESCRIPTION "The amount of time the MADCAP server uses to detect duplicate messages." ::= { madcapConfig 4 } madcapConfigClockSkewAllowance OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The clock skew threshold used by the MADCAP server to generate Excessive Clock Skew errors." ::= { madcapConfig 5 } madcapCounters OBJECT-IDENTITY STATUS current DESCRIPTION "A group of objects that count various MADCAP events." ::= { madcap 2 } madcapTotalErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of transactions for which the MADCAP server has detected an error of any type, regardless of whether the server ignored the request or generated a NAK." ::= { madcapCounters 1 } madcapRequestsDenied OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of valid requests for which the MADCAP server could not complete an allocation, regardless of whether NAKs were sent. This corresponds to the Valid Request Could Not Be Completed error code in MADCAP." ::= { madcapCounters 2 } madcapInvalidRequests OBJECT-TYPE SYNTAX Counter32 Expires January 2001 [Page 25] Draft Multicast Address Allocation MIB July 2000 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of invalid requests received by the MADCAP server, regardless of whether NAKs were sent. This corresponds to the Invalid Request error code in MADCAP." ::= { madcapCounters 3 } madcapExcessiveClockSkews OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of requests received by the MADCAP server with an excessive clock skew, regardless of whether NAKs were sent. This corresponds to the Excessive Clock Skew error code in MADCAP." ::= { madcapCounters 4 } madcapBadLeaseIds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of requests received by the MADCAP server with an unrecognized Lease Identifier, regardless of whether NAKs were sent. This corresponds to the Lease Identifier Not Recognized error code in MADCAP." ::= { madcapCounters 5 } madcapDiscovers OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of DISCOVER messages received by the MADCAP server." ::= { madcapCounters 6 } madcapInforms OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of INFORM messages received by the MADCAP Expires January 2001 [Page 26] Draft Multicast Address Allocation MIB July 2000 server." ::= { madcapCounters 7 } madcapRequests OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of REQUEST messages received by the MADCAP server." ::= { madcapCounters 8 } madcapRenews OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of RENEW messages received by the MADCAP server." ::= { madcapCounters 9 } madcapReleases OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of RELEASE messages received by the MADCAP server." ::= { madcapCounters 10 } aapConfig OBJECT-IDENTITY STATUS current DESCRIPTION "A group of objects that for configuring various AAP parameters." ::= { aap 1 } aapConfigStartupWait OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The time an AAP speaker will wait after starting up before it will allocate addresses. This is the value of the Expires January 2001 [Page 27] Draft Multicast Address Allocation MIB July 2000 STARTUP-WAIT parameter in AAP." ::= { aapConfig 1 } aapConfigAnnounceWait OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The value of the AAP ANNOUNCE-WAIT parameter." ::= { aapConfig 2 } aapConfigResendWait OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The value of the AAP RESEND-WAIT parameter." ::= { aapConfig 3 } aapConfigRepeatInterval OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The value of the AAP REPEAT-INTERVAL parameter." ::= { aapConfig 4 } aapConfigASAInterval OBJECT-TYPE SYNTAX Unsigned32 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The rate at which the AAP speaker will send ASA messages containing address ranges for use by allocation servers in the local domain. This is the ASA-INTERVAL parameter in AAP. A value of 0 means that ASA messages will not be sent." ::= { aapConfig 5 } aapConfigASRPInterval OBJECT-TYPE SYNTAX Unsigned32 Expires January 2001 [Page 28] Draft Multicast Address Allocation MIB July 2000 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The value of the AAP ASRP-INTERVAL parameter." ::= { aapConfig 6 } aapConfigPoolSize OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "The number of addresses per scope that the AAP speaker will attempt to keep in an Intent-to-Use state." ::= { aapConfig 7 } aapConfigSharedKey OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-write STATUS current DESCRIPTION "The shared key used to sign and authenticate AAP messages. This object is intended solely for the purpose of setting the shared key, and MUST be accessible only via requests using both authentication and privacy. The agent MUST report an empty string in response to get, get-next, and get-bulk requests." ::= { aapConfig 8 } aapAllocRangeTable OBJECT-TYPE SYNTAX SEQUENCE OF AapAllocRangeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table logically augmenting the mallocAllocRangeTable on AAP-speaking MAAS's." ::= { aap 2 } Expires January 2001 [Page 29] Draft Multicast Address Allocation MIB July 2000 aapAllocRangeEntry OBJECT-TYPE SYNTAX AapAllocRangeEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) containing AAP-specific information on a particular allocation range." INDEX { mallocScopeFirstAddressType, mallocScopeFirstAddress, mallocAllocRangeFirstAddressType, mallocAllocRangeFirstAddress } ::= { aapAllocRangeTable 1 } AapAllocRangeEntry ::= SEQUENCE { aapAllocRangeNumReservedAddrs Gauge32 } aapAllocRangeNumReservedAddrs OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of addresses in the range which are in the device's AAP pool for which it sends AITU messages." ::= { aapAllocRangeEntry 1 } -- AAP Traps aapTraps OBJECT IDENTIFIER ::= { aap 0 } aapASALoss NOTIFICATION-TYPE OBJECTS { mallocScopeLastAddressType, mallocScopeLastAddress } STATUS current DESCRIPTION "This trap is sent when an ASA is expired due to no ASA message being received for the scope indicated within the ASA expiry time." ::= { aapTraps 1 } -- conformance information mallocConformance OBJECT IDENTIFIER ::= { mallocMIB 2 } mallocCompliances OBJECT IDENTIFIER ::= { mallocConformance 1 } mallocGroups OBJECT IDENTIFIER ::= { mallocConformance 2 } -- compliance statements Expires January 2001 [Page 30] Draft Multicast Address Allocation MIB July 2000 mallocServerCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for multicast address allocation servers implementing the MALLOC MIB." MODULE -- this module MANDATORY-GROUPS { mallocBasicGroup, mallocServerGroup } OBJECT mallocScopeLastAddress MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mallocScopeTTL MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mallocAllocRangeLifetime MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mallocScopeStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mallocAllocRangeMaxLeaseAddrs MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mallocAllocRangeMaxLeaseTime MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mallocScopeDivisible MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mallocScopeNameScopeName Expires January 2001 [Page 31] Draft Multicast Address Allocation MIB July 2000 MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mallocScopeNameDefault MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mallocScopeNameStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mallocScopeExclusionLastAddress MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT mallocScopeExclusionStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." GROUP madcapServerGroup DESCRIPTION "This group is mandatory for servers which implement the MADCAP client-server protocol." GROUP aapServerGroup DESCRIPTION "This group is mandatory for servers which implement the AAP server-server protocol." ::= { mallocCompliances 1 } mallocClientCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for hosts implementing the MALLOC MIB." MODULE -- this module MANDATORY-GROUPS { mallocBasicGroup, mallocClientGroup } GROUP madcapClientGroup Expires January 2001 [Page 32] Draft Multicast Address Allocation MIB July 2000 DESCRIPTION "This group is mandatory for clients which implement the MADCAP client-server protocol." ::= { mallocCompliances 2 } -- units of conformance mallocBasicGroup OBJECT-GROUP OBJECTS { mallocCapabilities, mallocRequestScopeFirstAddressType, mallocRequestScopeFirstAddress, mallocRequestStartTime, mallocRequestEndTime, mallocRequestNumAddrs, mallocRequestState, mallocAddressNumAddrs, mallocAddressRequestGuid } STATUS current DESCRIPTION "The basic collection of objects providing management of IP multicast address allocation." ::= { mallocGroups 1 } mallocServerGroup OBJECT-GROUP OBJECTS { mallocScopeLastAddress, mallocScopeTTL, mallocAllocRangeLastAddressType, mallocAllocRangeLastAddress, mallocAllocRangeLifetime, mallocAllocRangeNumAllocatedAddrs, mallocAllocRangeNumOfferedAddrs, mallocAllocRangeNumWaitingAddrs, mallocAllocRangeNumTryingAddrs, mallocScopeStatus, mallocAllocRangeMaxLeaseAddrs, mallocAllocRangeMaxLeaseTime, mallocAllocRangeStatus, mallocAllocRangeSource, mallocScopeDivisible, mallocScopeSource, mallocScopeExclusionLastAddressType, mallocScopeExclusionLastAddress, mallocScopeExclusionStatus, mallocScopeExclusionSource, mallocScopeNameScopeName, mallocScopeNameDefault, mallocScopeNameStatus, mallocRequestClientAddressType, mallocRequestClientAddress } STATUS current DESCRIPTION "A collection of objects providing management of multicast address allocation in servers." ::= { mallocGroups 2 } Expires January 2001 [Page 33] Draft Multicast Address Allocation MIB July 2000 mallocClientGroup OBJECT-GROUP OBJECTS { mallocRequestServerAddressType, mallocRequestServerAddress } STATUS current DESCRIPTION "The basic collection of objects providing management of IP multicast address allocation." ::= { mallocGroups 3 } madcapServerGroup OBJECT-GROUP OBJECTS { madcapConfigClockSkewAllowance, madcapConfigExtraAllocationTime, madcapConfigOfferHold, madcapConfigResponseCacheInterval, madcapTotalErrors, madcapRequestsDenied, madcapInvalidRequests, madcapBadLeaseIds, madcapExcessiveClockSkews, madcapDiscovers, madcapInforms, madcapRequests, madcapRenews, madcapReleases } STATUS current DESCRIPTION "A collection of objects providing management of MADCAP servers." ::= { mallocGroups 4 } madcapClientGroup OBJECT-GROUP OBJECTS { madcapConfigNoResponseDelay } STATUS current DESCRIPTION "A collection of objects providing management of MADCAP clients." ::= { mallocGroups 5 } mallocClientScopeGroup OBJECT-GROUP OBJECTS { mallocScopeLastAddressType, mallocScopeLastAddress, mallocScopeTTL, mallocScopeSource, mallocScopeServerAddressType, mallocScopeServerAddress } STATUS current DESCRIPTION "A collection of objects providing management of MADCAP clients." ::= { mallocGroups 6 } aapServerGroup OBJECT-GROUP OBJECTS { aapConfigStartupWait, aapConfigAnnounceWait, aapConfigResendWait, aapConfigRepeatInterval, Expires January 2001 [Page 34] Draft Multicast Address Allocation MIB July 2000 aapConfigASRPInterval, aapConfigPoolSize, aapConfigSharedKey, aapAllocRangeNumReservedAddrs } STATUS current DESCRIPTION "A collection of objects providing management of MAAS's which implement AAP." ::= { mallocGroups 7 } aapPrefixCoordinatorGroup OBJECT-GROUP OBJECTS { aapConfigASAInterval, mallocAllocRangeLastAddressType, mallocAllocRangeLastAddress, mallocAllocRangeLifetime, mallocAllocRangeStatus, mallocAllocRangeSource, mallocAllocRangeTotalAllocatedAddrs, mallocAllocRangeTotalRequestedAddrs, mallocAllocRangeAdvertisable, mallocScopeLastAddress, mallocScopeDivisible, mallocScopeSource } STATUS current DESCRIPTION "A collection of notifications for managing AAP speakers which act as Prefix Coordinators and send ASA messages advertising address ranges in divisible scopes to other allocation servers." ::= { mallocGroups 8 } aapNotificationGroup NOTIFICATION-GROUP NOTIFICATIONS { aapASALoss } STATUS current DESCRIPTION "A collection of notifications for signaling important AAP events." ::= { mallocGroups 9 } END 6. IANA Considerations The IANAscopeSource and IANAmallocRangeSource textual conventions are imported from the IANA-MALLOC-MIB. The purpose of defining these textual conventions in a separate MIB module is to allow additional values to be defined without having to issue a new version of this document. The Internet Assigned Numbers Authority (IANA) is responsible for the assignment of all Internet numbers, including various SNMP- related numbers; it will administer the values associated with these textual conventions. Expires January 2001 [Page 35] Draft Multicast Address Allocation MIB July 2000 The rules for additions or changes to the IANA-MALLOC-MIB are outlined in the DESCRIPTION clause associated with its MODULE-IDENTITY statement. The current versions of the IANA-MALLOC-MIB can be accessed from the IANA home page at: "http://www.iana.org/". 7. Security Considerations This MIB contains readable objects whose values provide information related to multicast address allocation. There are also a number of objects that have a MAX-ACCESS clause of read-write and/or read-create, such as those which allow an administrator to dynamically configure ranges from which to allocate addresses. If address allocation servers are configured to allow renewal or release purely on the basis of knowledge of the Guid contained in the Request and Address tables, then unauthorized read access to these objects can be used in a denial-of-service attack. While unauthorized read access to the remaining objects is relatively innocuous, unauthorized write access to these objects could cause a denial-of-service, or could cause unauthorized creation and/or manipulation of scope ranges. Hence, the support for SNMP operations in a non-secure environment without proper protection can have a negative effect on network operations. SNMPv1 by itself is such an insecure environment. Even if the network itself is secure (for example by using IPSec [16]), even then, there is no control as to who on the secure network is allowed to access and SET (change/create/delete) the objects in this MIB. It is recommended that the implementers consider the security features as provided by the SNMPv3 framework. Specifically, the use of the User- based Security Model RFC 2274 [12] and the View-based Access Control Model RFC 2275 [15] is recommended. It is then a customer/user responsibility to ensure that the SNMP entity giving access to this MIB, is properly configured to give access to those objects only to those principals (users) that have legitimate rights to access them. Expires January 2001 [Page 36] Draft Multicast Address Allocation MIB July 2000 8. IANA Multicast Address Allocation MIB This appendix defines the initial content of the IANA-MALLOC-MIB. NOTE TO RFC-EDITOR: This section should be removed from this document prior to its publication, at which time this MIB will be administered by IANA. IANA-MALLOC-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI TEXTUAL-CONVENTION FROM SNMPv2-TC; ianaMallocMIB MODULE-IDENTITY LAST-UPDATED "200001311200Z" -- January 31, 2000 ORGANIZATION "IANA" CONTACT-INFO " Internet Assigned Numbers Authority Internet Corporation for Assigned Names and Numbers 4676 Admiralty Way, Suite 330 Marina del Rey, CA 90292-6601 Phone: +1 310 823 9358 EMail: iana@iana.org" DESCRIPTION "This MIB module defines the IANAscopeSource and IANAmallocRangeSource textual conventions for use in MIBs which need to identify ways of learning multicast scope and range information. Any additions or changes to the contents of this MIB module require either publication of an RFC, or Designated Expert Review as defined in the Guidelines for Writing IANA Considerations Section document. The Designated Expert will be selected by the IESG Area Directory of the Transport Area." ::= { mib-2 xxx } -- TO BE ASSIGNED BY IANA IANAscopeSource ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The source of multicast scope information." SYNTAX INTEGER { other(1), Expires January 2001 [Page 37] Draft Multicast Address Allocation MIB July 2000 manual(2), mzap(3), madcap(4) } IANAmallocRangeSource ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The source of multicast address allocation range information." SYNTAX INTEGER { other(1), manual(2), aap(3) } END 9. Acknowledgements Lars Viklund provided helpful feedback on this document. 10. Author's Address Dave Thaler Microsoft Corporation One Microsoft Way Redmond, WA 98052-6399 Phone: +1 425 703 8835 EMail: dthaler@dthaler.microsoft.com 11. References [1] Wijnen, B., Harrington, D., and R. Presuhn, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, Cabletron Systems, Inc., BMC Software, Inc., IBM T. J. Watson Research, April 1999. [2] Rose, M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", RFC 1155, STD 16, Performance Systems International, Hughes LAN Systems, May 1990. Expires January 2001 [Page 38] Draft Multicast Address Allocation MIB July 2000 [3] Rose, M., and K. McCloghrie, "Concise MIB Definitions", RFC 1212, STD 16, Performance Systems International, Hughes LAN Systems, March 1991. [4] M. Rose, "A Convention for Defining Traps for use with the SNMP", RFC 1215, Performance Systems International, March 1991. [5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Structure of Management Information Version 2 (SMIv2)", RFC 2578, STD 58, Cisco Systems, SNMPinfo, TU Braunschweig, SNMP Research, First Virtual Holdings, International Network Services, April 1999. [6] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Textual Conventions for SMIv2", RFC 2579, STD 58, Cisco Systems, SNMPinfo, TU Braunschweig, SNMP Research, First Virtual Holdings, International Network Services, April 1999. [7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and S. Waldbusser, "Conformance Statements for SMIv2", RFC 2580, STD 58, Cisco Systems, SNMPinfo, TU Braunschweig, SNMP Research, First Virtual Holdings, International Network Services, April 1999. [8] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", RFC 1157, STD 15, SNMP Research, Performance Systems International, Performance Systems International, MIT Laboratory for Computer Science, May 1990. [9] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, SNMP Research, Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc., International Network Services, January 1996. [10] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, SNMP Research, Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc., International Network Services, January 1996. [11] Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, SNMP Research, Inc., Cabletron Systems, Inc., BMC Software, Inc., IBM T. J. Watson Research, April 1999. Expires January 2001 [Page 39] Draft Multicast Address Allocation MIB July 2000 [12] Blumenthal, U., and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, IBM T. J. Watson Research, April 1999. [13] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, SNMP Research, Inc., Cisco Systems, Inc., Dover Beach Consulting, Inc., International Network Services, January 1996. [14] Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications", RFC 2573, SNMP Research, Inc., Secure Computing Corporation, Cisco Systems, April 1999. [15] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, IBM T. J. Watson Research, BMC Software, Inc., Cisco Systems, Inc., April 1999. [16] Kent, S., and R. Atkinson. "Security architecture for the internet protocol", RFC 2401, November 1998. [17] Hanna, S., Patel, B., and M. Shah. "Multicast Address Dynamic Client Allocation Protocol (MADCAP)", RFC 2730, December 1999. [18] Handley, M., and S. Hanna. "Multicast Address Allocation Protocol (AAP)", Work in progress, June 2000. [19] Handley, M., Thaler, D., and R. Kermode. "Multicast-Scope Zone Announcement Protocol (MZAP)", RFC 2776, February 2000. [20] Thaler, D., Handley, M., and D. Estrin. "The Internet Multicast Address Allocation Architecture", Work in progress, June 2000. [21] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction to Version 3 of the Internet-standard Network Management Framework", RFC 2570, April 1999. 12. Full Copyright Statement Copyright (C) The Internet Society (2000). All Rights Reserved. Expires January 2001 [Page 40] Draft Multicast Address Allocation MIB July 2000 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 implmentation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." Table of Contents 1 Abstract ........................................................ 1 2 Introduction .................................................... 2 3 The SNMP Management Framework ................................... 2 4 Overview ........................................................ 3 4.1 Protocol-independent objects .................................. 4 4.2 Protocol-specific objects ..................................... 4 5 Definitions ..................................................... 5 6 IANA Considerations ............................................. 35 7 Security Considerations ......................................... 36 8 IANA Multicast Address Allocation MIB ........................... 37 9 Acknowledgements ................................................ 38 10 Author's Address ............................................... 38 11 References ..................................................... 38 12 Full Copyright Statement ....................................... 40 Expires January 2001 [Page 41]