INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 Management Information Base for DOCSIS Cable Modem Termination Systems for Subscriber Management draft-ietf-ipcdn-subscriber-mib-00.txt Mon Dec 8 10:32:00 EST 1999 Wilson Sawyer Arris Interactive wsawyer@ieee.org Michael StJohns @Home Network stjohns@corp.home.net Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at: http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at: http://www.ietf.org/shadow.html. Abstract This memo defines an experimental portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it defines a set of managed objects for SNMP-based management of DOCSIS-compliant[16] Cable Modem Termination Systems. These managed objects facilitate protection of the cable network from misuse by subscribers. This memo specifies a MIB module in a manner that is compliant to the SNMP SMIv2 [5][6][7]. The set of objects are consistent with the SNMP framework and existing SNMP standards. This memo is a product of the IPCDN working group within the Internet Engineering Task Force. Comments are solicited and should be addressed to the working group's mailing list at ipcdn@terayon.com and/or the authors. Expires June 2000 [Page 1] INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 Table of Contents 1. The SNMP Network Management Framework..............................2 2. Overview...........................................................3 2.1. Structure of the MIB.............................................3 2.2. Management requirements..........................................4 2.2.1. Interaction with DOCSIS provisioning for CPE address control...4 2.2.2. Interaction with DOCSIS provisioning for filtering.............4 2.2.3. Row Existence of docsSubMgtTcpUdpFilterTable...................4 3. Definitions........................................................5 4. Acknowledgments...................................................17 5. References........................................................17 6. Security Considerations...........................................18 7. Author's Addresses................................................19 1. The SNMP Network 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 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]. o A set of fundamental applications described in RFC 2573 [14] and the view-based access control mechanism described in RFC 2575 [15]. 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 Expires June 2000 [Page 2] INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 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. 2. Overview This MIB provides a set of objects required for the management of DOCSIS Cable Modem Termination Systems (CMTS). The specification is derived in part from the operational model described in the DOCSIS Radio Frequency Interface Specification [16]. These managed objects facilitate protection of the cable network from misuse by subscribers. Much of this MIB duplicates capabilities found in the DOCSIS Cable Device MIB [17]. While it is expected that the Cable Device MIB will be used to prevent unwanted traffic from entering the cable network, it is also possible that a malicious user might tamper with cable modem software, disabling its filtering policies. This MIB provides a more secure mechanism, since physical access to the CMTS is controlled by the network operator. In particular, this MIB provides two capabilities: first, to limit the IP addresses behind a modem, and, second, to provide protocol filtering to and from a modem. The first duplicates the capabilities of the docsDevCpe group [17]. This provides for either learned or provisioned subscriber premises host IP addresses behind a cable modem. The filtering capability is similar to that provided in docsDevFilter [17]. Rather than maintaining a separate list of filters for each modem at the CMTS, however, it is assumed that large numbers of modems will share filtering characteristics. Therefore, modems are grouped so as to share common filter lists. 2.1. Structure of the MIB This MIB is structured in five tables: o The docsSubMgtCpeControlTable controls the acceptance of subscriber host addresses behind a cable modem. o The docsSubMgtCpeIpTable monitors the subscriber host addresses which the CMTS believes to exist behind the cable modem. o The docsSubMgtPktFilterTable specifies filtering criteria which can be applied to packets destined to or originating from a cable modem. o The docsSubMgtTcpUdpFilterTable augments Expires June 2000 [Page 3] INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 docsSubMgtPktFilterTable with optional TCP or UDP port filtering criteria. o The docsSubMgtCmFilterTable binds a cable modem to an ordered list of filters from docsSubMgtPktFilterTable. The docsSubMgtCpeControlTable, docsSubMgtCpeIpTable, and docsSubMgtCmFilterTable augment the docsIfCmtsCmStatusTable from [18]. As such, each entry in these tables is bound to a registered cable modem, as perceived by the CMTS. The docsSubMgtPktFilterTable is a two-dimensional: the outer dimension is the group to which a cable modem may be bound. The inner dimension is the ordering of filter criteria within each group. Any number of modems may be bound to the same group. 2.2. Management requirements 2.2.1. Interaction with DOCSIS provisioning for CPE address control Rows in docsSubMgtCpeControlTable are created by the CMTS for each modem as a result of the DOCSIS registration process. The DOCSIS registration attributes may include items semantically equivalent to those in the DocsDevCpe branch of the DOCSIS Cable Device MIB [17]: o docsDevCpeEnroll o docsDevCpeIpMax o docsDevCpeIp Successful DOCSIS registration shall have the effect of setting the corresponding fields in the docsSubMgtCpeControlTable and the docsSubMgtCpeIpTable. If not present, the default at registration shall be to set docsSubMgtCpeControlActive to false. 2.2.2. Interaction with DOCSIS provisioning for filtering Rows in docsSubMgtCmFilterTable are created by the CMTS for each modem as a result of the DOCSIS registration process. The DOCSIS registration attributes may include two indices: one identifying the upstream filter group and one identifying the downstream filter group. Successful registration shall have the effect of setting docsSubMgtCmFilterDownstream and docsSubMgtCmFilterUpstream for that modem (just as if set through the SNMP protocol). If the DOCSIS attributes are not present, the effect shall be to set the modem's filter groups to the values of docsSubMgtCmFilterUpDefault and docsSubMgtCmFilterDownDefault. 2.2.3. Row Existence of docsSubMgtTcpUdpFilterTable The docsSubMgtTcpUdpFilterTable exists apart from the docsSubMgtPktFilterTable because its filtering criteria is expected to be applied to a minority of modems relative to docsSubMgtPktFilterTable. It is separate in order to emphasize this Expires June 2000 [Page 4] INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 expectation to both CMTS vendors and network operators. The rules for row creation are: o Row creation in docsSubMgtTcpUdpFilterTable is disallowed unless the corresponding row in docsSubMgtPktFilterTable already exists. o Deletion of the row in docsSubMgtPktFilterTable deletes the corresponding row in docsSubMgtTcpUdpFilterTable. o Row creation for docsSubMgtPktFilterTable does not create the corresponding row in docsSubMgtTcpUdpFilterTable. o Row deletion of docsSubMgtTcpUdpFilterTable does not delete the corresponding row in docsSubMgtPktFilterTable. 3. Definitions DOCS-SUBMGT-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Counter32, Integer32, experimental FROM SNMPv2-SMI TEXTUAL-CONVENTION, RowStatus, TruthValue FROM SNMPv2-TC OBJECT-GROUP, MODULE-COMPLIANCE FROM SNMPv2-CONF docsIfCmtsCmStatusIndex, docsIfCmtsCmStatusEntry FROM DOCS-IF-MIB; -- RFC2670 docsSubMgt MODULE-IDENTITY LAST-UPDATED "9912080000Z" -- December 8, 1999 ORGANIZATION "IETF IPCDN Working Group" CONTACT-INFO " Wilson Sawyer Postal: Arris Interactive 6 Riverside Drive Andover, MA 01810 U.S.A. Phone: +1 978 946 4711 E-mail: wsawyer@ieee.org" DESCRIPTION "This is the CMTS centric subscriber management MIB for DOCSIS compliant CMTS. This will be rooted in experimental Expires June 2000 [Page 5] INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 space with a future transition to be incorporated into the cable device MIB." ::= { experimental 9999 } -- bogus -- RFC Editor to assign -- ::= { mib-2 xx } docsSubMgtObjects OBJECT IDENTIFIER ::= { docsSubMgt 1 } IpV4orV6Addr ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "An IP V4 or V6 address expressed as an octet string. The zero length string is equal to both 0.0.0.0 and the IPv6 :0 address." SYNTAX OCTET STRING (SIZE (0 | 4 | 16)) docsSubMgtCpeControlTable OBJECT-TYPE SYNTAX SEQUENCE OF DocsSubMgtCpeControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table extends the docsIfCmtsCmStatusTable and adds 4 objects which reflect the state of subscriber management on a particular CM." ::= { docsSubMgtObjects 1 } docsSubMgtCpeControlEntry OBJECT-TYPE SYNTAX DocsSubMgtCpeControlEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row in the docsSubMgtCpeControlTable. All the values are either set from the system default, or are set from objects included in the DOCSIS registration request sent upstream to the CMTS from the CM." AUGMENTS { docsIfCmtsCmStatusEntry } ::= {docsSubMgtCpeControlTable 1 } DocsSubMgtCpeControlEntry ::= SEQUENCE { docsSubMgtCpeControlMaxCpeIp Integer32, docsSubMgtCpeControlActive TruthValue, docsSubMgtCpeControlLearnable TruthValue, docsSubMgtCpeControlReset TruthValue } docsSubMgtCpeControlMaxCpeIp OBJECT-TYPE SYNTAX Integer32(0..16) Expires June 2000 [Page 6] INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 MAX-ACCESS read-write STATUS current DESCRIPTION "The nominal number of IP addresses permitted behind the CM related to this entry. If this is set to zero, all CPE traffic from the CM is dropped. If the provisioning object specifies more CPE IP addresses for this modem than the value of this object, then this object is set to the count of the number of rows in docsSubMgtCpeIpTable that have the same docsIfCmtsCmStatusIndex value. (E.g. if the CM has 5 IP addresses specified for it, this value is 5)." ::= { docsSubMgtCpeControlEntry 1 } docsSubMgtCpeControlActive OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If this is set to true, CMTS based CPE control is active and all the actions required by the various filter tables and controls apply at the CMTS. If this is set to false, no subscriber management filtering is done at the CMTS (but other filters may apply)." ::= { docsSubMgtCpeControlEntry 2 } docsSubMgtCpeControlLearnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If this is set to true, up to MaxCpeIp addresses are learned related to this CM. Those IP addresses are added (by internal process) to the docsSubMgtCpeIpTable." ::= { docsSubMgtCpeControlEntry 3 } docsSubMgtCpeControlReset OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object always returns false on read. If this object is set to true, the rows with 'learned' addresses in docsSubMgtCpeIpTable for this CM are deleted from that table." ::= { docsSubMgtCpeControlEntry 4 } -- There may be a requirement to add here a CM IP address to support -- SNMP only pass through for the management address. docsSubMgtCpeIpTable OBJECT-TYPE SYNTAX SEQUENCE OF DocsSubMgtCpeIpEntry MAX-ACCESS not-accessible STATUS current Expires June 2000 [Page 7] INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 DESCRIPTION "A table of CPE IP addresses known on a per CM basis." ::= { docsSubMgtObjects 2 } docsSubMgtCpeIpEntry OBJECT-TYPE SYNTAX DocsSubMgtCpeIpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the docsSubMgtCpeIpTable. The first index is the specific modem we're referring to, the second index is the specific CPE IP entry." INDEX { docsIfCmtsCmStatusIndex, docsSubMgtCpeIpIndex } ::= {docsSubMgtCpeIpTable 1 } DocsSubMgtCpeIpEntry ::= SEQUENCE { docsSubMgtCpeIpIndex Integer32, docsSubMgtCpeIpAddr IpV4orV6Addr, docsSubMgtCpeIpLearned TruthValue } docsSubMgtCpeIpIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index of this CPE IP address relative to the indexed CM. An entry is created either through the included CPE IP addresses in the provisioning object, or via learning. If a CMTS receives an IP packet from a CM that contains a source IP address which does not match one of the docsSubMgtCpeIpAddr entries for this CM, one of two things occurs. If the number of entries is less than docsSubMgtCpeControlMaxCpeIp, the source address is added to the table and the packet is forwarded. If the number of entries equals the docsSubMgtCpeControlMaxCpeIp, AND docsSubMgtCpeControlActive is true, then the packet is dropped. Otherwise the packet is forwarded. " ::= { docsSubMgtCpeIpEntry 1 } docsSubMgtCpeIpAddr OBJECT-TYPE SYNTAX IpV4orV6Addr MAX-ACCESS read-only STATUS current DESCRIPTION "The IP address either set from provisioning or learned via wiretapping." ::= { docsSubMgtCpeIpEntry 2 } docsSubMgtCpeIpLearned OBJECT-TYPE SYNTAX TruthValue Expires June 2000 [Page 8] INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 MAX-ACCESS read-only STATUS current DESCRIPTION "If true, this entry was learned from IP packets sent upstream rather than from the provisioning objects." ::= { docsSubMgtCpeIpEntry 3 } -- The generic packet filter table. Note that this just defines the -- match criteria. The docsSubMgtCmFilterTable links this table to -- the specific modems. docsSubMgtPktFilterTable OBJECT-TYPE SYNTAX SEQUENCE OF DocsSubMgtPktFilterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of filter or classifier criteria. This table consists of no more than 30 groups of no more than 20 classifiers. Classifiers are assigned by group to the individual CMs. That assignment is made via the configuration objects sent upstream from the CM to the CMTS during registration." ::= { docsSubMgtObjects 3 } docsSubMgtPktFilterEntry OBJECT-TYPE SYNTAX DocsSubMgtPktFilterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the docsSubMgtPktFilterTable." INDEX { docsSubMgtPktFilterGroup, docsSubMgtPktFilterIndex } ::= {docsSubMgtPktFilterTable 1 } DocsSubMgtPktFilterEntry ::= SEQUENCE { docsSubMgtPktFilterGroup Integer32, docsSubMgtPktFilterIndex Integer32, docsSubMgtPktFilterSrcAddr IpV4orV6Addr, docsSubMgtPktFilterSrcMask Integer32, docsSubMgtPktFilterDstAddr IpV4orV6Addr, docsSubMgtPktFilterDstMask Integer32, docsSubMgtPktFilterUlp Integer32, docsSubMgtPktFilterTosValue OCTET STRING, docsSubMgtPktFilterTosMask OCTET STRING, docsSubMgtPktFilterAction INTEGER, docsSubMgtPktFilterMatches Counter32, docsSubMgtPktFilterStatus RowStatus } docsSubMgtPktFilterGroup OBJECT-TYPE Expires June 2000 [Page 9] INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 SYNTAX Integer32(1..30) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Identifies the group of modems to which this ordered list of filters applies." ::= { docsSubMgtPktFilterEntry 1 } docsSubMgtPktFilterIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index which describes the ordering of a set of filter specifications within the group. Filters are applied in index order." ::= { docsSubMgtPktFilterEntry 2 } docsSubMgtPktFilterSrcAddr OBJECT-TYPE SYNTAX IpV4orV6Addr MAX-ACCESS read-create STATUS current DESCRIPTION "The source IP address to match in the packet to be classified. By default, this is the all-zero's IP v4 and v6 address." DEFVAL { ''h } ::= { docsSubMgtPktFilterEntry 3 } docsSubMgtPktFilterSrcMask OBJECT-TYPE SYNTAX Integer32 (0..128) MAX-ACCESS read-create STATUS current DESCRIPTION "The number of leftmost bits in the source IP mask to match against the packet to be classified. This, taken with the SrcAddr specifies a matching criteria. By default, the pair specifies a filter which matches all source addresses. For IPv4 addresses, the range is constrained to 0..32." DEFVAL { 0 } ::= { docsSubMgtPktFilterEntry 4 } docsSubMgtPktFilterDstAddr OBJECT-TYPE SYNTAX IpV4orV6Addr MAX-ACCESS read-create STATUS current DESCRIPTION "The destination IP address to match in the packet to be classified. By default, this is the all-zero's IP v4 and v6 address." DEFVAL { ''h } ::= { docsSubMgtPktFilterEntry 5 } Expires June 2000 [Page 10] INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 docsSubMgtPktFilterDstMask OBJECT-TYPE SYNTAX Integer32 (0..128) MAX-ACCESS read-create STATUS current DESCRIPTION "The number of leftmost bits in the destination IP mask to match against the packet to be classified. This, taken with the DstAddr specifies a matching criteria. By default, the pair specifies a filter which matches all destination addresses. For IPv4 addresses, the range is constrained to 0..32." DEFVAL { 0 } ::= { docsSubMgtPktFilterEntry 6 } docsSubMgtPktFilterUlp OBJECT-TYPE SYNTAX Integer32 (0..256) MAX-ACCESS read-create STATUS current DESCRIPTION "Upper level protocol to match. If this value is 256, matches ALL ULP values. Otherwise, this matches the specific protocol value. Note that if the packet ULP is either 6 (tcp) or 17 (udp), then docsSubMgtPktTcpUdpFilterTable must also be consulted (if its entry exists) to see if this entry matches. Obviously, if this value is neither tcp, udp nor 256, then that table need not be matched against." DEFVAL { 256 } ::= { docsSubMgtPktFilterEntry 7 } docsSubMgtPktFilterTosValue OBJECT-TYPE SYNTAX OCTET STRING (SIZE(1)) MAX-ACCESS read-create STATUS current DESCRIPTION "The TOS value to match in the IP packet." DEFVAL { '0'h } ::= { docsSubMgtPktFilterEntry 8 } docsSubMgtPktFilterTosMask OBJECT-TYPE SYNTAX OCTET STRING(SIZE(1)) MAX-ACCESS read-create STATUS current DESCRIPTION "The mask to apply against the TOS value to be matched in the IP packet. The default for both these objects taken together matches all TOS values." DEFVAL { '0'h } ::= { docsSubMgtPktFilterEntry 9 } docsSubMgtPktFilterAction OBJECT-TYPE SYNTAX INTEGER { accept(1), drop(2) Expires June 2000 [Page 11] INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 } MAX-ACCESS read-create STATUS current DESCRIPTION "The action to take upon this filter matching. Accept means to accept the packet for further processing. Drop means to drop the packet." DEFVAL { accept } ::= { docsSubMgtPktFilterEntry 10 } docsSubMgtPktFilterMatches OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object counts the number of times this specific rule has been matched. This is incremented any time this rule is encountered and all components match. It is only incremented for the first (lowest-indexed) filter matching a packet." ::= { docsSubMgtPktFilterEntry 11 } docsSubMgtPktFilterStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Standard rowStatus object for creating this row. Any object in this row which is writable may be changed at any time while the row is active." ::= { docsSubMgtPktFilterEntry 12 } docsSubMgtTcpUdpFilterTable OBJECT-TYPE SYNTAX SEQUENCE OF DocsSubMgtTcpUdpFilterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This is an adjunct to docsSubMgtPktFilterTable. It provides optional filtering based on elements in TCP or UDP headers. This table is separate from docsSubMgtPktFilterTable only because it is expected to be used more rarely. This table is not consulted unless the upper-layer protocol is TCP, UDP, or 'any'." ::= { docsSubMgtObjects 4 } docsSubMgtTcpUdpFilterEntry OBJECT-TYPE SYNTAX DocsSubMgtTcpUdpFilterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines filtering criteria for TCP and UDP headers." INDEX { docsSubMgtPktFilterGroup, docsSubMgtPktFilterIndex } ::= {docsSubMgtTcpUdpFilterTable 1 } Expires June 2000 [Page 12] INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 DocsSubMgtTcpUdpFilterEntry ::= SEQUENCE { docsSubMgtTcpUdpSrcPort Integer32, docsSubMgtTcpUdpDstPort Integer32, docsSubMgtTcpFlagValues BITS, docsSubMgtTcpFlagMask BITS, docsSubMgtTcpUdpStatus RowStatus } docsSubMgtTcpUdpSrcPort OBJECT-TYPE SYNTAX Integer32(0..65536) MAX-ACCESS read-create STATUS current DESCRIPTION "The source port to match. 65536 matches any value in the TCP or UDP source port field." DEFVAL { 65536 } ::= { docsSubMgtTcpUdpFilterEntry 1 } docsSubMgtTcpUdpDstPort OBJECT-TYPE SYNTAX Integer32(0..65536) MAX-ACCESS read-create STATUS current DESCRIPTION "The destination port to match. 65536 matches any value in the TCP or UDP destination port field." DEFVAL { 65536 } ::= { docsSubMgtTcpUdpFilterEntry 2 } docsSubMgtTcpFlagValues OBJECT-TYPE SYNTAX BITS { urgent(0), ack(1), push(2), reset(3), syn(4), fin(5) } MAX-ACCESS read-create STATUS current DESCRIPTION "The value of the flags of interest. The value of this object MUST always be a subset (proper or otherwise) of docsSubMgtTcpFlagMask. An attempt to violate this constraint returns an inconsistentValue error for an SNMPv2 or v3 agent and a badValue error for an SNMPv1 agent." DEFVAL { {} } ::= { docsSubMgtTcpUdpFilterEntry 3 } docsSubMgtTcpFlagMask OBJECT-TYPE Expires June 2000 [Page 13] INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 SYNTAX BITS { urgent(0), ack(1), push(2), reset(3), syn(4), fin(5) } MAX-ACCESS read-create STATUS current DESCRIPTION "This bit set indicates the flags of interest in the TCP header for the packet to be matched. For example to match all packets where the urgent bit is set, but that are not either syn or fin, the value of docsSubMgtTcpFlagValues would be { urgent }, and the value of this object would be { urgent, syn, fin }" DEFVAL { {} } ::= { docsSubMgtTcpUdpFilterEntry 4 } docsSubMgtTcpUdpStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "Standard row object for this table. Any object in the conceptual row may be modified regardless of whether this row is active or not." ::= { docsSubMgtTcpUdpFilterEntry 5 } docsSubMgtCmFilterTable OBJECT-TYPE SYNTAX SEQUENCE OF DocsSubMgtCmFilterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Binds filter groups to modems. This table identifies for each modem the upstream and downstream filter groups that apply to packets for that modem. Zero is used as a distinguished value to mean no filter group." ::= { docsSubMgtObjects 5 } docsSubMgtCmFilterEntry OBJECT-TYPE SYNTAX DocsSubMgtCmFilterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Binds a filter group to each direction of traffic for a modem." AUGMENTS { docsIfCmtsCmStatusEntry } ::= {docsSubMgtCmFilterTable 1 } Expires June 2000 [Page 14] INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 DocsSubMgtCmFilterEntry ::= SEQUENCE { docsSubMgtCmFilterDownstream Integer32, docsSubMgtCmFilterUpstream Integer32 } docsSubMgtCmFilterDownstream OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The filter group applied to traffic destined for the referenced CM. This is set upon row creation to either the default (docsSubMgtCmFilterDownDefault), or to the value in the provisioning object sent upstream from the CM to the CMTS during registration." ::= { docsSubMgtCmFilterEntry 1 } docsSubMgtCmFilterUpstream OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The filter group applied to traffic originating from the referenced CM. This is set upon row creation to either the default (docsSubMgtCmFilterUpDefault), or to the value in the provisioning object sent upstream from the CM to the CMTS." ::= { docsSubMgtCmFilterEntry 2 } docsSubMgtCmFilterDownDefault OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "Upon a row creation in docsSubMgtCmFilterTable, docsSubMgtCmFilterDownstream is set to this value if no provisioning object is present to override it. This object is persistent across CMTS reboots. Upon initial CMTS initialization, this defaults to 0." ::= { docsSubMgtObjects 6 } docsSubMgtCmFilterUpDefault OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "Upon a row creation in docsSubMgtCmFilterTable, docsSubMgtCmFilterUpstream is set to this value if no provisioning object is present to override it. This object is persistent across CMTS reboots. Upon initial CMTS initialization, this defaults to 0." ::= { docsSubMgtObjects 7 } Expires June 2000 [Page 15] INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 docsSubMgtNotification OBJECT IDENTIFIER ::= { docsSubMgt 2 } docsSubMgtConformance OBJECT IDENTIFIER ::= { docsSubMgt 3 } docsSubMgtCompliances OBJECT IDENTIFIER ::= { docsSubMgtConformance 1 } docsSubMgtGroups OBJECT IDENTIFIER ::= { docsSubMgtConformance 2 } docsSubMgtBasicCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for CMTS devices that implement CMTS centric subscriber management." MODULE MANDATORY-GROUPS { docsSubMgtGroup } ::= { docsSubMgtCompliances 1 } docsSubMgtGroup OBJECT-GROUP OBJECTS { docsSubMgtCpeControlMaxCpeIp, docsSubMgtCpeControlActive, docsSubMgtCpeControlLearnable, docsSubMgtCpeControlReset, docsSubMgtCpeIpAddr, docsSubMgtCpeIpLearned, docsSubMgtPktFilterSrcAddr, docsSubMgtPktFilterSrcMask, docsSubMgtPktFilterDstAddr, docsSubMgtPktFilterDstMask, docsSubMgtPktFilterUlp, docsSubMgtPktFilterTosValue, docsSubMgtPktFilterTosMask, docsSubMgtPktFilterAction, docsSubMgtPktFilterMatches, docsSubMgtPktFilterStatus, docsSubMgtTcpUdpSrcPort, docsSubMgtTcpUdpDstPort, docsSubMgtTcpFlagValues, docsSubMgtTcpFlagMask, docsSubMgtTcpUdpStatus, docsSubMgtCmFilterDownstream, docsSubMgtCmFilterUpstream, docsSubMgtCmFilterDownDefault, docsSubMgtCmFilterUpDefault } STATUS current DESCRIPTION Expires June 2000 [Page 16] INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 "The objects use to managed host-based cable modems via a set of CMTS enforced controls." ::= { docsSubMgtGroups 1 } END 4. Acknowledgments Thanks to Guenter Roeck and Julie McGray for reviewing early drafts. 5. References [1] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999. [2] Rose, M. and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990. [3] Rose, M. and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991. [4] Rose, M., "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991. [5] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Structure of Management Information for Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [6] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [7] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [8] Case, J., Fedor, M., Schoffstall, M. and J. Davin, "Simple Management Protocol", STD 15, RFC 1157, May 1990. [9] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, 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, 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, April 1999. [12] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol Expires June 2000 [Page 17] INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 (SNMPv3)", RFC 2574, 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, January 1996. [14] Levi, D., Meyer, P. and B. Stewart, "SNMP Applications", RFC 2573, 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, April 1999. [16] "Data-Over-Cable Service Interface Specifications: Cable Modem Radio Frequency Interface Specification SP-RFI-I04-980724", DOCSIS, July 1998, available at http://www.cablemodem.com/. [17] StJohns, M. , "Cable Device Management Information Base for DOCSIS Compliant Cable Modems and Cable Modem Termination Systems", RFC2669, August 1999. [18] StJohns, M. , "Radio Frequency (RF) Interface Management Information Base for MCNS/DOCSIS compliant RF interfaces", RFC2670, August 1999. [19] "Data-Over-Cable Service Interface Specifications: Baseline Privacy Interface Specification SP-BPI-I02-990319", DOCSIS, March 1999, available at http://www.cablemodem.com/. [20] "Data-Over-Cable Service Interface Specifications: Baseline Privacy Plus Interface Specification SP-BPI+-I03-991105", DOCSIS, November 1999, available at http://www.cablemodem.com/. 6. Security Considerations This MIB is intended to limit certain kinds of network behavior by subscriber hosts attached to cable modems, including, for example, IP spoofing. These limitations may be compromised, however, if the cable modem's identity or registration process is spoofed. The DOCSIS RFI and privacy specifications [16], [19], and [20] define a number of mechanisms for assuring modem identity. There are a number of management objects defined in this MIB that have a MAX-ACCESS clause of read-write and/or read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations. SNMPv1 by itself is not a secure environment. Even if the network Expires June 2000 [Page 18] INTERNET-DRAFT DOCSIS Subscriber Management MIB December 1999 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. 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 2574 [12] and the View- based Access Control Model RFC 2575 [15] is recommended. It is then a customer/user responsibility to ensure that the SNMP entity giving access to an instance of this MIB, 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. 7. Author's Addresses Wilson Sawyer Arris Interactive 6 Riverside Drive Andover, MA 01810 USA Phone: +1 978 946 4711 Email: wsawyer@ieee.org Michael StJohns @Home Network 425 Broadway Redwood City, CA 94063 Phone: +1 650 569 5368 EMail: stjohns@corp.home.net Expires June 2000 [Page 19]