draft-ietf-ippm-twamp-value-added-octets-03.txt   draft-ietf-ippm-twamp-value-added-octets-04.txt 
Network Working Group S. Baillargeon Network Working Group S. Baillargeon
INTERNET-DRAFT C. Flinta INTERNET-DRAFT C. Flinta
Intended Status: Informational A. Johnsson Intended Status: Informational A. Johnsson
Expires: October 26, 2012 S. Ekelin Expires: December 31, 2012 S. Ekelin
Ericsson Ericsson
April 26, 2012 June 29, 2012
Ericsson TWAMP Value-Added Octets Ericsson TWAMP Value-Added Octets
draft-ietf-ippm-twamp-value-added-octets-03.txt draft-ietf-ippm-twamp-value-added-octets-04.txt
Abstract Abstract
This memo describes an extension to the TWAMP test protocol for This memo describes an extension to the TWAMP test protocol for
identifying and managing packet trains, which enables measuring identifying and managing packet trains, which enables measuring
capacity metrics like the available path capacity, tight section capacity metrics like the available path capacity, tight section
capacity and UDP delivery rate in the forward and reverse path capacity and UDP delivery rate in the forward and reverse path
directions. directions.
This memo contains the description of a working prototype. It does This memo contains the description of a working prototype. It does
skipping to change at page 1, line 41 skipping to change at page 1, line 41
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on October 26, 2012. This Internet-Draft will expire on December 31, 2012.
Copyright and License Notice Copyright and License Notice
Copyright (c) 2012 IETF Trust and the persons identified as the Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 3, line 25 skipping to change at page 3, line 25
5.1.2 Session-Sender Packet Format . . . . . . . . . . . . . 8 5.1.2 Session-Sender Packet Format . . . . . . . . . . . . . 8
5.2 Reflector behavior . . . . . . . . . . . . . . . . . . . 12 5.2 Reflector behavior . . . . . . . . . . . . . . . . . . . 12
5.2.1 Session-Reflector Packet Format . . . . . . . . . . 14 5.2.1 Session-Reflector Packet Format . . . . . . . . . . 14
5.3 Additional Considerations . . . . . . . . . . . . . . . . 14 5.3 Additional Considerations . . . . . . . . . . . . . . . . 14
6 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . 14 6 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . 14
7 Security Considerations . . . . . . . . . . . . . . . . . . . 15 7 Security Considerations . . . . . . . . . . . . . . . . . . . 15
8 IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 8 IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
9 References . . . . . . . . . . . . . . . . . . . . . . . . . . 15 9 References . . . . . . . . . . . . . . . . . . . . . . . . . . 15
9.1 Normative References . . . . . . . . . . . . . . . . . . 15 9.1 Normative References . . . . . . . . . . . . . . . . . . 15
9.2 Informative References . . . . . . . . . . . . . . . . . 16 9.2 Informative References . . . . . . . . . . . . . . . . . 16
Author's Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 Author's Addresses . . . . . . . . . . . . . . . . . . . . . . . 17
1 Introduction 1 Introduction
The notion of embedding a number of meaningful fields in the padding The notion of embedding a number of meaningful fields in the padding
octets has been established as a viable methodology for carrying octets has been established as a viable methodology for carrying
additional information within the TWAMP-Test protocol running between additional information within the TWAMP-Test protocol running between
a Session-Sender and a Session-Reflector [RFC5357] [RFC6038]. a Session-Sender and a Session-Reflector [RFC5357] [RFC6038].
This memo describes an optional extension to the Two-Way Active This memo describes an optional extension to the Two-Way Active
Measurement Protocol [RFC5357]. It is called the Ericsson TWAMP Measurement Protocol [RFC5357]. It is called the Ericsson TWAMP
skipping to change at page 5, line 16 skipping to change at page 5, line 16
enhancements: enhancements:
o The definition of a structure for embedding a sequence of o The definition of a structure for embedding a sequence of
value-added fields at the beginning of the Packet Padding field value-added fields at the beginning of the Packet Padding field
[RFC5357] or Packet Padding (to be reflected) field [RFC6038] [RFC5357] or Packet Padding (to be reflected) field [RFC6038]
in the TWAMP test packets and, in the TWAMP test packets and,
o The definition of new Session-Sender and Session-Reflector o The definition of new Session-Sender and Session-Reflector
behaviors behaviors
The motivation for this feature is to enable the measurements of The motivation for this feature is to enable the measurement of
capacity metrics on both the forward and reverse paths using a single capacity metrics on both the forward and reverse paths using a single
TWAMP test session. Multiple TWAMP test sessions between a controller TWAMP test session. Multiple TWAMP test sessions between a controller
and a responder with different DSCPs may also be used to evaluate the and a responder with different DSCPs may also be used to evaluate the
QoS impacts on the capacity metrics. QoS impacts on the capacity metrics.
This memo does not extend the standard modes of operation through This memo does not extend the standard modes of operation through
assignment of a new value in the Modes field (see Section 3.1 of assignment of a new value in the Modes field (see Section 3.1 of
[RFC4656] for the format of the Server Greeting message). A new mode [RFC4656] for the format of the Server Greeting message). A new mode
is recommended to communicate feature capability during control is recommended to communicate feature capability during control
connection setup. connection setup.
skipping to change at page 6, line 43 skipping to change at page 6, line 43
The transmission time tt to send one packet (i.e. determined by the The transmission time tt to send one packet (i.e. determined by the
interface speed and the IP packet size) is also shown in the picture. interface speed and the IP packet size) is also shown in the picture.
Observe that the packet interval MUST be larger than or equal to tt. Observe that the packet interval MUST be larger than or equal to tt.
At the Session-Reflector, each received test packet within a forward At the Session-Reflector, each received test packet within a forward
train is time stamped. This provides a second set of packet interval train is time stamped. This provides a second set of packet interval
values. Methods for measuring the APC, TSC and UDP delivery rate use values. Methods for measuring the APC, TSC and UDP delivery rate use
the packet intervals obtained from both end points in the estimation the packet intervals obtained from both end points in the estimation
process. The method to measuring the UDP delivery rate may also process. The method to measuring the UDP delivery rate may also
require the packet loss. The estimation process itself as well as any require the rate of packet loss. The estimation process itself as
requirements on software or hardware is implementation-specific. well as any requirements on software or hardware is implementation-
specific.
The second measurement principle is referred to as self-induced The second measurement principle is referred to as self-induced
congestion. According to this principle, in order to measure APC, TSC congestion. According to this principle, in order to measure APC, TSC
and UDP delivery rate, some trains MUST cause momentary congestion on and UDP delivery rates, some trains MUST cause momentary congestion
the network path. In essence this means that some trains MUST be sent on the network path. In essence this means that some trains MUST be
at a higher rate than what is available on the network path. sent at a higher rate than what is available on the network path.
In order to fulfill the above measurement principles and to measure In order to fulfill the above measurement principles and to measure
the APC, TSC and UDP delivery rate in the reverse direction, the test the APC, TSC and UDP delivery rates in the reverse direction, the
packets at the Session-Reflector MUST be re-grouped into trains and test packets at the Session-Reflector MUST be re-grouped into trains
then transmitted back to the Session-Sender with a provided packet and then transmitted back to the Session-Sender with a provided
interval. packet interval.
4 TWAMP Control Extensions 4 TWAMP Control Extensions
TWAMP-Control protocol [RFC5357] uses the Modes field to identify and TWAMP-Control protocol [RFC5357] uses the Modes field to identify and
select specific communication capabilities, and this field is a select specific communication capabilities, and this field is a
recognized extension mechanism. recognized extension mechanism.
TWAMP connection establishment follows the procedure defined in TWAMP connection establishment follows the procedure defined in
Section 3.1 of [RFC4656] and Section 3.1 of [RFC5357]. For Section 3.1 of [RFC4656] and Section 3.1 of [RFC5357]. For
interoperability, the Value-added octet feature require one new bit interoperability, the Value-added octet feature requires one new bit
position (and value) to identify the ability of the Server/Session- position (and value) to identify the ability of the Server/Session-
Reflector to read and act upon the new fields in the value-added Reflector to read and act upon the new fields in the value-added
octets. Such bit position (and value) is not defined in this memo. A octets. Such bit position (and value) is not defined in this memo. A
proprietary value MAY be used. proprietary value MAY be used.
Both the Reflect Octets mode and Symmetrical Size mode MAY be Both the Reflect Octets mode and Symmetrical Size mode MAY be
selected to ensure the reflection of the value-added padding octets selected to ensure the reflection of the value-added padding octets
by the Session-Reflector and symmetrical size TWAMP-Test packets in by the Session-Reflector and symmetrical size TWAMP-Test packets in
the forward and reverse directions of transmission. the forward and reverse directions of transmission.
5 Extended TWAMP Test 5 Extended TWAMP Test
The forward and reverse APC, TSC and UDP delivery rate measurement The forward and reverse APC, TSC and UDP delivery rate measurement
characteristics depend on the size and packet intervals of the test characteristics depend on the size and packet intervals of the test
packets. This memo allows variable packet sizes and packet intervals packets. This memo allows variable packet sizes and packet intervals
between trains and even between packets in the same train. The between trains and even between packets in the same train. The
functionality is described below. functionality is described below.
The TWAMP-test protocol carrying the value-added padding octets is The TWAMP-test protocol carrying the value-added padding octets is
identical to TWAMP [RFC5357] except for the definition of first 10 identical to TWAMP [RFC5357] except for the definition of the first
octets in Packet Padding that the Session-Sender expects to be 10 octets in Packet Padding that the Session-Sender expects to be
reflected. The new octets define fields for Value-Added Octets reflected. The new octets define fields for Value-Added Octets
Version, Flags, Last Sequence Number in Train and Desired Reverse Version, Flags, Last Sequence Number in Train and Desired Reverse
Packet Interval. Each of these fields are described in detail below. Packet Interval. Each of these fields are described in detail below.
The Session-Sender and Session-Reflector behaviors are also modified. The Session-Sender and Session-Reflector behaviors are also modified.
5.1 Sender Behavior 5.1 Sender Behavior
This section describes the extensions to the behavior of the TWAMP This section describes the extensions to the behavior of the TWAMP
Session-Sender. Session-Sender.
skipping to change at page 11, line 27 skipping to change at page 11, line 27
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Error Estimate | | | Error Estimate | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | | |
| | | |
| MBZ (27 octets) | | MBZ (27 octets) |
| | | |
| | | |
| | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Server Octets | Ver |L|I| | | | Server Octets | Ver |L|I|...|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Last Seqno in Train | | Reserved | Last Seqno in... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Desired Reverse Packet Interval | | Train | Desired Reverse Packet... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Additional Packet Padding | | Interval | Additional Packet Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
. . . .
. . . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
In the mode using Reflect Octets illustrated above, the value-added In the mode using Reflect Octets illustrated above, the value-added
padding octets are embedded in the Packet Padding (to be reflected) padding octets are embedded in the Packet Padding (to be reflected)
field. field.
skipping to change at page 12, line 39 skipping to change at page 12, line 39
shall set all the bits in the Last Seqno in Train field to zero. shall set all the bits in the Last Seqno in Train field to zero.
If the Desired Reverse Packet Interval bit is set to 1, then the If the Desired Reverse Packet Interval bit is set to 1, then the
Desired Reverse Packet Interval field MUST contain an unsigned 32 bit Desired Reverse Packet Interval field MUST contain an unsigned 32 bit
integer generated by the Session-Sender. It MUST indicate the desired integer generated by the Session-Sender. It MUST indicate the desired
packet interval (or the waiting time) that the Session-Reflector packet interval (or the waiting time) that the Session-Reflector
SHOULD use when transmitting the reflected test packets towards the SHOULD use when transmitting the reflected test packets towards the
Session-Sender. The value 0 means the The Session-Reflector SHOULD Session-Sender. The value 0 means the The Session-Reflector SHOULD
return the test packet to the Session-Sender as quickly as possible. return the test packet to the Session-Sender as quickly as possible.
The format of this field MUST be a fractional part of a second as The format of this field MUST be a fractional part of a second as
defined in OWAMP [RFC4656]. If I bit is set to 0, the Session-Sender defined in OWAMP [RFC4656]. If the I bit is set to 0, the Session-
shall set all the bits in the Desired Reverse Packet Interval field Sender shall set all the bits in the Desired Reverse Packet Interval
to zero. field to zero.
The values of the above fields are usually provided by a measurement The values of the above fields are usually provided by a measurement
method, tool or algorithm. This measurement algorithm is outside the method, tool or algorithm. This measurement algorithm is outside the
scope of this specification. scope of this specification.
5.2 Reflector behavior 5.2 Reflector behavior
The TWAMP Session-Reflector follows the procedures and guidelines in The TWAMP Session-Reflector follows the procedures and guidelines in
Section 4.2 of [RFC5357], with some changes and additional functions. Section 4.2 of [RFC5357], with some changes and additional functions.
skipping to change at page 13, line 35 skipping to change at page 13, line 35
the Desired Reverse Packet Interval field is set to zero, the Desired Reverse Packet Interval field is set to zero,
then the Session-Reflector SHOULD transmit the packet as then the Session-Reflector SHOULD transmit the packet as
quickly as possible. The last packet within a train has quickly as possible. The last packet within a train has
Sender Sequence Number = Last Seqno in Train. Sender Sequence Number = Last Seqno in Train.
- The Last Seqno in Train of a packet MUST also be compared to - The Last Seqno in Train of a packet MUST also be compared to
the Last Seqno in Train of the previous packet in order to the Last Seqno in Train of the previous packet in order to
determine if a new train needs to be collected. In case of determine if a new train needs to be collected. In case of
packet loss, the Session-Reflector MUST transmit the packet loss, the Session-Reflector MUST transmit the
incomplete train when it receives a packet with a Last SeqNo incomplete train when it receives a packet with a Last SeqNo
in Train belonging to the another train (e.g. next train) of in Train belonging to another train (e.g. next train) of the
the test session, or after a timeout. The timeout MAY be the test session, or after a timeout. The timeout MAY be the
REFWAIT timer specified in section 4.2 of [RFC5357]. REFWAIT timer specified in section 4.2 of [RFC5357].
- Packets arriving out-of-order within a train MUST be - Packets arriving out-of-order within a train MUST be
buffered at the Session-Reflector if the train is not yet buffered at the Session-Reflector if the train is not yet
transmitted to the Session-Sender. If the train is already transmitted to the Session-Sender. If the train is already
transmitted, the test packet SHOULD be returned to the transmitted, the test packet SHOULD be returned to the
Session-Sender as quickly as possible. The Session-Reflector Session-Sender as quickly as possible. The Session-Reflector
MUST NOT reorder the test packets if they happen to arrive MUST NOT reorder the test packets if they happen to arrive
out-of-sequence. out-of-sequence.
skipping to change at page 14, line 35 skipping to change at page 14, line 35
The truncation process [RFC5357] is recommended when the Symmetrical The truncation process [RFC5357] is recommended when the Symmetrical
mode is not used. The Session-Reflector MUST truncate exactly 27 mode is not used. The Session-Reflector MUST truncate exactly 27
octets of padding in Unauthenticated mode,and exactly 56 octets in octets of padding in Unauthenticated mode,and exactly 56 octets in
Authenticated and Encrypted modes. Authenticated and Encrypted modes.
5.3 Additional Considerations 5.3 Additional Considerations
Capacity measurements introduce an additional consideration when the Capacity measurements introduce an additional consideration when the
test sessions operate in TWAMP Light. When the Session-Reflector does test sessions operate in TWAMP Light. When the Session-Reflector does
not have knowledge of the session state, the measurement system may not have knowledge of the session state, the measurement system may
be restricted to estimate or calculate the capacity metrics in the be restricted to estimating or calculating the capacity metrics in
forward path direction of transmission only. Capacity measurements in the forward path direction of transmission only. Capacity
the reverse path direction is best handled with a Session-Reflector measurements in the reverse path direction is best handled with a
supporting knowledge of the session state and being capable to Session-Reflector supporting knowledge of the session state and being
identify the test packets belonging to a specific test session. A capable of identifying the test packets belonging to a specific test
method for creating a session state from the initial test packet may session. A method for creating a session state from the initial test
be implemented on the TWAMP Light Session-Reflector. This is outside packet may be implemented on the TWAMP Light Session-Reflector. This
the scope of this specification. is outside the scope of this specification.
6 Experiments 6 Experiments
This memo describes the protocol used in the current working This memo describes the protocol used in the current working
prototype implementation of the Value-Added Octets feature in the prototype implementation of the Value-Added Octets feature in the
Ericsson lab. The prototype has been tested in real network Ericsson lab. The prototype has been tested in real network
environments. The conclusion from these tests is that the Value-Added environments. The conclusion from these tests is that the Value-Added
Octets feature is able to enable estimation of capacity metrics such Octets feature is able to enable estimation of capacity metrics such
as available path capacity in both the forward and reverse direction as available path capacity in both the forward and reverse directions
of the network path. of the network path.
During the experiments with the protocol described in this memo we During the experiments with the protocol described in this memo we
have identified a need for the controller and responder to use the have identified a need for the controller and responder to use the
same maximum train length. The reflector must be able to buffer the same maximum train length. The reflector must be able to buffer the
whole trains received from the controller. In order to reduce the whole train received from the controller. In order to reduce the risk
risk for buffer overrun the maximum train length should be for buffer overrun the maximum train length should be negotiated.
negotiated. This can be resolved through configuration, introduction This can be resolved through configuration, introduction of a new
of new field in the value-added octets or with a new maximum train field in the value-added octets or with a new maximum train length
length field in the Request-TW-Session message. field in the Request-TW-Session message.
The Sender Discriminator (SD) field that is defined in the first The Sender Discriminator (SD) field that is defined in the first
draft has been removed because of complications with different draft has been removed because of complications with different
Session-Reflector implementations. A Session-Reflector may not be Session-Reflector implementations. A Session-Reflector may not be
able to easily identify the SD field or associate it with a specific able to easily identify the SD field or associate it with a specific
Session-Sender which may skew the test results. Session-Sender which may skew the test results.
The flags defined in the value-added octets now indicate the usage of The flags defined in the value-added octets now indicate the usage of
fields and not the presence of fields. This modification was needed fields and not the presence of fields. This modification was needed
to simplify the responder implementation in the working prototype. to simplify the responder implementation in the working prototype.
7 Security Considerations 7 Security Considerations
The value-added padding octets permit DoS attacks on the responder The value-added padding octets permit DoS attacks on the responder
host communicating with core TWAMP [RFC5357]. The responder host MUST host communicating with core TWAMP [RFC5357]. For instance, a DOS
provide a mechanism to protect or limit the use of its local memory, condition could arise when the Last Seqno in Train is too large to
buffer space or maximum transmission time for a train. handle potentially causing undesirable processing delay or discard of
the TWAMP test packets. The responder host MUST provide a mechanism
to protect or limit the use of its local memory, buffer space or
maximum transmission time for a train.
The security considerations that apply to any active measurement of The security considerations that apply to any active measurement of
live networks are relevant here as well. See [RFC4656] and [RFC5357]. live networks are relevant here as well. See [RFC4656] and [RFC5357].
8 IANA Considerations 8 IANA Considerations
This document has no actions for IANA. This document has no actions for IANA.
9 References 9 References
 End of changes. 21 change blocks. 
44 lines changed or deleted 48 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/