Internet DRAFT - draft-snalluri-dhcp-status-monitoring

draft-snalluri-dhcp-status-monitoring



Network Working Group                             Srinivasa Rao Nalluri
Internet Draft                                             Lakshmisha G 
Intended status: Standards Track                             Amit Gupta
Expires: April 30, 2016                                        Ericsson
                                                       October 10, 2015

              Status monitoring extensions to DHCP
            draft-snalluri-dhcp-status-monitoring-00

Abstract

   This draft introduces bidirectional framework and protocol to 
   monitor reachability and status of IP clients in subnet. This draft
   is based on Dynamic Host Configuration Protocol and MAY be 
   considered as an extension of RFC 2131.

Status of This Memo

   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 April 30, 2016.

Copyright Notice

   Copyright (c) 2014 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
   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.

   This Internet-Draft is submitted in full conformance with the 
   provisions of BCP 78 and BCP 79.

   The list of current Internet-Drafts can be accessed at 
   http://www.ietf.org/1id-abstracts.html

   The list of Internet-Draft Shadow Directories can be accessed at 
   http://www.ietf.org/shadow.html

   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.

Table of Contents

1. Terminology 
2. Introduction and motivations
3. Reference Network topology 
4. Protocol summary
  4.1. Capability negotiation
    4.1.2. DHCP client's monitor capability option
    4.1.3. DHCP server's monitor capability option
  4.2. DHCP client's monitor function
  4.3. DHCP server's or relay agent's monitor function
5. Administrative objects and default values
  5.1. Client monitor request interval
  5.2. Client monitor threshold
  5.3. Server monitor threshold
6. Message definitions
  6.1. DHCP client monitor request
  6.2. DHCP client monitor response
7. Constructing and sending DHCP client monitor request
8. Constructing and sending DHCP client monitor response
9. Processing DHCP client monitor request
10. Processing DHCP client monitor response
11. IPv6 considerations 
12. Backward compatibility
13. Acknowledgements
14. References
  14.1. Informative References
  14.2. Normative References

1. Terminology

   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 RFC2119 [1].

   -   DHCP client's monitor function 

       A function that is active on DHCP client device to monitor 
       reachability of DHCP server or DHCP relay agent that is active
       on intermediate Layer3 node. In specific scenarios considered
       in this draft, intermediate node MAY be Access device or Edge
       router.
 

   -   DHCP server's monitor function -
       
       A function that is active on DHCP server to monitor reachability
       of all its DHCP clients. DHCP server's monitor function is 
       active only for clients which are in DHCP server's broadcast
       domain. 
            
   -   DHCP relay agent's monitor function 
       
       A function that is active on DHCP relay agent to monitor DHCP
       clients which are in different broadcast domain from DHCP 
       server. In specific scenarios discussed in this draft, DHCP
       relay agent's monitor function MAY be active on Layer3 access
       device or on edge router.


2. Introduction and motivations

   In IP networks, DHCP is the protocol used to assign IP address
   dynamically. Though DHCP assigns network layer address on need basis,
   it cannot dynamically track the client's status and reachability.
   Once the address is assigned, it is assumed that client is reachable
   and active. Resources assigned to client are not released until
   service lease time expires or until client initiate DHCP RELEASE
   message. The resources might include IP address, FIB entries,
   bandwidth, and allocated internal buffers. In congested networks it 
   is possible that DHCP release MAY not reach DHCP server. DHCP 
   client MAY leave network without sending DHCP RELEASE message.
 
   In service provider IP networks it is important to optimize resource
   utilization based on actual status of DHCP client. To achieve 
   resource overbooking and reduce capital investments it is required
   to release network resources dynamically even when IP clients leaves
   network silently. 

   Accounting is another area where dynamic client status monitoring is
   required. There are services where time based accounting is required
   rather than volume based. In such scenarios it is important to have
   client status tracking close to accuracy.

   The problem becomes severe as industry is moving towards Internet of
   Things and new generation of mobile technologies which are boosting
   growth of number of IP devices and their dynamic nature.

   There are several ways by which service providers are trying to 
   solve this issue.

      -  Periodic Layer2 address resolution to determine client status.
      -  Periodic Layer3 reachability test.
      -  Subscriber resources clean up based on subscriber idle time.
       
   None of these approaches are clean and standardized. These 
   approaches are unidirectional and do not provide ability to client
   to initiate negotiation upon detecting an IP connectivity failure.
   Client's renegotiation capability is particularly important in 
   broadband scenarios to increase service availability.

