Skip to main content

Monitoring Service KPIs using TWAMP - Methodology
draft-spv-ippm-monitor-methodology-services-kpi-01

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Expired".
Authors Srivathsa Sarangapani , Peyush Gupta , Vinayak Hegde
Last updated 2016-06-27
Replaces draft-sp-ippm-monitor-services-kpi
RFC stream (None)
Formats
Additional resources
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-spv-ippm-monitor-methodology-services-kpi-01
IP Performance Metrics Group                      Srivathsa. Sarangapani
Internet-Draft                                             Peyush. Gupta
Intended status: Standards Track                        Juniper Networks
Expires: December 29, 2016                                      V. Hegde
                                                              Consultant
                                                           June 27, 2016

           Monitoring Service KPIs using TWAMP - Methodology
           draft-spv-ippm-monitor-methodology-services-kpi-01

Abstract

   We are introducing a new method to calculate services KPIs and
   metrics in the network using TWAMP protocol.  Services here ranging
   from Layer 4 to Layer 7 services.  Some of the examples are Http
   based services, Traffic load balancer, DPI, Video caching, real time
   streaming and IPSec.  The KPIs MAY be service latency, liveliness of
   an application, number of flows and sessions per service, load
   balancer statistics.

   This draft outlines the methodology to calculate these parameters in
   the service plane in the real network using TWAMP protocol.  Some of
   the existing fields extended to support new modes in the TWAMP
   protocol for calculating these KPIs. set of new messages are added in
   the control protocol between TWAMP client (session sender) and the
   TWAMP server (session reflector).

   There is a separate draft "draft-spv-ippm-monitor-implementation-
   services-kpi" that talks about implementation of monitoring these
   KPIs in the network using TWAMP.  Monitoring of these KPIs in the
   service plane with in a network play a vital role in optimum usage of
   network resources and improving the overall performance and capacity.

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

Sarangapani, et al.     Expires December 29, 2016               [Page 1]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

   This Internet-Draft will expire on December 29, 2016.

Copyright Notice

   Copyright (c) 2016 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.  Purpose and Scope . . . . . . . . . . . . . . . . . . . . . .   4
   3.  Logical Model . . . . . . . . . . . . . . . . . . . . . . . .   5
   4.  TWAMP Extensions  . . . . . . . . . . . . . . . . . . . . . .   6
     4.1.  TWAMP-Control Extensions  . . . . . . . . . . . . . . . .   7
       4.1.1.  Connection Setup with Services KPIs Monitoring  . . .   7
       4.1.2.  Services KPI-Monitor-REQ Command  . . . . . . . . . .   7
       4.1.3.  Services KPI-Monitor-RSP Command  . . . . . . . . . .   8
       4.1.4.  Services KPI-Monitor-IND Command  . . . . . . . . . .   9
       4.1.5.  Services KPI-Monitor-ACK Command  . . . . . . . . . .  10
       4.1.6.  Request-TW-Session Command Format . . . . . . . . . .  11
     4.2.  TWAMP-Test Extension  . . . . . . . . . . . . . . . . . .  12
   5.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  17
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  17
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  19
   8.  Normative References  . . . . . . . . . . . . . . . . . . . .  19
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  19

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

Sarangapani, et al.     Expires December 29, 2016               [Page 2]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

   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,
   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

   OWAMP: One-Way Active Measurement Protocol

   KPI: Key Performance Indicator

   DPI: Deep Packet Inspection

   CGNAT: Carrier Grade Network Address Translation

   SFW: Stateful Firewall

Sarangapani, et al.     Expires December 29, 2016               [Page 3]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

   TDF: Traffic Detection Function

   DNS: Domain Name Server

   HTTP: Hyper Text Transfer Protocol

   FTP: File Transfer Protocol

   SKMC: Services KPI Monitoring Command

   SID: Session ID

   PDU: Protocol Data Unit

   MBZ: Must Be Zero

   HMAC: Hash Message Authentication Code

   IPVN: IP Version Number

2.  Purpose and Scope

   The purpose of this extension is to provide a method to describe an
   additional optional feature for TWAMP RFC 5357 [RFC5357].

   The scope of the extension is limited to specifications of the
   following features:

   1.  Extension of the modes of operation through assignment of a new
       value in the Modes field to communicate feature capability.

   2.  Addition of new command types to identify, negotiate and monitor
       the supported services and supported KPIs for each service
       between Control-Client and TWAMP Server.

   3.  Use of existing padding octets of TWAMP-Test session to carry the
       services KPI data that is being monitored as part of the TWAMP-
       Test session.

   The purpose for this feature is to enhance TWAMP protocol to monitor
   and calculate service-related KPIs in real-time that helps in network
   performance analysis and optimization.

   The actual method to calculate the KPIs is discussed in a separate
   draft on implementation

