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]