3. Reference Network topology 

   IP client Monitoring function SHOULD be combined with

       -  DHCP server function if DHCP client exists in same broadcast
          domain as DHCP server.
       -  DHCP relay agent If client and server are in different
          broadcast domain.

   Following network topologies are specific to broadband access 
   scenarios but SHOULD be used as reference network topologies.



    +----------+
    |IP client |-------------|
    +----------+             |
                             |            +------+            +------+
    +----------+             |            |      |            |      |
    |IP client |-------------|            |      |            |      |
    +----------+             |            |      |            | BRAS/|
         :                   |            |  L2  |            | EDGE |
         :                   |            |ACCESS|            |ROUTER|
         :                   |------------| NODE |------------|  +   | 
         :                   |            |      |            | DHCP |
         :                   |            |      |            |SERVER|
    +----------+             |            |      |            |      |
    |IP client |-------------|            +------+            +------+
    +----------+             |
                             |
    +----------+             |
    |IP client |-------------|
    +----------+
                                                  
       <-------------------- Monitor function ------------------->


 Figure 1. Broadband network design with DHCP server and client in same
           broadcast domain.
    

    +----------+
    |IP client |-------------|
    +----------+             |
                             |            +------+            +------+
    +----------+             |            |      |            |      |
    |IP client |-------------|            |  L3  |            |      |
    +----------+             |            |ACCESS|            | BRAS/|
         :                   |            | NODE |            | EDGE |
         :                   |            |   +  |            |ROUTER|
         :                   |------------| DHCP |------------|  +   | 
         :                   |            | RELAY|            | DHCP |
         :                   |            | AGENT|            |SERVER|
    +----------+             |            |      |            |      |
    |IP client |-------------|            +------+            +------+
    +----------+             |
                             |
    +----------+             |
    |IP client |-------------|
    +----------+
                                                  
       <--------- Monitor function --------->


 Figure 2. Broadband network design with DHCP server and client in 
           different broadcast domain

    +----------+
    |IP client |--------|
    +----------+        |
                        |         +------+         +------+
    +----------+        |         |      |         |      |
    |IP client |--------|         |      |         |      |    +------+
    +----------+        |         |      |         | BRAS/|    |      | 
         :              |         |  L2  |         | EDGE |    | DHCP |  
         :              |         |ACCESS|         |ROUTER|    |SERVER| 
         :              |---------| NODE |---------|  +   |----|      | 
         :              |         |      |         | DHCP |    |      |
         :              |         |      |         |RELAY |    +------+
    +----------+        |         |      |         |AGENT |
    |IP client |--------|         +------+         +------+
    +----------+        |
                        |
    +----------+        |
    |IP client |--------|
    +----------+
                                                  
       <--------------  Monitor function -------------->


 Figure 3. Broadband network design with L2 access device, where DHCP 
           server and client are in different broadcast domain

4.Protocol summary

   Note that defaults for timer values are described later in this
   document. Timer and counter names appear in square brackets.

4.1. Capability negotiation

   DHCP server's monitor function and DHCP client's monitor function
   detects monitoring capability of peer through  DHCP options 
   exchanged during DHCP discovery phase. DHCP client sends DISCOVER 
   and REQUEST messages with new option to indicate client is capable
   of responding to monitor request received from server.

   DHCP server or relay agent responds to monitor capable clients with
   DHCP OFFER that carries an option indicating server's capability to 
   broadcast periodic monitoring messages in broadcast domain.

4.1.2. DHCP client's monitor capability option

   A zero length option with code 214 in DHCP DISCOVER and REQUEST
   messages indicates DHCP client's capability to responds to periodic
   monitoring messages received from DHCP Server or DHCP relay agent.

              Code   Len    
             +-----+-----+
             | 214 |  0  |  
             +-----+-----+

