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

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

Abstract

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

Status of This Memo

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

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on April 7, 2016.

Copyright Notice

Copyright (c) 2015 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.


Table of Contents

1. Introduction

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

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

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

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

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

1.1. Conventions used in this document

1.1.1. Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].

1.2. Terminology

TWAMP: Two-Way Active Measurement Protocol

KPI: Key Performance Indicator

DPI: Deep Packet Inspection

CGNAT: Carrier Grade Network Address Translation

SFW: Stateful Firewall

TDF: Traffic Detection Function

DNS: Domain Name Server

HTTP: Hyper Text Transfer Protocol

FTP: File Transfer Protocol

SKMC: Services KPI Monitoring Command

PDU: Protocol Data Unit

2. Services KPIs

2.1. Services Keepalive Monitoring

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

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

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

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

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|X| Reserved    |          MBZ (3 octets)                       |
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
              

Figure 1: Services Keepalive Monitoring

2.2. Service Latency

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

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

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

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

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |      Service latency measurement Sender Timestamp             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |      Service latency measurement Receiver Timestamp           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              

Figure 2: Services Keepalive Monitoring

2.3. Serviced Packets Count

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

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Number of Ingress Service Data packets                |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Number of Egress Service Data packets                 |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              

Figure 3: Serviced Packets Count

2.4. Serviced Bytes Count

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

   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Number of Ingress Service Data bytes                  |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         Number of Egress Service Data bytes                   |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
             

Figure 4: Serviced Bytes Count

2.5. Serviced Subscriber Count

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

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

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

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

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

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

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

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

0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Total Number of Subscribers                     |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Number of Active Subscribers                    |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Number of Non-Active Subscribers                |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Number of Subscribers Added                     |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               Number of Subscribers Deleted                   |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
              

Figure 5: Serviced Subscriber Count

3. Acknowledgements

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

4. IANA Considerations

TWAMP Services KPIs Registry

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

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

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

New Services KPIs Monitoring Capability
Value Description Semantics Reference
X Service ID 2 Octets starting from offset 92th Octet This document

5. Security Considerations

NA

6. Normative References

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997.
[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.
[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.

Authors' Addresses

Srivathsa Sarangapani Juniper Networks Bangalore, 560079 INDIA Phone: +91 9845052354 EMail: srivathsas@juniper.net
Peyush Gupta Juniper Networks T-313, Keerti Royal Apartment, Outer Ring Road Bangalore, Karnataka 560043 INDIA Phone: +91 9449251927 EMail: peyushg@juniper.net
Vinayak Hegde Consultant Brahma Sun City, Wadgaon-Sheri Pune, Maharashtra 411014 INDIA Phone: +91 944984401 EMail: vinayakh@gmail.com URI: http://www.vinayakhegde.com