One document matched: draft-ietf-ippm-type-p-monitor-02.xml


<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"[
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY RFC4656 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4656.xml">
<!ENTITY RFC5618 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5618.xml">
<!ENTITY RFC5357 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5357.xml">
<!ENTITY RFC6038 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6038.xml">
<!ENTITY RFC5226 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5226.xml">
]>
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>

<rfc category="std" ipr="trust200902" docName="draft-ietf-ippm-type-p-monitor-02">

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<front>
	<title abbrev='DSCP and ECN Monitoring in TWAMP'>Differentiated Service Code Point and Explicit Congestion Notification Monitoring in Two-Way Active Measurement Protocol (TWAMP)</title>
	<author initials='J.' surname="Hedin" fullname='Jonas Hedin'>
		<organization>Ericsson</organization>
		<address>
			<email>jonas.hedin@ericsson.com</email>
		</address> 
	</author>
	<author initials='G.' surname="Mirsky" fullname='Greg Mirsky'>
		<organization>Ericsson</organization>
		<address>
			<email>gregory.mirsky@ericsson.com</email>
		</address> 
	</author>
 	<author initials='S.' surname=" Baillargeon" fullname='Steve  Baillargeon'>
		<organization>Ericsson</organization>
		<address>
			<email>steve.baillargeon@ericsson.com</email>
		</address> 
	</author>

    <date day="21" month="May" year="2015" />

    <area>Transport</area>

    <workgroup>Network Working Group</workgroup>

    <keyword>Internet-Draft</keyword>

   <keyword>IPPM</keyword>
   
   <keyword>TWAMP </keyword>
   
   <keyword>Type-P descriptor</keyword>
	
	<abstract>
	<t>
	This document describes an OPTIONAL extension for Two-Way Active Measurement Protocol (TWAMP)
              allowing the monitoring of the Differentiated Service Code Point and 
	Explicit  Congestion Notification fields with the TWAMP-Test protocol.
	 </t>
	</abstract>
</front>

<middle>
  <section anchor="intro" title="Introduction">
        <t>
        One-Way Active Measurement Protocol (OWAMP) <xref target ="RFC4656"/> defines Type-P descriptor and negotiation of  its value in OWAMP-Control protocol. 
        Two-Way Active Measurement Protocol (TWAMP) <xref target="RFC5357"/> states that only Differentiated Service Code Point (DSCP) values can
        be defined by Type-P descriptor and the negotiated value must be used by both Session-Sender and Session-Reflector. The TWAMP specification also states
        that the same DSCP value (found in the Session-Sender packet) MUST be used in the test packet reflected by the Session-Reflector. However 
        the TWAMP-Test protocol does not specify any methods to determine or report when the DSCP value has changed or is different than expected in the forward
        or reverse direction. Re-marking the  DSCP (changing its original value) in IP networks is possible and often accomplished by a Diffserv policy configured on
         a single node along the IP path. In many cases, a change of the DSCP value indicates an unintentional or erroneous behavior. At best, the Session-Sender 
         can detect a change of the DSCP reverse direction assuming  such change is actually detectable.
       </t>
       <t>
        This document describes an OPTIONAL feature for TWAMP. It is called the DSCP and ECN monitoring feature. This feature allows the
        Session-Sender to know the actual DSCP value received at the Session-Reflector. Furthermore this OPTIONAL feature tracks the 
        Explicit Congestion Notification (ECN) value received at the Session-Reflector. This is helpful to determine if ECN is actually operating
        or if an ECN-capable node has detected congestion in the forward direction.
        </t>
         
     <section title="Conventions used in this document">
         <section title="Terminology">

            <t>DSCP:          Differentiated Service Codepoint
</t>
           <t>ECN:              Explicit Congestion Notification
</t>
            <t>IPPM:            IP Performance Measurement
</t>
           <t>TWAMP:        Two-Way Active Measurement Protocol
</t>
           <t>OWAMP:       One-Way Active Measurement Protocol
