Internet DRAFT - draft-morton-ippm-twamp-tcp

draft-morton-ippm-twamp-tcp






Network Working Group                                          A. Morton
Internet-Draft                                                 AT&T Labs
Updates: 5357 (if approved)                                July 15, 2013
Intended status: Standards Track
Expires: January 16, 2014


                   TWAMP Control of a TCP Connection
                     draft-morton-ippm-twamp-tcp-00

Abstract

   This memo describes a feature for the core specification of TWAMP -
   the Two-Way Active Measurement Protocol: an optional capability where
   a TCP connection can be coordinated between two participating hosts.
   The feature includes the ability to control TCP configuration
   settings and byte stream characteristics, enabling diagnostic
   testing.

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

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 January 16, 2014.

Copyright Notice

   Copyright (c) 2013 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



Morton                  Expires January 16, 2014                [Page 1]

Internet-Draft            TWAMP TCP Connection                 July 2013


   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
   2.  Purpose and Scope  . . . . . . . . . . . . . . . . . . . . . .  3
   3.  TWAMP Control Extensions . . . . . . . . . . . . . . . . . . .  4
     3.1.  Connection Setup with New Features . . . . . . . . . . . .  4
     3.2.  TCP Connection: Request-TW-Session Packet Format . . . . .  5
     3.3.  TCP Connection: Accept Session Packet Format . . . . . . .  6
     3.4.  Stopping Test Sessions . . . . . . . . . . . . . . . . . .  8
     3.5.  Additional considerations  . . . . . . . . . . . . . . . .  8
   4.  TWAMP Test for TCP Connection Feature  . . . . . . . . . . . .  8
     4.1.  Initiater Behavior . . . . . . . . . . . . . . . . . . . .  8
     4.2.  Listener Behavior  . . . . . . . . . . . . . . . . . . . .  8
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . .  8
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  8
     6.1.  Registry Specification . . . . . . . . . . . . . . . . . .  9
     6.2.  Modes Registry Contents  . . . . . . . . . . . . . . . . .  9
     6.3.  Command Number Registry Contents . . . . . . . . . . . . .  9
   7.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10
   8.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 10
     8.1.  Normative References . . . . . . . . . . . . . . . . . . . 10
     8.2.  Informative References . . . . . . . . . . . . . . . . . . 11
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 11


















Morton                  Expires January 16, 2014                [Page 2]

Internet-Draft            TWAMP TCP Connection                 July 2013


1.  Introduction

   TWAMP - the Two-Way Active Measurement Protocol [RFC5357] is an
   extension of the One-way Active Measurement Protocol, OWAMP
   [RFC4656].  The TWAMP specification gathered wide review as it was
   deployed, resulting in recommendations for new features.

   An open question in the IPPM problem statement draft
   [I-D.ietf-ippm-rate-problem] is whether testing with TCP transport
   protocol is a needed capability.  The current TWAMP test protocol
   capability is limited to UDP transport.

   This memo describes a feature for the core specification of TWAMP -
   the Two-Way Active Measurement Protocol: an optional capability where
   a TCP connection can be coordinated between two participating hosts.
   The feature includes the ability to control TCP configuration
   settings and byte stream characteristics, enabling diagnostic
   testing.

   This memo is an update to the TWAMP core protocol specified in
   [RFC5357].  Measurement systems are not required to implement the
   features described in this memo to claim compliance with [RFC5357].

   TWAMP was selected to host the TCP Connection feature because OWAMP
   [RFC4656] was not extended to use the Mixed Security mode, and this
   is a distinct advantage in testing.

   Throughout this memo, the bits marked MBZ (Must Be Zero) MUST be set
   to zero by senders and MUST be ignored by receivers.  Also, the HMAC
   (Hashed Message Authentication Code) MUST be calculated as defined in
   Section 3.2 of [RFC4656].


2.  Purpose and Scope

   The purpose of this memo is to define an OPTIONAL feature for TWAMP
   [RFC5357].  The feature controls capability to setup a TCP connection
   and coordinate the configuration details of that connection between
   the test sender and the reflector hosts.

   This memo is intended to satisfy key requirements contained in the
   IPPM problem statement [I-D.ietf-ippm-rate-problem].  Referring to
   the reference path defined in [I-D.morton-ippm-lmap-path], possible
   measurement points include a Subscriber's host (mp000), the access
   service demarcation point (mp100), Intra IP access where a globally
   routable address is present (mp150), or the gateway between the
   measured access network and other networks (mp190).




Morton                  Expires January 16, 2014                [Page 3]