4.1.3. DHCP server's monitor capability option

   A new option with code 215 and length 2 in DHCP OFFER and DHCP ACK
   messages indicates router's monitoring function's capability to
   generate periodic broadcast monitor messages in subnet.

              code   Len    Interval
             +-----+-----+-----+-----+
             | 215 |  2  |           |
             +-----+-----+-----+-----+

   Interval is the time taken in seconds by DHCP server's or relay 
   agent's monitor function between generating two periodic broadcast
   client monitor messages

4.2. DHCP client's monitor function

   Once DHCP discovery phase completed between DHCP client and server,
   DHCP client expects periodic [DHCP client monitor request] messages
   from server at intervals advertised by server in Option 215. DHCP
   client responds with [DHCP client monitor response] message only if
   DHCP server from which the [DHCP client monitor request] is received
   is same as the DHCP server from which its own IP address is 
   assigned.

   DHCP client uses DHCP client monitor request to monitor reachability
   of DHCP server or DHCP relay agent. DHCP client considers DHCP server
   or DHCP relay agent is unreachable if [DHCP client monitor request]
   message is not received for given number of intervals. If DHCP 
   server or relay agent is considered as unreachable, DHCP client MAY
   clean existing configuration and initiate new DHCP DISCOVER to
   obtain configuration from any other reachable DHCP server.

4.3. DHCP server's or relay agent's monitor function

   Existence of DHCP Server's or DHCP relay agent's function in network
   depends on topology. Once DHCP DISCOVER phase is completed and at
   least one DHCP client is assigned with IP address, DHCP server's or 
   relay agent's monitor function starts broadcasting [DHCP client 
   monitor request] in subnet. DHCP server's or relay agent's monitor
   function expects response for each [DHCP client monitor request]
   message from each of its clients.

   DHCP server's or relay agent's monitor function considers client is
   not reachable if DHCP client monitor response is not received for a
   sequence of DHCP client monitor request.

   If DHCP server's monitor function detects an unreachable client, it 
   releases all resources allocated for unreachable client.

   If DHCP relay agent's monitor function detects an un-reachable 
   client, it releases all local resources and informs DHCP server to
   release resources by sending DHCP RELEASE message.

5. Administrative objects and default values

5.1. Client monitor request interval

   The [client monitor request interval] is the interval between [DHCP
   client monitor request] messages sent by DHCP server's or relay 
   agent's monitor function. This is administratively configurable on
   DHCP server's or relay agent's monitor function.
   Default: 120 seconds.

   Value of [client monitor request interval] is advertised by DHCP
   server or relay agent during session discovery phase through DHCP
   server's monitor capability option. DHCP client's monitor function
   uses [client monitor request interval] value advertised by server or
   relay agent to monitor server or relay agent reachability.

   By varying the value of [client monitor request interval], an
   administrator may tune the number of DHCP messages on the subnet.
   Larger values cause [client monitor request] to be sent less often.

   An administrator may also tune the burstiness of [DHCP client 
   monitor response] messages on the subnet; larger values make the 
   [DHCP client monitor response] messages less bursty, as DHCP 
   client's monitor functions can send responses spread out over a 
   larger interval.

5.2. Client monitor threshold

   [Client monitor threshold] is the number of [client monitor 
   requests] sent by DHCP server's or relay agent's monitor function 
   without receiving response from a DHCP client, before deciding DHCP 
   client as unreachable

   Administratively configurable on DHCP server's or relay agent's 
   monitor function, Default: 3
  
   By varying the Client monitor threshold, an administrator may 
   adjust monitor functions to network conditions. Larger value allows
   DHCP client and server to avoid resource release due to bad network
   conditions.

5.3. Server monitor threshold
   
   [Server monitor threshold] is the number of [Client monitor request
   intervals] that client monitor function wait without receiving [DHCP
   client monitor request]. Once  [Server monitor threshold] is reached
   client monitor function decides server or relay agent as 
   unreachable.
   
   Administratively configurable on DHCP client's monitor function, 
   Default: 3
   
   To avoid frequent session re-negotiations from DHCP client, Server 
   monitor threshold of client's monitor function MUST be in line with
   Server monitor threshold of server's or relay agent's monitor
   function.
 
6. Message definitions
 