</t>
 
         </section>    
         
        <section title="Requirements Language">
             <t>
	  The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
                "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 
	  "OPTIONAL" in this document are to be interpreted as described in 
	  <xref target="RFC2119"></xref>.
             </t>
          </section>
      </section>
     </section>
      
     <section anchor="twamp-extensions" title="TWAMP Extensions">
          <t>
           TWAMP connection establishment follows the procedure defined in
           Section 3.1 of <xref target="RFC4656"/> and Section 3.1 of <xref target="RFC5357"/> where the Modes field
           is used to identify and select specific communication capabilities. At the same time
           the Modes field been recognized and used as an extension mechanism <xref target="RFC6038"/>.
           The new feature requires a new flag to identify the ability of a Session-Reflector
           to return value of received DSCP and ECN values back to a Session-Sender,
           and to support the new Session-Reflector packet format in the TWAMP-Test protocol. See the
           <xref target="iana-consider"/> for details on the assigned bit position.
          </t>
          <section anchor="conn-setup" title="Setting Up Connection to Monitor DSCP and ECN">
             <t>
                The Server sets DSCP and ECN Monitoring flag in Modes field of the Server Greeting message
                to indicate its capabilities and willingness to monitor them.
                If the Control-Client agrees to monitor DSCP and ECN on some or all test sessions invoked with
                this control connection, it MUST set the DSCP and ECN Monitoring flag in the Modes field in the Setup
                Response
 message.  
             </t>   
           </section>
           
           <section anchor="test-extension" title="TWAMP-Test Extension">
             <t>
             Monitoring of DSCP and ECN requires support by the Session-Reflector and changes the format
             of its test
 packet format both in unauthenticated, authenticated and encrypted modes.
             Monitoring of DSCP and ECN does not alter the Session-Sender test packet format but certain considerations
             must be taken when and if this mode is accepted in combination with Symmetrical Size mode <xref target="RFC6038"/>.
             </t>
             
             <section anchor="session-reflector-change" title="Session-Reflector Packet Format for DSCP and ECN Monitoring">
              <t>
              When the Session-Reflector supports DSCP and ECN Monitoring it MUST construct the Sender DSCP and ECN (S-DSCP-ECN) field for each
              test packet it sends to Session-Sender according to the following procedure:
              </t>
              <t>
              <list style="symbols">
              <t>the first six bits of the Differentiated Service field MUST be copied from received Session-Sender test packet into Sender DSCP (S-DSCP) field;</t>
              <t>the following two bits of the ECN field MUST be copied from received Session-Sender test packet into Sender ECN (S-ECN) field.</t>
               </list>
               </t>
