Network Working Group S. Baillargeon
INTERNET-DRAFT C. Flinta
Intended Status: Standards Track A. Johnsson
Expires: July 16, 2011 S. Ekelin
Ericsson
January 12, 2011
TWAMP Value-Added Octets
draft-baillargeon-ippm-twamp-value-added-octets-00.txt
Abstract
This memo describes the optional extensions to the standard TWAMP
test protocol for identifying test sessions and packet trains, and
for measuring the one-way IP-layer available path capacity, IP-layer
tight link capacity and UDP throughput in the forward and reverse
path directions.
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Copyright and License Notice
Copyright (c) 2011 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
Baillargeon, et al. Expires July 16, 2011 [Page 1]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
(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.
Baillargeon, et al. Expires July 16, 2011 [Page 2]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
Table of Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1 Requirements Language . . . . . . . . . . . . . . . . . . . 5
2 Purpose and scope . . . . . . . . . . . . . . . . . . . . . . . 5
3 Measurement Principles for Capacity and Throughput Metrics . . . 5
4 Principles for Test packet Demultiplexing . . . . . . . . . . . 7
5 TWAMP Control Considerations . . . . . . . . . . . . . . . . . . 8
5.1 Padding Length . . . . . . . . . . . . . . . . . . . . . . 8
5.2 Length of padding to reflect . . . . . . . . . . . . . . 10
5.3 Additional Considerations . . . . . . . . . . . . . . . . 11
6 Extended TWAMP Test . . . . . . . . . . . . . . . . . . . . . 11
6.1 Sender Behavior . . . . . . . . . . . . . . . . . . . . . 11
6.1.1 Packet Timings . . . . . . . . . . . . . . . . . . . 12
6.1.2 Session-Sender Packet Format and Content . . . . . . 12
6.2 Reflector behavior . . . . . . . . . . . . . . . . . . . 19
6.2.1 Session-Reflector Packet Format and Content . . . . 21
6.3 Additional Considerations . . . . . . . . . . . . . . . . 21
7 Security Considerations . . . . . . . . . . . . . . . . . . . 22
8 IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22
9 References . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9.1 Normative References . . . . . . . . . . . . . . . . . . 22
9.2 Informative References . . . . . . . . . . . . . . . . . 23
Author's Addresses . . . . . . . . . . . . . . . . . . . . . . . 23
Baillargeon, et al. Expires July 16, 2011 [Page 3]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
1 Introduction
The notion of embedding a number of meaningful fields in the padding
octets has been established as a viable methodology for carrying
additional information within the TWAMP-Test protocol running between
a Session-Sender and a Session-Reflector [RFC5357] [RFC6038].
This memo defines an OPTIONAL set of value-added octets of
information that are placed at the beginning of the Packet Padding
field [RFC5357] or at the beginning of the Packet Padding (to be
reflected) field [RFC6038] by the Session-Sender, and are reflected
or returned by the Session-Reflector. The length of value-added
octets varies in size between 6, 10 and 14 octets depending on the
setting of the flag bits specified at the beginning of the value-
added octets. The value-added octets MAY be used for demultiplexing
packets to the correct test session, identifying packets belonging to
a train of a test session and/or measuring the IP-layer available
path capacity (APC), IP-layer tight link capacity (TLC) and UDP
throughput on both the forward and reverse paths.
This memo also defines the OPTIONAL behaviors of the Session-Sender
and Session-Reflector to enable the demultiplexing of test packets to
the correct test session and to enable the measurements of the IP-
layer APC, IP-layer TLC and UDP throughput on both forward and
reverse paths based on information provided in the TWAMP test packets
including the value-added octets.
UDP throughput is defined in the Benchmarking Terminology for Network
Interconnection Devices specification [RFC1242]. IP-Type-P APC and
TLC are defined in the Defining Network Capacity specification
[RFC5136] and Amendment 1 of the Quality of Service and Network
Performance specification [Y1540A1]. The actual method to calculate
the available path capacity, the tight link capacity or the UDP
throughput from packet-level data performance data is not discussed
in this memo.
The value-added padding octets MAY be used with any TWAMP modes
including TWAMP Light [RFC5357]. This memo does not introduce any
changes to the TWAMP-Control protocol.
Measurement systems are not required to implement the value-added
octets and related behaviors described in this memo to claim
compliance with TWAMP [RFC5357].
Baillargeon, et al. Expires July 16, 2011 [Page 4]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
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].
2 Purpose and scope
The purpose of this memo is as follows:
o Define a structure for embedding a sequence of value-added
fields at the beginning of the Packet Padding field [RFC5037]
or Packet Padding (to be reflected) field [RFC6038] in the
TWAMP test packets and,
o Define the Session-Sender and Session-Reflector behaviors to
enable the demultiplexing of test packets to the correct test
session and measurements of IP-layer APC, IP-layer TLC and UDP
throughput on both the forward and reverse paths
The scope of the memo is limited to the specifications of the
following functions:
o The definition of an OPTIONAL Session-Sender behavior
o The definition of an OPTIONAL Session-Reflector behavior
The definition of the OPTIONAL Session-Sender behavior includes a
description of the value-added fields to communicate version number,
flag bits, sender discriminator, sequence number of the last packet
in a train and desired inter-packet time interval (or per-packet
waiting time) for the reverse path direction of transmission.
The OPTIONAL packet padding octets are designed to retain backward
compatibility with the original TWAMP test protocol [RFC5357].
3 Measurement Principles for Capacity and Throughput Metrics
Most capacity estimation methods,e.g. [RRBNC][PDM][ENHJMMB][SBW] for
available capacity and [RFC2544] for UDP throughput, need to send and
receive packets in groups, called packet trains or simply trains.
Each train is sent at a specific transmission rate in a given
direction. These trains must be identified within each bi-directional
Baillargeon, et al. Expires July 16, 2011 [Page 5]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
test session stream.
The first measurement principle is to send multiple trains within a
test session stream from one IP node to another IP node in order to
estimate the IP-layer available path capacity, IP-layer tight link
capacity or UDP throughput in the forward direction. Each train
consists of a group of test packets which are separated from each
other by a packet interval, as shown in the picture below.
tt tt tt
|<---------->| |<---------->| |<---------->|
| | | | | |
+------------+ +------------+ +------------+
| Packet 1 | | Packet 2 | | Packet 3 |
+------------+ +------------+ +------------+
| | |
|<--------------------->|<--------------------->|
packet interval 1 packet interval 2
The packet interval between consecutive packets for each train sent
by the Session-Sender and reflected by the Session-Reflector MUST be
calculated and determined by the controller or an application or
entity communicating with the controller. The packet interval MAY be
constant within a train. Determination of the packet interval within
a train as well as for consecutive trains for a given test session is
implementation-specific.
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.
Observe that the packet interval MUST be larger than or equal to tt.
At the Session-Reflector, each received test packet within a forward
train is time stamped. This provides a second set of packet interval
values. Methods for measuring IP-layer available path capacity, IP-
layer tight link capacity and UDP throughput use the packet intervals
obtained from both end points in the estimation process. The method
to measuring the UDP throughput may also require the packet loss at
the receiving end. The estimation process itself as well as any
requirements on software or hardware is implementation-specific.
The second measurement principle is referred to as self-induced
congestion. According to this principle, in order to measure the
available path capacity, tight link capacity and UDP throughput, some
trains MUST cause momentary congestion on the network path. In
Baillargeon, et al. Expires July 16, 2011 [Page 6]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
essence this means that some trains MUST be sent at a higher rate
than what is available on the network path. The congestion is only
transient, for the duration of the train which is typically short.
In order to fulfill the above measurement principles and to measure
the IP-layer available path capacity, IP-layer tight link capacity
and UDP throughput in the reverse direction, the reflected test
packets MUST be re-grouped into trains at the Session-Reflector.
4 Principles for Test packet Demultiplexing
The controller (or the Session-Sender) requires a method for
demultiplexing the received test packets to the correct test session
especially when it manages multiple active test sessions. The
responder also requires a method for demultiplexing the received test
packets from multiple active test sessions originating from the same
controller or from different controllers.
The purpose of this section is to provide some basic principles for
identifying the test packets and to clarify the optional usage of the
Sender Discriminator (SD) field described in this memo. It is
important to note the actual method for identifying a test packet and
the process for mapping it to the correct test session are
implementation-specific. They may differ between various controllers
and responders.
In general, the methods are based on fields available in the various
headers of the TWAMP test packet (e.g. Ethernet, IP, UDP and TWAMP
headers). Note the SID [RFC4656] is generally not used for
identification purpose since it does not normally appear in the TWAMP
test packets. As an example, a management system (controller or
responder) may use the source IP address of the incoming test packet
in order to associate it to the correct test session. This method is
valid but has a number of limitations. It is simple and effective
when each measurement system only requires a single test session for
each peer but fails when multiple test sessions (with different
characteristics) are running between the same pair of controller and
responder.
Another approach is to use a combination of the source IP address and
source (or destination) UDP port. This method is also valid but to
work effectively, it requires that the controller allocates multiple
UDP ports (one for each test session for instance) and/or the
responder listens on multiple ports. Ideally, a measurement system
should limit the number of UDP ports for sending and receiving test
packets. This approach may be improved by using a combination of the
source IP address, source UDP port and DSCP codepoint. This method
also has its limitations. For instance, it cannot identify test
Baillargeon, et al. Expires July 16, 2011 [Page 7]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
packets from different test sessions running between the same pair of
controller and responder if they are using the same UDP endpoints and
the same DSCP codepoint.
This memo introduces a new field, the Sender Discriminator (SD) field
intended to simplify the identification of the test packets at the
controller and responder. It is especially useful when multiple test
sessions are expected to be running between the same pair of
controller and responder. As described in 6.1.2, the SD is a number
generated by the Session-Sender that uniquely identifies a test
session on its system. With this field, the controller may explicitly
identify the test packets belonging to a test session. The responder
may also use the SD field in combination of the source IP address for
instance to identify the test packets belonging to a test session.
5 TWAMP Control Considerations
This memo does not introduce any changes to the TWAMP-Control
protocol. The value-added padding octets are intended to work with
any TWAMP modes including TWAMP Light test sessions [RFC5357] running
without the TWAMP-control protocol.
Both the Reflect Octets mode and Symmetrical Size mode SHOULD be
selected to ensure the reflection of the value-added padding octets
by the Session-Reflector and symmetrical size TWAMP-Test packets in
the forward and reverse directions of transmission.
The forward and reverse APC, TLC and UDP throughput measurement
characteristics depend on the size of the test packets. All test
packets (forward and reverse test packets) belonging to a specific
test session responsible to measure the available path capacity,
tight link capacity and/or UDP throughput MUST have the same IP
packet size.
5.1 Padding Length
The length of the value-added octets is as follows:
o 6 octets when the Session-Sender supports the packet to session
identification process based on a discriminator value (S flag
bit is set 1, L flag bit set to 0 and D flag bit is set to 0,
o 6 octets when the Session-Sender supports the packet train
identification process based on a sequence number (S flag bit
is set to 0, L flag bit set to 1 and D flag bit is set to 0),
o 10 octets when the Session-Sender supports the packet to
Baillargeon, et al. Expires July 16, 2011 [Page 8]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
session identification process and the packet train
identification process (S flag bit is set to 1, L flag bit set
to 1 and D flag bit is set to 0),
o 10 octets when the Session-Sender supports the packet train
identification process and the APC measurements (S flag bit is
set to 0, L flag bit set to 1 and D flag bit is set to 1),
o 14 octets when the Session-Sender supports the packet to
session identification process, the packet train identification
process and the APC/TLC measurements (S, D and L flag bits are
set to 1).
The value of the Padding Length field in the Request-TW-Session
command is specified as follows:
o The Padding Length MUST be >= 33, 37 or 41 octets when
specifying a test session using the Unauthenticated TWAMP-Test
mode, to allow for the truncation process that TWAMP section
4.2.1 [RFC5357] recommends.
o The Padding Length MUST be >= 33, 37 or 41 octets when
specifying a test session using the Unauthenticated TWAMP-Test
mode in conjunction with the Reflect Octets mode with a zero
value in the Server octets field, to allow for the truncation
process that TWAMP section 4.2.1 [RFC5357] recommends.
o The Padding Length MUST be >= 35, 49 or 43 octets when
specifying a test session using the Unauthenticated TWAMP-Test
mode in conjunction with the Reflect Octets mode with a non-
zero value in the Server octets field, to allow for the
truncation process that TWAMP section 4.2.1 [RFC5357]
recommends
o The "Padding Length" MUST be >= 6, 10 or 14 octets when
specifying a test session using the Unauthenticated TWAMP-Test
mode in conjunction with the Symmetrical Size mode.
o The Padding Length MUST be >= 6, 10 or 14 octets when
specifying a test session using the Unauthenticated TWAMP-Test
mode in conjunction with the Symmetrical Size mode and Reflect
Octets mode with a zero value in the Server octets field.
o The Padding Length MUST be >= 8, 12 or 16 octets when
specifying a test session using the Unauthenticated TWAMP-Test
mode in conjunction with the Symmetrical Size mode and Reflect
Octets mode with a non-zero value in the Server octets field.
Baillargeon, et al. Expires July 16, 2011 [Page 9]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
o The "Padding Length" MUST be >= 62, 66, 70 octets when
specifying a test session using the Authenticated or Encrypted
TWAMP-Test modes, to allow for the truncation process that
TWAMP section 4.2.1 [RFC5357] recommends.
o The "Padding Length" MUST be >= 62, 66, 70 octets when
specifying a test session using the Authenticated or Encrypted
TWAMP-Test modes in conjunction with the Reflect Octets mode
with a zero value in the Server octets field, to allow for the
truncation process that TWAMP section 4.2.1 [RFC5357]
recommends.
o The "Padding Length" MUST be >= 64, 68, 72 octets when
specifying a test session using the Authenticated or Encrypted
TWAMP-Test modes in conjunction with the Reflect Octets mode
with a non-zero value in the Server octets field, to allow for
the truncation process that TWAMP section 4.2.1 [RFC5357]
recommends.
o The Padding Length MUST be >= 6, 10 or 14 octets when
specifying a test session using the Authenticated or Encrypted
TWAMP-Test modes in conjunction with the Symmetrical Size mode.
o The Padding Length MUST be >= 6, 10 or 14 octets when
specifying a test session using the Authenticated or Encrypted
TWAMP-Test modes in conjunction with the Symmetrical Size mode
and Reflect Octets mode with a zero value in the Server octets
field.
o The Padding Length MUST be >= 8, 12 or 16 octets when
specifying a test session using the Authenticated or Encrypted
TWAMP-Test modes in conjunction with the Symmetrical Size mode
and Reflect Octets mode with a non-zero value in the Server
octets field.
5.2 Length of padding to reflect
The section is only applicable for the Reflect Octets mode.
The value of the Length of padding to reflect field in the Request-
TW-Session command is specified as follows:
o The Length of padding to reflect MUST be >= 6, 10 or 14 octets
when specifying a test session using the Reflect Octets mode
with a zero value in the Server octets field.
o The Length of padding to reflect MUST be >= 8, 12 or 16 octets
Baillargeon, et al. Expires July 16, 2011 [Page 10]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
when specifying a test session using the Reflect Octets mode
with a non-zero value in the Server octets field.
5.3 Additional Considerations
The desired behavior at the Session-Reflector MAY be negotiated via
the TWAMP-Control protocol in the future. This is outside the scope
of this specification.
6 Extended TWAMP Test
The TWAMP-test protocol carrying the value-added padding octets is
identical to TWAMP [RFC5357] except for the definition of first 6, 10
or 14 octets in the Padding Octet field that the Session-Sender
expects to be reflected.
The Session-Sender and Session-Reflector behaviors are also modified.
6.1 Sender Behavior
This section describes the extensions to the behavior of the TWAMP
Session-Sender.
When a test session is configured for demultiplexing test packets to
a test session based on a discriminator value, the Session-Sender
MUST set the Sender Discriminator Present bit to 1 and MUST generate
and transmit a unique nonzero discriminator value in the Sender
Discriminator field.
When a test session is configured for tagging the packets belonging a
train of a test session based on a sequence number corresponding, the
Session-Sender MUST set the Last Seqno in Train Present bit to 1 and
MUST generate and transmit a valid sequence number in the Last Seqno
in Train field.
When a test session is configured for APC/TLC or UDP throughput
measurements (including the packet train identification process), the
Session-Sender MUST set the Last Seqno in Train Present bit to 1 and
the Desired Reverse Packet Interval Present bit to 1, and MUST
generate and transmit the appropriate values in the Last Seqno in
Train and Desired Reverse Packet Interval fields. The Session-Sender
MUST also group the test packets in trains and send the trains
towards the Session-Reflector at the desired forward packet intervals
provided by the available path capacity or throughput measurement
method, tool or algorithm. The setting of Desired Reverse Rate
Interval parameters is implementation specific for a given available
path capacity or throughput measurement method. It is outside the
Baillargeon, et al. Expires July 16, 2011 [Page 11]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
scope of this specification.
The Session-Sender MUST not use any of the value-added padding octets
when a test session is not configured for tagging the test packets
with a discriminator value or last sequence number in a train, or
when the test session is not configured for APC/TLC or UDP throughput
measurements.
6.1.1 Packet Timings
The Send Schedule is not utilized in TWAMP and this is unchanged in
this memo.
6.1.2 Session-Sender Packet Format and Content
The Session-Sender packet format and content follow the same
procedure and guidelines as defined in TWAMP [RFC5357] and TWAMP
Reflect Octets and Symmetrical Size Features [RFC6038].
This feature allows the Session-Sender to set the first few octets in
the TWAMP-Test Packet Padding field with information that are
considered useful for identifying test packets belonging to a test
session or packet train, or with information deemed necessary for
calculating the one-way APC, one-way TLC and/or one-way UDP
throughput in each direction of transmission.
A version number and a sequence of flag bits are defined at the very
beginning of the value-added padding octets. The version number
identifies the version of the value-added padding octets and meaning
of the flag bits. Each flag bit indicates if a specific field of a
specific size is present in the valued-added padding octets. The flag
bits are designed to accommodate different combinations of fields
while reducing padding overhead when certain fields are not needed.
The version number and flag bits also provide an effective method for
parsing information at Session-Reflector and Session-Sender. This
document defines version 1 with three flag bits: S, L and D. In the
future, other flag bits may be defined to allow additional padding
fields. This is outside the scope of this specification.
The format of the test packet depends on the TWAMP mode and flag bits
being used.
Baillargeon, et al. Expires July 16, 2011 [Page 12]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
For unauthenticated mode with the S flag bit set to 1, the L flag bit
set to 0 and D flag bit set to 0:
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 | Ver |S|L|D| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sender Discriminator |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Additional Packet Padding |
. .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
For unauthenticated mode with the S flag bit set to 0, the L flag bit
set to 1 and D flag bit set to 0:
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 | Ver |S|L|D| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Last Seqno in Train |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Additional Packet Padding |
. .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Baillargeon, et al. Expires July 16, 2011 [Page 13]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
For unauthenticated mode with the S flag bit set to 1, the L flag bit
set to 1 and D flag bit set to 0:
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 | Ver |S|L|D| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sender Discriminator |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Last Seqno in Train |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Additional Packet Padding |
. .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
For unauthenticated mode with the S flag bit set to 0, the L flag bit
set to 1 and D flag bit set to 1:
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 | Ver |S|L|D| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Last Seqno In Train |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Desired Reverse Packet Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Additional Packet Padding |
. .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Baillargeon, et al. Expires July 16, 2011 [Page 14]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
For unauthenticated mode with the S flag bit set to 1, the L flag bit
set to 1 and D flag bit set to 1:
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 | Ver |S|L|D| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sender Discriminator |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Last Seqno In Train |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Desired Reverse Packet Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Additional Packet Padding |
. .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Baillargeon, et al. Expires July 16, 2011 [Page 15]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
For the unauthenticated mode, Symmetrical Size mode and Reflect
Octets mode with a zero value in the Server octets field plus the S,
L and D flag bits set to 1:.
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 (27 octets) |
| |
| |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Ver |S|L|D| Reserved | Sender... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Discriminator | Last... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Seqno in Train | Desired... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reverse Packet Interval | Additional... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Packet Padding |
. .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Baillargeon, et al. Expires July 16, 2011 [Page 16]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
For the unauthenticated mode, Symmetrical Size mode and Reflect
Octets mode with a non-zero value in the Server octets field plus the
S, L and D flag bits set to 1:.
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 (27 octets) |
| |
| |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Server octets | Ver |S|L|D| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Sender Discriminator... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Last Seqno... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| In Train | Desired Reverse Packet... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Interval | Additional Packet... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Padding |
. .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
In the combined mode including Reflect Octets, the value-added
padding octets are embedded in the Packet Padding (to be reflected)
field.
The Version field MUST be encoded in the first 4 bits. It identifies
Baillargeon, et al. Expires July 16, 2011 [Page 17]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
the version number of the value-added padding octets and meaning of
the flag bits. This document defines version 1.
The Sender Discriminator Present bit (S) MUST be the first flag. If
the Sender Discriminator Present bit is set to 1, then a Sender
Discriminator field MUST be present and MUST contain valid
information.
The Last Seqno in Train Present bit (L) MUST be the second flag. If
the Last Seqno in Train Present bit is set to 1, then the Last Seqno
in Train field MUST be present and MUST contain valid information.
The Desired Reverse Packet Interval Present bit (D) MUST be the third
flag. If the Desired Reverse Packet Interval Present bit is set to 1,
then Desired Reverse Packet Interval Present field MUST be present
and MUST contain valid information.
The Reserved field is reserved for future use. All 9 bits of the
Reserved field MUST be transmitted as zero by the Session-Sender.
The Sender Discriminator (SD) field MUST contain an unsigned 32 bit
integer generated by the Session-Sender. It is used by the Session-
Reflector and/or Session-Sender to identify packets belonging to a
test session. The Session-Sender MUST choose a nonzero discriminator
value that is unique among all test sessions on its system. This
field is present only if the Sender Discriminator Present bit is set
to one.
The Last Seqno in Train MUST contain an unsigned 32 bit integer
generated by the Session-Sender. It MUST indicate the expected
sequence number of the last packet in the train. It SHOULD be used
by the Session-Sender and Session-reflector to identify the train a
test packet belongs to. The packets belonging to a train are
determined by observing the test packet sequence number in relation
to the Last Seqno for a train. The sequence number of a packet in a
train MUST be lower than or equal to the Last Seqno for that train.
The sequence number MUST also be larger than the Last Seqno for the
previous train. This field is present only if the Last Seqno in Train
Present bit is set to one.
The Desired Reverse Packet Interval (DRPI) MUST contain an unsigned
32 bit integer generated by the Session-Sender. It MUST indicate the
desired inter-packet time interval (or the waiting time) that the
Session-Reflector SHOULD use when transmitting the reflected test
packets towards the Session-Sender. The format of this field MUST be
a fractional part of a second as defined in OWAMP [RFC4656]. This
field is present only if the Desired Reverse Packet Interval Present
bit is set to one.
Baillargeon, et al. Expires July 16, 2011 [Page 18]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
The method by which the Sender Discriminator and Desired Reverse
Packet Interval values are obtained is outside of the scope of this
document.
6.2 Reflector behavior
The TWAMP Session-Reflector follows the procedures and guidelines in
Section 4.2 of [RFC5357], with some changes and additional functions.
When the Session-Reflector is configured for packet to session
identification based on a sender discriminator value:
o The Session-Reflector MUST read the Version field and the S
flag as test packets are received.
o If the Version field and the S flag bit are both equal to 1,
the Session-Reflector MUST continue reading and extracting the
information from the Sender Discriminator field in the value-
added padding octets.
o After reading and extracting the information from the Sender
Discriminator field, the Session-Reflector MUST associate the
test packets to the correct test session based on the value
specified in the Sender Discriminator field and the source IP
address specified in the IP header of the test packet. The
actual method for demultiplexing the received test packets to
the correct test session based on the Sender Discriminator and
source IP address is outside the scope of this specification.
The Session-Reflector MAY also use additional packet fields to
demultiplex test packets to a test session.
o If the Version field or the S flag bit is not equal to 1, the
Session-Reflector SHOULD ignore the Sender Discriminator field
and SHOULD follow the procedures and guidelines described in
section 4.2 of [RFC5357].
When the Session-Reflector is configured for APC/TLC or UDP
throughput measurements (including the packet train identification
process):
o The Session-Reflector MUST read the Version field, the L flag
and the D flag as test packets are received.
o If the Version field, the L flag bit and the D flag bit are
Baillargeon, et al. Expires July 16, 2011 [Page 19]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
equal to 1, the Session-Reflector MUST continue reading and
extracting the information from the Last Seqno in Train and
Desired Reverse Packet Interval fields in the value-added
padding octets.
o After reading and extracting the information from the Last
Seqno in Train and Desired Reverse Packet Interval fields, the
Session-Reflector MUST buffer the packets belonging to the
current train (or store the packet-level performance data).
When all packets belonging to the current train have been
received, the Session-Reflector SHOULD transmit them in a new
train with a waiting time (packet interval) for each packet
indicated in the Desired Reverse Packet Interval field. If the
Desired Reverse Packet Interval field is set to zero, then the
Session-Reflector SHOULD transmit the packet as immediately as
possible. The Session-Reflector MUST not reorder the test
packets if they happen to arrive out-of-sequence.
o For each incoming packet within a train of a test session
stream, the Last Seqno in Train MUST be compared to Sequence
number in the same packet in order to determine when a complete
train has been collected. A train SHOULD be transmitted as
immediately as possible after the last packet of the train has
been received. The last packet within a train has Sender
Sequence Number = Last Seqno in Train.
o 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
determine if a new train needs to be collected. In case of
packet loss, the Session-Reflector MUST transmit the incomplete
train when it receives a packet with a Last SeqNo in Train
belonging to the another train (e.g. next train) of the test
session, or after a timeout. The timeout MAY be the REFWAIT
timer specified in section 4.2 of [RFC5357].
o Packets arriving out-of-order within a train MUST be buffered
at the Session-Reflector if the train is not yet transmitted to
the Session-Sender. If the train is already transmitted, the
test packet SHOULD be returned to the Session-Sender as quickly
as possible.
o If the Version field, the L flag or D flag is not equal to 1,
the Session-Reflector SHOULD ignore the Last Seqno in Train and
Desired Reverse Packet Interval fields fields, SHOULD follow
the procedures and guidelines described in section 4.2 of
[RFC5357] and SHOULD transmit the packet as immediately as
possible including the test packets that are currently stored
for the test session.
Baillargeon, et al. Expires July 16, 2011 [Page 20]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
The Session-Reflector MUST implement the changes described above when
the Session-Reflector supports the APC/TLC/UDP throughput
measurements (including the packet train identification process) and
the packet to session identification process.
The Session-Reflector MUST ignore the value-added octets and MUST
follow the procedures and guidelines described in section 4.2 of
[RFC5357] when the Session-Reflector does not support APC/TLC/UDP
throughput measurements or the packet to session identification
process.
6.2.1 Session-Reflector Packet Format and Content
The Session-Reflector packet format and content follow the same
procedure and guidelines as defined in TWAMP [RFC5357] and TWAMP
Reflect Octets and Symmetrical Size Features [RFC6038], with the
following changes:
o The Session-Reflector MUST re-use (reflect) the value-added
padding octets (6, 10 or 14 octets) provided in the Sender's
Packet Padding.
o The Session-Reflector MAY re-use the rest of the padding octets
in the Sender's Packet Padding.
When using the recommended truncation process [RFC5357], the Session-
Reflector MUST truncate exactly 27 octets of padding in
Unauthenticated mode,and exactly 56 octets in Authenticated and
Encrypted modes.
6.3 Additional Considerations
It is not required to use the Sender Discriminator field for
calculating the one-way APC, one-way TLC and/or one-way UDP
throughput. The Sender Discriminator Present bit can be set to zero.
However, the Session-Sender and Session-Reflector MUST implement a
local policy to identify the test packets belonging to a specific
test session. The method for demultiplexing the received test packets
to the correct test session based on other packet fields (e.g. fields
in the IP header) is outside the scope of this specification.
APC/TLC/UDP throughput measurements introduce an additional
consideration when the test sessions operate in TWAMP Light. When the
Session-Reflector does not have knowledge of the session state, the
measurement system will only be capable to estimate or calculate the
Baillargeon, et al. Expires July 16, 2011 [Page 21]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
available path capacity, tight link capacity and UDP throughput in
the forward path direction of transmission. APC/TLC/UDP Throughput
measurements in the reverse path direction requires the Session-
Reflector to have knowledge of the session state and be capable to
identify the test packets belonging to a specific test session. The
method for creating a session state from the initial test packets on
the TWAMP Light Session-Reflector is outside the scope of this
specification.
7 Security Considerations
The value-added octets 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].
8 IANA Considerations
This document has no actions for IANA.
9 References
9.1 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.
[RFC1242] Bradner, S., "Benchmarking Terminology for Network
Interconnection Devices", RFC 1242, July 1991.
[RFC5136] Chimento, P. and Ishac,J., "Defining Network Capacity",
RFC 5136, February 2008.
[RFC5357] Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J.
Babiarz, "A Two-Way Active Measurement Protocol (TWAMP)",
RFC 5357, October 2008.
[RFC6038] Morton, A., Ciavattone, L., TWAMP Reflect Octets and
Symmetrical Size Features, RFC6038 , October 2010.
Baillargeon, et al. Expires July 16, 2011 [Page 22]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
[RFC2544] Bradner,S., McQuaid, J., "Benchmarking Terminology for
Network Interconnect Devices", RFC 2544, March 1999.
9.2 Informative References
[RRBNC] Ribeiro, V., Riedi, R., Baraniuk, R., Navratil, J.,
Cottrel, L., Pathchirp: Efficient available bandwidth
estimation for network paths, Passive and Active
Measurement Workshop, 2003.
[PDM] Dovrolis, C., Ramanathan, P., and Moore D., Packet
Dispersion Techniques and a Capacity Estimation
Methodology, IEEE/ACM Transactions on Networking,
December 2004.
[ENHJMMB] Ekelin, S., Nilsson, M., Hartikainen, E., Johnsson, A.,
Mangs, J., Melander, B., Bjorkman, M., Real-time
measurement of end-to-end available bandwidth using
kalman filtering, Proceedings to the IEEE IFIP Network
Operations and Management Symposium, 2006.
[SBW] Sommers, J., Barford, P., Willinger, W., Laboratory-based
calibration of available bandwidth estimation tools,
Microprocess Microsyst., 2007.
[Y1540A1] ITU-T Y.1540 Amendment 1, Appendix VIII, IP Layer
Capacity Framework, March 2009.
[MRM] Morton, A., Ramachandran, G., Maguluri, G., Reporting
Metrics Different Points of View, draft-ietf-ippm-
reporting-metrics-03, June 2010.
Author's Addresses
Steve Baillargeon
Ericsson
3500 Carling Avenue
Ottawa, Ontario K2H 8E9
Canada
EMail: steve.baillargeon@ericsson.com
Christofer Flinta
Ericsson
Farogatan 6
Stockholm, 164 80
Baillargeon, et al. Expires July 16, 2011 [Page 23]
INTERNET DRAFT Value-Added TWAMP Octets January 12, 2011
Sweden
EMail: christofer.flinta@ericsson.com
Andreas Johnsson
Ericsson
Farogatan 6
Stockholm, 164 80
Sweden
EMail: andreas.a.johnsson@ericsson.com
Svante Ekelin
Ericsson
Farogatan 6
Stockholm, 164 80
Sweden
EMail: svante.ekelin@ericsson.com
Baillargeon, et al. Expires July 16, 2011 [Page 24]