Sarangapani, et al.     Expires December 29, 2016               [Page 4]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

3.  Logical Model

   The set of messages that are exchanged between the Control-Client and
   TWAMP Server to negotiate and monitor the services KPI is referred to
   as Service Block (Fig 1.)  Service Block MAY be a part of the same
   network element or can be a different entity.

   Services KPI-Monitor-REQ is sent from Control-Client to TWAMP Server
   to get the list of supported services and the KPIs that can be
   monitored for each service.  Once TWAMP Server receives this request,
   Services KPI-Monitor-RSP is sent with the number of services that can
   be monitored on this Control-Client connection.

   This message is followed by Services KPI-Monitor-IND message from the
   Session-Reflector which contain a service ID to identify the service
   and the list of KPIs that are supported for this service.The client
   replies with the Services KPI-Monitor-ACK message that include the
   list of KPIs the client is interested in monitoring.These two sets of
   messages will be repeated for each of the services that Server can
   monitor.

   Then the client will initiate Request-TW-Session Message that contain
   the service ID for a specific service.  Once Server replies with the
   Accept-Session Message, the client SHALL start sending test packets
   that MAY contain Service PDU.

Sarangapani, et al.     Expires December 29, 2016               [Page 5]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

              +--------+                          +--------+
              | Client |                          | Server |
              +--------+                          +--------+
                  |                                   |
                  |<------TCP Connection------------->|
                  |                                   |
                  |<------Greeting Message------------|
                  |                                   |
                  |-------Set-Up-Response------------>|
                  |                                   |
                  |<------Server-Start----------------|
                  |                                   |
                  |-------Services KPI-Monitor-REQ--->|
                  |<------Services KPI-Monitor-RSP----|
                  |                                   |
                  |<-----Services KPI-Monitor-IND-----|
                  |------Services KPI-Monitor-ACK---->|
                  |              .                    |
                  |              .                    |
                  |              .                    |
                  |<-----Services KPI-Monitor-IND-----|
                  |------Services KPI-Monitor-ACK---->|
                  |                                   |
                  |------Request-TW-Session---------->|
                  |<-----Accept Session---------------|
                  |              .                    |
                  |              .                    |
                  |------Request-TW-Session---------->|
                  |<-----Accept Session---------------|

                                 Figure 1

4.  TWAMP Extensions

   The TWAMP connection establishment follows the procedure defined in
   Section 3.1 of OWAMP [RFC4656] and Section 3.1 of TWAMP [RFC5357]
   where the Modes field is used to identify and select specific
   communication capabilities.  At the same time the Modes field been
   recognized and used as an extension mechanism of TWAMP Reflect Octets
   and Symmetrical Size Features [RFC6038].  The new feature requires a
   new bit position to identify the ability of a Session-Reflector to
   monitor Services KPIs.  There are changes in both the Control-Client
   and TWAMP-Test packet formats to support this functionality.

Sarangapani, et al.     Expires December 29, 2016               [Page 6]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

4.1.  TWAMP-Control Extensions

   The TWAMP-Control is a derivative of the OWAMP-Control, and provides
   two-way measurement capability.  TWAMP; [RFC5357] uses the Modes
   field to identify and select specific communication capabilities, and
   this field is a recognized extension mechanism.  The following
   Sections describe one such extension.

4.1.1.  Connection Setup with Services KPIs Monitoring

   TWAMP-Control connection establishment follows the procedure defined
   in Section 3.1 of OWAMP; [RFC4656].  The Services KPIs Monitoring
   using TWAMP mode requires one new bit position (and value) to
   identify the ability of the Server or the Session-Reflector to
   monitor the Services KPIs of the sessions.  This new extension
   requires an additional TWAMP mode bit assignment as explained in
   Section 5.1.

   A Control-Client MAY request for Services KPIs monitoring for some of
   its sessions.  To do so, it needs to know which services can be
   monitored and the corresponding KPIs (of those services)that can be
   monitored.

   Services KPI Monitoring Command (SKMC) consist of a set of messages
   which SHALL be used for monitoring the KPIs of a service.  This new
   command requires an additional TWAMP Command Number as explained in
   Section 6.

