Internet DRAFT - draft-spv-ippm-monitor-implementation-services-kpi

draft-spv-ippm-monitor-implementation-services-kpi







Network Working Group                                        Sarangapani
Internet-Draft                                                     Gupta
Intended status: Informational                          Juniper Networks
Expires: April 7, 2016                                          V. Hegde
                                                              Consultant
                                                         October 5, 2015


          Monitoring Service KPIs using TWAMP - Implementation
         draft-spv-ippm-monitor-implementation-services-kpi-00

Abstract

   We are using a new method to calculate services KPIs and metrics in
   the network using TWAMP protocol.  The services here ranging from
   subscriber aware services to security application, Traffic load
   balancing, content delivery, real time streaming and like.The KPIs
   discussed in this draft include Service Latency, Serviced Packets
   Count, Serviced Subscriber Count, Application Liveliness and Session
   load per Service.  KPIs monitoring of these services therefore, play
   a vital role in optimum usage of network resources such as capacity
   and throughput.  Once we have the attributes like service latency,
   the network topology can be chosen to provide better quality of
   experience to the end user.  For different services, the attributes
   may vary and our design takes care of supporting different KPIs for
   different services model.  Additionally, liveliness of application
   and servers can be monitored using this proposed solution.

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







Sarangapani, et al.       Expires April 7, 2016                 [Page 1]

Internet-Draft   Service KPIs using TWAMP implementation    October 2015


Copyright Notice

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

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Conventions used in this document . . . . . . . . . . . .   3
       1.1.1.  Requirements Language . . . . . . . . . . . . . . . .   3
     1.2.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Services KPIs . . . . . . . . . . . . . . . . . . . . . . . .   4
     2.1.  Services Keepalive Monitoring . . . . . . . . . . . . . .   4
     2.2.  Service Latency . . . . . . . . . . . . . . . . . . . . .   4
     2.3.  Serviced Packets Count  . . . . . . . . . . . . . . . . .   5
     2.4.  Serviced Bytes Count  . . . . . . . . . . . . . . . . . .   5
     2.5.  Serviced Subscriber Count . . . . . . . . . . . . . . . .   6
   3.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   7
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   7
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   6.  Normative References  . . . . . . . . . . . . . . . . . . . .   8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   The TWAMP-Test runs between a Session-Sender and a Session-Reflector
   RFC 5357 [RFC5357].  The existing TWAMP-Test packet format has
   existing padding octets that are currently not used (either set to
   zero or pseudo-random values).  These octets can be used to carry
   additional information between the Session-Sender and the Session-
   Reflector.  The proposed extension uses these padding octets and
   provide a method to monitor services KPIs in the network.  This
   feature is termed as Services KPI Monitoring using TWAMP.

   The services here refers to Layer 4 to Layer 7 services like DPI,
   SFW, CGNAT, TDF and so on.  Additionally these services can refer to
   applications like DNS, HTTP, FTP and so on.  The KPIs MAY include
   service latency, service load monitoring in terms of number of flows,



Sarangapani, et al.       Expires April 7, 2016                 [Page 2]

Internet-Draft   Service KPIs using TWAMP implementation    October 2015


   number of sessions, number of subscribers, number of octets,
   liveliness of a service.

   For instance, Services KPI Monitoring using TWAMP MAY be used to
   measure service latency of DPI, number of CGNAT flows, number of TDF
   subscribers and so on.  Similarly this MAY be used to monitor the
   liveliness of the DNS Server, HTTP Server and so on.

   As per the proposed extension, both the TWAMP-Control and the TWAMP-
   Test packet formats are modified.  One TWAMP-Test session SHALL be
   used to monitor KPIs for a specific service.  But there can be
   multiple KPIs monitored using a single test session for a specific
   service.  A single TWAMP-Control connection MAY establish multiple
   TWAMP-Test sessions that measure KPIs for multiple services in the
   network.

   This extension can be used to monitor KPIs for standalone service or
   a set of services.

1.1.  Conventions used in this document

1.1.1.  Requirements Language

   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].

1.2.  Terminology

   TWAMP: Two-Way Active Measurement Protocol

   KPI: Key Performance Indicator

   DPI: Deep Packet Inspection

   CGNAT: Carrier Grade Network Address Translation

   SFW: Stateful Firewall

   TDF: Traffic Detection Function

   DNS: Domain Name Server

   HTTP: Hyper Text Transfer Protocol

   FTP: File Transfer Protocol

   SKMC: Services KPI Monitoring Command



