Internet DRAFT - draft-sp-ippm-monitor-services-kpi
draft-sp-ippm-monitor-services-kpi
Network Working Group Srivathsa Sarangapani
Internet-Draft Peyush Gupta
Intended status: Informational Juniper Networks
Expires: December 31, 2015 June 29, 2015
Monitoring Service KPIs using TWAMP
draft-sp-ippm-monitor-services-kpi-00
Abstract
We are introducing 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 December 31, 2015.
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 1]
Internet-Draft Abbreviated Title June 2015
Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 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. Services KPIs . . . . . . . . . . . . . . . . . . . . . . . . 17
5.1. Services Keepalive Monitoring . . . . . . . . . . . . . . 17
5.2. Service Latency . . . . . . . . . . . . . . . . . . . . . 17
5.3. Serviced Packets Count . . . . . . . . . . . . . . . . . 18
5.4. Serviced Bytes Count . . . . . . . . . . . . . . . . . . 19
5.5. Serviced Subscriber Count . . . . . . . . . . . . . . . . 19
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21
8. Security Considerations . . . . . . . . . . . . . . . . . . . 23
9. Normative References . . . . . . . . . . . . . . . . . . . . 23
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 2]
Internet-Draft Abbreviated Title June 2015
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
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 3]
Internet-Draft Abbreviated Title June 2015
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. 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 not discussed and depends
on implementation.
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 4]
Internet-Draft Abbreviated Title June 2015
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.
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 5]
Internet-Draft Abbreviated Title June 2015
+--------+ +--------+
| 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.
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 6]
Internet-Draft Abbreviated Title June 2015
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 7.
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
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 7]
Internet-Draft Abbreviated Title June 2015
Since this is a new command, a Command Number value should be
allocated by the IANA in the registry as mentioned in Section 7. 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 7. 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.
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 8]
Internet-Draft Abbreviated Title June 2015
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 7. 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.
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 9]
Internet-Draft Abbreviated Title June 2015
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 7. 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.
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 10]
Internet-Draft Abbreviated Title June 2015
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 |
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 11]
Internet-Draft Abbreviated Title June 2015
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 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 7 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 Section 5. 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.
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 12]
Internet-Draft Abbreviated Title June 2015
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.
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 13]
Internet-Draft Abbreviated Title June 2015
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.
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 14]
Internet-Draft Abbreviated Title June 2015
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) |
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 15]
Internet-Draft Abbreviated Title June 2015
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 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 .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 16]
Internet-Draft Abbreviated Title June 2015
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 Section 5.
5. Services KPIs
5.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 11: Services Keepalive Monitoring
5.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.
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 17]
Internet-Draft Abbreviated Title June 2015
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 12: Services Keepalive Monitoring
5.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.
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 18]
Internet-Draft Abbreviated Title June 2015
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 13: Serviced Packets Count
5.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 14: Serviced Bytes Count
5.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.
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 19]
Internet-Draft Abbreviated Title June 2015
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 15: Serviced Subscriber Count
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 20]
Internet-Draft Abbreviated Title June 2015
6. Acknowledgements
We would like to thank Perceival A Monteiro for their comments,
suggestions, reviews, helpful discussion, and proof-reading
7. 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:
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 21]
Internet-Draft Abbreviated Title June 2015
+-------+-------------+---------------+
| 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
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 22]
Internet-Draft Abbreviated Title June 2015
8. Security Considerations
NA
9. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4656] Shalunov, S., Teitelbaum, B., Karp, A., Boote, J., and M.
Zekauskas, "A One-way Active Measurement Protocol
(OWAMP)", RFC 4656, September 2006.
[RFC5357] Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J.
Babiarz, "A Two-Way Active Measurement Protocol (TWAMP)",
RFC 5357, October 2008.
[RFC5938] Morton, A. and M. Chiba, "Individual Session Control
Feature for the Two-Way Active Measurement Protocol
(TWAMP)", RFC 5938, August 2010.
[RFC6038] Morton, A. and L. Ciavattone, "Two-Way Active Measurement
Protocol (TWAMP) Reflect Octets and Symmetrical Size
Features", RFC 6038, 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
Srivathsa Sarangapani & ExpiresGDecember 31, 2015 [Page 23]