4.1.2.  Services KPI-Monitor-REQ Command

   A Control-Client MAY send Services KPI-Monitor-REQ command to the
   Server to obtain the list of services and their KPIs that can be
   monitored by the Session-Reflector.

   The format of the Services KPI-Monitor-REQ Command is as follows:

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Command Number|       REQ     |       MBZ (2 octets)          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                       HMAC (16 octets)                        |
     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Figure 2: Services KPI-Monitor-REQ Command

Sarangapani, et al.     Expires December 29, 2016               [Page 7]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

   Since this is a new command, a Command Number value should be
   allocated by the IANA in the registry as mentioned in Section 6.  The
   command number indicates that this is one of the Services KPI
   Monitoring Command.  The Control-Client MUST compose this command,
   and the Server MUST interpret this command, according to the field
   descriptions below.

   The sub-type field MUST be REQ for this message.  This message
   indicates that the Client is requesting Server to send the list of
   Services and the corrosponding KPIs that can be monitored.

   The message is terminated with a single block HMAC, as illustrated
   above.

   The Server MUST respond with Services KPI-Monitor-RSP Command
   Section 4.1.3.

4.1.3.  Services KPI-Monitor-RSP Command

   The Server responds to the Services KPI-Monitor-REQ Command by
   sending a Services KPI-Monitor-RSP Command.  The format of the
   Services KPI-Monitor-RSP Command is as follows:

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |Command Number |      RSP      |       MBZ (2 octets)          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                 Number of services                            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                       HMAC (16 octets)                        |
     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Figure 3: Services KPI-Monitor-RSP Command

   The Command Number value here is same as mentioned in Section 6.  The
   Server MUST compose this command, and the Control-Client MUST
   interpret this command, according to the field descriptions below.

   The sub-type field MUST be RSP for this command.  The field "Number
   of Services" indicates the number of Services for which the Session-
   Reflector can monitor the KPI.

   The message is terminated with a single block HMAC, as illustrated
   above.

Sarangapani, et al.     Expires December 29, 2016               [Page 8]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

4.1.4.  Services KPI-Monitor-IND Command

   The Server MUST send the Services KPI-Monitor-IND Command after
   sending Services KPI Monitor-RSP message.  This message includes the
   list of KPIs that can be monitored for a service.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Command Number|       IND     |         Service ID            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |         Service Description (12 octets)                       |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |         Supported Services KPIs Bitmask (2 octets)            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |         HMAC (16 octets)                                      |
     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Figure 4: Services KPI-Monitor-IND Command

   The Command Number value here is same as mentioned in Section 6.  The
   Server MUST compose this command, and the Control-Client MUST
   interpret this command, according to the field descriptions below.

   The sub-type field MUST be IND for this Command.  This field
   indicates that the Server is responding to the Control-Client with
   the details of the KPIs of a service that can be monitored by
   Session-Reflector.

   Service ID is an identifier which would be set by the Server to
   identify a Service.  This ID MUST be used in the TWAMP-Control and
   TWAMP-Test messages to identify a particular Service.  The range of
   Service ID MUST be 1 to 65535; The value 0 is Reserved.

   Service Description MAY be set of alphanumeric characters that would
   provide a brief description of a particular Service.  Example: "DPI"
   "CGNAT" "DNS-Server" "HTTP-Server".

   Supported Services KPIs Bitmask is a bitmask that would indicate the
   kind of KPI Monitoring using TWAMP is supported by the Session-
   Reflector for a particular Service.

Sarangapani, et al.     Expires December 29, 2016               [Page 9]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

   The message is terminated with a single block HMAC, as illustrated
   above.

   For each Services KPIs monitoring supported, the Server MUST send one
   Services KPI-Monitor-IND Command to the Control-Client.

4.1.5.  Services KPI-Monitor-ACK Command

   The Control-client MUST respond back with a Services KPI-Monitor-ACK
   Command for each Services KPI-Monitor-IND Command.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Command Number|       ACK       |         Service ID          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |         Service Description (12 octets)                       |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |         Requested Services KPIs Bitmask (2 octets)            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |         HMAC (16 octets)                                      |
     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Figure 5: Services KPI-Monitor-ACK Command

   The Command Number is same as mentioned in Section 6.  The Server
   MUST frame this command, and the Control-Client MUST interpret this
   command, according to the field descriptions below.

   The sub-type field MUST be ACK for this message.  This field
   indicates that the Control-client is acknowledging the Server with
   details of which KPIs of a particular service it is interested in.

   Service ID and Service Description MUST be same as that received in
   the Services KPI-Monitor-IND Command.  These two fields together
   identify a particular Service.

   Requested Services KPIs Bitmask MUST be set by the Control-Client and
   that indicates the KPIs of the services that the Control-Client is
   interested in monitoring.  The KPIs can be a subset or the full set
   of KPIs sent in the corresponding Service KPI-Monitor-IND Command.