<t>
         <figure align="left" anchor="sender-dscp-ecn-format"
                title="Sender DSCP and ECN field format">
          <artwork><![CDATA[    
 
 0     1     2     3     4     5     6     7     8 
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |               S-DSCP              |   S-ECN   |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
            </t>

               <t>
                For unauthenticated mode:
         <figure align="left" anchor="reflector-unauthenticated-format"
                title=" Session-Reflector test packet format with DSCP and ECN monitoring in unauthenticated mode">
          <artwork><![CDATA[    
 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               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                     Receive Timestamp                       |
 |                                                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                  Sender Sequence Number                     |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                     Sender Timestamp                        |
 |                                                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |    Sender Error Estimate    |             MBZ               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Sender TTL  |  S-DSCP-ECN   |             MBZ               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                             |
 +                                                             +
 |                                                             |
 .                                                             .
 .                        Packet Padding                       .
 |                                                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
            </t>
            <t>
                     For authenticated and encrypted modes:
         <figure align="left" anchor="reflector-authenticated-format"
                title=" Session-Reflector test packet format with DSCP and ECN monitoring in authenticated or encrypted modes">
          <artwork><![CDATA[    
 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                          |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                             |
 |                     MBZ (12 octets)                         |
 |                                                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                       Timestamp                             |
 |                                                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |       Error Estimate        |                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
 |                        MBZ (6 octets)                       |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                      Receive Timestamp                      |
 |                                                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                       MBZ (8 octets)                        |
 |                                                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                   Sender Sequence Number                    |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                             |
 |                      MBZ (12 octets)                        |
 |                                                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                      Sender Timestamp                       |
 |                                                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |    Sender Error Estimate    |                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
 |                       MBZ (6 octets)                        |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 | Sender TTL  |  S-DSCP-ECN   |                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
 |                                                             |
 +                                                             +
 |                       MBZ (14 octets)                       |
 |                                                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                             |
 |                      HMAC (16 octets)                       |
 |                                                             |
 |                                                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                                                             |
 .                                                             .
 .                   Packet Padding                            .
 |                                                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  ]]></artwork>
        </figure>
                     
                     </t>
             <t>
              The DSCP value is often copied into reflected test packets with current TWAMP implementations (with or without TWAMP-Control protocol).
              With DSCP and ECN Monitoring Extension, the Session-Reflector handles DSCP as following:
              <list style="symbols">
              <t>the Session-Reflector MUST extracts the S-DSCP-ECN value from the DSCP and ECN values of received packets;</t>
              <t>the Session-Reflector MUST transmit each reflected test packet with DSCP set to the negotiated/provisioned value;</t>
              <t>if the negotiated/provisioned DSCP value is not known (e.g. TWAMP Light), the choice of the DSCP is implementation specific.
              For instance, Session-Reflector MAY copy the DSCP value from the received test packet and set it as DSCP in a reflected packet.</t>
              </list> 
              </t>
              
                </section>      
             
                <section anchor="session-sender-consider" title="DSCP and ECN Monitoring with RFC 6038 extensions ">
                <t>
                <xref target="RFC6038"/> defined two extensions to TWAMP.  First, to ensure that  Session-Sender and Session-Reflector exchange
                TWAMP-Test packets of equal size. Second, to specify number of octets to be reflected by Session-Reflector. If DSCP and ECN
                monitoring and Symmetrical Size and/or Reflects Octets modes are being negotiated between
                Server and Control-Client in Unauthenticated mode, then, because Sender DSCP and Sender ECN increase size of
                unauthenticated Session-Reflector packet by 4 octets, the Padding Length value SHOULD be >= 28 octets to allow for
                the truncation process that TWAMP recommends in Section 4.2. 1 of <xref target="RFC5357"/>.
                </t>
                <t>
         <figure align="left" anchor="sender-unauthenticated-format"
                title=" Session-Sender test packet format with DSCP and ECN monitoring and Symmetrical Test Packet in unauthenticated mode">
          <artwork><![CDATA[    
 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 (28 octets)                       |
 |                                                             |
 +                             +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                             |                               |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
 |                                                             |
 .                                                             .
 .                        Packet Padding                       .
 |                                                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
            </t>               
             </section>
 
            <section anchor="twamp-light-aspect" title="Consideration for TWAMP Light mode">
             <t>
             Appendix I of <xref target="RFC5357"/> does not explicitly state how the value of the Type-P descriptor
 is
             synchronized between Session-Sender and Session-Reflector and whether different values are considered
             as error condition and SHOULD be reported.
             
             We assume that by some means the Session-Sender and the Session-Reflector of the given TWAMP-Test
             session been informed to use the same DSCP value.
 Same means, i.e. configuration, could be used to
             inform Session-Reflector to support DSCP and ECN monitoring mode by copying data from
 received TWAMP
             test packets. Then Session-Sender may be informed to use Sender DSCP and ECN field in reflected TWAMP
             test packet.</t>
            </section>             
 
           </section>

     </section>
 
     <section anchor="iana-consider" title="IANA Considerations">
     <t>
     The TWAMP-Modes registry defined in <xref target="RFC5618"/>. 
     </t>
     <t>
     IANA is requested to reserve a new DSCP and ECN Monitoring Capability as follows:
     </t>

  <texttable anchor="type-p-monitor-table" title="New Type-P Descriptor Monitoring Capability">
    <ttcol align='left'>Bit </ttcol>
    <ttcol align='left'>Description</ttcol>
    <ttcol align='left'>Semantics Definition </ttcol>
    <ttcol align='left'>Reference</ttcol>
    <c>TBA</c>
    <c>DSCP and ECN Monitoring Capability </c>
    <c><xref target="twamp-extensions"/></c>
    <c>This document</c>
    </texttable>

     </section>
     
     <section anchor="security" title="Security Considerations">
     <t>
     Monitoring of DSCP and ECN does not appear to introduce any additional security threat to hosts that
     communicate with TWAMP as defined in <xref target="RFC5357"/>, and existing extensions <xref target="RFC6038"/>.
     The security considerations that apply to any active measurement of live networks are
     relevant here as well.  See the Security Considerations sections in <xref target="RFC4656"/> and
     <xref target="RFC5357"/>.
     </t>
     </section>
      
     
      <section title="Acknowledgements">
         <t>
          
         Authors greatly appreciate thorough review and thoughtful comments by Bill Cerveny,
         Christofer Flinta and Samita Chakrabarti.
         </t>  
      </section>

  </middle>
  
    <back>
    <references title="Normative References">
     
     &RFC2119;
 
     &RFC4656;
     
     &RFC5618;
     
     &RFC5357;
     
     &RFC6038;
    </references>

<!---
   <references title="Informative References">

    &RFC2629;
    &RFC5226;
 
    </references>
?-->
 </back>
 </rfc>   
    

PAFTECH AB 2003-20262026-04-24 13:07:14