Internet-Draft            TWAMP TCP Connection                 July 2013


   This memo extends the modes of operation through assignment of two
   new values in the Modes Field (see section 3.1 of[RFC4656] for the
   format of the Server Greeting message), while retaining backward
   compatibility with the core TWAMP [RFC5357] implementations.  The two
   new values correspond to the two roles (connection initiator or
   connection listener) defined in this memo.

   When the Server and Control-Client have agreed to use one of the TCP
   Connection modes during control connection setup, then the Control-
   Client, the Server, the Session-Sender, and the Session-Reflector
   MUST all conform to the requirements of that mode, as identified
   below.


3.  TWAMP Control Extensions

   TWAMP-Control protocol [RFC5357] uses the Modes Field to identify and
   select specific communication capabilities, and this field is a
   recognized extension mechanism.  The following sections describe two
   such extensions.

3.1.  Connection Setup with New Features

   TWAMP connection establishment follows the procedure defined in
   section 3.1 of [RFC4656] and section 3.1 of [RFC5357].  The new
   features require two new bit positions (and values).  See the IANA
   section below for details on the assigned values and bit positions.

   The Server sets one or both of the TCP Connection bit positions in
   the Modes Field of the Server Greeting message to indicate its
   capabilities and willingness to operate in either of these modes
   (connection initiator or connection listener) if desired.

   If the Control-Client intends to operate all test sessions invoked
   with this control connection using one of the new modes, it MUST set
   the Mode Field bit corresponding to each function in the Setup
   Response message.  With this and other *compatible* extensions, the
   Control-Client MAY set multiple Mode Field bits in the Setup Response
   message.  The TCP Connection features are mutually exclusive, and
   MUST NOT be used together.

   The following Mode settings are compatible with either TCP Connection
   Mode:

   o  Unauthenticated mode (value 1)

   o  Unauthenticated TEST protocol, Encrypted CONTROL (value 8)




Morton                  Expires January 16, 2014                [Page 4]

Internet-Draft            TWAMP TCP Connection                 July 2013


   The latter is referred to as the Mixed Security Mode.

   The function of Integrity Protections and Values of the Accept Field
   (sections 3.2 and 3.3 of [RFC5357]) remain as described.

3.2.  TCP Connection: Request-TW-Session Packet Format

   The bits designated for the TCP Connection feature in the Request-TW-
   Session command are as shown in the packet format below.

   This is a new command, designated by the TWAMP-Control Command Number
   XX (where XX will be assigned by IANA).







































Morton                  Expires January 16, 2014                [Page 5]

