idnits 2.17.1 draft-spv-ippm-monitor-methodology-services-kpi-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 17, 2016) is 2840 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) No issues found here. Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 IP Performance Metrics Group Srivathsa. Sarangapani 3 Internet-Draft Peyush. Gupta 4 Intended status: Standards Track Juniper Networks 5 Expires: January 18, 2017 V. Hegde 6 Consultant 7 Q. Wu 8 Huawei 9 July 17, 2016 11 Monitoring Service KPIs using TWAMP - Methodology 12 draft-spv-ippm-monitor-methodology-services-kpi-02 14 Abstract 16 The TWAMP protocol provides a common architecture for two way 17 measurements in the IP network. However IP network performance are 18 also affected by a set of L4-L7 service deployed in the network. 19 Monitoring of these service performance in the IP network also plays 20 a vital role in network optimization and application layer traffic 21 optimization. This capability is not supported by the existing TWAMP 22 protocol. 24 In this document, we extend TWAMP protocol to support service 25 performance monitoring and service KPIs calculation. Some of the 26 existing fields in the TWAMP protocol are extended to support new 27 modes for calculating these KPIs. A set of new messages are added in 28 the control protocol between TWAMP client (session sender) and the 29 TWAMP server (session reflector). Services here ranging from Layer 4 30 to Layer 7 services,such as Http based services, Traffic load 31 balancer, DPI, Video caching, real time streaming and IPSec. The 32 KPIs MAY be service latency, liveliness of an application, number of 33 flows and sessions per service, load balancer statistics. 35 There is a separate Draft[I.D-spv-ippm-monitor-implementation- 36 services-kpi] that talks about implementation of monitoring these 37 KPIs in the network using TWAMP. Monitoring of these KPIs in the 38 service plane with in a network play a vital role in optimum usage of 39 network resources and improving the overall performance and capacity. 41 Status of This Memo 43 This Internet-Draft is submitted in full conformance with the 44 provisions of BCP 78 and BCP 79. 46 Internet-Drafts are working documents of the Internet Engineering 47 Task Force (IETF). Note that other groups may also distribute 48 working documents as Internet-Drafts. The list of current Internet- 49 Drafts is at http://datatracker.ietf.org/drafts/current/. 51 Internet-Drafts are draft documents valid for a maximum of six months 52 and may be updated, replaced, or obsoleted by other documents at any 53 time. It is inappropriate to use Internet-Drafts as reference 54 material or to cite them other than as "work in progress." 56 This Internet-Draft will expire on January 18, 2017. 58 Copyright Notice 60 Copyright (c) 2016 IETF Trust and the persons identified as the 61 document authors. All rights reserved. 63 This document is subject to BCP 78 and the IETF Trust's Legal 64 Provisions Relating to IETF Documents 65 (http://trustee.ietf.org/license-info) in effect on the date of 66 publication of this document. Please review these documents 67 carefully, as they describe your rights and restrictions with respect 68 to this document. Code Components extracted from this document must 69 include Simplified BSD License text as described in Section 4.e of 70 the Trust Legal Provisions and are provided without warranty as 71 described in the Simplified BSD License. 73 Table of Contents 75 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 76 1.1. Conventions used in this document . . . . . . . . . . . . 3 77 1.1.1. Requirements Language . . . . . . . . . . . . . . . . 3 78 1.2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 79 2. Purpose and Scope . . . . . . . . . . . . . . . . . . . . . . 4 80 3. Logical Model . . . . . . . . . . . . . . . . . . . . . . . . 5 81 4. TWAMP Extensions . . . . . . . . . . . . . . . . . . . . . . 6 82 4.1. TWAMP-Control Extensions . . . . . . . . . . . . . . . . 7 83 4.1.1. Connection Setup with Services KPIs Monitoring . . . 7 84 4.1.2. Services KPI-Monitor-REQ Command . . . . . . . . . . 7 85 4.1.3. Services KPI-Monitor-RSP Command . . . . . . . . . . 8 86 4.1.4. Services KPI-Monitor-IND Command . . . . . . . . . . 9 87 4.1.5. Services KPI-Monitor-ACK Command . . . . . . . . . . 10 88 4.1.6. Request-TW-Session Command Format . . . . . . . . . . 11 89 4.2. TWAMP-Test Extension . . . . . . . . . . . . . . . . . . 12 90 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17 91 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 92 7. Security Considerations . . . . . . . . . . . . . . . . . . . 19 93 8. Normative References . . . . . . . . . . . . . . . . . . . . 19 94 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19 96 1. Introduction 98 The TWAMP protocol defined in RFC 5357 [RFC5357] provides a common 99 architecture for two way measurements in the IP network. In large 100 scale IP environment, there are also large number of L4 to L7 101 services being deployed. Measuring these service performance become 102 important when we measure the whole IP network performance. However 103 the existing TWAMP protocol does not provide such capability which 104 allow interaction between service plane and IP forwarding plane and 105 monitor service KPI in the IP network. 107 The KPIs MAY include service latency, service load monitoring in 108 terms of number of flows, number of sessions, number of subscribers, 109 number of octets, liveliness of a service. In this document, we 110 extend TWAMP protocol to calculate services KPIs and metrics in the 111 network. 113 Services KPI Monitoring using TWAMP MAY be used to measure service 114 latency of DPI, number of CGNAT flows, number of TDF subscribers and 115 so on. Similarly this MAY be used to monitor the liveliness of the 116 DNS Server, HTTP Server and so on. 118 As per the proposed extension, both the TWAMP-Control and the TWAMP- 119 Test packet formats are modified. One TWAMP-Test session SHALL be 120 used to monitor KPIs for a specific service. But there can be 121 multiple KPIs monitored using a single test session for a specific 122 service. A single TWAMP-Control connection MAY establish multiple 123 TWAMP-Test sessions that measure KPIs for multiple services in the 124 network. 126 This extension can be used to monitor KPIs for standalone service or 127 a set of services. 129 1.1. Conventions used in this document 131 1.1.1. Requirements Language 133 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 134 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 135 document are to be interpreted as described in RFC 2119 [RFC2119]. 137 1.2. Terminology 139 TWAMP: Two-Way Active Measurement Protocol 141 OWAMP: One-Way Active Measurement Protocol 143 KPI: Key Performance Indicator 144 DPI: Deep Packet Inspection 146 CGNAT: Carrier Grade Network Address Translation 148 SFW: Stateful Firewall 150 TDF: Traffic Detection Function 152 DNS: Domain Name Server 154 HTTP: Hyper Text Transfer Protocol 156 FTP: File Transfer Protocol 158 SKMC: Services KPI Monitoring Command 160 SID: Session ID 162 PDU: Protocol Data Unit 164 MBZ: Must Be Zero 166 HMAC: Hash Message Authentication Code 168 IPVN: IP Version Number 170 2. Purpose and Scope 172 The purpose of this extension is to provide a method to describe an 173 additional optional feature for TWAMP RFC 5357 [RFC5357]. 175 The scope of the extension is limited to specifications of the 176 following features: 178 1. Extension of the modes of operation through assignment of a new 179 value in the Modes field to communicate feature capability. 181 2. Addition of new command types to identify, negotiate and monitor 182 the supported services and supported KPIs for each service 183 between Control-Client and TWAMP Server. 185 3. Use of existing padding octets of TWAMP-Test session to carry the 186 services KPI data that is being monitored as part of the TWAMP- 187 Test session. 189 The purpose for this feature is to enhance TWAMP protocol to monitor 190 and calculate service-related KPIs in real-time that helps in network 191 performance analysis and optimization. 193 The actual method to calculate the KPIs is discussed in a separate 194 draft on implementation 196 3. Logical Model 198 The set of messages that are exchanged between the Control-Client and 199 TWAMP Server to negotiate and monitor the services KPI is referred to 200 as Service Block (Fig 1.) Service Block MAY be a part of the same 201 network element or can be a different entity. 203 Services KPI-Monitor-REQ is sent from Control-Client to TWAMP Server 204 to get the list of supported services and the KPIs that can be 205 monitored for each service. Once TWAMP Server receives this request, 206 Services KPI-Monitor-RSP is sent with the number of services that can 207 be monitored on this Control-Client connection. 209 This message is followed by Services KPI-Monitor-IND message from the 210 Server which contain a service ID to identify the service and the 211 list of KPIs that are supported for this service.The client replies 212 with the Services KPI-Monitor-ACK message that include the list of 213 KPIs the client is interested in monitoring. This pair of two 214 messages will be repeated for each of the services that Server can 215 monitor. 217 Then the client will initiate Request-TW-Session Message that contain 218 the service ID for a specific service. Once Server replies with the 219 Accept-Session Message, the client SHALL start sending test packets 220 that MAY contain Service PDU. 222 +--------+ +--------+ 223 | Client | | Server | 224 +--------+ +--------+ 225 | | 226 |<------TCP Connection------------->| 227 | | 228 |<------Greeting Message------------| 229 | | 230 |-------Set-Up-Response------------>| 231 | | 232 |<------Server-Start----------------| 233 | | 234 |-------Services KPI-Monitor-REQ--->| 235 |<------Services KPI-Monitor-RSP----| 236 | | 237 |<-----Services KPI-Monitor-IND-----| 238 |------Services KPI-Monitor-ACK---->| 239 | . | 240 | . | 241 | . | 242 |<-----Services KPI-Monitor-IND-----| 243 |------Services KPI-Monitor-ACK---->| 244 | | 245 |------Request-TW-Session---------->| 246 |<-----Accept Session---------------| 247 | . | 248 | . | 249 |------Request-TW-Session---------->| 250 |<-----Accept Session---------------| 252 Figure 1 254 4. TWAMP Extensions 256 The TWAMP connection establishment follows the procedure defined in 257 Section 3.1 of OWAMP [RFC4656] and Section 3.1 of TWAMP [RFC5357] 258 where the Modes field is used to identify and select specific 259 communication capabilities. At the same time the Modes field been 260 recognized and used as an extension mechanism of TWAMP Reflect Octets 261 and Symmetrical Size Features [RFC6038]. The new feature requires a 262 new bit position to identify the ability of a Session-Reflector to 263 monitor Services KPIs. There are changes in both the Control-Client 264 and TWAMP-Test packet formats to support this functionality. 266 4.1. TWAMP-Control Extensions 268 The TWAMP-Control is a derivative of the OWAMP-Control, and provides 269 two-way measurement capability. TWAMP; [RFC5357] uses the Modes 270 field to identify and select specific communication capabilities, and 271 this field is a recognized extension mechanism. The following 272 Sections describe one such extension. 274 4.1.1. Connection Setup with Services KPIs Monitoring 276 TWAMP-Control connection establishment follows the procedure defined 277 in Section 3.1 of OWAMP; [RFC4656]. The Services KPIs Monitoring 278 using TWAMP mode requires one new bit position (and value) to 279 identify the ability of the Server or the Session-Reflector to 280 monitor the Services KPIs of the sessions. This new extension 281 requires an additional TWAMP mode bit assignment as explained in 282 Section 5.1. 284 A Control-Client MAY request for Services KPIs monitoring for some of 285 its sessions. To do so, it needs to know which services can be 286 monitored and the corresponding KPIs (of those services)that can be 287 monitored. 289 Services KPI Monitoring Command (SKMC) consist of a set of messages 290 which SHALL be used for monitoring the KPIs of a service. This new 291 command requires an additional TWAMP Command Number as explained in 292 Section 6. 294 4.1.2. Services KPI-Monitor-REQ Command 296 A Control-Client MAY send Services KPI-Monitor-REQ command to the 297 Server to obtain the list of services and their KPIs that can be 298 monitored by the Session-Reflector. 300 The format of the Services KPI-Monitor-REQ Command is as follows: 302 0 1 2 3 303 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 304 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 305 | Command Number| REQ | MBZ (2 octets) | 306 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 307 | | 308 | HMAC (16 octets) | 309 | | 310 | | 311 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 313 Figure 2: Services KPI-Monitor-REQ Command 315 Since this is a new command, a Command Number value should be 316 allocated by the IANA in the registry as mentioned in Section 6. The 317 command number indicates that this is one of the Services KPI 318 Monitoring Command. The Control-Client MUST compose this command, 319 and the Server MUST interpret this command, according to the field 320 descriptions below. 322 The sub-type field MUST be REQ for this message. This message 323 indicates that the Client is requesting Server to send the list of 324 Services and the corrosponding KPIs that can be monitored. 326 The message is terminated with a single block HMAC, as illustrated 327 above. 329 The Server MUST respond with Services KPI-Monitor-RSP Command 330 Section 4.1.3. 332 4.1.3. Services KPI-Monitor-RSP Command 334 The Server responds to the Services KPI-Monitor-REQ Command by 335 sending a Services KPI-Monitor-RSP Command. The format of the 336 Services KPI-Monitor-RSP Command is as follows: 338 0 1 2 3 339 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 340 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 341 |Command Number | RSP | MBZ (2 octets) | 342 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 343 | Number of services | 344 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 345 | | 346 | HMAC (16 octets) | 347 | | 348 | | 349 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 351 Figure 3: Services KPI-Monitor-RSP Command 353 The Command Number value here is same as mentioned in Section 6. The 354 Server MUST compose this command, and the Control-Client MUST 355 interpret this command, according to the field descriptions below. 357 The sub-type field MUST be RSP for this command. The field "Number 358 of Services" indicates the number of Services for which the Session- 359 Reflector can monitor the KPI. 361 The message is terminated with a single block HMAC, as illustrated 362 above. 364 4.1.4. Services KPI-Monitor-IND Command 366 The Server MUST send the Services KPI-Monitor-IND Command after 367 sending Services KPI Monitor-RSP message. This message includes the 368 list of KPIs that can be monitored for a service. 370 0 1 2 3 371 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 372 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 373 | Command Number| IND | Service ID | 374 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 375 | | 376 | Service Description (12 octets) | 377 | | 378 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 379 | | 380 | Supported Services KPIs Bitmask (2 octets) | 381 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 382 | | 383 | HMAC (16 octets) | 384 | | 385 | | 386 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 388 Figure 4: Services KPI-Monitor-IND Command 390 The Command Number value here is same as mentioned in Section 6. The 391 Server MUST compose this command, and the Control-Client MUST 392 interpret this command, according to the field descriptions below. 394 The sub-type field MUST be IND for this Command. This field 395 indicates that the Server is responding to the Control-Client with 396 the details of the KPIs of a service that can be monitored by 397 Session-Reflector. 399 Service ID is an identifier which would be set by the Server to 400 identify a Service. This ID MUST be used in the TWAMP-Control and 401 TWAMP-Test messages to identify a particular Service. The range of 402 Service ID MUST be 1 to 65535; The value 0 is Reserved. 404 Service Description MAY be set of alphanumeric characters that would 405 provide a brief description of a particular Service. Example: "DPI" 406 "CGNAT" "DNS-Server" "HTTP-Server". 408 Supported Services KPIs Bitmask is a bitmask that would indicate the 409 kind of KPI Monitoring using TWAMP is supported by the Session- 410 Reflector for a particular Service. 412 The message is terminated with a single block HMAC, as illustrated 413 above. 415 For each Services KPIs monitoring supported, the Server MUST send one 416 Services KPI-Monitor-IND Command to the Control-Client. 418 4.1.5. Services KPI-Monitor-ACK Command 420 The Control-client MUST respond back with a Services KPI-Monitor-ACK 421 Command for each Services KPI-Monitor-IND Command. 423 0 1 2 3 424 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 425 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 426 | Command Number| ACK | Service ID | 427 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 428 | | 429 | Service Description (12 octets) | 430 | | 431 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 432 | | 433 | Requested Services KPIs Bitmask (2 octets) | 434 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 435 | | 436 | HMAC (16 octets) | 437 | | 438 | | 439 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 441 Figure 5: Services KPI-Monitor-ACK Command 443 The Command Number is same as mentioned in Section 6. The Server 444 MUST frame this command, and the Control-Client MUST interpret this 445 command, according to the field descriptions below. 447 The sub-type field MUST be ACK for this message. This field 448 indicates that the Control-client is acknowledging the Server with 449 details of which KPIs of a particular service it is interested in. 451 Service ID and Service Description MUST be same as that received in 452 the Services KPI-Monitor-IND Command. These two fields together 453 identify a particular Service. 455 Requested Services KPIs Bitmask MUST be set by the Control-Client and 456 that indicates the KPIs of the services that the Control-Client is 457 interested in monitoring. The KPIs can be a subset or the full set 458 of KPIs sent in the corresponding Service KPI-Monitor-IND Command. 460 The Command is terminated with a single block HMAC, as illustrated 461 above. 463 For each Services KPI-Monitor-IND Command received at the control- 464 client, it acknowledges by sending a Services KPI-Monitor-ACK 465 Command. 467 4.1.6. Request-TW-Session Command Format 469 0 1 2 3 470 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 471 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 472 | 5 | MBZ | IPVN | Conf-Sender | Conf-Receiver | 473 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 474 | Number of Schedule Slots | 475 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 476 | Number of Packets | 477 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 478 | Sender Port | Receiver Port | 479 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 480 | Sender Address | 481 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 482 | | 483 | Sender Address (cont.) or MBZ (12 octets) | 484 | | 485 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 486 | Receiver Address | 487 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 488 | | 489 | Receiver Address (cont.) or MBZ (12 octets) | 490 | | 491 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 492 | | 493 | SID (16 octets) | 494 | | 495 | | 496 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 497 | Padding Length | 498 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 499 | Start Time | 500 | | 501 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 502 | Timeout, (8 octets) | 503 | | 504 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 505 | Type-P Descriptor | 506 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 507 | Octets to be reflected | Length of padding to reflect | 508 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 509 | Service ID | MBZ (2 octets) | 510 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 511 | | 512 | HMAC (16 octets) | 513 | | 514 | | 515 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 517 Figure 6: Request-TW-Session Command 519 This new feature requires 2 octets to indicate the Service ID as a 520 part of Request-TW-Session Command. See Section 6 for details on the 521 octet position. If Services KPIs Monitoring using TWAMP feature is 522 not requested as a part of this TWAMP-Test Session, then the Service 523 ID MUST be 0. 525 If Service ID has a non-zero value, then the Padding Length field MAY 526 not have any significance. The test packets between Session-Sender 527 and Session-Reflector MAY be of different size based on the 528 implementation. 530 The actual test packets MAY contain valid data which SHOULD be 531 interpreted by Session-Sender or Session-Reflector to monitor 532 Services KPIs. Please refer TWAMP-Test Extension Section 4.2 for 533 more details. 535 4.2. TWAMP-Test Extension 537 As part of this extension, the existing Packet Padding octets in the 538 Test Packet MAY be used for the monitoring of the Services KPIs as 539 explained in KPI Implemnetation Draft. The Packet Padding octets 540 which were either zero or filled with pseudo-random values MAY now 541 have some valid data like timestamps, statistics, service PDUs and so 542 on. 544 The Session-Sender Test Session data packet formats are provided 545 below. 547 0 1 2 3 548 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 549 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 550 | Sequence Number | 551 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 552 | Timestamp | 553 | | 554 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 555 | Error Estimate | | 556 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 557 | MBZ (6 octets) | 558 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 559 | | 560 . . 561 . Packet Padding . 562 . . 563 | | 564 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 566 Figure 7: Unauthenticated Mode Session-Sender Data Packet Format 568 As a part of the extension, 6 octets of MBZ are added after the Error 569 Estimate field. 571 0 1 2 3 572 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 573 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 574 | Sequence Number | 575 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 576 | | 577 | MBZ (12 octets) | 578 | | 579 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 580 | Timestamp | 581 | | 582 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 583 | Error Estimate | | 584 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 585 | MBZ (6 octets) | 586 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 587 | | 588 | HMAC (16 octets) | 589 | | 590 | | 591 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 592 | | 593 . . 594 . Packet Padding . 595 . . 596 | | 597 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 599 Figure 8: Authenticated and Encrypted Mode Session-Reflector Data 600 Packet Format 602 The Session-Reflector Test Session data packet formats are provided 603 below. 605 0 1 2 3 606 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 607 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 608 | Sequence Number | 609 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 610 | Timestamp | 611 | | 612 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 613 | Error Estimate | MBZ | 614 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 615 | Receive Timestamp | 616 | | 617 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 618 | Sender Sequence Number | 619 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 620 | Sender Timestamp | 621 | | 622 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 623 | Sender Error Estimate | MBZ | 624 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 625 | Sender TTL | MBZ | 626 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 627 | | 628 | Monitored Services KPIs Bitmask (2 octets) | 629 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 630 | | 631 . . 632 . Packet Padding . 633 . . 634 | | 635 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 637 Figure 9: Unauthenticated Mode Session-Reflector Data Packet Format 639 As a part of this extension, The 3 octets of MBZ are added after the 640 Error Estimate field to align the next set of fields. 642 Monitored Services KPIs Bitmask indicates the services KPIs that are 643 present in this message. The KPIs would be present in the Packet 644 Padding area in the same order as indicated by Bitmask starting from 645 bit 0 Position. 647 0 1 2 3 648 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 649 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 650 | Sequence Number | 651 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 652 | MBZ (12 octets) | 653 | | 654 | | 655 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 656 | Timestamp | 657 | | 658 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 659 | Error Estimate | | 660 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + 661 | MBZ (6 octets) | 662 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 663 | Receive Timestamp | 664 | | 665 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 666 | MBZ (8 octets) | 667 | | 668 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 669 | Sender Sequence Number | 670 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 671 | MBZ (12 octets) | 672 | | 673 | | 674 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 675 | Sender Timestamp | 676 | | 677 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 678 | Sender Error Estimate | | 679 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + 680 | MBZ (6 octets) | 681 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 682 | Sender TTL | | 683 +-+-+-+-+-+-+-+-+ + 684 | | 685 | | 686 | MBZ (15 octets) | 687 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 688 | HMAC (16 octets) | 689 | | 690 | | 691 | | 692 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 693 | | 694 | Monitored Services KPIs Bitmask (2 octets) | 695 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 696 | | 697 . Packet Padding . 698 . . 699 | | 700 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 702 Figure 10: Authenticated and Encrypted Mode Session-Reflector Data 703 Packet Format 705 As a part of this extension, Monitored Services KPIs Bitmask 706 indicates the services KPIs that are present in this message. The 707 KPIs would be present in the Packet Padding area in the same order as 708 indicated by Bitmask starting from bit 0 Position. The set of KPIs 709 defined for a service are listed in KPI Implementation draft 711 5. Acknowledgements 713 We would like to thank Perceival A Monteiro for their comments, 714 suggestions, reviews, helpful discussion, and proof-reading 716 6. IANA Considerations 718 The TWAMP-Modes registry defined in [RFC6038]. IANA is requested to 719 reserve a new bit in Modes registry for Services KPIs Monitoring 720 Capability as follows: 722 +------------+----------------------+-------------------+-----------+ 723 | Value | Description | Semantics | Reference | 724 +------------+----------------------+-------------------+-----------+ 725 | X | Services KPIs | bit position | This | 726 | (proposed | Monitoring | Y(proposed 8) | document | 727 | 256) | Capability | | | 728 +------------+----------------------+-------------------+-----------+ 730 Table 1: Services KPIs Monitoring Capability 732 TWAMP-Control Command Number Registry defined in [RFC5938].IANA is 733 requested to reserve a Command Number for Services KPIs Monitoring 734 Capability as follows: 736 +----------------+-------------------------+-----------+------------+ 737 | Value | Description | Semantics | Reference | 738 +----------------+-------------------------+-----------+------------+ 739 | SKMC (proposed | Services KPIs | | This | 740 | 11) | Monitoring Command | | document | 741 +----------------+-------------------------+-----------+------------+ 743 Table 2: New Service Latency Monitoring Command 745 TWAMP Services KPIs sub-type Registry 747 IANA is requested to reserve and maintain the sub-types as a part of 748 Services KPIs Monitoring Command as follows: 750 +-------+-------------+---------------+ 751 | Value | Description | Explanation | 752 +-------+-------------+---------------+ 753 | 0 | Reserved | | 754 | 1 | REQ | Section 4.1.2 | 755 | 2 | RESP | Section 4.1.3 | 756 | 3 | IND | Section 4.1.4 | 757 | 4 | ACK | Section 4.1.5 | 758 +-------+-------------+---------------+ 760 Table 3: TWAMP Services KPIs sub-type Registry 762 TWAMP Services KPIs Registry 764 IANA is requested to reserve and maintain the below Services KPIs: 766 +-------+----------------+------------------------------------------+ 767 | Value | Description | Explanation | 768 +-------+----------------+------------------------------------------+ 769 | 0 | None | | 770 | 1 | Keepalive | Whether the respective service is | 771 | | | running or not | 772 | 2 | Service | Service Latency which SHALL include the | 773 | | Latency | transit time and actual service time | 774 | 4 | Serviced | Number of ingress and egress packets for | 775 | | Packets Count | the respective service | 776 | 8 | Serviced Bytes | Number of ingress and egress bytes for | 777 | | Count | the respective service. | 778 | 16 | Serviced | Number of subscribers currently active | 779 | | Subscriber | for the respective service. | 780 | | Count | | 781 +-------+----------------+------------------------------------------+ 783 Table 4: TWAMP Services KPIs Registry 785 Request-TW-Session message defined in [RFC6038].IANA is requested to 786 reserve 2 octets for Service ID as follows: 788 +-------+-------------+--------------------------------+------------+ 789 | Value | Description | Semantics | Reference | 790 +-------+-------------+--------------------------------+------------+ 791 | X | Service ID | 2 Octets starting from offset | This | 792 | | | 92th Octet | document | 793 +-------+-------------+--------------------------------+------------+ 795 Table 5: New Services KPIs Monitoring Capability 797 7. Security Considerations 799 The TWAMP protocol (RFC 5357) supports authenticated and encrypted 800 mode for TWAMP session and data. The new extension proposed in this 801 draft supports the authenticated and encrypted mode and is therefore 802 provides a secure mechanism to monitor services KPIs 804 8. Normative References 806 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 807 Requirement Levels", BCP 14, RFC 2119, 808 DOI 10.17487/RFC2119, March 1997, 809 . 811 [RFC4656] Shalunov, S., Teitelbaum, B., Karp, A., Boote, J., and M. 812 Zekauskas, "A One-way Active Measurement Protocol 813 (OWAMP)", RFC 4656, DOI 10.17487/RFC4656, September 2006, 814 . 816 [RFC5357] Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J. 817 Babiarz, "A Two-Way Active Measurement Protocol (TWAMP)", 818 RFC 5357, DOI 10.17487/RFC5357, October 2008, 819 . 821 [RFC5938] Morton, A. and M. Chiba, "Individual Session Control 822 Feature for the Two-Way Active Measurement Protocol 823 (TWAMP)", RFC 5938, DOI 10.17487/RFC5938, August 2010, 824 . 826 [RFC6038] Morton, A. and L. Ciavattone, "Two-Way Active Measurement 827 Protocol (TWAMP) Reflect Octets and Symmetrical Size 828 Features", RFC 6038, DOI 10.17487/RFC6038, October 2010, 829 . 831 Authors' Addresses 833 Srivathsa Sarangapani 834 Juniper Networks 835 89, Asthagrama Layout 2nd Stage, Basavehwaranagar 836 Bangalore 560079 837 INDIA 839 Phone: +91 9845052354 840 Email: srivathsas@juniper.net 841 Peyush Gupta 842 Juniper Networks 843 Flat #206, Keerti Royal Apartment, Outer Ring Road 844 Bangalore, Karnataka 560043 845 INDIA 847 Phone: +91 9449251927 848 Email: peyushg@juniper.net 850 Vinayak Hegde 851 Consultant 852 Brahma Sun City, Wadgaon-Sheri 853 Pune, Maharashtra 411014 854 INDIA 856 Phone: +91 944984401 857 Email: vinayakh@gmail.com 859 Qin Wu 860 Huawei 861 101 Software Avenue, Yuhua District 862 Nanjing, Jiangsu 210012 863 China 865 Phone: +86-25-84565892 866 Email: bill.wu@huawei.com