6.1. DHCP client monitor request

    A client monitor request is a bootp broadcast message sent from a
    DHCP server/relay agent to a DHCP client, to detect the client's 
    reachability
 
    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     op (1)    |                  Reserved(3)                  |
   +---------------+---------------+---------------+---------------+
   |               Server or Relay agent Ip Addres (4)             |
   +-------------------------------+-------------------------------+


     FIELD            OCTETS       DESCRIPTION
     -----            ------       -----------
      Op                1          Message op code / message type.
                                   3 = MONITORREQUEST

     Reserved           3          Reserved and MUST be filled with 
                                   zero.

     Server or
     Relay agent        4          DHCP server/relay agent's IP address
     IP address
    


6.2. DHCP client monitor response

    [DHCP client monitor response] message is a BOOTP unicast message
    sent from a DHCP client to dhcp server/relay agent in response to
    the client monitor request to indicate its reachability to server.

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     op (1)    |      htype (1)|   hlen (1)    | Reserved (1)  |
   +---------------+---------------+---------------+---------------+
   |                      Ciaddr (4)                               |
   +---------------------------------------------------------------+
   |                                                               |
   |                      chaddr  (16)                             |
   |                                                               |
   |                                                               |
   +---------------------------------------------------------------+ 

     FIELD           OCTETS       DESCRIPTION
     -----           ------       -----------
     Op               1          Message op code / message type.
                                 4 = MONITORRESPONSE

     htype            1          Hardware address type, see ARP section
                                 in "Assigned Numbers" RFC; e.g., 
                                 '1' = 10mb ethernet.

     hlen             1          Hardware address length (e.g.  '6' for 
                                 10mb ethernet).
     Reserved         1          Reserved and MUST be filled with zero.

     Ciaddr           4          Client Ip Address

     chaddr           16         Client hardware address

   The 'htype', 'hlen', and 'chaddr' fields supply the link-layer 
   hardware type, hardware address length, and hardware address of the
   client as defined in the ARP protocol [2] and the Assigned Numbers 
   document [3].



7. Constructing and sending DHCP client monitor request

   [DHCP client monitor request] is always sent by DHCP server's or 
   relay agent's monitor function at [Client monitor request interval] 
   on 'DHCP client' udp port(68). DHCP client monitor request is a 
   broadcast message that will be reached all layer2 devices in 
   broadcast domain.

   Server or relay agent broadcasts DHCP client monitor request to IP
   header destination address 0xffffffff and must have the source 
   address field in the IP header set to 

       - DHCP server IP address if message is generated by DHCP server.
       - DHCP relay agent IP address if message is generated by DHCP 
         relay agent.

   Server's or relay agent's monitor function MUST set 

        - 'op' as MONITORREQUEST(3)
        - 'reserved' as zero
        - 'Server or relay agent IP address' as local IP address of 
           server or relay agent.

8. Constructing and sending DHCP client monitor response
   
   [DHCP client monitor response] is always sent by DHCP client's 
   monitor function as response to  [DHCP client monitor request] on 
   'DHCP server' udp port(67). [DHCP client monitor response] is 
   unicast message that will be reached to DHCP server or relay agent 
   from which DHCP client received IP address

   DHCP client sends [DHCP client monitor response] to IP header 
   destination address that is same as DHCP server IP address received 
   in 'server identifier' option during DHCP discovery phase. Source IP
   address field in the IP header MUST be set to client's IP address

   DHCP client SHOULD respond to [DHCP client monitor request] messages
   only if received 'Server or Relay agent Ip Address' is same as 
   Server IP address mentioned in server identifier option that was 
   received during DHCP discovery phase. DHCP client should silently 
   ignore all other [DHCP client monitor request] messages

   Client's monitor function MUST set 

      - 'op' as MONITORRESPONSE(4)
      - 'reserved' as zero
      - 'htype' as defined in assigned numbers RFC
      - 'hlen' as defined in assigned numbers RFC
      - 'ciaddr' as IP address of client's monitor function.
      - 'chaddr' as client's hardware address.

   To reduce the burstiness of[DHCP client monitor response] messages 
   DHCP client SHOULD delay response to [DHCP client monitor request].
   Delay time SHOULD be set to a random value selected from the range
   0 and half of [Client monitor request interval]
 
