Subject: Re: [conex] TCP mods: Intro

From: Nandita Dukkipati <[email-masked]>
Date: Thu, 23 Oct 2014 16:24:39 -0700

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 <
[email-masked]> 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.
>

---

From: Mirja Kühlewind <[email-masked]>
Date: Fri, 24 Oct 2014 15:30:47 +0200

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 <[email-masked]>:
> 
> Mirja,
> 
> 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.
> 
>  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 <[email-masked]> wrote:
> Hi Nandita, hi all,
> 
> find below the current version of the intro. Sorry for the delay; this week was a little busy...
> 
> - Added some sentences and the last paragraph to further explain the structure of the doc
> 
> 
> Mirja
>

---

From: Nandita Dukkipati <[email-masked]>
Date: Mon, 27 Oct 2014 11:23:42 -0700

> as described in Section 3. Section 4 details how to set the CDO marking

The above para is much clearer than before. Thanks. Please also include a
sentence or two on the remaining Sections 5 and 6.

Nandita

---

From: Mirja Kühlewind <[email-masked]>
Date: Tue, 28 Oct 2014 11:13:26 +0100

Hi Nandita,

I've added one more sentence:

"Section 5 finally discusses timeliness of the ConEx feedback signal as 
congestion is a temporary state."

Section 6 is acknowledgements...

Mirja

-- 
------------------------------------------
Dipl.-Ing. Mirja Kühlewind
Communication Systems Group
Institute TIK, ETH Zürich
Gloriastrasse 35, 8092 Zürich, Switzerland

Room ETZ G93
phone: +41 44 63 26932
email: [email-masked]
------------------------------------------

---

From: Nandita Dukkipati <[email-masked]>
Date: Tue, 28 Oct 2014 09:40:34 -0700

> congestion is a temporary state."
you can remove 'finally'.