Re: [conex] TCP mods: Intro

Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch> Fri, 24 October 2014 13:30 UTC

Return-Path: <mirja.kuehlewind@tik.ee.ethz.ch>
X-Original-To: conex@ietfa.amsl.com
Delivered-To: conex@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1443D1A0072 for <conex@ietfa.amsl.com>; Fri, 24 Oct 2014 06:30:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.91
X-Spam-Level:
X-Spam-Status: No, score=-3.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-2.3, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1RbZ--ct9D11 for <conex@ietfa.amsl.com>; Fri, 24 Oct 2014 06:30:50 -0700 (PDT)
Received: from smtp.ee.ethz.ch (smtp.ee.ethz.ch [129.132.2.219]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C5D0B1A008A for <conex@ietf.org>; Fri, 24 Oct 2014 06:30:50 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by smtp.ee.ethz.ch (Postfix) with ESMTP id 1B1F9D9309; Fri, 24 Oct 2014 15:30:49 +0200 (MEST)
X-Virus-Scanned: by amavisd-new on smtp.ee.ethz.ch
Received: from smtp.ee.ethz.ch ([127.0.0.1]) by localhost (.ee.ethz.ch [127.0.0.1]) (amavisd-new, port 10024) with LMTP id y64WdUz3lsoJ; Fri, 24 Oct 2014 15:30:48 +0200 (MEST)
Received: from mirjas-air.fritz.box (stgt-5f70357e.pool.mediaWays.net [95.112.53.126]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: mirjak) by smtp.ee.ethz.ch (Postfix) with ESMTPSA id 836F8D9307; Fri, 24 Oct 2014 15:30:48 +0200 (MEST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 8.0 \(1990.1\))
From: Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>
In-Reply-To: <CAB_+Fg7qxpy+41RhvTxHvNiR3kXAxJgo0oSFPHfBi6bu0197KQ@mail.gmail.com>
Date: Fri, 24 Oct 2014 15:30:47 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <F5A33008-0D14-4930-A3A2-FF11851EBDBB@tik.ee.ethz.ch>
References: <54253A22.2050904@tik.ee.ethz.ch> <CAB_+Fg7qxpy+41RhvTxHvNiR3kXAxJgo0oSFPHfBi6bu0197KQ@mail.gmail.com>
To: Nandita Dukkipati <nanditad@google.com>
X-Mailer: Apple Mail (2.1990.1)
Archived-At: http://mailarchive.ietf.org/arch/msg/conex/wXhZYkZiUxKUYhZZFoe2RNOymzM
Cc: ConEx IETF list <conex@ietf.org>
Subject: Re: [conex] TCP mods: Intro
X-BeenThere: conex@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Congestion Exposure working group discussion list <conex.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/conex>, <mailto:conex-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/conex/>
List-Post: <mailto:conex@ietf.org>
List-Help: <mailto:conex-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/conex>, <mailto:conex-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 24 Oct 2014 13:30:57 -0000

Hi Nandita,

thanks for your feedback. I’ve took over most of your editorial changes. However, it would more uncomfortable for me if you could indicate where you propose which changes instead of just editing the text.

Regarding the structure please see the ToC below:

  1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
    1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
  2.  Sender-side Modifications . . . . . . . . . . . . . . . . . .   3
  3.  Accounting congestion . . . . . . . . . . . . . . . . . . . .   4
    3.1.  Loss Detection  . . . . . . . . . . . . . . . . . . . . .   5
      3.1.1.  Without SACK Support  . . . . . . . . . . . . . . . .   5
    3.2.  ECN . . . . . . . . . . . . . . . . . . . . . . . . . . .   6
      3.2.1.  Accurate ECN feedback . . . . . . . . . . . . . . . .   7
      3.2.2.  Classic ECN support . . . . . . . . . . . . . . . . .   8
  4.  Setting the ConEx Bits  . . . . . . . . . . . . . . . . . . .   8
    4.1.  Setting the E and the L Bit . . . . . . . . . . . . . . .   8
    4.2.  Credit Bits . . . . . . . . . . . . . . . . . . . . . . .   9
  5.  Loss of ConEx information . . . . . . . . . . . . . . . . . .  10
  6.  Timeliness of the ConEx Signals . . . . . . . . . . . . . . .  10
  7.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  11
  8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  11
  9.  Security Considerations . . . . . . . . . . . . . . . . . . .  11
  10. References  . . . . . . . . . . . . . . . . . . . . . . . . .  11
    10.1.  Normative References . . . . . . . . . . . . . . . . . .  11
    10.2.  Informative References . . . . . . . . . . . . . . . . .  12
  Appendix A.  Revision history . . . . . . . . . . . . . . . . . .  13
  Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  14

Would it be helpful if I add a paragraph saying:

„Section 2 provides an overview of the needed modifications for TCP senders to implement ConEx.  
First congestion information have to be extracted from loss or ECN feedback in TCP 
as described in Section 3. Section 4 details how to set the CDO marking based on the accounted
congestion information.“

Mirja


> Am 24.10.2014 um 01:24 schrieb Nandita Dukkipati <nanditad@google.com>:
> 
> Mirja,
> 
> Here's the edited version of your text. 
> 
> Inline are a couple of comments. Please pay particular attention to describing what's going into each of the Sections. I found it confusing.
> 
> Nandita
> 
> 1.  Introduction
> 
> Congestion Exposure (ConEx) is a mechanism by which senders inform the network about the congestion encountered by previous packets on the same flow.  ConEx concepts and use cases are explained in [RFC6789]. Abstract ConEx mechanism is explained in [draft-ietf-conex-abstract-mech].  This document describes the necessary modifications to use ConEx with the Transmission Control Protocol (TCP).
> 
> ConEx marking is defined as a destination option for IPv6 [draft-ietf-conex-destopt]. Specifically, the use of four bits are defined: X (ConEx-capable), the L (loss experienced), the E (ECN experienced) and C (credit) bit.
> 
> ConEx signal is based on loss or Explicit Congestion Notification (ECN) marks [RFC3168] as a congestion indication.  This congestion information is retrieved by the sender based on existing feedback mechanisms from the receiver to the sender in TCP.  No changes are needed at the receiver to implement ConEx signaling. Therefore no additional negotiation is needed to implement and use ConEx at the sender.  This document specifies actions needed by a sender to provide meaningful ConEx information to the network.
> 
> <Let the above be the main Intro. Put Section specific information below.>
> 
> Section 2 explains ...
>  Further this document describes congestion accounting for TCP, both with and without the Selective Acknowledgment (SACK) extension [RFC2018] in Section 3.1.  However, ConEx benefits from more accurate information about the number of packets dropped in the network.  We therefore recommend using the SACK extension when using TCP with ConEx.  The detailed mechanism to respectively set the L bit in response to loss-based congestion feedback signal is given in Section 4.1.
> 
> <what happens between the jump from Section 3.1 to Section 4.1, or should it just be Section 3 and Section 4? Is Section 3 about congestion accounting w/o SACK and section 4 about congestion accounting with SACK. Please clarify and rewrite.>
> 
> While loss-based congestion feedback should be minimized, ECN could actually provide more fine-grained feedback information.  ConEx-based traffic measurement or management mechanisms would benefit from this. Unfortunately, the current ECN feedback mechanism does not reflect multiple congestion markings which occur within the same Round-Trip Time (RTT).  A more accurate feedback extension to ECN is defined in a separate document [draft-kuehlewind-tcpm-accurate-ecn], as this is also useful for other mechanisms.
> 
> The congestion accounting for both, with the classic ECN feedback as well as a more accurate ECN feedback are explained in detail in section Section 3.2 while the setting of the E bit in response to ECN-based congestion feedback is again detailed in Section 4.1.
> 
> <and now I am totally confused :( about the sections: so Section 4.1 describes the response to both loss and ECN?>
> 
> ------------------------------------------------------------------------------------------------------------
> 
> On Fri, Sep 26, 2014 at 3:04 AM, Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch> wrote:
> Hi Nandita, hi all,
> 
> find below the current version of the intro. Sorry for the delay; this week was a little busy...
> 
> I applied the following changes:
> 
> - Paragraph on CDO move back to intro (from section 4)
> 
> - Added paragraph explaining that no receiver side changes are needed
> 
> - Now introducing loss first
> 
> - Added some sentences and the last paragraph to further explain the structure of the doc
> 
> 
> Mirja
> 
> -------------------------------------------------------------
> 1.  Introduction
> 
>    Congestion Exposure (ConEx) is a mechanism by which senders inform
>    the network about the congestion encountered by previous packets on
>    the same flow.  ConEx concepts and use cases are further explained in
>    [RFC6789].  The abstract ConEx mechanism is explained in
>    [draft-ietf-conex-abstract-mech].  This document describes the
>    necessary modifications to use ConEx with the Transmission Control
>    Protocol (TCP).
> 
>    ConEx is defined as a destination option for IPv6
>    [draft-ietf-conex-destopt].  The use of four bits have been defined,
>    namely the X (ConEx-capable), the L (loss experienced), the E (ECN
>    experienced) and C (credit) bit.
> 
>    Therefore the ConEx signal is based on loss or Explicit Congestion
>    Notification (ECN) marks [RFC3168] as a congestion indication.  This
>    congestion information is retrieved by the sender based on existing
>    feedback mechanisms from the receiver to the sender in TCP.  No
>    changes are needed at the receiver to implement ConEx signaling.
>    Therefore no additional negotiation is needed to implement and use
>    ConEx at the sender.  This document specifies actions needed by
>    sender to provide meaningful ConEx information to the network in
>    section Section 2.
> 
>    Further this document describes congestion accounting for both TCP
>    with and without the Selective Acknowledgment (SACK) extension
>    [RFC2018] in section Section 3.1.  However, ConEx benefits from more
>    accurate information about the number of packets dropped in the
>    network.  We therefore recommend using the SACK extension when using
>    TCP with ConEx.  The detailed mechanism to respectively set the L bit
>    in response to loss-based congestion feedback signal is given in
>    section Section 4.1.
> 
>    While loss-based congestion feedback should be minimized, ECN could
>    actually provide more fine-grained feedback information.  ConEx-based
>    traffic measurement or management mechanisms would benefit from this.
>    Unfortunately, the current ECN feedback mechanism does not reflect
>    multiple congestion markings which occur within the same Round-Trip
>    Time (RTT).  A more accurate feedback extension to ECN is defined in
>    a separate document [draft-kuehlewind-tcpm-accurate-ecn], as this is
>    also useful for other mechanisms.
> 
>    The congestion accounting for both, with the classic ECN feedback as
>    well as a more accurate ECN feedback are explained in detail in
>    section Section 3.2 while the setting of the E bit in response to
>    ECN-based congestion feedback is again detailed in section
>    Section 4.1.
>