draft-ietf-ippm-twamp-session-cntrl-07.txt | rfc5938.txt | |||
---|---|---|---|---|
Network Working Group A. Morton | Internet Engineering Task Force (IETF) A. Morton | |||
Internet-Draft AT&T Labs | Request for Comments: 5938 AT&T Labs | |||
Updates: 5357 (if approved) M. Chiba | Updates: 5357 M. Chiba | |||
Intended status: Standards Track Cisco Systems | Category: Standards Track Cisco Systems | |||
Expires: October 10, 2010 April 8, 2010 | ISSN: 2070-1721 August 2010 | |||
Individual Session Control Feature for TWAMP | Individual Session Control Feature | |||
draft-ietf-ippm-twamp-session-cntrl-07 | for the Two-Way Active Measurement Protocol (TWAMP) | |||
Abstract | Abstract | |||
The IETF has completed its work on the core specification of TWAMP - | The IETF has completed its work on the core specification of TWAMP -- | |||
the Two-Way Active Measurement Protocol. This memo describes an | the Two-Way Active Measurement Protocol. This memo describes an | |||
OPTIONAL feature for TWAMP, that gives the controlling host the | OPTIONAL feature for TWAMP, that gives the controlling host the | |||
ability to start and stop one or more individual test sessions using | ability to start and stop one or more individual test sessions using | |||
Session Identifiers. The base capability of the TWAMP protocol | Session Identifiers. The base capability of the TWAMP protocol | |||
requires all test sessions previously requested and accepted to start | requires all test sessions that were previously requested and | |||
and stop at the same time. | accepted to start and stop at the same time. | |||
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 | Status of This Memo | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | This is an Internet Standards Track document. | |||
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 | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 5741. | ||||
This Internet-Draft will expire on October 10, 2010. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
http://www.rfc-editor.org/info/rfc5938. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2010 IETF Trust and the persons identified as the | Copyright (c) 2010 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 7 | skipping to change at page 2, line 19 | |||
modifications of such material outside the IETF Standards Process. | modifications of such material outside the IETF Standards Process. | |||
Without obtaining an adequate license from the person(s) controlling | Without obtaining an adequate license from the person(s) controlling | |||
the copyright in such materials, this document may not be modified | the copyright in such materials, this document may not be modified | |||
outside the IETF Standards Process, and derivative works of it may | outside the IETF Standards Process, and derivative works of it may | |||
not be created outside the IETF Standards Process, except to format | not be created outside the IETF Standards Process, except to format | |||
it for publication as an RFC or to translate it into languages other | it for publication as an RFC or to translate it into languages other | |||
than English. | than English. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Purpose and Scope . . . . . . . . . . . . . . . . . . . . . . 5 | 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4 | |||
3. TWAMP Control Extensions . . . . . . . . . . . . . . . . . . . 5 | 2. Purpose and Scope . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3. TWAMP Control Extensions . . . . . . . . . . . . . . . . . . . 4 | ||||
3.1. Connection Setup with Individual Session Control . . . . . 5 | 3.1. Connection Setup with Individual Session Control . . . . . 5 | |||
3.2. Start-N-Sessions Command with Individual Session | 3.2. Start-N-Sessions Command with Individual Session | |||
Control . . . . . . . . . . . . . . . . . . . . . . . . . 6 | Control . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
3.3. Start-N-Ack Command with Individual Session Control . . . 8 | 3.3. Start-N-Ack Command with Individual Session Control . . . 7 | |||
3.4. Stop-N-Sessions Command with Individual Session Control . 10 | 3.4. Stop-N-Sessions Command with Individual Session Control . 9 | |||
3.5. Stop-N-Ack Command with Individual Session Control . . . . 11 | 3.5. Stop-N-Ack Command with Individual Session Control . . . . 10 | |||
3.6. SERVWAIT Timeout Operation . . . . . . . . . . . . . . . . 13 | 3.6. SERVWAIT Timeout Operation . . . . . . . . . . . . . . . . 12 | |||
3.7. Additional considerations . . . . . . . . . . . . . . . . 13 | 3.7. Additional Considerations . . . . . . . . . . . . . . . . 12 | |||
4. TWAMP Test with Individual Session Control . . . . . . . . . . 14 | 4. TWAMP Test with Individual Session Control . . . . . . . . . . 13 | |||
4.1. Sender Behavior . . . . . . . . . . . . . . . . . . . . . 14 | 4.1. Sender Behavior . . . . . . . . . . . . . . . . . . . . . 13 | |||
4.2. Reflector Behavior . . . . . . . . . . . . . . . . . . . . 14 | 4.2. Reflector Behavior . . . . . . . . . . . . . . . . . . . . 13 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 | |||
6.1. Registry Specification . . . . . . . . . . . . . . . . . . 15 | 6.1. Registry Specification . . . . . . . . . . . . . . . . . . 14 | |||
6.2. Registry Management . . . . . . . . . . . . . . . . . . . 15 | 6.2. Registry Management . . . . . . . . . . . . . . . . . . . 14 | |||
6.3. Experimental Numbers . . . . . . . . . . . . . . . . . . . 16 | 6.3. Experimental Numbers . . . . . . . . . . . . . . . . . . . 15 | |||
6.4. Registry Contents . . . . . . . . . . . . . . . . . . . . 16 | 6.4. Registry Contents . . . . . . . . . . . . . . . . . . . . 15 | |||
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 17 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . . 17 | 8.1. Normative References . . . . . . . . . . . . . . . . . . . 16 | |||
8.2. Informative References . . . . . . . . . . . . . . . . . . 17 | 8.2. Informative References . . . . . . . . . . . . . . . . . . 16 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17 | ||||
1. Introduction | 1. Introduction | |||
The IETF has completed its work on the core specification of TWAMP - | The IETF has completed its work on the core specification of TWAMP -- | |||
the Two-Way Active Measurement Protocol [RFC5357]. TWAMP is an | the Two-Way Active Measurement Protocol [RFC5357]. TWAMP is an | |||
extension of the One-way Active Measurement Protocol, OWAMP | extension of the One-way Active Measurement Protocol, OWAMP | |||
[RFC4656]. The TWAMP specification gathered wide review as it | [RFC4656]. The TWAMP specification gathered wide review as it | |||
approached completion, and the by-products were several | approached completion, and the by-products were several | |||
recommendations for new features in TWAMP. There are a growing | recommendations for new features in TWAMP. There are a growing | |||
number of TWAMP implementations at present, and wide-spread usage is | number of TWAMP implementations at present, and widespread usage is | |||
expected. There are even devices that are designed to test | expected. There are even devices that are designed to test | |||
implementations for protocol compliance. | implementations for protocol compliance. | |||
This memo describes an OPTIONAL feature for TWAMP. [RFC5357] TWAMP | This memo describes an OPTIONAL feature for TWAMP. [RFC5357] TWAMP | |||
(and OWAMP) start all previously requested and accepted test sessions | (and OWAMP) start all previously requested and accepted test sessions | |||
at once. This feature allows the Control-Client to control | at once. This feature allows the Control-Client to control | |||
individual test sessions on the basis of their Session Identifier | individual test sessions on the basis of their Session Identifier | |||
(SID). This feature permits a short duration TWAMP test to start | (SID). This feature permits a short-duration TWAMP test to start | |||
(and/or stop) during a longer test. This feature permits a specific | (and/or stop) during a longer test. This feature permits a specific | |||
diagnostic test to begin if intermediate results indicate that the | diagnostic test to begin if intermediate results indicate that the | |||
test is warranted, for example. | test is warranted, for example. | |||
This feature requires a Mode bit position assignment and the | This feature requires a Modes field bit position assignment and the | |||
assignment of two new TWAMP command numbers (for the augmented Start | use of two new TWAMP command numbers (for the augmented Start and | |||
and Stop commands). This feature also specifies a new Stop-ACK | Stop commands). This feature also specifies the use of a new Stop-N- | |||
Server response, to complete the symmetry of the session stopping | ACK Server response, to complete the symmetry of the session-stopping | |||
process in the same way as the Start-ACK response. | process in the same way as the Start-ACK (Start-N-ACK when used with | |||
this feature) response. | ||||
The Individual Session Control feature gives the Control-Client new | The Individual Session Control feature gives the Control-Client new | |||
flexibility to manage any number of test sessions once they are | flexibility to manage any number of test sessions once they are | |||
established. However, [RFC5357] test sessions are established in | established. However, [RFC5357] test sessions are established in | |||
serial order and the total establishment time grows with the number | serial order and the total establishment time grows with the number | |||
of sessions and the round-trip time. Therefore, implementers of this | of sessions and the round-trip time. Therefore, implementers of this | |||
feature may also wish to implement the "Reflect Octets" feature, | feature may also wish to implement the "Reflect Octets" feature, | |||
described in [I-D.ietf-ippm-twamp-reflect-octets], once it has been | described in [REFLECT]. This feature allows a Control-Client to | |||
published as an RFC. This feature allows a Control-Client to | distinguish between parallel Request-TW-Session commands because a | |||
distinguish between parallel Request-TW-Session commands, because a | ||||
participating Server can return octets (e.g., the Control-Client's | participating Server can return octets (e.g., the Control-Client's | |||
local index) in its reply to the request. Thus, the Reflect Octets | local index) in its reply to the request. Thus, the Reflect Octets | |||
feature supports the efficient establishment of many simultaneous | feature supports the efficient establishment of many simultaneous | |||
test sessions which the Individual Session Control feature can then | test sessions that the Individual Session Control feature can then | |||
manage (start/stop). | manage (start/stop). | |||
This memo is an update to the TWAMP core protocol specified in | This memo is an update to the TWAMP core protocol specified in | |||
[RFC5357]. Measurement systems are not required to implement the | [RFC5357]. Measurement systems are not required to implement the | |||
feature described in this memo to claim compliance with [RFC5357]. | feature described in this memo to claim compliance with [RFC5357]. | |||
Throughout this memo, the bits marked MBZ (Must Be Zero) MUST be set | 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 | to zero by senders and MUST be ignored by receivers. Also, the HMAC | |||
(Hashed Message Authentication Code) MUST be calculated as defined in | (Hashed Message Authentication Code) MUST be calculated as defined in | |||
Section 3.2 of [RFC4656]. | Section 3.2 of [RFC4656]. | |||
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 | 2. Purpose and Scope | |||
The purpose of this memo is to describe an additional OPTIONAL | The purpose of this memo is to describe an additional OPTIONAL | |||
function and feature for TWAMP [RFC5357]. | function and feature for TWAMP [RFC5357]. | |||
The scope of the memo is limited to specifications of the following | The scope of the memo is limited to specifications of the following | |||
features: | features: | |||
1. Extension of the modes of operation through assignment of a new | 1. extension of the modes of operation through assignment of a new | |||
value in the Mode field to communicate feature capability and | value in the Modes field to communicate feature capability and | |||
use, | use, | |||
2. the definitions of augmented start session and stop session | 2. the definitions of augmented start session and stop session | |||
commands (with corresponding acknowledgements), and | commands (with corresponding acknowledgements), and | |||
3. the definition of related procedures for TWAMP entities. | 3. the definition of related procedures for TWAMP entities. | |||
The motivation for this feature is the ability to start and stop | The motivation for this feature is the ability to start and stop | |||
individual test sessions at will, using a single TWAMP-control | individual test sessions at will, using a single TWAMP-Control | |||
connection. | connection. | |||
When the Server and Control-Client have agreed to use the Individual | When the Server and Control-Client have agreed to use the Individual | |||
Session Control mode during control connection setup, then the | Session Control mode during control connection setup, then the | |||
Control-Client, the Server, the Session-Sender, and the Session- | Control-Client, the Server, the Session-Sender, and the Session- | |||
Reflector MUST all conform to the requirements of that mode, as | Reflector MUST all conform to the requirements of that mode, as | |||
identified below. The original TWAMP-Control Start and Stop commands | identified below. The original TWAMP-Control Start and Stop commands | |||
MUST NOT be used. | MUST NOT be used. | |||
3. TWAMP Control Extensions | 3. TWAMP Control Extensions | |||
TWAMP-Control protocol is a derivative of the OWAMP-Control protocol, | The TWAMP-Control protocol is a derivative of the OWAMP-Control | |||
and provides two-way measurement capability. TWAMP [RFC5357] uses | protocol, and provides two-way measurement capability. TWAMP | |||
the Modes Field to identify and select specific communication | [RFC5357] uses the Modes field to identify and select specific | |||
capabilities, and this field is a recognized extension mechanism. | communication capabilities, and this field is a recognized extension | |||
The following sections describe one such extension. | mechanism. The following sections describe one such extension. | |||
3.1. Connection Setup with Individual Session Control | 3.1. Connection Setup with Individual Session Control | |||
TWAMP-Control connection establishment follows the procedure defined | TWAMP-Control connection establishment follows the procedure defined | |||
in section 3.1 of [RFC4656] OWAMP. The Individual Session Control | in Section 3.1 of [RFC4656] OWAMP. The Individual Session Control | |||
mode requires one new bit position (and value) to identify the | mode requires one new bit position (and value) to identify the | |||
ability of the Server/Session-Reflector to start and stop specific | ability of the Server/Session-Reflector to start and stop specific | |||
sessions (according to their Session Identifier, or SID). This new | sessions (according to their Session Identifier, or SID). This new | |||
feature requires an additional TWAMP mode bit assignment as follows: | feature requires an additional TWAMP mode bit assignment as follows: | |||
Value Description Reference/Explanation | Value Description Reference/Explanation | |||
0 Reserved | 0 Reserved | |||
1 Unauthenticated RFC4656, Section 3.1 | 1 Unauthenticated RFC 4656, Section 3.1 | |||
2 Authenticated RFC4656, Section 3.1 | 2 Authenticated RFC 4656, Section 3.1 | |||
4 Encrypted RFC4656, Section 3.1 | 4 Encrypted RFC 4656, Section 3.1 | |||
8 Unauth. TEST protocol, RFC5618, Section 3.1 | 8 Unauth. TEST protocol, RFC 5618, Section 3.1 | |||
Auth. CONTROL | Encrypted CONTROL | |||
-------------------------------------------------------- | -------------------------------------------------------- | |||
zzz Individual Session this memo, bit position (Z) | 16 Individual Session RFC 5938, bit position 4 | |||
Control | Control | |||
In the original OWAMP mode field, setting bit positions 0, 1 or 2 | In the original OWAMP Modes field, setting bit positions 0, 1, or 2 | |||
indicated the security mode of the Control protocol, and the Test | indicated the security mode of the Control protocol, and the Test | |||
protocol inherited the same mode (see section 4 of [RFC4656]). In | protocol inherited the same mode (see Section 4 of [RFC4656]). In | |||
the [RFC5618] memo, bit position (3) allows a different security mode | the [RFC5618] memo, bit position (3) allows a different security mode | |||
in the Test protocol and uses the unauthenticated test packet format. | in the Test protocol and uses the unauthenticated test packet format. | |||
If the Server sets the new bit position (bit position Z) in the | If the Server sets the new bit position (bit position 4) in the | |||
Server Greeting message to indicate its capabilities, then the Server | Server Greeting message to indicate its capabilities, then the Server | |||
and Session-Reflector MUST comply with the requirements of this memo | and Session-Reflector MUST comply with the requirements of this memo | |||
to control sessions on an individual basis if desired. | to control sessions on an individual basis if desired. | |||
If the Control-Client intends to control sessions on an individual | If the Control-Client intends to control sessions on an individual | |||
basis (according to the requirements in this memo), it MUST set the | basis (according to the requirements in this memo), it MUST set the | |||
mode bit (Z, corresponding to the new mode) in the Setup Response | mode bit (4, corresponding to the new mode) in the Setup Response | |||
message. This means that: | message. This means that: | |||
1. The Control-Client and the Server MUST use the start and stop | 1. The Control-Client and the Server MUST use the start and stop | |||
commands intended for individual session control and the | commands intended for individual session control and the | |||
corresponding acknowledgements, as defined in the sections that | corresponding acknowledgements, as defined in the sections that | |||
follow. | follow. | |||
2. The Control-Client and the Server MUST NOT use the start and stop | 2. The Control-Client and the Server MUST NOT use the start and stop | |||
commands (2 and 3) and the acknowledgement defined in [RFC5357]. | commands (2 and 3) and the acknowledgement defined in [RFC5357]. | |||
The Control-Client MUST also set one mode bit to indicate the chosen | The Control-Client MUST also set one mode bit to indicate the chosen | |||
security mode (currently bits 0, 1, 2, or 3), consistent with the | security mode (currently bits 0, 1, 2, or 3), consistent with the | |||
modes offered by the Server. The Control-Client MAY also set Modes | modes offered by the Server. The Control-Client MAY also set Modes | |||
bit Z with other features and bit positions (such as the reflect | field bit 4 with other features and bit positions (such as the | |||
octets feature). | reflect octets feature). | |||
3.2. Start-N-Sessions Command with Individual Session Control | 3.2. Start-N-Sessions Command with Individual Session Control | |||
Having | Having | |||
o initiated Individual Session Control mode in the Setup Response, | o initiated Individual Session Control mode in the Setup Response, | |||
o requested one or more test sessions, and | o requested one or more test sessions, and | |||
o received affirmative Accept-Session response(s), | o received affirmative Accept-Session response(s), | |||
a TWAMP Client MAY start the execution of one or more test sessions | a TWAMP Client MAY start the execution of one or more test sessions | |||
by sending a Start-N-Sessions message to the Server (note that "N" | by sending a Start-N-Sessions message to the Server (note that "N" | |||
indicates that this command is applicable to one or more sessions, | indicates that this command is applicable to one or more sessions, | |||
and does not change with the number of sessions identified in the | and does not change with the number of sessions identified in the | |||
skipping to change at page 7, line 29 | skipping to change at page 6, line 36 | |||
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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | |||
| 7 | | | | 7 | | | |||
+-+-+-+-+-+-+-+-+ + | +-+-+-+-+-+-+-+-+ + | |||
| MBZ (11 octets) | | | MBZ (11 octets) | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Number of Sessions | | | Number of Sessions | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | |||
| | | | | | |||
| First SID (16 octets) | | | First SID (16 octets) | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | |||
| | | | | | |||
. remaining SIDs (16 octets each) . | . remaining SIDs (16 octets each) . | |||
. . | . . | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | |||
| | | | | | |||
| HMAC (16 octets) | | | HMAC (16 octets) | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | |||
Note: In figures, "B" indicates the boundary of a 16-octet word. | ||||
The Command Number value of 7 indicates that this is a Start-N- | The Command Number value of 7 indicates that this is a Start-N- | |||
Sessions command. The Control-Client MUST compose this command, and | Sessions command. The Control-Client MUST compose this command, and | |||
the Server MUST interpret this command, according to the field | the Server MUST interpret this command, according to the field | |||
descriptions below. | descriptions below. | |||
The Number of Sessions field indicates the count of sessions that | The Number of Sessions field indicates the count of sessions that | |||
this Start command applies to, and MUST be one or greater. The | this Start command applies to, and MUST be one or greater. The | |||
number of SID fields that follow MUST be equal to the value in the | number of SID fields that follow MUST be equal to the value in the | |||
Number of Sessions field (otherwise, the command MUST NOT be affirmed | Number of Sessions field (otherwise, the command MUST NOT be affirmed | |||
with a zero Accept field in the Start-N-Ack response). | with a zero Accept field in the Start-N-Ack response). | |||
All SID fields are constructed as defined in the last paragraph of | All SID fields are constructed as defined in the last paragraph of | |||
OWAMP section 3.5 [RFC4656] (and referenced in TWAMP). Note that the | Section 3.5 of OWAMP [RFC4656] (and referenced in TWAMP). Note that | |||
SID is assigned by the Server during the session request exchange. | the SID is assigned by the Server during the session request | |||
exchange. | ||||
The message is terminated with a single block HMAC, as illustrated | The message is terminated with a single block HMAC, as illustrated | |||
above. | above. | |||
The Server MUST respond with one or more Start-N-Ack messages (which | The Server MUST respond with one or more Start-N-Ack messages (which | |||
SHOULD be sent as quickly as possible). Start-N-Ack messages SHALL | SHOULD be sent as quickly as possible). Start-N-Ack messages SHALL | |||
have the format defined in the next session. | have the format defined in the next session. | |||
When using Individual Session Control mode and its Start-N-Ack | When using Individual Session Control mode and its Start-N-Ack | |||
command as described in the next section, multiple Start-N-Sessions | command as described in the next section, multiple Start-N-Sessions | |||
skipping to change at page 8, line 33 | skipping to change at page 8, line 5 | |||
3.3. Start-N-Ack Command with Individual Session Control | 3.3. Start-N-Ack Command with Individual Session Control | |||
The Server responds to the Start-N-Sessions command (for one or more | The Server responds to the Start-N-Sessions command (for one or more | |||
specific sessions referenced by their SIDs) with one or more Start-N- | specific sessions referenced by their SIDs) with one or more Start-N- | |||
Ack commands with Accept fields corresponding to one or more of the | Ack commands with Accept fields corresponding to one or more of the | |||
SIDs. This allows for the possibility that a Server cannot | SIDs. This allows for the possibility that a Server cannot | |||
immediately start one or more of the sessions referenced in a | immediately start one or more of the sessions referenced in a | |||
particular Start-N-Sessions command, but can start one or more of the | particular Start-N-Sessions command, but can start one or more of the | |||
sessions. | sessions. | |||
The format of the message is as follows. | The format of the message is as follows: | |||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | |||
| 8 | Accept | MBZ | | | 8 | Accept | MBZ | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| MBZ (8 octets) | | | MBZ (8 octets) | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Number of Sessions | | | Number of Sessions | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | |||
| | | | | | |||
| First SID (16 octets) | | | First SID (16 octets) | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | |||
| | | | | | |||
. remaining SIDs (16 octets each) . | . remaining SIDs (16 octets each) . | |||
. . | . . | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | |||
| | | | | | |||
| HMAC (16 octets) | | | HMAC (16 octets) | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
The Command Number value of 8 indicates that this is a Start-N-Ack | The Command Number value of 8 indicates that this is a Start-N-Ack | |||
message. The Server MUST compose this command, and the Control- | message. The Server MUST compose this command, and the Control- | |||
Client MUST interpret this command, according to the field | Client MUST interpret this command, according to the field | |||
descriptions below. | descriptions below. | |||
The Accept Field values are defined in OWAMP section 3.3 [RFC4656]. | The Accept field values are defined in Section 3.3 of OWAMP | |||
[RFC4656]. | ||||
The Number of Sessions field indicates the count of sessions that | The Number of Sessions field indicates the count of sessions that | |||
this Start-N-Ack command applies to, and MUST be one or greater. The | this Start-N-Ack command applies to, and MUST be one or greater. The | |||
number of SID fields that follow MUST be equal to the value in the | number of SID fields that follow MUST be equal to the value in the | |||
Number of Sessions field. | Number of Sessions field. | |||
All SID fields are constructed as defined in the last paragraph of | All SID fields are constructed as defined in the last paragraph of | |||
OWAMP section 3.5 [RFC4656] (and referenced in TWAMP). Note that the | Section 3.5 of OWAMP [RFC4656] (and referenced in TWAMP). Note that | |||
SID is assigned by the Server during the session request exchange. | the SID is assigned by the Server during the session request | |||
exchange. | ||||
The message is terminated with a single block HMAC, as illustrated | The message is terminated with a single block HMAC, as illustrated | |||
above. | above. | |||
Note that the SIDs for all Sessions with the same 'Accept' code can | Note that the SIDs for all Sessions with the same 'Accept' code can | |||
be acknowledged using the same Start-N-Ack message. | be acknowledged using the same Start-N-Ack message. | |||
For example, say that the Server receives a Start-N-Sessions command | For example, say that the Server receives a Start-N-Sessions command | |||
for SIDs 1, 2, 3, and 4. The Server determines that the resources | for SIDs 1, 2, 3, and 4. The Server determines that the resources | |||
for SID=3 are temporarily unavailable. The Server responds with two | for SID=3 are temporarily unavailable. The Server responds with two | |||
Start-N-Ack commands with fields as follows: | Start-N-Ack commands with fields as follows: | |||
Accept = 0 Number of Sessions = 3 SIDs 1, 2, 4 | Accept = 0 Number of Sessions = 3 SIDs 1, 2, 4 | |||
Accept = 5 Number of Sessions = 1 SID 3 | Accept = 5 Number of Sessions = 1 SID 3 | |||
3.4. Stop-N-Sessions Command with Individual Session Control | 3.4. Stop-N-Sessions Command with Individual Session Control | |||
The Stop-N-Sessions command can only be issued by the Control-Client. | The Stop-N-Sessions command can only be issued by the Control-Client. | |||
The command MUST contain at least one SID. | The command MUST contain at least one SID. | |||
The TWAMP Stop-N-Sessions command for use in Individual Session | The TWAMP Stop-N-Sessions command for use in Individual Session | |||
Control mode is formatted as follows: | Control mode is formatted as follows: | |||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | |||
| 9 | | | | 9 | | | |||
+-+-+-+-+-+-+-+-+ + | +-+-+-+-+-+-+-+-+ + | |||
| MBZ (11 octets) | | | MBZ (11 octets) | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Number of Sessions | | | Number of Sessions | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | |||
| | | | | | |||
| First SID (16 octets) | | | First SID (16 octets) | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | |||
| | | | | | |||
. remaining SIDs (16 octets each) . | . remaining SIDs (16 octets each) . | |||
. . | . . | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | |||
| | | | | | |||
| HMAC (16 octets) | | | HMAC (16 octets) | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | |||
The Command Number value of 9 indicates that this is a Stop-N- | The Command Number value of 9 indicates that this is a Stop-N- | |||
Sessions command. The Control-Client MUST compose this command, and | Sessions command. The Control-Client MUST compose this command, and | |||
the Server MUST interpret this command, according to the field | the Server MUST interpret this command, according to the field | |||
descriptions below. | descriptions below. | |||
The Number of sessions field indicates the count of sessions that | The Number of Sessions field indicates the count of sessions to which | |||
this Stop-N-Sessions command applies to. The SID is as defined in | this Stop-N-Sessions command applies. The SID is as defined in | |||
OWAMP (and TWAMP) section 3.5 [RFC4656] and the value MUST be one or | Section 3.5 of OWAMP [RFC4656] (and TWAMP), and the value MUST be one | |||
greater. The number of SID fields that follow MUST be equal to the | or greater. The number of SID fields that follow MUST be equal to | |||
value in the Number of Sessions field. | the value in the Number of Sessions field. | |||
The message is terminated with a single block HMAC, as illustrated | The message is terminated with a single block HMAC, as illustrated | |||
above. | above. | |||
The Server MUST respond with one or more Stop-N-Ack messages (which | The Server MUST respond with one or more Stop-N-Ack messages (which | |||
SHOULD be sent as quickly as possible). Stop-N-Ack messages SHALL | SHOULD be sent as quickly as possible). Stop-N-Ack messages SHALL | |||
have the format defined in the next session. | have the format defined in the next session. | |||
3.5. Stop-N-Ack Command with Individual Session Control | 3.5. Stop-N-Ack Command with Individual Session Control | |||
In response to the Stop-N-Sessions command (for one or more specific | In response to the Stop-N-Sessions command (for one or more specific | |||
sessions referenced by their SIDs), the Server MUST reply with one or | sessions referenced by their SIDs), the Server MUST reply with one or | |||
more Stop-N-Ack commands with Accept fields corresponding to one or | more Stop-N-Ack commands with Accept fields corresponding to one or | |||
more of the SIDs. This allows for the possibility that a Server | more of the SIDs. This allows for the possibility that a Server | |||
cannot immediately stop one or more of the sessions referenced in a | cannot immediately stop one or more of the sessions referenced in a | |||
particular Stop-N-Sessions command, but can stop one or more of the | particular Stop-N-Sessions command, but can stop one or more of the | |||
sessions. | sessions. | |||
The format for the Stop-N-Ack command is as follows: | The format for the Stop-N-Ack command is as follows: | |||
0 1 2 3 | 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 | 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | |||
| 10 | Accept | MBZ | | | 10 | Accept | MBZ | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| MBZ (8 octets) | | | MBZ (8 octets) | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Number of Sessions | | | Number of Sessions | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | |||
| | | | | | |||
| First SID (16 octets) | | | First SID (16 octets) | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | |||
| | | | | | |||
. remaining SIDs (16 octets each) . | . remaining SIDs (16 octets each) . | |||
. . | . . | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+B | |||
| | | | | | |||
| HMAC (16 octets) | | | HMAC (16 octets) | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
The Command Number value of 10 indicates that this is a Stop-N-Ack | The Command Number value of 10 indicates that this is a Stop-N-Ack | |||
message. The Server MUST compose this command, and the Control- | message. The Server MUST compose this command, and the Control- | |||
Client MUST interpret this command, according to the field | Client MUST interpret this command, according to the field | |||
descriptions below. | descriptions below. | |||
The Accept Field values are defined in OWAMP section 3.3 [RFC4656]. | The Accept Field values are defined in Section 3.3 of OWAMP | |||
[RFC4656]. | ||||
The Number of Sessions field indicates the count of sessions that | The Number of Sessions field indicates the count of sessions that | |||
this Stop-N-Ack command applies to, and MUST be one or greater. The | this Stop-N-Ack command applies to, and MUST be one or greater. The | |||
number of SID fields that follow MUST be equal to the value in the | number of SID fields that follow MUST be equal to the value in the | |||
Number of Sessions field. | Number of Sessions field. | |||
All SID fields are constructed as defined in the last paragraph of | All SID fields are constructed as defined in the last paragraph of | |||
OWAMP section 3.5 [RFC4656] (and referenced in TWAMP). Note that the | Section 3.5 of OWAMP [RFC4656] (and referenced in TWAMP). Note that | |||
SID is assigned by the Server during the session request exchange. | the SID is assigned by the Server during the session request | |||
exchange. | ||||
The message is terminated with a single block HMAC, as illustrated | The message is terminated with a single block HMAC, as illustrated | |||
above. | above. | |||
Note that the SIDs for all Sessions with the same 'Accept' code can | Note that the SIDs for all Sessions with the same 'Accept' code can | |||
be acknowledged using the same Stop-N-Ack message. | be acknowledged using the same Stop-N-Ack message. | |||
3.6. SERVWAIT Timeout Operation | 3.6. SERVWAIT Timeout Operation | |||
Section 3.1 of [RFC5357] describes the operation of the optional | Section 3.1 of [RFC5357] describes the operation of the optional | |||
SERVWAIT timer. In normal TWAMP operation, the Server suspends | SERVWAIT timer. In normal TWAMP operation, the Server suspends | |||
monitoring the SERVWAIT timer while test sessions are in progress. | monitoring the SERVWAIT timer while test sessions are in progress. | |||
When the Individual Session Control feature is utilized, this | When the Individual Session Control feature is utilized, this | |||
suspension is extended to cover the time when ANY test session is in | suspension is extended to cover the time when ANY test session is in | |||
progress. | progress. | |||
Thus, the Server SHALL suspend monitoring control connection activity | Thus, the Server SHALL suspend monitoring control connection activity | |||
after receiving any Start-N-Sessions command, and after receiving a | after receiving any Start-N-Sessions command, and after receiving a | |||
Stop-N-Sessions command for all corresponding SIDs (and no test | Stop-N-Sessions command for all corresponding SIDs (and no test | |||
sessions are in-progress), OR when REFWAIT expires on ALL test | sessions are in progress), OR when REFWAIT expires on ALL test | |||
sessions initiated by a TWAMP-Control connection, then the SERVWAIT | sessions initiated by a TWAMP-Control connection, then the SERVWAIT | |||
monitoring SHALL resume (as though a Stop-N-Sessions command had been | monitoring SHALL resume (as though a Stop-N-Sessions command had been | |||
received). An implementation which supports the SERVWAIT timeout | received). An implementation that supports the SERVWAIT timeout | |||
option SHOULD also implement the REFWAIT timeout option. | option SHOULD also implement the REFWAIT timeout option. | |||
The diagram below illustrates the operation of timers SERVWAIT and | The diagram below illustrates the operation of timers SERVWAIT and | |||
REFWAIT. | REFWAIT. | |||
SERVWAIT REFWAIT SERVWAIT | SERVWAIT REFWAIT SERVWAIT | |||
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+ | |||
(no sessions | (no sessions | |||
in-progress) | in progress) | |||
+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+ | |||
SID="1" | SID="1" | |||
+-+-+-+-+ | +-+-+-+-+ | |||
SID="2" | SID="2" | |||
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
SID="3" | SID="3" | |||
>>>>>>>>>> Time >>>>>>>>>>>>>>>>>>> Time >>>>>>>>>>>>>>>> Time >>>>> | >>>>>>>>>> Time >>>>>>>>>>>>>>>>>>> Time >>>>>>>>>>>>>>>> Time >>>>> | |||
3.7. Additional considerations | 3.7. Additional Considerations | |||
The value of the Modes field sent by the Server (in the Server | 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 | Greeting message) is the bit-wise OR of the mode values that it is | |||
willing to support during this session. | willing to support during this session. | |||
With the publication of this feature, bit positions 0 through (Z=4) | With the publication of this feature, bit positions 0 through 4 of | |||
of the Modes 32-bit field are used. A Control-Client MAY ignore bit | the 32-bit Modes field are used. A Control-Client MAY ignore bit | |||
positions greater than 2 in the Modes Field, or it MAY support | positions greater than 2 in the Modes field, or it MAY support | |||
OPTIONAL features that are communicated in bit positions 3 and | OPTIONAL features that are communicated in bit positions 3 and | |||
higher. (The unassigned bits are available for future protocol | higher. (The unassigned bits are available for future protocol | |||
extensions.) | extensions.) | |||
Other ways in which TWAMP extends OWAMP are described in [RFC5357]. | Other ways in which TWAMP extends OWAMP are described in [RFC5357]. | |||
4. TWAMP Test with Individual Session Control | 4. TWAMP Test with Individual Session Control | |||
The TWAMP test protocol is similar to the OWAMP [RFC4656] test | The TWAMP test protocol is similar to the OWAMP [RFC4656] test | |||
protocol with the exception that the Session-Reflector transmits test | protocol with the exception that the Session-Reflector transmits test | |||
packets to the Session-Sender in response to each test packet it | packets to the Session-Sender in response to each test packet it | |||
receives. TWAMP [RFC5357] defines two different test packet formats, | receives. TWAMP [RFC5357] defines two different test packet formats, | |||
one for packets transmitted by the Session-Sender and one for packets | one for packets transmitted by the Session-Sender and one for packets | |||
transmitted by the Session-Reflector. As with OWAMP-Test protocol | transmitted by the Session-Reflector. As with the OWAMP-Test | |||
there are three security modes: unauthenticated, authenticated, and | protocol, there are three security modes: unauthenticated, | |||
encrypted. Unauthenticated mode has one test packet format, while | authenticated, and encrypted. The unauthenticated mode has one test | |||
authenticated and encrypted modes use another (common) format. | packet format, while the authenticated and encrypted modes use | |||
another (common) format. | ||||
4.1. Sender Behavior | 4.1. Sender Behavior | |||
The individual session control feature requires that the sender MUST | The individual session control feature requires that the sender MUST | |||
manage test sessions according to their SID. Otherwise, the sender | manage test sessions according to their SID. Otherwise, the sender | |||
behavior is as described in section 4.1 of [RFC5357]. | behavior is as described in Section 4.1 of [RFC5357]. | |||
4.2. Reflector Behavior | 4.2. Reflector Behavior | |||
The TWAMP Reflector follows the procedures and guidelines in section | The TWAMP Reflector follows the procedures and guidelines in Section | |||
4.2 of [RFC5357], with the following additional functions required by | 4.2 of [RFC5357], with the following additional functions required by | |||
this feature: | this feature: | |||
o The Session-Reflector MUST manage all test sessions accepted | o The Session-Reflector MUST manage all test sessions accepted | |||
according to their SID. | according to their SID. | |||
o Upon receipt of a TWAMP-Control Stop-N-Sessions command | o Upon receipt of a TWAMP-Control Stop-N-Sessions command | |||
referencing a specific session/SID, the Session-Reflector MUST | referencing a specific session/SID, the Session-Reflector MUST | |||
ignore TWAMP-Test packets (in the same session/SID) that arrive at | ignore TWAMP-Test packets (in the same session/SID) that arrive at | |||
the current time plus the Timeout (in the Request-TW-Session | the current time plus the Timeout (in the Request-TW-Session | |||
command and assuming subsequent acknowledgement). The Session- | command and assuming subsequent acknowledgement). The Session- | |||
Reflector MUST NOT generate a test packet to the Session-Sender | Reflector MUST NOT generate a test packet to the Session-Sender | |||
for packets that are ignored. (Note: The Request-TW-Session | for packets that are ignored. (Note: The Request-TW-Session | |||
command includes sender address + port and receiver address + | command includes sender address + port and receiver address + | |||
port, and this is usually sufficient to distinguish sessions.) | port, and this is usually sufficient to distinguish sessions.) | |||
o If the REFWAIT timer is implemented, it SHOULD be enforced when | o If the REFWAIT timer is implemented, it SHOULD be enforced when | |||
any test session is in-progress (started and not stopped). | any test session is in progress (started and not stopped). | |||
5. Security Considerations | 5. Security Considerations | |||
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 the security | live networks are relevant here as well. See the security | |||
considerations in[RFC4656] and [RFC5357]. | considerations in [RFC4656] and [RFC5357]. | |||
6. IANA Considerations | 6. IANA Considerations | |||
This memo requests assignment of one mode bit position/value to the | As a result of this document, IANA has assigned one mode bit | |||
IANA registry for the TWAMP Mode field, and describes behavior when | position/value for a mode in the IANA registry for the TWAMP Modes | |||
the new mode is used. This field is a recognized extension mechanism | field, and this memo describes the behavior when the new mode is | |||
for TWAMP. | used. This field is a recognized extension mechanism for TWAMP. | |||
This memo also requests assignment of four command numbers in the | As a result of this document, IANA has assigned four command numbers | |||
TWAMP-Control Command Number registry, and describes the use of the | in the "TWAMP-Control Command Numbers" registry, and this memo | |||
new commands. The command number field is a recognized extension | describes the use of the new commands. The command number field is a | |||
mechanism for TWAMP. | recognized extension mechanism for TWAMP. | |||
6.1. Registry Specification | 6.1. Registry Specification | |||
IANA has created a TWAMP-Modes registry (as requested in [RFC5618]). | IANA has created a "TWAMP-Modes" registry (as requested in | |||
TWAMP-Modes are specified in TWAMP Server Greeting messages and | [RFC5618]). TWAMP-Modes are specified in TWAMP Server Greeting | |||
Set-up Response messages, as described in section 3.1 of [RFC5357], | messages and Set-Up-Response messages, as described in Section 3.1 of | |||
consistent with section 3.1 of [RFC4656], and extended by this memo. | [RFC5357], consistent with Section 3.1 of [RFC4656], and extended by | |||
Modes are indicated by setting bits in the 32-bit Modes field that | this memo. Modes are indicated by setting bits in the 32-bit Modes | |||
correspond to values in the Modes registry. For the TWAMP-Modes | field that correspond to values in the "TWAMP-Modes" registry. For | |||
registry, we expect that new features will be assigned increasing | the "TWAMP-Modes" registry, we expect that new features will be | |||
registry values that correspond to single bit positions, unless there | assigned increasing registry values that correspond to single bit | |||
is a good reason to do otherwise (more complex encoding than single | positions, unless there is a good reason to do otherwise (more | |||
bit positions may be used in the future, to access the 2^32 value | complex encoding than single bit positions may be used in the future | |||
space). | to access the 2^32 value space). | |||
IANA has also created a TWAMP-Control Command Number registry. | IANA has also created the "TWAMP-Control Command Numbers" registry. | |||
TWAMP-Control commands are specified by the first octet in TWAMP- | TWAMP-Control commands are specified by the first octet in TWAMP- | |||
Control messages as specified in section 3.5 of [RFC5357], and | Control messages as specified in Section 3.5 of [RFC5357], and | |||
augmented by this memo. This registry may contain 256 possible | augmented by this memo. This registry may contain 256 possible | |||
values. | values. | |||
6.2. Registry Management | 6.2. Registry Management | |||
Because the TWAMP-Control Command Number registry can contain only | Because the "TWAMP-Control Command Numbers" registry can contain only | |||
256 values and TWAMP-Modes can only contain thirty-two values, and | 256 values and "TWAMP-Modes" are based on only 32 bit positions with | |||
because TWAMP is an IETF protocol, these registries must be updated | a maximum of 2^32 values, and because TWAMP is an IETF protocol, | |||
only by "IETF Consensus" as specified in [RFC5226] (an RFC | these registries must be updated only by "IETF Consensus" as | |||
documenting registry use that is approved by the IESG). Management | specified in [RFC5226] (an RFC that documents registry use and is | |||
of these registries is described in section 8.2 of [RFC5357] and | approved by the IESG). Management of these registries is described | |||
[RFC5618]. | in Section 8.2 of [RFC5357] and [RFC5618]. | |||
This memo proposes assignment of values 7, 8, 9 and 10 in the Command | The values 7, 8, 9, and 10 have been assigned in the "TWAMP-Control | |||
number Registry, and a Mode registry value (indicated by "zzz") | Command Numbers" Registry. The value 16 corresponding to the next | |||
corresponding to the next available bit position (indicated by "Z") | available bit position (4) (as described in Sections 3.1 and 3.7) has | |||
in sections 3.1 and 3.7 above. Note that the "zzz" and "Z" strings | been assigned in the "TWAMP-Modes" registry. | |||
should be replaced by IANA or the RFC Editor when values are | ||||
assigned. | ||||
6.3. Experimental Numbers | 6.3. Experimental Numbers | |||
One experimental value has been assigned in the TWAMP-Control Command | One experimental value has been assigned in the "TWAMP-Control | |||
Number registry. | Command Numbers" registry. | |||
No additional experimental values are assigned in the TWAMP-Modes | No additional experimental values are assigned in the TWAMP-Modes | |||
registry. | registry. | |||
6.4. Registry Contents | 6.4. Registry Contents | |||
TWAMP-Control Command Number Registry | TWAMP-Control Command Numbers Registry | |||
Value Description Semantics Definition | Value Description Semantics Definition | |||
0 Reserved | 0 Reserved | |||
1 Forbidden | 1 Forbidden | |||
2 Start-Sessions RFC4656, Section 3.7 | 2 Start-Sessions RFC 4656, Section 3.7 | |||
3 Stop-Sessions RFC4656, Section 3.8 | 3 Stop-Sessions RFC 4656, Section 3.8 | |||
4 Reserved | 4 Reserved | |||
5 Request-TW-Session RFC5357, Section 3.5 | 5 Request-TW-Session RFC 5357, Section 3.5 | |||
6 Experimentation RFC5357, Section 8.3 | 6 Experimentation RFC 5357, Section 8.3 | |||
------------------------------------------------------------------ | ------------------------------------------------------------------ | |||
7 Start-N-Sessions this memo, Section 3.2 | 7 Start-N-Sessions RFC 5938, Section 3.2 | |||
8 Start-N-Ack this memo, Section 3.3 | 8 Start-N-Ack RFC 5938, Section 3.3 | |||
9 Stop-N-Sessions this memo, Section 3.4 | 9 Stop-N-Sessions RFC 5938, Section 3.4 | |||
10 Stop-N-Ack this memo, Section 3.5 | 10 Stop-N-Ack RFC 5938, Section 3.5 | |||
TWAMP-Modes Registry | TWAMP-Modes Registry | |||
Value Description Reference/Explanation | Value Description Reference/Explanation | |||
0 Reserved | 0 Reserved | |||
1 Unauthenticated RFC4656, Section 3.1 | 1 Unauthenticated RFC 4656, Section 3.1 | |||
2 Authenticated RFC4656, Section 3.1 | 2 Authenticated RFC 4656, Section 3.1 | |||
4 Encrypted RFC4656, Section 3.1 | 4 Encrypted RFC 4656, Section 3.1 | |||
8 Unauth. TEST protocol, RFC5618, Section 3.1 | 8 Unauth. TEST protocol, RFC 5618, Section 3.1 | |||
Auth. CONTROL | Encrypted CONTROL | |||
-------------------------------------------------------- | -------------------------------------------------------- | |||
zzz Individual Session this memo, Section 3.1 | 16 Individual Session RFC 5938, Section 3.1 | |||
Control bit position (Z) | Control bit position 4 | |||
The suggested values are: | ||||
The next value corresponding to an unused bit is zzz=16, with Z=4. | ||||
7. Acknowledgements | 7. Acknowledgements | |||
The authors thank everyone who provided comments on this feature, | The authors thank everyone who provided comments on this feature, | |||
especially Lars Eggert, Adrian Farrel, and Alexey Melnikov. | especially Lars Eggert, Adrian Farrel, and Alexey Melnikov. | |||
8. References | 8. References | |||
8.1. Normative References | 8.1. Normative References | |||
skipping to change at page 17, line 35 | skipping to change at page 16, line 35 | |||
[RFC5357] Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J. | [RFC5357] Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J. | |||
Babiarz, "A Two-Way Active Measurement Protocol (TWAMP)", | Babiarz, "A Two-Way Active Measurement Protocol (TWAMP)", | |||
RFC 5357, October 2008. | RFC 5357, October 2008. | |||
[RFC5618] Morton, A. and K. Hedayat, "Mixed Security Mode for the | [RFC5618] Morton, A. and K. Hedayat, "Mixed Security Mode for the | |||
Two-Way Active Measurement Protocol (TWAMP)", RFC 5618, | Two-Way Active Measurement Protocol (TWAMP)", RFC 5618, | |||
August 2009. | August 2009. | |||
8.2. Informative References | 8.2. Informative References | |||
[I-D.ietf-ippm-twamp-reflect-octets] | [REFLECT] Morton, A. and L. Ciavattone, "TWAMP Reflect Octets and | |||
Morton, A. and L. Ciavattone, "TWAMP Reflect Octets and | Symmetrical Size Features", Work in Progress, June 2010. | |||
Symmetrical Size Features", | ||||
draft-ietf-ippm-twamp-reflect-octets-04 (work in | ||||
progress), February 2010. | ||||
Authors' Addresses | Authors' Addresses | |||
Al Morton | Al Morton | |||
AT&T Labs | AT&T Labs | |||
200 Laurel Avenue South | 200 Laurel Avenue South | |||
Middletown,, NJ 07748 | Middletown, NJ 07748 | |||
USA | USA | |||
Phone: +1 732 420 1571 | Phone: +1 732 420 1571 | |||
Fax: +1 732 368 1192 | Fax: +1 732 368 1192 | |||
Email: acmorton@att.com | EMail: acmorton@att.com | |||
URI: http://home.comcast.net/~acmacm/ | URI: http://home.comcast.net/~acmacm/ | |||
Murtaza Chiba | Murtaza Chiba | |||
Cisco Systems | Cisco Systems | |||
170 W. Tasman Drive | 170 W. Tasman Drive | |||
San Jose, 95134 | San Jose, CA 95134 | |||
USA | USA | |||
Phone: +1 800 553 NETS | Phone: +1 800 553 NETS | |||
Fax: +1 | EMail: mchiba@cisco.com | |||
Email: mchiba@cisco.com | ||||
URI: | ||||
End of changes. 81 change blocks. | ||||
188 lines changed or deleted | 186 lines changed or added | |||
This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |