Internet DRAFT - draft-li-opsawg-loadbalance-mib
draft-li-opsawg-loadbalance-mib
Operation and Management Area Working Chen. Li
Group Lianyuan. Li
Internet-Draft China Mobile
Intended status: Standards Track Tina. TSOU
Expires: May 16, 2012 Huawei
November 13, 2011
Management Information Base for Load Balancers
draft-li-opsawg-loadbalance-mib-03
Abstract
Load balancer is deployed widely in datacenter nowadays. There is a
requirement to build a unique LB network management system where two
or more vendors' LB devices are used. We propose the standard MIBs
for unique NMS.
Load balancer description is introduced at
"http://en.wikipedia.org/wiki/Load_balancing_(computing)".
This memo defines an portion of the Management Information Base (MIB)
for use with network management protocols in the Internet community.
In particular, it describes a MIB module for load balance device.
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 May 16, 2012.
Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Li, et al. Expires May 16, 2012 [Page 1]
Internet-Draft Load Balancer MIB November 2011
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. The Internet-Standard Management Framework . . . . . . . . . . 3
3. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Structure of Load-Balance MIB objects . . . . . . . . . . . . 3
5. Loadbalance-MIB Module Definitions . . . . . . . . . . . . . . 4
6. Security Considerations . . . . . . . . . . . . . . . . . . . 13
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
8. Normative References . . . . . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14
Li, et al. Expires May 16, 2012 [Page 2]
Internet-Draft Load Balancer MIB November 2011
1. Introduction
Load balancer is deployed widely in datacenter nowadays. There is a
requirement to build a unique LB network management system where two
or more vendors' LB devices are used. We propose the standard MIBs
for unique NMS.
This document defines 5 MIB Modules which together support the
configuration and monitoring of Load Balance device.
2. The Internet-Standard Management Framework
For a detailed overview of the documents that describe the current
Internet-Standard Management Framework, please refer to section 7 of
RFC 3410 [RFC3410].
Managed objects are accessed via a virtual information store, termed
the Management Information Base or MIB. MIB objects are generally
accessed through the Simple Network Management Protocol (SNMP).
Objects in the MIB are defined using the mechanisms defined in the
Structure of Management Information (SMI). This memo specifies a MIB
module that is compliant to the SMIv2, which is described in STD 58,
[RFC2578] STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580].
3. Conventions
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 RFC 2119 [RFC2119].
4. Structure of Load-Balance MIB objects
The following subsections describe the purpose of each of the objects
contained in the loadbalance-MIB.
4.1. Load balance Virtual Service Table
Services provided by LB devices are virtual services. Configured on
an LB device, a virtual service is uniquely identified by virtual
service IP address, service protocol, service mode,and service port
number. Access requests of users are sent to the LB device through a
public or private network. If matching the virtual service, the
requests are distributed to real services by the LB device.
4.2. Load balance Real Service Table
Li, et al. Expires May 16, 2012 [Page 3]
Internet-Draft Load Balancer MIB November 2011
Services provided by real servers are real services. A real service
can be a traditional FTP or HTTP service, and can also be a
forwarding service in a generic sense. For example, a real service
in firewall load balancing is the packet forwarding path.
4.3. Load balance Real Service Group Table
Server group----a real service group is a logical concept. Servers
can be classified into different groups according to the common
attributes of these servers. For example,servers can be classified
into static storage server group and dynamic switching server group
according to their functions; or they can be classified into music
server group, video server group and picture server group according
to the services they provide.
4.4. Load balance health checking Table
Health monitoring allows an LB device to check the statuses of real
servers or links, collect the corresponding information, and
quarantine the servers or links that work abnormally. Health
monitoring can not only mark whether servers or links can work
normally, but also can collect statistics of the response time of the
servers or links for selecting servers or links.
4.5. Load balance Statistic Table
The statistic for Virtual Service or Real Service session,
transmission rate.
5. Loadbalance-MIB Module Definitions
LOAD-BALANCER-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, mib-2,
Unsigned32, Integer32
FROM SNMPv2-SMI -- RFC2578
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF -- RFC2580
;
lbMIB MODULE-IDENTITY
LAST-UPDATED "201111310000Z"
ORGANIZATION
"IETF Operations and Management Area Working Group
http://datatracker.ietf.org/wg/opsawg/"
CONTACT-INFO
Li, et al. Expires May 16, 2012 [Page 4]
Internet-Draft Load Balancer MIB November 2011
"email: Li Chen (lichenyj@chinamobile.com) China Mobile"
DESCRIPTION
"MIB objects for load-balancing devices.
Copyright (c) 2011 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info)."
REVISION "201111310000Z"
::= { mib-2 XXX }
lbMIBNotifications OBJECT IDENTIFIER ::= { lbMIB 0 }
lbMIBObjects OBJECT IDENTIFIER ::= { lbMIB 1 }
lbMIBConformance OBJECT IDENTIFIER ::= { lbMIB 2 }
lbMIBCompliances OBJECT IDENTIFIER ::= { lbMIBConformance 1 }
lbMIBGroups OBJECT IDENTIFIER ::= { lbMIBConformance 2 }
--
-- Load-balancer Virtual Service table
--
lbVSTable OBJECT-TYPE
SYNTAX SEQUENCE OF LbVSEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Configured on an LB device, a virtual service is uniquely
identified by virtual service IP address, service protocol,
service mode , and service port number. Access requests of users
are sent to the LB device through a public or private network.
If matching the virtual service, the requests are distributed
to real services by the LB device."
::= { lbMIBObjects 1 }
lbVSEntry OBJECT-TYPE
SYNTAX LbVSEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
Li, et al. Expires May 16, 2012 [Page 5]
Internet-Draft Load Balancer MIB November 2011
"A row describing LB virtual service."
INDEX { lbVSId }
::= { lbVSTable 1 }
LbVSEntry ::= SEQUENCE {
lbVSId Unsigned32,
lbVSAddr IpAddress,
lbVSPort INTEGER,
lbVSmode INTEGER,
lbVSproto INTEGER,
}
LbVSId OBJECT-TYPE
SYNTAX Unsigned32 (1..'ffffffff'H)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"LB virtual service identifier."
::= { lbVSEntry 1 }
lbVSAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Virtual service IP address of cluster/LB, used for users
to request services."
::= { lbVSEntry 2 }
lbVSPort OBJECT-TYPE
SYNTAX INTEGER (0..65535)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The LB distributes the requests with the same source IP
address and source port
to a specific server."
::= { lbVSEntry 3 }
lbVSmode OBJECT-TYPE
SYNTAX INTEGER (NAT(0),DR(1))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Layer 4 server load balancing can be classified into
Network Address Translation (NAT)-mode server load
Li, et al. Expires May 16, 2012 [Page 6]
Internet-Draft Load Balancer MIB November 2011
balancing and Direct routing (DR)-mode server
load balancing."
::= { lbVSEntry 4 }
lbVSproto OBJECT-TYPE
SYNTAX INTEGER (TCP(0),UDP(1))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"LB can support protocol for user."
::= { lbVSEntry 5 }
--
-- Load-balancer Real Service table
--
lbRSTable OBJECT-TYPE
SYNTAX SEQUENCE OF LbRSEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Services provided by real servers are real services.
A real service can be a traditional FTP or HTTP service,
and can also be a forwarding service in a generic sense.
For example, a real service in firewall load balancing
is the packet forwarding path."
::= { lbMIBObjects 2 }
lbRSEntry OBJECT-TYPE
SYNTAX LbRSEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A row describing LB real service."
INDEX { lbRSId }
::= { lbRSTable 1 }
LbRSEntry ::= SEQUENCE {
lbRSId Unsigned32,
lbRSGId Unsigned32
lbRSAddr IpAddress,
lbRSPort INTEGER,
}
lbRSId OBJECT-TYPE
SYNTAX Unsigned32 (1..'ffffffff'H)
MAX-ACCESS read-write
STATUS current
Li, et al. Expires May 16, 2012 [Page 7]
Internet-Draft Load Balancer MIB November 2011
DESCRIPTION
"LB real service identifier."
::= { lbRSEntry 1 }
lbRSGId OBJECT-TYPE
SYNTAX Unsigned32 (1..'ffffffff'H)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"a real service group is a logical concept. Servers
can be classified into different groups according
to the common attributes of these servers."
::= { lbRSEntry 2 }
lbRSAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"IP address of a server, used by the LB device to
distribute requests."
::= { lbRSEntry 3 }
lbRSPort OBJECT-TYPE
SYNTAX INTEGER (0..65535)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The LB uses the port for communication with server."
::= { lbRSEntry 4 }
--
-- Load-balancer Real Service Group table
--
lbRSGTable OBJECT-TYPE
SYNTAX SEQUENCE OF LbRSGEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Real Server group is a logical concept. Servers can
be classified into different groups according to the
common attributes of these servers."
::= { lbMIBObjects 3 }
lbRSGEntry OBJECT-TYPE
SYNTAX LbRSGEntry
MAX-ACCESS not-accessible
Li, et al. Expires May 16, 2012 [Page 8]
Internet-Draft Load Balancer MIB November 2011
STATUS current
DESCRIPTION
"A row describing LB real service group."
INDEX { lbRSGId }
::= { lbRSGTable 1 }
LbRSGEntry ::= SEQUENCE {
lbRSGId Unsigned32,
lbRSID Unsigned32,
lbRSGschdalgorithm INTEGER,
lbRSGhealth INTEGER
}
lbRSGId OBJECT-TYPE
SYNTAX Unsigned32 (1..'ffffffff'H)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"LB real service group identifier."
::= { lbRSGEntry 1 }
lbRSId OBJECT-TYPE
SYNTAX Unsigned32 (1..'ffffffff'H)
MAX-ACCESS read only
STATUS current
DESCRIPTION
"LB real service identifier."
::= { lbRSGEntry 2 }
lbRSGschdalgorithm OBJECT-TYPE
SYNTAX INTEGER(
Round Robin(0),
Weighted Round Robin(1),
Random(2),
Weighted Random(3),
Source IP Hashing(4),
Source IP and Source Port Hashing(5),
Destination IP Hashing(6),
UDP Packet Load Hashing(7),
Least Connection(8),
Weighted Least Connection(9),
Bandwidth(10)
)
MAX-ACCESS read only
STATUS current
DESCRIPTION
"An LB needs to distribute service traffic to different
Li, et al. Expires May 16, 2012 [Page 9]
Internet-Draft Load Balancer MIB November 2011
real services according to a load balancing scheduling
algorithm."
::= { lbRSGEntry 3 }
lbRSGhealth OBJECT-TYPE
SYNTAX INTEGER(
DNS(0),
ICMP(1),
HTTP(2)
)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The health monitoring method of RSG. It allows an LB device
to detect whether real servers can provide services. The
common method includes DNS\ICMP\HTTP, etc."
::= { lbRSGEntry 4 }
--
-- Load-balancer health monitering table
--
lbHealthchkTable OBJECT-TYPE
SYNTAX SEQUENCE OF LbHealthchkEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains information about the health check
parameters, which include IP address,prot,health check type
,health check interval,
retry times."
::= { lbMIBObjects 4 }
LbHealthchkEntry OBJECT-TYPE
SYNTAX LbHealthchkEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A row describing LB health check."
INDEX { lbHealthchkId }
::= { lbHealthchkTable 1 }
LbHealthchkEntry ::= SEQUENCE {
lbHealthchkId Unsigned32,
lbHealthchkAddr IpAddress,
lbHealthchkPort INTEGER,
lbHealthchktype INTEGER,
lbHealthchkintvl Integer32,
Li, et al. Expires May 16, 2012 [Page 10]
Internet-Draft Load Balancer MIB November 2011
lbHealthchkretrytimes Integer32
}
lbHealthchkId OBJECT-TYPE
SYNTAX Unsigned32 (1..'ffffffff'H)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"LB health check identifier."
::= { lbHealthchkEntry 1 }
lbHealthchkAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The remote IP address of server."
::= { lbHealthchkEntry 2 }
lbHealthchkPort OBJECT-TYPE
SYNTAX INTEGER (0..65535)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The remote port of server supporting service."
::= { lbHealthchkEntry 3 }
lbHealthchktype OBJECT-TYPE
SYNTAX INTEGER(ICMP(0),DNS(1),HTTP(2))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The set of health check method that include ICMP\DNS\HTTP,
etc."
::= { lbHealthchkEntry 4 }
lbHealthchkintvl OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The definite length of between two packets. the packet can be
ICMP\DNS\HTTP message."
::= { lbHealthchkEntry 5 }
lbHealthchkretrytimes OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-write
Li, et al. Expires May 16, 2012 [Page 11]
Internet-Draft Load Balancer MIB November 2011
STATUS current
DESCRIPTION
"the LB will retry the defined times when server doesn't reply
health check packet in time. "
::= { lbHealthchkEntry 6 }
--
-- Statistic table
--
lbStaTable OBJECT-TYPE
SYNTAX SEQUENCE OF LbStaEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The statistic for Virtual Service or Real Service session,
transmission rate."
::= { lbMIBObjects 5 }
lbStaEntry OBJECT-TYPE
SYNTAX LbStaEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A row describing LB Statistic."
INDEX { lbStaId }
::= { lbStaTable 1 }
LbStaEntry ::= SEQUENCE {
lbStaId Unsigned32,
lbStasession INTEGER,
lbStarate INTEGER
}
lbStaId OBJECT-TYPE
SYNTAX Unsigned32 (1..'ffffffff'H)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"LB statistic table identifier."
::= { lbStaEntry 1 }
lbStasession OBJECT-TYPE
SYNTAX INTEGER32
MAX-ACCESS read only
Li, et al. Expires May 16, 2012 [Page 12]
Internet-Draft Load Balancer MIB November 2011
STATUS current
DESCRIPTION
"the max or min session number of a RS or RSG."
::= { lbStaEntry 2 }
lbStarate OBJECT-TYPE
SYNTAX INTEGER32
MAX-ACCESS read only
STATUS current
DESCRIPTION
"the max or min flow rate of a RS or RSG."
::= { lbStaEntry 3 }
--
-- Conformance statements
--
lbMIBCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION "The compliance statement for SNMP engines that support
the LOAD-BALANCER-MIB."
MODULE
MANDATORY-GROUPS { lbMIBGroup }
::= { lbMIBCompliances 1 }
lbMIBGroup OBJECT-GROUP
OBJECTS {
lbVSmode,
lbRSGschdalgorithm,
lbHealthchktype,
lbStasession,
}
STATUS current
DESCRIPTION
"A collection of objects for managing load-balancer."
::= { lbMIBGroups 1 }
END
6. Security Considerations
[TBD]
Li, et al. Expires May 16, 2012 [Page 13]
Internet-Draft Load Balancer MIB November 2011
7. IANA Considerations
IANA is requested to assign a value for "XXX" under the 'mib-2'
subtree and to record the assignment in the SMI Numbers registry.
When the assignment has been made, the RFC Editor is asked to replace
"XXX" (here and in the MIB module) with the assigned value and to
remove this note.
8. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J.
Schoenwaelder, Ed., "Structure of Management Information
Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
[RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J.
Schoenwaelder, Ed., "Textual Conventions for SMIv2",
STD 58, RFC 2579, April 1999.
[RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder,
"Conformance Statements for SMIv2", STD 58, RFC 2580,
April 1999.
[RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart,
"Introduction and Applicability Statements for Internet-
Standard Management Framework", RFC 3410, December 2002.
Authors' Addresses
Chen Li
China Mobile
Unit2, Dacheng Plaza, No. 28 Xuanwumenxi Ave, Xuanwu District
Beijing 100053
P.R. China
Email: lichenyj@chinamobile.com
Li, et al. Expires May 16, 2012 [Page 14]
Internet-Draft Load Balancer MIB November 2011
Lianyuan Li
China Mobile
Unit2, Dacheng Plaza, No. 28 Xuanwumenxi Ave, Xuanwu District
Beijing 100053
P.R. China
Email: lilianyuan@chinamobile.com
Tina TSOU
Huawei
Email: Tina.Tsou.Zouting@huawei.com
Li, et al. Expires May 16, 2012 [Page 15]