Internet-Draft            TWAMP TCP Connection                 July 2013


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     XX        |  MBZ  | IPVN  |            MBZ                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   .                                                               .
   .         ... Many fields (?? octets) not formatted ...         .
   .                                                               .
   Session ID (SID)
   Initiator Address (v4 or v6)
   Initiator Port
   Listener Address (v4 or v6)
   Listener Port
   TCP Configuration Fields (for Initiator and Listener)
     (such as Max Advertised Sender Window,
              Initial Window,
              MSS (recommended)
              Congestion Control (selection from a list?)

   Stream Configuration Fields (for Initiator and Listener)
     (such as Length of PDU to write,
              Number of PDUs to write,
              Max Duration of the TCP connection

   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Type-P Descriptor                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       MBZ (4 octets)                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       MBZ (4 octets)                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                       HMAC (16 octets)                        |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   field formatting is TBD

3.3.  TCP Connection: Accept Session Packet Format

   The Accept Session command for the TCP Connection feature is as shown
   in the packet format below.







Morton                  Expires January 16, 2014                [Page 6]

Internet-Draft            TWAMP TCP Connection                 July 2013


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Accept     |      MBZ      |            Port               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
   |                                                               |
   |                        SID (16 octets)                        |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       MBZ (4 octets)                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       MBZ (8 octets)                          |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   |                       HMAC (16 octets)                        |
   |                                                               |
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   If a TWAMP Server receives an unrecognized command number, it MUST
   respond with the Accept field = 3 in the Accept-Session message.  The
   augmented Accept Field values are listed below.

   o  0 = OK (Accept the session)

   o  1 = Failure, reason unspecified

   o  2 = Internal Error

   o  3 = Some aspect of the request is not supported

   o  4 = Cannot perform request due to permanent resource limitations

   o  5 = Cannot perform request due to temporary resource limitations

   o  6 = Requested Port Not Available

   o  7 = Requested Address Not Available

   All other values are reserved for future use.  Reception of a non-
   designated value MUST be interpreted as 1 = Failure.







Morton                  Expires January 16, 2014                [Page 7]

Internet-Draft            TWAMP TCP Connection                 July 2013


3.4.  Stopping Test Sessions

   The Control-Client SHALL stop in-progress test sessions using
   standardized methods, section 3.8 of [RFC5357].

3.5.  Additional considerations

   The value of the Modes Field sent by the Server in the Server
   Greeting message is the bit-wise OR of the mode values that it is
   willing to support during this session.

   With the publication of this memo as an RFC, the last ?? bit
   positions of the Modes 32-bit Field are used.  A Control-Client
   conforming to this extension of [RFC5357] MAY ignore the values in
   the higher bits of the Modes Field, or it MAY support other features
   that are communicated in those bit positions.  The other bits are
   available for future protocol extensions.


4.  TWAMP Test for TCP Connection Feature

   This section will include additional considerations for the TCP
   Connection Initiator and Listener, once a session has been requested
   and accepted.

4.1.  Initiater Behavior

   This section describes extensions to the behavior of the TWAMP TCP
   Initiator.

4.2.  Listener Behavior

   The TWAMP TCP Listener


5.  Security Considerations

   These extended modes of operation do not appear to permit any new
   attacks on hosts communicating with core TWAMP [RFC5357].

   The security considerations that apply to any active measurement of
   live networks are relevant here as well.  See [RFC4656] and
   [RFC5357].


6.  IANA Considerations

   This memo adds two modes to the IANA registry for the TWAMP Modes



Morton                  Expires January 16, 2014                [Page 8]

Internet-Draft            TWAMP TCP Connection                 July 2013


   Field, and describes behavior when the new modes are used.  This
   field is a recognized extension mechanism for TWAMP.

6.1.  Registry Specification

   IANA has created a TWAMP-Modes registry (as requested in [RFC5618]).
   TWAMP-Modes are specified in TWAMP Server Greeting messages and
   Set-up Response messages, as described in section 3.1 of [RFC5357],
   consistent with section 3.1 of [RFC4656], and extended by this memo.
   Modes are indicated by setting bits in the 32-bit Modes field that
   correspond to values in the Modes registry.  For the TWAMP-Modes
   registry, we expect that new features will be assigned increasing
   registry values that correspond to single bit positions, unless there
   is a good reason to do otherwise (more complex encoding than single
   bit positions may be used in the future, to access the 2^32 value
   space).

6.2.  Modes Registry Contents

   TWAMP Modes Registry is recommended to be augmented as follows:

   Value  Description             Semantics Definition
   --------------------------------------------------------
   xxx    TCP Connection         this memo, section 3.1
          Initiator              new bit position (X)
   yyy    TCP Connection         this memo, section 3.1
          Listener               new bit position (Y)


   >>>IANA: change xxx, yyy, X, Y, and RFC???? to the assigned values

   The suggested values are

   X=?, xxx=???

   Y=?, yyy=??? <<<<

6.3.  Command Number Registry Contents

   TWAMP-Control Command Number Registry is recommended to be augmented
   as follows:










Morton                  Expires January 16, 2014                [Page 9]

Internet-Draft            TWAMP TCP Connection                 July 2013


   Value  Description             Semantics Definition
   --------------------------------------------------------
   XX     TCP Connection          this memo, section 3.2


   >>>IANA: change XX to the assigned values

   The suggested values are

   XX=11, <<<<


7.  Acknowledgements

   The author will complete this section as appropriate.


8.  References

8.1.  Normative References

   [RFC1305]  Mills, D., "Network Time Protocol (Version 3)
              Specification, Implementation", RFC 1305, March 1992.

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

   [RFC5618]  Morton, A. and K. Hedayat, "Mixed Security Mode for the
              Two-Way Active Measurement Protocol (TWAMP)", RFC 5618,
              August 2009.

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





Morton                  Expires January 16, 2014               [Page 10]

Internet-Draft            TWAMP TCP Connection                 July 2013


8.2.  Informative References

   [I-D.ietf-ippm-rate-problem]
              Morton, A., "Rate Measurement Test Protocol Problem
              Statement", draft-ietf-ippm-rate-problem-03 (work in
              progress), April 2013.

   [I-D.morton-ippm-lmap-path]
              Bagnulo, M., Burbridge, T., Crawford, S., Eardley, P., and
              A. Morton, "A Reference Path and Measurement Points for
              LMAP", draft-morton-ippm-lmap-path-01 (work in progress),
              February 2013.


Author's Address

   Al Morton
   AT&T Labs
   200 Laurel Avenue South
   Middletown,, NJ  07748
   USA

   Phone: +1 732 420 1571
   Fax:   +1 732 368 1192
   Email: acmorton@att.com
   URI:   http://home.comcast.net/~acmacm/

























Morton                  Expires January 16, 2014               [Page 11]