Sarangapani, et al.     Expires December 29, 2016              [Page 10]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

   The Command is terminated with a single block HMAC, as illustrated
   above.

   For each Services KPI-Monitor-IND Command received at the control-
   client, it acknowledges by sending a Services KPI-Monitor-ACK
   Command.

4.1.6.  Request-TW-Session Command Format

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |      5        |  MBZ  | IPVN  |  Conf-Sender  | Conf-Receiver |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                  Number of Schedule Slots                     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                      Number of Packets                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Sender Port          |         Receiver Port         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        Sender Address                         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |           Sender Address (cont.) or MBZ (12 octets)           |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        Receiver Address                       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |           Receiver Address (cont.) or MBZ (12 octets)         |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                        SID (16 octets)                        |
     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                         Padding Length                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                           Start Time                          |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                       Timeout, (8 octets)                     |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                       Type-P Descriptor                       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     Octets to be reflected    |  Length of padding to reflect |

Sarangapani, et al.     Expires December 29, 2016              [Page 11]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Service ID           |        MBZ (2 octets)         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                       HMAC (16 octets)                        |
     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Figure 6: Request-TW-Session Command

   This new feature requires 2 octets to indicate the Service ID as a
   part of Request-TW-Session Command.  See Section 6 for details on the
   octet position.  If Services KPIs Monitoring using TWAMP feature is
   not requested as a part of this TWAMP-Test Session, then the Service
   ID MUST be 0.

   If Service ID has a non-zero value, then the Padding Length field MAY
   not have any significance.  The test packets between Session-Sender
   and Session-Reflector MAY be of different size based on the
   implementation.

   The actual test packets MAY contain valid data which SHOULD be
   interpreted by Session-Sender or Session-Reflector to monitor
   Services KPIs.  Please refer TWAMP-Test Extension Section 4.2 for
   more details.

4.2.  TWAMP-Test Extension

   As part of this extension, the existing Packet Padding octets in the
   Test Packet MAY be used for the monitoring of the Services KPIs as
   explained in KPI Implemnetation Draft.  The Packet Padding octets
   which were either zero or filled with pseudo-random values MAY now
   have some valid data like timestamps, statistics, service PDUs and so
   on.

   The Session-Sender Test Session data packet formats are provided
   below.

Sarangapani, et al.     Expires December 29, 2016              [Page 12]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        Sequence Number                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          Timestamp                            |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Error Estimate         |                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
     |                         MBZ (6 octets)                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     .                                                               .
     .                         Packet Padding                        .
     .                                                               .
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     Figure 7: Unauthenticated Mode Session-Sender Data Packet Format

   As a part of the extension, 6 octets of MBZ are added after the Error
   Estimate field.

Sarangapani, et al.     Expires December 29, 2016              [Page 13]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        Sequence Number                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                        MBZ (12 octets)                        |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          Timestamp                            |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Error Estimate         |                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
     |                         MBZ (6 octets)                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |                       HMAC (16 octets)                        |
     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     .                                                               .
     .                        Packet Padding                         .
     .                                                               .
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     Figure 8: Authenticated and Encrypted Mode Session-Reflector Data
                               Packet Format

   The Session-Reflector Test Session data packet formats are provided
   below.

Sarangapani, et al.     Expires December 29, 2016              [Page 14]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        Sequence Number                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          Timestamp                            |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |         Error Estimate        |           MBZ                 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          Receive Timestamp                    |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        Sender Sequence Number                 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          Sender Timestamp                     |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |      Sender Error Estimate    |           MBZ                 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  Sender TTL   |                 MBZ                           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |  Monitored Services KPIs Bitmask (2 octets)                   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     .                                                               .
     .                   Packet Padding                              .
     .                                                               .
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Figure 9: Unauthenticated Mode Session-Reflector Data Packet Format

   As a part of this extension, The 3 octets of MBZ are added after the
   Error Estimate field to align the next set of fields.

   Monitored Services KPIs Bitmask indicates the services KPIs that are
   present in this message.  The KPIs would be present in the Packet
   Padding area in the same order as indicated by Bitmask starting from
   bit 0 Position.

      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        Sequence Number                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        MBZ (12 octets)                        |

