draft-ietf-ippm-stamp-option-tlv-09.txt   draft-ietf-ippm-stamp-option-tlv-10.txt 
Network Working Group G. Mirsky Network Working Group G. Mirsky
Internet-Draft X. Min Internet-Draft X. Min
Updates: 8762 (if approved) ZTE Corp. Updates: 8762 (if approved) ZTE Corp.
Intended status: Standards Track H. Nydell Intended status: Standards Track H. Nydell
Expires: February 22, 2021 Accedian Networks Expires: May 19, 2021 Accedian Networks
R. Foote R. Foote
Nokia Nokia
A. Masputra A. Masputra
Apple Inc. Apple Inc.
E. Ruffini E. Ruffini
OutSys OutSys
August 21, 2020 November 15, 2020
Simple Two-way Active Measurement Protocol Optional Extensions Simple Two-way Active Measurement Protocol Optional Extensions
draft-ietf-ippm-stamp-option-tlv-09 draft-ietf-ippm-stamp-option-tlv-10
Abstract Abstract
This document describes optional extensions to Simple Two-way Active This document describes optional extensions to Simple Two-way Active
Measurement Protocol (STAMP) that enable measurement of performance Measurement Protocol (STAMP) that enable measurement of performance
metrics. The document also defines a STAMP Test Session Identifier metrics. The document also defines a STAMP Test Session Identifier
and thus updates RFC 8762. and thus updates RFC 8762.
Status of This Memo Status of This Memo
skipping to change at page 1, line 41 skipping to change at page 1, line 41
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on February 22, 2021. This Internet-Draft will expire on May 19, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 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
(https://trustee.ietf.org/license-info) in effect on the date of (https://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 2, line 27 skipping to change at page 2, line 27
2.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 2.2. Requirements Language . . . . . . . . . . . . . . . . . . 3
3. STAMP Test Session Identifier . . . . . . . . . . . . . . . . 4 3. STAMP Test Session Identifier . . . . . . . . . . . . . . . . 4
4. TLV Extensions to STAMP . . . . . . . . . . . . . . . . . . . 8 4. TLV Extensions to STAMP . . . . . . . . . . . . . . . . . . . 8
4.1. Extra Padding TLV . . . . . . . . . . . . . . . . . . . . 11 4.1. Extra Padding TLV . . . . . . . . . . . . . . . . . . . . 11
4.2. Location TLV . . . . . . . . . . . . . . . . . . . . . . 12 4.2. Location TLV . . . . . . . . . . . . . . . . . . . . . . 12
4.2.1. Location Sub-TLVs . . . . . . . . . . . . . . . . . . 13 4.2.1. Location Sub-TLVs . . . . . . . . . . . . . . . . . . 13
4.2.2. Theory of Operation of Location TLV . . . . . . . . . 14 4.2.2. Theory of Operation of Location TLV . . . . . . . . . 14
4.3. Timestamp Information TLV . . . . . . . . . . . . . . . . 16 4.3. Timestamp Information TLV . . . . . . . . . . . . . . . . 16
4.4. Class of Service TLV . . . . . . . . . . . . . . . . . . 17 4.4. Class of Service TLV . . . . . . . . . . . . . . . . . . 17
4.5. Direct Measurement TLV . . . . . . . . . . . . . . . . . 18 4.5. Direct Measurement TLV . . . . . . . . . . . . . . . . . 18
4.6. Access Report TLV . . . . . . . . . . . . . . . . . . . . 19 4.6. Access Report TLV . . . . . . . . . . . . . . . . . . . . 20
4.7. Follow-up Telemetry TLV . . . . . . . . . . . . . . . . . 21 4.7. Follow-up Telemetry TLV . . . . . . . . . . . . . . . . . 21
4.8. HMAC TLV . . . . . . . . . . . . . . . . . . . . . . . . 23 4.8. HMAC TLV . . . . . . . . . . . . . . . . . . . . . . . . 23
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24
5.1. STAMP TLV Registry . . . . . . . . . . . . . . . . . . . 24 5.1. STAMP TLV Registry . . . . . . . . . . . . . . . . . . . 24
5.2. STAMP TLV Flags Sub-registry . . . . . . . . . . . . . . 25 5.2. STAMP TLV Flags Sub-registry . . . . . . . . . . . . . . 25
5.3. Sub-TLV Type Sub-registry . . . . . . . . . . . . . . . . 25 5.3. Sub-TLV Type Sub-registry . . . . . . . . . . . . . . . . 26
5.4. Synchronization Source Sub-registry . . . . . . . . . . . 26 5.4. Synchronization Source Sub-registry . . . . . . . . . . . 26
5.5. Timestamping Method Sub-registry . . . . . . . . . . . . 27 5.5. Timestamping Method Sub-registry . . . . . . . . . . . . 27
5.6. Return Code Sub-registry . . . . . . . . . . . . . . . . 28 5.6. Return Code Sub-registry . . . . . . . . . . . . . . . . 28
6. Security Considerations . . . . . . . . . . . . . . . . . . . 29 6. Security Considerations . . . . . . . . . . . . . . . . . . . 29
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 29 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 29
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 29 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 30
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 30 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 30
9.1. Normative References . . . . . . . . . . . . . . . . . . 30 9.1. Normative References . . . . . . . . . . . . . . . . . . 30
9.2. Informative References . . . . . . . . . . . . . . . . . 30 9.2. Informative References . . . . . . . . . . . . . . . . . 30
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31
1. Introduction 1. Introduction
Simple Two-way Active Measurement Protocol (STAMP) [RFC8762] defined Simple Two-way Active Measurement Protocol (STAMP) [RFC8762] defined
the STAMP base functionalities. This document specifies the use of the STAMP base functionalities. This document specifies the use of
optional extensions that use Type-Length-Value (TLV) encoding. Such optional extensions that use Type-Length-Value (TLV) encoding. Such
skipping to change at page 10, line 40 skipping to change at page 10, line 40
STAMP test packet in the mode, unauthenticated or authenticated based STAMP test packet in the mode, unauthenticated or authenticated based
on the configuration of the particular STAMP test session. If the on the configuration of the particular STAMP test session. If the
difference between the two values is larger than the length of the difference between the two values is larger than the length of the
UDP header, then the test packet includes one or more STAMP TLVs that UDP header, then the test packet includes one or more STAMP TLVs that
immediately follow the base STAMP test packet. A Session-Reflector immediately follow the base STAMP test packet. A Session-Reflector
that does not support STAMP extensions will not process but copy them that does not support STAMP extensions will not process but copy them
into the reflected packet, as defined in Section 4.3 [RFC8762]. A into the reflected packet, as defined in Section 4.3 [RFC8762]. A
Session-Reflector that supports TLVs will indicate specific TLVs that Session-Reflector that supports TLVs will indicate specific TLVs that
it did not process by setting the U flag to 1 in those TLVs. it did not process by setting the U flag to 1 in those TLVs.
A STAMP system, i.e., either a Session-Sender or a Session-Reflector, A STAMP Session-Sender that has received a reflected STAMP test
that has received a STAMP test packet with extension TLVs MUST packet with extension TLVs MUST validate each TLV:
validate each TLV:
If the U flag is set, the STAMP system MUST skip the processing of If the U flag is set, the STAMP system MUST skip the processing of
the TLV. the TLV.
If the M flag is set, the STAMP system MUST stop processing the If the M flag is set, the STAMP system MUST stop processing the
remainder of the extended STAMP packet. remainder of the extended STAMP packet.
If the I flag is set, the STAMP system MUST discard all TLVs and If the I flag is set, the STAMP system MUST discard all TLVs and
MUST stop processing the remainder of the extended STAMP packet. MUST stop processing the remainder of the extended STAMP packet.
skipping to change at page 13, line 5 skipping to change at page 12, line 50
o Source Port - two-octet-long UDP source port number of the o Source Port - two-octet-long UDP source port number of the
received STAMP packet. received STAMP packet.
o Sub-TLVs - a sequence of sub-TLVs, as defined further in this o Sub-TLVs - a sequence of sub-TLVs, as defined further in this
section. The sub-TLVs are used by the Session-Sender to request section. The sub-TLVs are used by the Session-Sender to request
location information with generic sub-TLV types, and the Session- location information with generic sub-TLV types, and the Session-
Reflector responds with the corresponding more-specific sub-TLVs Reflector responds with the corresponding more-specific sub-TLVs
for the type of address (e.g., IPv4 or IPv6) used at the Session- for the type of address (e.g., IPv4 or IPv6) used at the Session-
Reflector. Reflector.
Note that all fields not filled by either a Session-Sender or
Session-Reflector are transmitted with all bits set to zero.
4.2.1. Location Sub-TLVs 4.2.1. Location Sub-TLVs
A sub-TLV in the Location TLV uses the format displayed in Figure 5. A sub-TLV in the Location TLV uses the format displayed in Figure 5.
Handling of the U and M flags in the sub-TLV is as defined in Handling of the U and M flags in the sub-TLV is as defined in
Section 4. The I flag MUST be set by a Session-Sender and Session- Section 4. The I flag MUST be set by a Session-Sender and Session-
Reflector to 0 before transmission and its value ignored on receipt. Reflector to 0 before transmission and its value ignored on receipt.
The following types of sub-TLV for the Location TLV are defined in The following types of sub-TLV for the Location TLV are defined in
this specification (type values are assigned according to Table 5): this specification (type values are assigned according to Table 5):
o Source MAC Address sub-TLV - is a 12-octet-long sub-TLV. The Type o Source MAC Address sub-TLV - is a 12-octet-long sub-TLV. The Type
value is TBA9. The value of the Length field MUST equal to 8. value is TBA9. The value of the Length field MUST equal to 8.
The Value field is a 12-octet-long MBZ field that MUST be zeroed The Value field is an 8-octet-long MBZ field that MUST be zeroed
on transmission and ignored on receipt. on transmission and ignored on receipt.
o Source EUI-48 Address sub-TLV - is a 12-octet-long sub-TLV that o Source EUI-48 Address sub-TLV - is a 12-octet-long sub-TLV that
includes the EUI-48 source MAC address. The Type value is TBA10. includes the EUI-48 source MAC address. The Type value is TBA10.
The value of the Length field MUST equal to 8. The value of the Length field MUST equal to 8.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| EUI-48 Address | | EUI-48 Address |
skipping to change at page 13, line 42 skipping to change at page 13, line 42
The Value field consists of the following fields (Figure 9): The Value field consists of the following fields (Figure 9):
* The EUI-48 is a six-octet-long field. * The EUI-48 is a six-octet-long field.
* Two-octet-ling MBZ field MUST be zeroed on transmission and * Two-octet-ling MBZ field MUST be zeroed on transmission and
ignored on receipt. ignored on receipt.
o Source EUI-64 Address sub-TLV - is a 12-octet-long sub-TLV that o Source EUI-64 Address sub-TLV - is a 12-octet-long sub-TLV that
includes the EUI-64 source MAC address. The Type value is TBA11. includes the EUI-64 source MAC address. The Type value is TBA11.
The value of the Length field MUST equal to 12. The Value field The value of the Length field MUST equal to 8. The Value field
consists of an eight-octet-long EUI-64 field. consists of an eight-octet-long EUI-64 field.
o Destination IP Address sub-TLV - is a 20-octet-long sub-TLV. The o Destination IP Address sub-TLV - is a 20-octet-long sub-TLV. The
Type value is TBA12. The value of the Length field MUST equal to Type value is TBA12. The value of the Length field MUST equal to
16. The Value field consists of a 16-octet-long MBZ field that 16. The Value field consists of a 16-octet-long MBZ field that
MUST be zeroed on transmit and ignored on receipt MUST be zeroed on transmit and ignored on receipt
o Destination IPv4 Address sub-TLV - is a 20-octet-long sub-TLV that o Destination IPv4 Address sub-TLV - is a 20-octet-long sub-TLV that
includes IPv4 destination address. The Type value is TBA13. The includes IPv4 destination address. The Type value is TBA13. The
value of the Length field MUST equal to 16. value of the Length field MUST equal to 16.
skipping to change at page 15, line 10 skipping to change at page 15, line 10
The Session-Reflector that received an extended STAMP packet with the The Session-Reflector that received an extended STAMP packet with the
Location TLV MUST include the Location TLV of the size equal to the Location TLV MUST include the Location TLV of the size equal to the
size of Location TLV in the received packet in the reflected packet. size of Location TLV in the received packet in the reflected packet.
Based on the local policy, the Session-Reflector MAY leave some Based on the local policy, the Session-Reflector MAY leave some
fields unreported by filling them with zeroes. An implementation of fields unreported by filling them with zeroes. An implementation of
the stateful Session-Reflector MUST provide control for managing such the stateful Session-Reflector MUST provide control for managing such
policies. policies.
A Session-Sender MAY include the Source MAC Address sub-TLV is the A Session-Sender MAY include the Source MAC Address sub-TLV in the
Location TLV. If the Session-Reflector receives the Location TLV Location TLV. If the Session-Reflector receives the Location TLV
that includes the Source MAC Address sub-TLV, it MUST include the that includes the Source MAC Address sub-TLV, it MUST include the
Source EUI-48 Address sub-TLV if the source MAC address of the Source EUI-48 Address sub-TLV if the source MAC address of the
received extended test packet is in EUI-48 format. And the Session- received extended test packet is in EUI-48 format. And the Session-
Reflector MUST copy the value of the source MAC address in the EUI-48 Reflector MUST copy the value of the source MAC address in the EUI-48
field. Otherwise, the Session-Reflector MUST use the Source EUI-64 field. Otherwise, the Session-Reflector MUST use the Source EUI-64
Address sub-TLV and MUST copy the value of the Source MAC address Address sub-TLV and MUST copy the value of the Source MAC address
from the received packet into the EUI-64 field. If the received from the received packet into the EUI-64 field. If the received
extended STAMP test packet does not have the Source MAC address, the extended STAMP test packet does not have the Source MAC address, the
Session-Reflector MUST zero the EUI-64 field before transmitting the Session-Reflector MUST zero the EUI-64 field before transmitting the
reflected packet. reflected packet.
A Session-Sender MAY include the Destination IP Address sub-TLV is A Session-Sender MAY include the Destination IP Address sub-TLV in
the Location TLV. If the Session-Reflector receives the Location TLV the Location TLV. If the Session-Reflector receives the Location TLV
that includes the Destination IP Address sub-TLV, it MUST include the that includes the Destination IP Address sub-TLV, it MUST include the
Destination IPv4 Address sub-TLV if the source IP address of the Destination IPv4 Address sub-TLV if the source IP address of the
received extended test packet is of IPv4 address family. And the received extended test packet is of IPv4 address family. And the
Session-Reflector MUST copy the value of the destination IP address Session-Reflector MUST copy the value of the destination IP address
in the IPv4 Address field. Otherwise, the Session-Reflector MUST use in the IPv4 Address field. Otherwise, the Session-Reflector MUST use
the Destination IPv6 Address sub-TLV and MUST copy the value of the the Destination IPv6 Address sub-TLV and MUST copy the value of the
destination IP address from the received packet into the IPv6 Address destination IP address from the received packet into the IPv6 Address
field. field.
A Session-Sender MAY include the Source IP Address sub-TLV is the A Session-Sender MAY include the Source IP Address sub-TLV in the
Location TLV. If the Session-Reflector receives the Location TLV Location TLV. If the Session-Reflector receives the Location TLV
that includes the Source IP Address sub-TLV, it MUST include the that includes the Source IP Address sub-TLV, it MUST include the
Source IPv4 Address sub-TLV if the source IP address of the received Source IPv4 Address sub-TLV if the source IP address of the received
extended test packet is of IPv4 address family. And the Session- extended test packet is of IPv4 address family. And the Session-
Reflector MUST copy the value of the source IP address in the IPv4 Reflector MUST copy the value of the source IP address in the IPv4
Address field. Otherwise, the Session-Reflector MUST use the Source Address field. Otherwise, the Session-Reflector MUST use the Source
IPv6 Address sub-TLV and MUST copy the value of the source IP address IPv6 Address sub-TLV and MUST copy the value of the source IP address
from the received packet into the IPv6 Address field. from the received packet into the IPv6 Address field.
The Location TLV MAY be used to determine the last-hop IP addresses, The Location TLV MAY be used to determine the last-hop IP addresses,
skipping to change at page 16, line 10 skipping to change at page 16, line 10
ports will indicate if there is a NAT router on the path. It allows ports will indicate if there is a NAT router on the path. It allows
the Session-Sender to identify the IP address of the Session- the Session-Sender to identify the IP address of the Session-
Reflector behind the NAT, and detect changes in the NAT mapping that Reflector behind the NAT, and detect changes in the NAT mapping that
could cause sending the STAMP packets to the wrong Session-Reflector. could cause sending the STAMP packets to the wrong Session-Reflector.
4.3. Timestamp Information TLV 4.3. Timestamp Information TLV
The STAMP Session-Sender MAY include the Timestamp Information TLV to The STAMP Session-Sender MAY include the Timestamp Information TLV to
request information from the Session-Reflector. The Session-Sender request information from the Session-Reflector. The Session-Sender
MUST NOT fill any information fields except for STAMP TLV Flags, MUST NOT fill any information fields except for STAMP TLV Flags,
Type, and Length. All other fields MUST be filled with zeroes The Type, and Length. All other fields MUST be filled with zeroes. The
Session-Reflector MUST validate the Length value of the TLV. If the Session-Reflector MUST validate the Length value of the TLV. If the
value of the Length field is invalid, the Session-Reflector follows value of the Length field is invalid, the Session-Reflector follows
the procedure defined in Section 4 for a malformed TLV. the procedure defined in Section 4 for a malformed TLV.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|STAMP TLV Flags|Times Info Type| Length | |STAMP TLV Flags|Times Info Type| Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sync. Src In | Timestamp In | Sync. Src Out | Timestamp Out | | Sync. Src In | Timestamp In | Sync. Src Out | Timestamp Out |
skipping to change at page 17, line 26 skipping to change at page 17, line 26
The STAMP Session-Sender MAY include a Class of Service (CoS) TLV in The STAMP Session-Sender MAY include a Class of Service (CoS) TLV in
the STAMP test packet. The format of the CoS TLV is presented in the STAMP test packet. The format of the CoS TLV is presented in
Figure 12. Figure 12.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|STAMP TLV Flags| CoS Type | Length | |STAMP TLV Flags| CoS Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DSCP1 | DSCP2 |ECN| Reserved | | DSCP1 | DSCP2 |ECN| RP| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 12: Class of Service TLV Figure 12: Class of Service TLV
where fields are defined as the following: where fields are defined as the following:
o STAMP TLV Flags - is an eight-bit-long field. Its format is o STAMP TLV Flags - is an eight-bit-long field. Its format is
presented in Figure 6. presented in Figure 6.
o CoS (Class of Service) Type - is a one-octet-long field, value o CoS (Class of Service) Type - is a one-octet-long field, value
skipping to change at page 17, line 51 skipping to change at page 17, line 51
o DSCP1 - The Differentiated Services Code Point (DSCP) intended by o DSCP1 - The Differentiated Services Code Point (DSCP) intended by
the Session-Sender to be used as the DSCP value of the reflected the Session-Sender to be used as the DSCP value of the reflected
test packet. test packet.
o DSCP2 - The received value in the DSCP field at the ingress of the o DSCP2 - The received value in the DSCP field at the ingress of the
Session-Reflector. Session-Reflector.
o ECN - The received value in the ECN field at the ingress of the o ECN - The received value in the ECN field at the ingress of the
Session-Reflector. Session-Reflector.
o Reserved - 18-bit-long field, MUST be zeroed on transmission and o RP (Reverse Path) - is a two-bit-long field. A Session-Sender
MUST set the value of the RP field to 0 on transmission.
o Reserved - 16-bit-long field, MUST be zeroed on transmission and
ignored on receipt. ignored on receipt.
A STAMP Session-Reflector that receives a test packet with the CoS A STAMP Session-Reflector that receives a test packet with the CoS
TLV MUST include the CoS TLV in the reflected test packet. Also, the TLV MUST include the CoS TLV in the reflected test packet. Also, the
Session-Reflector MUST copy the value of the DSCP and ECN fields of Session-Reflector MUST copy the value of the DSCP and ECN fields of
the IP header of the received STAMP test packet into the DSCP2 field the IP header of the received STAMP test packet into the DSCP2 field
in the reflected test packet. Finally, the Session-Reflector MUST in the reflected test packet. Finally, the Session-Reflector MUST
set the DSCP field's value in the IP header of the reflected test use the local policy to verify whether the CoS corresponding to the
packet equal to the value of the DSCP1 field of the received test value of the DSCP1 field is permitted in the domain. If it is, the
packet. Upon receiving the reflected packet, the Session-Sender will Session-Reflectorset MUST set the DSCP field's value in the IP header
save the DSCP and ECN values for analysis of the CoS in the reverse of the reflected test packet equal to the value of the DSCP1 field of
direction. the received test packet. Otherwise, the Session-Reflector MUST use
the DSCP value of the received STAMP packet and set the value of the
RP field to 1. Upon receiving the reflected packet, if the value of
the RP field is 0, the Session-Sender will save the DSCP and ECN
values for analysis of the CoS in the reverse direction. If the
value of the RP field in the received reflected packet is 1, only CoS
in the forward direction can be analyzed.
Re-mapping of CoS can be used to provide multiple services (e,g., 2G, Re-mapping of CoS can be used to provide multiple services (e,g., 2G,
3G, LTE in mobile backhaul networks) over the same network. But if 3G, LTE in mobile backhaul networks) over the same network. But if
it is misconfigured, then it is often difficult to diagnose the root it is misconfigured, then it is often difficult to diagnose the root
cause of excessive packet drops of higher-level service while packet cause of excessive packet drops of higher-level service while packet
drops for lower service packets are at a normal level. Using a CoS drops for lower service packets are at a normal level. Using a CoS
TLV in STAMP testing helps to troubleshoot the existing problem and TLV in STAMP testing helps to troubleshoot the existing problem and
also verify whether DiffServ policies are processing CoS as required also verify whether DiffServ policies are processing CoS as required
by the configuration. by the configuration.
skipping to change at page 29, line 21 skipping to change at page 29, line 21
| 1 | Network available | This document | | 1 | Network available | This document |
| 2 | Network unavailable | This document | | 2 | Network unavailable | This document |
+-------+---------------------+---------------+ +-------+---------------------+---------------+
Table 11: Return Codes Table 11: Return Codes
6. Security Considerations 6. Security Considerations
This document defines extensions to STAMP [RFC8762] and inherits all This document defines extensions to STAMP [RFC8762] and inherits all
the security considerations applicable to the base protocol. the security considerations applicable to the base protocol.
Additionally, the HMAC TLV is defined in this document to protect the Additionally, the HMAC TLV is defined in this document. Though the
integrity of optional STAMP extensions. The use of HMAC TLV is HMAC TLV protects the integrity of STAMP extensions; it does not
discussed in detail in Section 4.8. protect against a replay attack. The use of HMAC TLV is discussed in
detail in Section 4.8.
To protect against a malformed TLV an implementation of a Session- To protect against a malformed TLV an implementation of a Session-
Sender and Session-Reflector MUST: Sender and Session-Reflector MUST:
o check the setting of the M flag; o check the setting of the M flag;
o validate the Length field value. o validate the Length field value.
Monitoring and optional control of DSCP do not appear to introduce As this specification defined the mechanism to test DSCP mapping,
any additional security threat to hosts that communicate with STAMP this document inherits all the security considerations discussed in
as defined in [RFC8762]. As this specification defined the mechanism [RFC2474]. Monitoring and optional control of DSCP using the CoS TLV
to test DSCP mapping, this document inherits all the security may be used across the Internet so that the Session-Sender and the
considerations discussed in [RFC2474]. Session-Reflector are located in domains that use different CoS
profiles. Thus, it is essential that an operator verifies the set of
CoS values that are used in the Session-Reflector's domain. Also, an
implementation of a Session-Reflector SHOULD support a local policy
to confirm whether the value sent by the Session-Sender can be used
as the value of the DSCP field. Section 4.4 defines the use of that
local policy.
7. Acknowledgments 7. Acknowledgments
Authors much appreciate the thorough review and thoughtful comments Authors much appreciate the thorough review and thoughtful comments
received from Tianran Zhou, Rakesh Gandhi, Yuezhong Song and Yali received from Tianran Zhou, Rakesh Gandhi, Yuezhong Song and Yali
Wang. The authors express their gratitude to Al Morton for his Wang. The authors express their gratitude to Al Morton for his
comments and the most valuable suggestions. The authors greatly comments and the most valuable suggestions. The authors greatly
appreciate comments and thoughtful suggestions received from Martin appreciate comments and thoughtful suggestions received from Martin
Duke. Duke.
 End of changes. 20 change blocks. 
31 lines changed or deleted 49 lines changed or added

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