IP Performance Metrics Group                      Srivathsa. Sarangapani
Internet-Draft                                             Peyush. Gupta
Intended status: Standards Track                        Juniper Networks
Expires: January 18, 2017                                       V. Hegde
                                                              Consultant
                                                                   Q. Wu
                                                                  Huawei
                                                           July 17, 2016


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

Abstract

   The TWAMP protocol provides a common architecture for two way
   measurements in the IP network.  However IP network performance are
   also affected by a set of L4-L7 service deployed in the network.
   Monitoring of these service performance in the IP network also plays
   a vital role in network optimization and application layer traffic
   optimization.  This capability is not supported by the existing TWAMP
   protocol.

   In this document, we extend TWAMP protocol to support service
   performance monitoring and service KPIs calculation.  Some of the
   existing fields in the TWAMP protocol are extended to support new
   modes for calculating these KPIs.  A set of new messages are added in
   the control protocol between TWAMP client (session sender) and the
   TWAMP server (session reflector).  Services here ranging from Layer 4
   to Layer 7 services,such as 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.

   There is a separate Draft[I.D-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




Sarangapani, et al.     Expires January 18, 2017                [Page 1]


Internet-Draft    Service KPIs using TWAMP methodology         July 2016


   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 January 18, 2017.

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




Sarangapani, et al.     Expires January 18, 2017                [Page 2]


Internet-Draft    Service KPIs using TWAMP methodology         July 2016


1.  Introduction

   The TWAMP protocol defined in RFC 5357 [RFC5357] provides a common
   architecture for two way measurements in the IP network.  In large
   scale IP environment, there are also large number of L4 to L7
   services being deployed.  Measuring these service performance become
   important when we measure the whole IP network performance.  However
   the existing TWAMP protocol does not provide such capability which
   allow interaction between service plane and IP forwarding plane and
   monitor service KPI in the IP network.

   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.  In this document, we
   extend TWAMP protocol to calculate services KPIs and metrics in the
   network.

   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



Sarangapani, et al.     Expires January 18, 2017                [Page 3]


Internet-Draft    Service KPIs using TWAMP methodology         July 2016


   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

   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.



Sarangapani, et al.     Expires January 18, 2017                [Page 4]


Internet-Draft    Service KPIs using TWAMP methodology         July 2016


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

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
   Server 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.  This pair of two
   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 January 18, 2017                [Page 5]


Internet-Draft    Service KPIs using TWAMP methodology         July 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 January 18, 2017                [Page 6]


Internet-Draft    Service KPIs using TWAMP methodology         July 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 January 18, 2017                [Page 7]


Internet-Draft    Service KPIs using TWAMP methodology         July 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 January 18, 2017                [Page 8]


Internet-Draft    Service KPIs using TWAMP methodology         July 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 January 18, 2017                [Page 9]


Internet-Draft    Service KPIs using TWAMP methodology         July 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 January 18, 2017               [Page 10]


Internet-Draft    Service KPIs using TWAMP methodology         July 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 January 18, 2017               [Page 11]


Internet-Draft    Service KPIs using TWAMP methodology         July 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 January 18, 2017               [Page 12]


Internet-Draft    Service KPIs using TWAMP methodology         July 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 January 18, 2017               [Page 13]


Internet-Draft    Service KPIs using TWAMP methodology         July 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 January 18, 2017               [Page 14]


Internet-Draft    Service KPIs using TWAMP methodology         July 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 January 18, 2017               [Page 15]


Internet-Draft    Service KPIs using TWAMP methodology         July 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 January 18, 2017               [Page 16]


Internet-Draft    Service KPIs using TWAMP methodology         July 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 January 18, 2017               [Page 17]


Internet-Draft    Service KPIs using TWAMP methodology         July 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 January 18, 2017               [Page 18]


Internet-Draft    Service KPIs using TWAMP methodology         July 2016


7.  Security Considerations

   The TWAMP protocol (RFC 5357) supports authenticated 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 January 18, 2017               [Page 19]


Internet-Draft    Service KPIs using TWAMP methodology         July 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


   Qin Wu
   Huawei
   101 Software Avenue, Yuhua District
   Nanjing, Jiangsu  210012
   China

   Phone: +86-25-84565892
   Email: bill.wu@huawei.com























Sarangapani, et al.     Expires January 18, 2017               [Page 20]