Sarangapani, et al.     Expires December 29, 2016              [Page 15]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          Timestamp                            |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |         Error Estimate        |                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
     |                        MBZ (6 octets)                         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        Receive Timestamp                      |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        MBZ (8 octets)                         |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        Sender Sequence Number                 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        MBZ (12 octets)                        |
     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                      Sender Timestamp                         |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |      Sender Error Estimate    |                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
     |                        MBZ (6 octets)                         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  Sender TTL   |                                               |
     +-+-+-+-+-+-+-+-+                                               +
     |                                                               |
     |                                                               |
     |                        MBZ (15 octets)                        |
     +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     |                        HMAC (16 octets)                       |
     |                                                               |
     |                                                               |
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     |    Monitored Services KPIs Bitmask (2 octets)                 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                               |
     .                   Packet Padding                              .
     .                                                               .
     |                                                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Sarangapani, et al.     Expires December 29, 2016              [Page 16]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

    Figure 10: Authenticated and Encrypted Mode Session-Reflector Data
                               Packet Format

   As a part of this extension, Monitored Services KPIs Bitmask
   indicates the services KPIs that are present in this message.  The
   KPIs would be present in the Packet Padding area in the same order as
   indicated by Bitmask starting from bit 0 Position.  The set of KPIs
   defined for a service are listed in KPI Implementation draft

5.  Acknowledgements

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

6.  IANA Considerations

   The TWAMP-Modes registry defined in [RFC6038].  IANA is requested to
   reserve a new bit in Modes registry for Services KPIs Monitoring
   Capability as follows:

   +------------+----------------------+-------------------+-----------+
   | Value      | Description          | Semantics         | Reference |
   +------------+----------------------+-------------------+-----------+
   | X          | Services KPIs        | bit position      | This      |
   | (proposed  | Monitoring           | Y(proposed 8)     | document  |
   | 256)       | Capability           |                   |           |
   +------------+----------------------+-------------------+-----------+

               Table 1: Services KPIs Monitoring Capability

   TWAMP-Control Command Number Registry defined in [RFC5938].IANA is
   requested to reserve a Command Number for Services KPIs Monitoring
   Capability as follows:

   +----------------+-------------------------+-----------+------------+
   | Value          | Description             | Semantics | Reference  |
   +----------------+-------------------------+-----------+------------+
   | SKMC (proposed | Services KPIs           |           | This       |
   | 11)            | Monitoring Command      |           | document   |
   +----------------+-------------------------+-----------+------------+

              Table 2: New Service Latency Monitoring Command

   TWAMP Services KPIs sub-type Registry

   IANA is requested to reserve and maintain the sub-types as a part of
   Services KPIs Monitoring Command as follows:

Sarangapani, et al.     Expires December 29, 2016              [Page 17]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

                  +-------+-------------+---------------+
                  | Value | Description | Explanation   |
                  +-------+-------------+---------------+
                  | 0     | Reserved    |               |
                  | 1     | REQ         | Section 4.1.2 |
                  | 2     | RESP        | Section 4.1.3 |
                  | 3     | IND         | Section 4.1.4 |
                  | 4     | ACK         | Section 4.1.5 |
                  +-------+-------------+---------------+

              Table 3: TWAMP Services KPIs sub-type Registry

   TWAMP Services KPIs Registry

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

   +-------+----------------+------------------------------------------+
   | 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 4: 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 5: New Services KPIs Monitoring Capability

Sarangapani, et al.     Expires December 29, 2016              [Page 18]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

7.  Security Considerations

   The TWAMP protocol (RFC 5357) supports anthenticated and encrypted
   mode for TWAMP session and data.  The new extension proposed in this
   draft supports the authenticated and encrypted mode and is therefore
   provides a secure mechanism to monitor services KPIs

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

   [RFC4656]  Shalunov, S., Teitelbaum, B., Karp, A., Boote, J., and M.
              Zekauskas, "A One-way Active Measurement Protocol
              (OWAMP)", RFC 4656, DOI 10.17487/RFC4656, September 2006,
              <http://www.rfc-editor.org/info/rfc4656>.

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

   [RFC5938]  Morton, A. and M. Chiba, "Individual Session Control
              Feature for the Two-Way Active Measurement Protocol
              (TWAMP)", RFC 5938, DOI 10.17487/RFC5938, August 2010,
              <http://www.rfc-editor.org/info/rfc5938>.

   [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
   89, Asthagrama Layout 2nd Stage, Basavehwaranagar
   Bangalore  560079
   INDIA

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

Sarangapani, et al.     Expires December 29, 2016              [Page 19]
Internet-Draft    Service KPIs using TWAMP methodology         June 2016

   Peyush Gupta
   Juniper Networks
   Flat #206, 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

Sarangapani, et al.     Expires December 29, 2016              [Page 20]