Sarangapani, et al.       Expires April 7, 2016                 [Page 3]

Internet-Draft   Service KPIs using TWAMP implementation    October 2015


   PDU: Protocol Data Unit

2.  Services KPIs

2.1.  Services Keepalive Monitoring

   The Session-Sender MAY send the Service PDU as part of the TWAMP-Test
   Packet Padding.  When Session-Reflector receives the TWAMP-Test
   packet, it SHALL extract the Service PDU.  Then Session-Reflector
   SHALL inject the Service PDU to the Service Block for service
   processing.

   Based on whether the Session-Reflector received the response, the
   Session-Reflector SHALL decide whether the Service is alive or not.

   The Session-Reflector MUST start the Packet Padding with the below 4
   octets as indicated in Fig.11 [TBD].  This is followed by the Service
   PDU (which MAY be same as whatever was sent by Session-Sender or can
   be the reply/response packet of the Service Block).

   Setting Bit 0(X) indicates that the Session-Reflector successfully
   sent the Service Request to the Service Block and received the
   response from the Service Block.  If this bit is NOT set then it
   indicates that the Service Block is not functional.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |X| Reserved    |          MBZ (3 octets)                       |
     +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

                  Figure 1: Services Keepalive Monitoring

2.2.  Service Latency

   The Session-Sender MAY send the Service PDU as part of the TWAMP-Test
   Packet Padding.  When Session-Reflector receives the TWAMP-Test
   message, it SHALL extract the Service PDU and inject that service PDU
   in the Service Block.

   The Session-Reflector MUST record the time, when this service PDU is
   injected.  This SHALL be the Service latency measurement Sender
   Timestamp.

   Once the Session-Reflector received the Response from the Service
   Block, it MUST record the time.  This time SHALL be the Service
   latency measurement Receiver Timestamp.




Sarangapani, et al.       Expires April 7, 2016                 [Page 4]

Internet-Draft   Service KPIs using TWAMP implementation    October 2015


   If the Session-Reflector does NOT receive the Service PDU (within pre
   configured time which is implementation specific), then it shall
   indicate the Service latency measurement Receiver Timestamp as 0.
   The Session-Reflector MUST start the Packet Padding with the 16
   octets indicated below.  This SHALL be followed by the Service PDU
   (which MAY be same as whatever was sent by Session-Sender or can be
   the reply/response packet of the Service Block).

      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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      |      Service latency measurement Sender Timestamp             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      |      Service latency measurement Receiver Timestamp           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                  Figure 2: Services Keepalive Monitoring

2.3.  Serviced Packets Count

   When Session-Reflector receives the TWAMP-Test message, it SHALL get
   the information about Number of Ingress Service Data packets and
   Number of Egress Service Data packets from the Service Block.  How
   Session-Reflector gets this information is implemenatation dependant.
   Once the Session-Reflector gets this information, it MUST start the
   Packet Padding with the below 16 octets.  This SHALL be followed by
   the actual Packet Padding.

      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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Number of Ingress Service Data packets                |
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Number of Egress Service Data packets                 |
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Figure 3: Serviced Packets Count

2.4.  Serviced Bytes Count

   When Session-Reflector receives the TWAMP-Test message, it SHALL get
   the information about Number of Ingress Service Data bytes and Number
   of Egress Service Data bytes from the Service Block.  How Session-
   Reflector gets this information is implemenatation dependant.  Once



Sarangapani, et al.       Expires April 7, 2016                 [Page 5]

Internet-Draft   Service KPIs using TWAMP implementation    October 2015


   the Session-Reflector gets this information, it MUST start the Packet
   Padding with the below 16 octets.  This SHALL be followed by the
   actual Packet Padding.

      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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Number of Ingress Service Data bytes                  |
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Number of Egress Service Data bytes                   |
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      Figure 4: Serviced Bytes Count

2.5.  Serviced Subscriber Count

   When Session-Reflector receives the TWAMP-Test message, it SHALL get
   the below information :

   Total Number of Subscribers : Total number of subscribers that are
   currently present for the Service + 1.  This count includes Active,
   Non-Active and any other type of subscribers.

   Number of Active Subscribers : Number of subscribers who are
   currently Actively using the Service + 1.  The meaning of Active MAY
   vary from Service to Service and this is implementation specific.

   Number of Non-Active Subscribers : Number of subscribers who are
   currently NOT Actively using the Service + 1.  The meaning of NOT
   Active MAY vary from Service to Service and this is implementation
   specific.

   Number of Subscribers Added : Number of subscribers who were NEWLY
   added compared to the last time the statistics was taken + 1.

   Number of Subscribers Deleted :Number of subscribers who were
   deleted, preempted compared to the last time the statistics was taken
   + 1.

   Any of the above field can be 0 if that statistics is not supported
   or not valid for a particular service.  Session-Reflector should
   always fill the value by increasing the actual service statistics by
   1.  Say for example, if Numer of Active Subscribers is 0, then
   Session-Reflector would fill this field as 1.  When Session-Sender
   receives this value, it should subtract 1 from the received value and
   use it.



Sarangapani, et al.       Expires April 7, 2016                 [Page 6]

Internet-Draft   Service KPIs using TWAMP implementation    October 2015


   How Session-Reflector gets this information is implemenatation
   dependant.  Once the Session-Reflector gets this information, it MUST
   start the Packet Padding with the below 40 octets.  This SHALL be
   followed by the actual Packet Padding.

     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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |               Total Number of Subscribers                     |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |               Number of Active Subscribers                    |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |               Number of Non-Active Subscribers                |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |               Number of Subscribers Added                     |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |               Number of Subscribers Deleted                   |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Figure 5: Serviced Subscriber Count

3.  Acknowledgements

   We would like to thank Perceival A Monteiro for their comments,
   suggestions, reviews, helpful discussion, and proof-reading

4.  IANA Considerations

   TWAMP Services KPIs Registry

   IANA is requested to reserve and maintain the below Services KPIs:















Sarangapani, et al.       Expires April 7, 2016                 [Page 7]

Internet-Draft   Service KPIs using TWAMP implementation    October 2015


   +-------+----------------+------------------------------------------+
   | Value | Description    | Explanation                              |
   +-------+----------------+------------------------------------------+
   | 0     | None           |                                          |
   | 1     | Keepalive      | Whether the respective service is        |
   |       |                | running or not                           |
   | 2     | Service        | Service Latency which SHALL include the  |
   |       | Latency        | transit time and actual service time     |
   | 4     | Serviced       | Number of ingress and egress packets for |
   |       | Packets Count  | the respective service                   |
   | 8     | Serviced Bytes | Number of ingress and egress bytes for   |
   |       | Count          | the respective service.                  |
   | 16    | Serviced       | Number of subscribers currently active   |
   |       | Subscriber     | for the respective service.              |
   |       | Count          |                                          |
   +-------+----------------+------------------------------------------+

                   Table 1: TWAMP Services KPIs Registry

   Request-TW-Session message defined in [RFC6038].IANA is requested to
   reserve 2 octets for Service ID as follows:

   +-------+-------------+--------------------------------+------------+
   | Value | Description | Semantics                      | Reference  |
   +-------+-------------+--------------------------------+------------+
   | X     | Service ID  | 2 Octets starting from offset  | This       |
   |       |             | 92th Octet                     | document   |
   +-------+-------------+--------------------------------+------------+

             Table 2: New Services KPIs Monitoring Capability

5.  Security Considerations

   NA

6.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/
              RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC5357]  Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J.
              Babiarz, "A Two-Way Active Measurement Protocol (TWAMP)",
              RFC 5357, DOI 10.17487/RFC5357, October 2008,
              <http://www.rfc-editor.org/info/rfc5357>.





Sarangapani, et al.       Expires April 7, 2016                 [Page 8]

Internet-Draft   Service KPIs using TWAMP implementation    October 2015


   [RFC6038]  Morton, A. and L. Ciavattone, "Two-Way Active Measurement
              Protocol (TWAMP) Reflect Octets and Symmetrical Size
              Features", RFC 6038, DOI 10.17487/RFC6038, October 2010,
              <http://www.rfc-editor.org/info/rfc6038>.

Authors' Addresses

   Srivathsa Sarangapani
   Juniper Networks
   Bangalore  560079
   INDIA

   Phone: +91 9845052354
   Email: srivathsas@juniper.net


   Peyush Gupta
   Juniper Networks
   T-313, Keerti Royal Apartment, Outer Ring Road
   Bangalore, Karnataka  560043
   INDIA

   Phone: +91 9449251927
   Email: peyushg@juniper.net


   Vinayak Hegde
   Consultant
   Brahma Sun City, Wadgaon-Sheri
   Pune, Maharashtra  411014
   INDIA

   Phone: +91 944984401
   Email: vinayakh@gmail.com
   URI:   http://www.vinayakhegde.com
















Sarangapani, et al.       Expires April 7, 2016                 [Page 9]