idnits 2.17.1 draft-li-opsawg-loadbalance-mib-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 200 has weird spacing: '...atching the v...' == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (November 13, 2011) is 4541 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'TBD' is mentioned on line 582, but not defined ** Downref: Normative reference to an Informational RFC: RFC 3410 Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Operation and Management Area Working Chen. Li 3 Group Lianyuan. Li 4 Internet-Draft China Mobile 5 Intended status: Standards Track Tina. TSOU 6 Expires: May 16, 2012 Huawei 7 November 13, 2011 9 Management Information Base for Load Balancers 10 draft-li-opsawg-loadbalance-mib-03 12 Abstract 14 Load balancer is deployed widely in datacenter nowadays. There is a 15 requirement to build a unique LB network management system where two 16 or more vendors' LB devices are used. We propose the standard MIBs 17 for unique NMS. 19 Load balancer description is introduced at 20 "http://en.wikipedia.org/wiki/Load_balancing_(computing)". 22 This memo defines an portion of the Management Information Base (MIB) 23 for use with network management protocols in the Internet community. 24 In particular, it describes a MIB module for load balance device. 26 Status of this Memo 28 This Internet-Draft is submitted in full conformance with the 29 provisions of BCP 78 and BCP 79. 31 Internet-Drafts are working documents of the Internet Engineering 32 Task Force (IETF). Note that other groups may also distribute 33 working documents as Internet-Drafts. The list of current Internet- 34 Drafts is at http://datatracker.ietf.org/drafts/current/. 36 Internet-Drafts are draft documents valid for a maximum of six months 37 and may be updated, replaced, or obsoleted by other documents at any 38 time. It is inappropriate to use Internet-Drafts as reference 39 material or to cite them other than as "work in progress." 41 This Internet-Draft will expire on May 16, 2012. 43 Copyright Notice 45 Copyright (c) 2011 IETF Trust and the persons identified as the 46 document authors. All rights reserved. 48 This document is subject to BCP 78 and the IETF Trust's Legal 49 Provisions Relating to IETF Documents 50 (http://trustee.ietf.org/license-info) in effect on the date of 51 publication of this document. Please review these documents 52 carefully, as they describe your rights and restrictions with respect 53 to this document. Code Components extracted from this document must 54 include Simplified BSD License text as described in Section 4.e of 55 the Trust Legal Provisions and are provided without warranty as 56 described in the Simplified BSD License. 58 Table of Contents 60 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 61 2. The Internet-Standard Management Framework . . . . . . . . . . 3 62 3. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 63 4. Structure of Load-Balance MIB objects . . . . . . . . . . . . 3 64 5. Loadbalance-MIB Module Definitions . . . . . . . . . . . . . . 4 65 6. Security Considerations . . . . . . . . . . . . . . . . . . . 13 66 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 67 8. Normative References . . . . . . . . . . . . . . . . . . . . . 14 68 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14 70 1. Introduction 72 Load balancer is deployed widely in datacenter nowadays. There is a 73 requirement to build a unique LB network management system where two 74 or more vendors' LB devices are used. We propose the standard MIBs 75 for unique NMS. 77 This document defines 5 MIB Modules which together support the 78 configuration and monitoring of Load Balance device. 80 2. The Internet-Standard Management Framework 82 For a detailed overview of the documents that describe the current 83 Internet-Standard Management Framework, please refer to section 7 of 84 RFC 3410 [RFC3410]. 86 Managed objects are accessed via a virtual information store, termed 87 the Management Information Base or MIB. MIB objects are generally 88 accessed through the Simple Network Management Protocol (SNMP). 89 Objects in the MIB are defined using the mechanisms defined in the 90 Structure of Management Information (SMI). This memo specifies a MIB 91 module that is compliant to the SMIv2, which is described in STD 58, 92 [RFC2578] STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580]. 94 3. Conventions 96 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 97 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 98 document are to be interpreted as described in RFC 2119 [RFC2119]. 100 4. Structure of Load-Balance MIB objects 102 The following subsections describe the purpose of each of the objects 103 contained in the loadbalance-MIB. 105 4.1. Load balance Virtual Service Table 107 Services provided by LB devices are virtual services. Configured on 108 an LB device, a virtual service is uniquely identified by virtual 109 service IP address, service protocol, service mode,and service port 110 number. Access requests of users are sent to the LB device through a 111 public or private network. If matching the virtual service, the 112 requests are distributed to real services by the LB device. 114 4.2. Load balance Real Service Table 115 Services provided by real servers are real services. A real service 116 can be a traditional FTP or HTTP service, and can also be a 117 forwarding service in a generic sense. For example, a real service 118 in firewall load balancing is the packet forwarding path. 120 4.3. Load balance Real Service Group Table 122 Server group----a real service group is a logical concept. Servers 123 can be classified into different groups according to the common 124 attributes of these servers. For example,servers can be classified 125 into static storage server group and dynamic switching server group 126 according to their functions; or they can be classified into music 127 server group, video server group and picture server group according 128 to the services they provide. 130 4.4. Load balance health checking Table 132 Health monitoring allows an LB device to check the statuses of real 133 servers or links, collect the corresponding information, and 134 quarantine the servers or links that work abnormally. Health 135 monitoring can not only mark whether servers or links can work 136 normally, but also can collect statistics of the response time of the 137 servers or links for selecting servers or links. 139 4.5. Load balance Statistic Table 141 The statistic for Virtual Service or Real Service session, 142 transmission rate. 144 5. Loadbalance-MIB Module Definitions 146 LOAD-BALANCER-MIB DEFINITIONS ::= BEGIN 148 IMPORTS 149 MODULE-IDENTITY, OBJECT-TYPE, mib-2, 150 Unsigned32, Integer32 151 FROM SNMPv2-SMI -- RFC2578 152 MODULE-COMPLIANCE, OBJECT-GROUP 153 FROM SNMPv2-CONF -- RFC2580 154 ; 156 lbMIB MODULE-IDENTITY 157 LAST-UPDATED "201111310000Z" 158 ORGANIZATION 159 "IETF Operations and Management Area Working Group 160 http://datatracker.ietf.org/wg/opsawg/" 161 CONTACT-INFO 162 "email: Li Chen (lichenyj@chinamobile.com) China Mobile" 163 DESCRIPTION 164 "MIB objects for load-balancing devices. 166 Copyright (c) 2011 IETF Trust and the persons identified as 167 authors of the code. All rights reserved. 169 Redistribution and use in source and binary forms, with or 170 without modification, is permitted pursuant to, and subject 171 to the license terms contained in, the Simplified BSD 172 License set forth in Section 4.c of the IETF Trust's Legal 173 Provisions Relating to IETF Documents 174 (http://trustee.ietf.org/license-info)." 176 REVISION "201111310000Z" 178 ::= { mib-2 XXX } 180 lbMIBNotifications OBJECT IDENTIFIER ::= { lbMIB 0 } 181 lbMIBObjects OBJECT IDENTIFIER ::= { lbMIB 1 } 182 lbMIBConformance OBJECT IDENTIFIER ::= { lbMIB 2 } 184 lbMIBCompliances OBJECT IDENTIFIER ::= { lbMIBConformance 1 } 185 lbMIBGroups OBJECT IDENTIFIER ::= { lbMIBConformance 2 } 187 -- 188 -- Load-balancer Virtual Service table 189 -- 191 lbVSTable OBJECT-TYPE 192 SYNTAX SEQUENCE OF LbVSEntry 193 MAX-ACCESS not-accessible 194 STATUS current 195 DESCRIPTION 196 "Configured on an LB device, a virtual service is uniquely 197 identified by virtual service IP address, service protocol, 198 service mode , and service port number. Access requests of users 199 are sent to the LB device through a public or private network. 200 If matching the virtual service, the requests are distributed 201 to real services by the LB device." 202 ::= { lbMIBObjects 1 } 204 lbVSEntry OBJECT-TYPE 205 SYNTAX LbVSEntry 206 MAX-ACCESS not-accessible 207 STATUS current 208 DESCRIPTION 209 "A row describing LB virtual service." 210 INDEX { lbVSId } 211 ::= { lbVSTable 1 } 213 LbVSEntry ::= SEQUENCE { 214 lbVSId Unsigned32, 215 lbVSAddr IpAddress, 216 lbVSPort INTEGER, 217 lbVSmode INTEGER, 218 lbVSproto INTEGER, 219 } 221 LbVSId OBJECT-TYPE 222 SYNTAX Unsigned32 (1..'ffffffff'H) 223 MAX-ACCESS read-write 224 STATUS current 225 DESCRIPTION 226 "LB virtual service identifier." 227 ::= { lbVSEntry 1 } 229 lbVSAddr OBJECT-TYPE 230 SYNTAX IpAddress 231 MAX-ACCESS read-write 232 STATUS current 233 DESCRIPTION 234 "Virtual service IP address of cluster/LB, used for users 235 to request services." 236 ::= { lbVSEntry 2 } 238 lbVSPort OBJECT-TYPE 239 SYNTAX INTEGER (0..65535) 240 MAX-ACCESS read-write 241 STATUS current 242 DESCRIPTION 243 "The LB distributes the requests with the same source IP 244 address and source port 245 to a specific server." 246 ::= { lbVSEntry 3 } 248 lbVSmode OBJECT-TYPE 249 SYNTAX INTEGER (NAT(0),DR(1)) 250 MAX-ACCESS read-write 251 STATUS current 252 DESCRIPTION 253 "Layer 4 server load balancing can be classified into 254 Network Address Translation (NAT)-mode server load 255 balancing and Direct routing (DR)-mode server 256 load balancing." 257 ::= { lbVSEntry 4 } 259 lbVSproto OBJECT-TYPE 260 SYNTAX INTEGER (TCP(0),UDP(1)) 261 MAX-ACCESS read-write 262 STATUS current 263 DESCRIPTION 264 "LB can support protocol for user." 265 ::= { lbVSEntry 5 } 267 -- 268 -- Load-balancer Real Service table 269 -- 271 lbRSTable OBJECT-TYPE 272 SYNTAX SEQUENCE OF LbRSEntry 273 MAX-ACCESS not-accessible 274 STATUS current 275 DESCRIPTION 276 "Services provided by real servers are real services. 277 A real service can be a traditional FTP or HTTP service, 278 and can also be a forwarding service in a generic sense. 279 For example, a real service in firewall load balancing 280 is the packet forwarding path." 281 ::= { lbMIBObjects 2 } 283 lbRSEntry OBJECT-TYPE 284 SYNTAX LbRSEntry 285 MAX-ACCESS not-accessible 286 STATUS current 287 DESCRIPTION 288 "A row describing LB real service." 289 INDEX { lbRSId } 290 ::= { lbRSTable 1 } 292 LbRSEntry ::= SEQUENCE { 293 lbRSId Unsigned32, 294 lbRSGId Unsigned32 295 lbRSAddr IpAddress, 296 lbRSPort INTEGER, 297 } 299 lbRSId OBJECT-TYPE 300 SYNTAX Unsigned32 (1..'ffffffff'H) 301 MAX-ACCESS read-write 302 STATUS current 303 DESCRIPTION 304 "LB real service identifier." 305 ::= { lbRSEntry 1 } 307 lbRSGId OBJECT-TYPE 308 SYNTAX Unsigned32 (1..'ffffffff'H) 309 MAX-ACCESS read-only 310 STATUS current 311 DESCRIPTION 312 "a real service group is a logical concept. Servers 313 can be classified into different groups according 314 to the common attributes of these servers." 315 ::= { lbRSEntry 2 } 317 lbRSAddr OBJECT-TYPE 318 SYNTAX IpAddress 319 MAX-ACCESS read-write 320 STATUS current 321 DESCRIPTION 322 "IP address of a server, used by the LB device to 323 distribute requests." 324 ::= { lbRSEntry 3 } 326 lbRSPort OBJECT-TYPE 327 SYNTAX INTEGER (0..65535) 328 MAX-ACCESS read-write 329 STATUS current 330 DESCRIPTION 331 "The LB uses the port for communication with server." 332 ::= { lbRSEntry 4 } 334 -- 335 -- Load-balancer Real Service Group table 336 -- 338 lbRSGTable OBJECT-TYPE 339 SYNTAX SEQUENCE OF LbRSGEntry 340 MAX-ACCESS not-accessible 341 STATUS current 342 DESCRIPTION 343 "Real Server group is a logical concept. Servers can 344 be classified into different groups according to the 345 common attributes of these servers." 346 ::= { lbMIBObjects 3 } 348 lbRSGEntry OBJECT-TYPE 349 SYNTAX LbRSGEntry 350 MAX-ACCESS not-accessible 351 STATUS current 352 DESCRIPTION 353 "A row describing LB real service group." 354 INDEX { lbRSGId } 355 ::= { lbRSGTable 1 } 357 LbRSGEntry ::= SEQUENCE { 359 lbRSGId Unsigned32, 360 lbRSID Unsigned32, 361 lbRSGschdalgorithm INTEGER, 362 lbRSGhealth INTEGER 363 } 365 lbRSGId OBJECT-TYPE 366 SYNTAX Unsigned32 (1..'ffffffff'H) 367 MAX-ACCESS read-write 368 STATUS current 369 DESCRIPTION 370 "LB real service group identifier." 371 ::= { lbRSGEntry 1 } 373 lbRSId OBJECT-TYPE 374 SYNTAX Unsigned32 (1..'ffffffff'H) 375 MAX-ACCESS read only 376 STATUS current 377 DESCRIPTION 378 "LB real service identifier." 379 ::= { lbRSGEntry 2 } 381 lbRSGschdalgorithm OBJECT-TYPE 382 SYNTAX INTEGER( 383 Round Robin(0), 384 Weighted Round Robin(1), 385 Random(2), 386 Weighted Random(3), 387 Source IP Hashing(4), 388 Source IP and Source Port Hashing(5), 389 Destination IP Hashing(6), 390 UDP Packet Load Hashing(7), 391 Least Connection(8), 392 Weighted Least Connection(9), 393 Bandwidth(10) 394 ) 395 MAX-ACCESS read only 396 STATUS current 397 DESCRIPTION 398 "An LB needs to distribute service traffic to different 399 real services according to a load balancing scheduling 400 algorithm." 401 ::= { lbRSGEntry 3 } 403 lbRSGhealth OBJECT-TYPE 404 SYNTAX INTEGER( 405 DNS(0), 406 ICMP(1), 407 HTTP(2) 408 ) 409 MAX-ACCESS read-write 410 STATUS current 411 DESCRIPTION 412 "The health monitoring method of RSG. It allows an LB device 413 to detect whether real servers can provide services. The 414 common method includes DNS\ICMP\HTTP, etc." 415 ::= { lbRSGEntry 4 } 417 -- 418 -- Load-balancer health monitering table 419 -- 421 lbHealthchkTable OBJECT-TYPE 422 SYNTAX SEQUENCE OF LbHealthchkEntry 423 MAX-ACCESS not-accessible 424 STATUS current 425 DESCRIPTION 426 "This table contains information about the health check 427 parameters, which include IP address,prot,health check type 428 ,health check interval, 429 retry times." 430 ::= { lbMIBObjects 4 } 432 LbHealthchkEntry OBJECT-TYPE 433 SYNTAX LbHealthchkEntry 434 MAX-ACCESS not-accessible 435 STATUS current 436 DESCRIPTION 437 "A row describing LB health check." 438 INDEX { lbHealthchkId } 439 ::= { lbHealthchkTable 1 } 441 LbHealthchkEntry ::= SEQUENCE { 442 lbHealthchkId Unsigned32, 443 lbHealthchkAddr IpAddress, 444 lbHealthchkPort INTEGER, 445 lbHealthchktype INTEGER, 446 lbHealthchkintvl Integer32, 447 lbHealthchkretrytimes Integer32 448 } 450 lbHealthchkId OBJECT-TYPE 451 SYNTAX Unsigned32 (1..'ffffffff'H) 452 MAX-ACCESS not-accessible 453 STATUS current 454 DESCRIPTION 455 "LB health check identifier." 456 ::= { lbHealthchkEntry 1 } 458 lbHealthchkAddr OBJECT-TYPE 459 SYNTAX IpAddress 460 MAX-ACCESS read-write 461 STATUS current 462 DESCRIPTION 463 "The remote IP address of server." 464 ::= { lbHealthchkEntry 2 } 466 lbHealthchkPort OBJECT-TYPE 467 SYNTAX INTEGER (0..65535) 468 MAX-ACCESS read-write 469 STATUS current 470 DESCRIPTION 471 "The remote port of server supporting service." 472 ::= { lbHealthchkEntry 3 } 474 lbHealthchktype OBJECT-TYPE 475 SYNTAX INTEGER(ICMP(0),DNS(1),HTTP(2)) 476 MAX-ACCESS read-write 477 STATUS current 478 DESCRIPTION 479 "The set of health check method that include ICMP\DNS\HTTP, 480 etc." 481 ::= { lbHealthchkEntry 4 } 483 lbHealthchkintvl OBJECT-TYPE 484 SYNTAX Integer32 485 MAX-ACCESS read-write 486 STATUS current 487 DESCRIPTION 488 "The definite length of between two packets. the packet can be 489 ICMP\DNS\HTTP message." 490 ::= { lbHealthchkEntry 5 } 492 lbHealthchkretrytimes OBJECT-TYPE 493 SYNTAX Integer32 494 MAX-ACCESS read-write 495 STATUS current 496 DESCRIPTION 497 "the LB will retry the defined times when server doesn't reply 498 health check packet in time. " 499 ::= { lbHealthchkEntry 6 } 501 -- 502 -- Statistic table 503 -- 505 lbStaTable OBJECT-TYPE 506 SYNTAX SEQUENCE OF LbStaEntry 507 MAX-ACCESS not-accessible 508 STATUS current 509 DESCRIPTION 510 "The statistic for Virtual Service or Real Service session, 511 transmission rate." 512 ::= { lbMIBObjects 5 } 514 lbStaEntry OBJECT-TYPE 515 SYNTAX LbStaEntry 516 MAX-ACCESS not-accessible 517 STATUS current 518 DESCRIPTION 519 "A row describing LB Statistic." 520 INDEX { lbStaId } 521 ::= { lbStaTable 1 } 523 LbStaEntry ::= SEQUENCE { 525 lbStaId Unsigned32, 526 lbStasession INTEGER, 527 lbStarate INTEGER 528 } 530 lbStaId OBJECT-TYPE 531 SYNTAX Unsigned32 (1..'ffffffff'H) 532 MAX-ACCESS read-write 533 STATUS current 534 DESCRIPTION 535 "LB statistic table identifier." 536 ::= { lbStaEntry 1 } 538 lbStasession OBJECT-TYPE 539 SYNTAX INTEGER32 540 MAX-ACCESS read only 541 STATUS current 542 DESCRIPTION 543 "the max or min session number of a RS or RSG." 544 ::= { lbStaEntry 2 } 546 lbStarate OBJECT-TYPE 547 SYNTAX INTEGER32 548 MAX-ACCESS read only 549 STATUS current 550 DESCRIPTION 551 "the max or min flow rate of a RS or RSG." 552 ::= { lbStaEntry 3 } 554 -- 555 -- Conformance statements 556 -- 558 lbMIBCompliance MODULE-COMPLIANCE 559 STATUS current 560 DESCRIPTION "The compliance statement for SNMP engines that support 561 the LOAD-BALANCER-MIB." 562 MODULE 563 MANDATORY-GROUPS { lbMIBGroup } 564 ::= { lbMIBCompliances 1 } 566 lbMIBGroup OBJECT-GROUP 567 OBJECTS { 568 lbVSmode, 569 lbRSGschdalgorithm, 570 lbHealthchktype, 571 lbStasession, 572 } 573 STATUS current 574 DESCRIPTION 575 "A collection of objects for managing load-balancer." 576 ::= { lbMIBGroups 1 } 578 END 580 6. Security Considerations 582 [TBD] 584 7. IANA Considerations 586 IANA is requested to assign a value for "XXX" under the 'mib-2' 587 subtree and to record the assignment in the SMI Numbers registry. 588 When the assignment has been made, the RFC Editor is asked to replace 589 "XXX" (here and in the MIB module) with the assigned value and to 590 remove this note. 592 8. Normative References 594 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 595 Requirement Levels", BCP 14, RFC 2119, March 1997. 597 [RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J. 598 Schoenwaelder, Ed., "Structure of Management Information 599 Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. 601 [RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J. 602 Schoenwaelder, Ed., "Textual Conventions for SMIv2", 603 STD 58, RFC 2579, April 1999. 605 [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, 606 "Conformance Statements for SMIv2", STD 58, RFC 2580, 607 April 1999. 609 [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, 610 "Introduction and Applicability Statements for Internet- 611 Standard Management Framework", RFC 3410, December 2002. 613 Authors' Addresses 615 Chen Li 616 China Mobile 617 Unit2, Dacheng Plaza, No. 28 Xuanwumenxi Ave, Xuanwu District 618 Beijing 100053 619 P.R. China 621 Email: lichenyj@chinamobile.com 622 Lianyuan Li 623 China Mobile 624 Unit2, Dacheng Plaza, No. 28 Xuanwumenxi Ave, Xuanwu District 625 Beijing 100053 626 P.R. China 628 Email: lilianyuan@chinamobile.com 630 Tina TSOU 631 Huawei 633 Email: Tina.Tsou.Zouting@huawei.com