9. Processing DHCP client monitor request
   
   Reception of [DHCP client monitor request] indicate that DHCP server
   or relay agent is still active. In deployment scenario this indicate
   the active status of default gateway.

   Source IP address of IP header in received [DHCP client monitor 
   request] SHOULD NOT be trusted as a sole key in identifying DHCP 
   server or relay agent. 'Server or relay agent Ip address' received
   in [DHCP client monitor request] SHOULD be considered in validating
   [DHCP client monitor request]. DHCP client responds with [DHCP 
   client monitor response] If the 'Server or relay agent Ip address'
   in received [DHCP client monitor request] is same as server IP 
   address received in server identifier option during DHCP DISCOVERY
   phase.

   DHCP client waits for [Server monitor threshold] iterations without
   receiving [DHCP client monitor request] before deciding 
   unreachability of DHCP server or relay agent.

10. Processing DHCP client monitor response

   Reception of [DHCP client monitor response] indicate that DHCP 
   server or relay agent is still reachable from DHCP client and also
   indicates active status of DHCP client. 

   'ciaddr' field in received [DHCP client monitor response] SHOULD 
   NOT be trusted as a sole key in identifying a client; the contents 
   of the 'ciaddr', 'chaddr', 'htype', and 'hlen' fields SHOULD all be
   considered together in validating [DHCP client monitor response]

   DHCP server or relay agent waits for [Client monitor threshold] 
   iterations without receiving [DHCP client monitor response] before
   deciding unreachability of  DHCP client.

11. IPv6 considerations
   
12. Backward compatibility
   
   -  DHCP client compatibility with legacy DHCP server or relay agent:
       
       DHCP client should fallback to legacy behavior If DHCP client is
       monitor capable but not the server or relay agent. DHCP server 
       that is not capable of monitoring ignores option 214 in received
       DHCPDISCOVER messages and responds with DHCPOFFER without adding
       option 215.

       If monitor capable DHCP client receives DHCPOFFER without option
       215, client MAY accept the DHCPOFFER and send DHCPREQUEST 
       without option 214 or, client can ignore DHCPOFFER and wait for
       DHCPOFFER with option 215 from another monitor capable DHCP
       server.
      
       [DHCP client monitor response] received by legacy DHCP server 
       SHOULD be silently ignored.

   -  DHCP server or relay agent compatibility with legacy DHCP client:

       Monitor capable DHCP server responds with option 215 included 
       DHCPOFFER only for those DHCPDISCOVER messages which include 
       option 214. For all other DHCPDISCOVER messages, server responds
       with DHCPOFFER without option 215.

       DHCP server's monitor function should monitor only those clients
       for which monitor capability is exchanged during DHCP discovery 
       phase.

       Legacy DHCP clients ignores all [DHCP client monitor request] 
       messages from known or unknown servers.
   

13. Acknowledgements

   This document is based on concepts and broadband service provider 
   network deployment modes described in several forums, including IETF
   and Broadband forum.

14. References

14.1. Informative References

      [1] Bradner, S., "Key words for use in RFCs to Indicate     
          Requirement Levels", BCP 14, RFC 2119, March 1997.

14.2. Normative References

      [2] Plummer, D., "An Ethernet Address Resolution Protocol", 
          STD 37, RFC 826, MIT, November 1982.

      [3] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, 
          RFC 1340, USC/Information Sciences Institute, July, 1992.
          This RFC is periodically reissued with a new number.  
          Please be sure to consult the latest version.
          
      [4] Droms, R., "Dynamic Host Configuration Protocol", RFC
          2131, March 1997.
 
      [5] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor
          Extensions", RFC 2132, March 1997

      [6] Wimer, W., "Clarifications and Extensions for the Bootstrap
          Protocol", RFC 1542, Carnegie Mellon University, October 1993


Author's Addresses

Srinivasa Rao Nalluri
Ericsson 
Level-5
Ferns Icon, Outer Ring Road, 
Doddanakundi
Marathahalli, Bangalore
India-560037
Email: srinivasa.rao.nalluri@ericsson.com

Lakshmisha G
Ericsson 
Level-5
Ferns Icon, Outer Ring Road, 
Doddanakundi
Marathahalli, Bangalore
India-560037
Email: lakshmisha.g@ericsson.com

Amit Gupta
Ericsson 
Level-5
Ferns Icon, Outer Ring Road, 
Doddanakundi
Marathahalli, Bangalore
India-560037
Email: amit.x.gupta@ericsson.com