1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
|
Internet Engineering Task Force (IETF) G. Fairhurst
Request for Comments: 8087 University of Aberdeen
Category: Informational M. Welzl
ISSN: 2070-1721 University of Oslo
March 2017
The Benefits of Using Explicit Congestion Notification (ECN)
Abstract
The goal of this document is to describe the potential benefits of
applications using a transport that enables Explicit Congestion
Notification (ECN). The document outlines the principal gains in
terms of increased throughput, reduced delay, and other benefits when
ECN is used over a network path that includes equipment that supports
Congestion Experienced (CE) marking. It also discusses challenges
for successful deployment of ECN. It does not propose new algorithms
to use ECN nor does it describe the details of implementation of ECN
in endpoint devices (Internet hosts), routers, or other network
devices.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for informational purposes.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Not all documents
approved by the IESG are a candidate for any level of Internet
Standard; see Section 2 of RFC 7841.
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/rfc8087.
Fairhurst & Welzl Informational [Page 1]
^L
RFC 8087 Benefits of ECN March 2017
Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
2. Benefit of Using ECN to Avoid Congestion Loss . . . . . . . . 5
2.1. Improved Throughput . . . . . . . . . . . . . . . . . . . 5
2.2. Reduced Head-of-Line Blocking . . . . . . . . . . . . . . 6
2.3. Reduced Probability of RTO Expiry . . . . . . . . . . . . 6
2.4. Applications That Do Not Retransmit Lost Packets . . . . 7
2.5. Making Incipient Congestion Visible . . . . . . . . . . . 8
2.6. Opportunities for New Transport Mechanisms . . . . . . . 8
3. Network Support for ECN . . . . . . . . . . . . . . . . . . . 9
3.1. The ECN Field . . . . . . . . . . . . . . . . . . . . . . 10
3.2. Forwarding ECN-Capable IP Packets . . . . . . . . . . . . 10
3.3. Enabling ECN in Network Devices . . . . . . . . . . . . . 11
3.4. Coexistence of ECN and Non-ECN Flows . . . . . . . . . . 11
3.5. Bleaching and Middlebox Requirements to Deploy ECN . . . 11
3.6. Tunneling ECN and the Use of ECN by Lower-Layer Networks 12
4. Using ECN across the Internet . . . . . . . . . . . . . . . . 12
4.1. Partial Deployment . . . . . . . . . . . . . . . . . . . 13
4.2. Detecting Whether a Path Really Supports ECN . . . . . . 13
4.3. Detecting ECN-Receiver Feedback Cheating . . . . . . . . 14
5. Summary: Enabling ECN in Network Devices and Hosts . . . . . 14
6. Security Considerations . . . . . . . . . . . . . . . . . . . 15
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.1. Normative References . . . . . . . . . . . . . . . . . . 16
7.2. Informative References . . . . . . . . . . . . . . . . . 16
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 19
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19
Fairhurst & Welzl Informational [Page 2]
^L
RFC 8087 Benefits of ECN March 2017
1. Introduction
Internet transports (such as TCP and Stream Control Transmission
Protocol (SCTP)) are implemented in endpoints (Internet hosts) and
are designed to detect and react to network congestion. Congestion
may be detected by loss of an IP packet or, if Explicit Congestion
Notification (ECN) [RFC3168] is enabled, by the reception of a packet
with a Congestion Experienced (CE) marking in the IP header. Both of
these are treated by transports as indications of congestion. ECN
may also be enabled by other transports: UDP applications that
provide congestion control may enable ECN when they are able to
correctly process the ECN signals [RFC8085] (e.g., ECN with RTP
[RFC6679]).
Active Queue Management (AQM) [RFC7567] is a class of techniques that
can be used by network devices (a router, middlebox, or other device
that forwards packets through the network) to manage the size of
queues in network buffers.
A network device that does not support AQM typically uses a drop-tail
policy to drop excess IP packets when its queue becomes full. The
discard of packets is treated by transport protocols as a signal that
indicates congestion on the end-to-end network path. End-to-end
transports, such as TCP, can cause a low level of loss while seeking
to share capacity with other flows. Although losses are not always
due to congestion (loss may be due to link corruption, receiver
overrun, etc.), endpoints have to conservatively presume that all
loss is potentially due to congestion and reduce their rate.
Observed loss therefore results in a congestion control reaction by
the transport to reduce the maximum rate permitted by the sending
endpoint.
ECN makes it possible for the network to signal the presence of
incipient congestion without incurring packet loss; it lets the
network deliver some packets to an application that would otherwise
have been dropped if the application or transport did not support
ECN. This packet-loss reduction is the most obvious benefit of ECN,
but it is often relatively modest. However, enabling ECN can also
result in a number of beneficial side effects, some of which may be
much more significant than the immediate packet-loss reduction from
receiving a CE marking instead of dropping packets. Several benefits
reduce latency (e.g., reduced head-of-line blocking).
The use of ECN is indicated in the ECN field [RFC3168], which is
carried in the packet header of all IPv4 and IPv6 packets. This
field may be set to one of the four values shown in Figure 1. The
Not-ECT codepoint '00' indicates a packet that is not using ECN. The
ECT(0) codepoint '01' and the ECT(1) codepoint '10' both indicate
Fairhurst & Welzl Informational [Page 3]
^L
RFC 8087 Benefits of ECN March 2017
that the transport protocol using the IP layer supports the use of
ECN. The CE codepoint '11' is set by an ECN-capable network device
to indicate congestion to the transport endpoint.
+-----+-----+---------+
| ECN FIELD | Name |
+-----+-----+---------+
| 0 | 0 | Not-ECT |
| 0 | 1 | ECT(1) |
| 1 | 0 | ECT(0) |
| 1 | 1 | CE |
+-----+-----+---------+
Figure 1: The ECN Field in the IP Packet Header (based on [RFC3168])
When an application uses a transport that enables use of ECN
[RFC3168], the transport layer sets the ECT(0) or ECT(1) codepoint in
the IP header of packets that it sends. This indicates to network
devices that they may mark, rather than drop, the ECN-capable IP
packets. An ECN-capable network device can then signal incipient
congestion (network queuing) at a point before a transport
experiences congestion loss or high queuing delay. The marking is
generally performed as the result of various AQM algorithms [RFC7567]
where the exact combination of AQM/ECN algorithms does not need to be
known by the transport endpoints.
The focus of the document is on usage of ECN by transport- and
application-layer flows, not its implementation in endpoint hosts,
routers, and other network devices.
1.1. Terminology
The following terms are used:
AQM: Active Queue Management.
CE: Congestion Experienced; a codepoint value '11' marked in the ECN
field of the IP packet header.
ECN-capable IP Packet: A packet where the ECN field is set to a non-
zero ECN value (i.e., with ECT(0), ECT(1), or the CE codepoint).
ECN-capable network device: An ECN-capable network device may
forward, drop, or queue an ECN-capable packet and may choose to CE
mark this packet when there is incipient congestion.
Fairhurst & Welzl Informational [Page 4]
^L
RFC 8087 Benefits of ECN March 2017
ECN-capable transport/application: A transport that sends ECN-capable
IP Packets, monitors reception of the ECN field, and generates
appropriate feedback to control the rate of the sending endpoint to
provide end-to-end congestion control.
ECN field: A 2-bit field specified for use with explicit congestion
signaling in the IPv4 and IPv6 packet headers.
Endpoint: An Internet host that terminates a transport protocol
connection across an Internet path.
Incipient Congestion: The detection of congestion when it is
starting, perhaps by a network device noting that the arrival rate
exceeds the forwarding rate.
Network device: A router, middlebox, or other device that forwards IP
packets through the network.
non-ECN-capable: A network device or endpoint that does not interpret
the ECN field. Such a device is not permitted to change the ECN
codepoint.
not-ECN-capable IP Packet: An IP packet with the ECN field set to a
value of zero ('00'). A not-ECN-capable packet may be forwarded,
dropped, or queued by a network device.
2. Benefit of Using ECN to Avoid Congestion Loss
An ECN-capable network device is expected to CE mark an ECN-capable
IP packet as a CE when an AQM method detects incipient congestion
rather than drop the packet [RFC7567]. An application can benefit
from this marking in several ways, which are detailed in the rest of
this section.
2.1. Improved Throughput
ECN seeks to avoid the inefficiency of dropping data that has already
made it across at least part of the network path.
ECN can improve the throughput of an application, although this
increase in throughput is often not the most significant gain. When
an application uses a lightly to moderately loaded network path, the
number of packets that are dropped due to congestion is small. Using
an example from Table 1 of [RFC3649], for a standard TCP sender with
an RTT of 0.1 seconds, a packet size of 1500 bytes, and an average
throughput of 1 Mbps, the average packet-drop ratio would be 0.02
(i.e., 1 in 50 packets). This translates into an approximate 2%
Fairhurst & Welzl Informational [Page 5]
^L
RFC 8087 Benefits of ECN March 2017
throughput gain if ECN is enabled. (Note that in heavy congestion,
packet loss may be unavoidable with or without ECN.)
2.2. Reduced Head-of-Line Blocking
Many Internet transports provide in-order delivery of received data
segments to the applications they support. For these applications,
use of ECN can reduce the delay that can result when these
applications experience packet loss.
Packet loss may occur for various reasons. One cause arises when an
AQM scheme drops a packet as a signal of incipient congestion.
Whatever the cause of loss, a missing packet needs to trigger a
congestion control response. A reliable transport also triggers
retransmission to recover the lost data. For a transport providing
in-order delivery, this requires that the transport receiver stall
(or wait) for all data that was sent ahead of a lost segment to be
correctly received before it can forward any later data to the
application. A loss therefore creates a delay of at least one RTT
after a loss event before data can be delivered to an application.
We call this head-of-line blocking. This is the usual requirement
for TCP and SCTP. Partially Reliable SCTP (PR-SCTP) [RFC3758], UDP
[RFC768] [RFC8085], and the Datagram Congestion Control Protocol
(DCCP) [RFC4340] provide a transport that does not provide
reordering.
By enabling ECN, a transport continues to receive in-order data when
there is incipient congestion and can pass this data to the receiving
application. Use of ECN avoids the additional reordering delay in a
reliable transport. The sender still needs to make an appropriate
congestion response to reduce the maximum transmission rate for
future traffic, which usually will require a reduction in the sending
rate [RFC8085].
2.3. Reduced Probability of RTO Expiry
Some patterns of packet loss can result in a Retransmission Timeout
(RTO), which causes a sudden and significant change in the allowed
rate at which a transport/application can forward packets. Because
ECN provides an alternative to drop for network devices to signal
incipient congestion, this can reduce the probability of loss and
hence reduce the likelihood of RTO expiry.
Internet transports/applications generally use an RTO timer as a last
resort to detect and recover loss [RFC8085] [RFC5681]. Specifically,
an RTO timer detects loss of a packet that is not followed by other
packets, such as at the end of a burst of data segments or when an
application becomes idle (either because the application has no
Fairhurst & Welzl Informational [Page 6]
^L
RFC 8087 Benefits of ECN March 2017
further data to send or the network prevents sending further data,
e.g., flow or congestion control at the transport layer). This loss
of the last segment (or last few segments) of a traffic burst is also
known as a "tail loss". Standard transport recovery methods, such as
Fast Recovery [RFC5681], are often unable to recover from a tail
loss. This is because the endpoint receiver is unaware that the lost
segments were actually sent and therefore generates no feedback
[Fla13]. Retransmission of these segments relies on expiry of a
transport retransmission timer. This timer is also used to detect a
lack of forwarding along a path. Expiry of the RTO results in the
consequent loss of state about the network path being used. This
typically includes resetting path estimates such as the RTT,
reinitializing the congestion window, and possibly making updates to
other transport state. This can reduce the performance of the
transport until it again adapts to the path.
An ECN-capable network device cannot eliminate the possibility of
tail loss because a drop may occur due to a traffic burst exceeding
the instantaneous available capacity of a network buffer or as a
result of the AQM algorithm (e.g., overload protection mechanisms
[RFC7567]). However, an ECN-capable network device that observes
incipient congestion may be expected to buffer the IP packets of an
ECN-capable flow and set a CE mark in one or more packet(s) rather
than triggering packet drop. Setting a CE mark signals incipient
congestion without forcing the transport/application to enter
retransmission timeout. This reduces application-level latency and
can improve the throughput for applications that send intermittent
bursts of data.
The benefit of avoiding retransmission loss is expected to be
significant when ECN is used on TCP SYN/ACK packets [RFC5562] where
the RTO interval may be large because TCP cannot base the timeout
period on prior RTT measurements from the same connection.
2.4. Applications That Do Not Retransmit Lost Packets
A transport that enables ECN can receive timely congestion signals
without the need to retransmit packets each time it receives a
congestion signal.
Some latency-critical applications do not retransmit lost packets,
yet they may be able to adjust their sending rate following detection
of incipient congestion. Examples of such applications include UDP-
based services that carry Voice over IP (VoIP), interactive video, or
real-time data. The performance of many such applications degrades
rapidly with increasing packet loss, and the transport/application
may therefore employ mechanisms (e.g., packet forward error
correction, data duplication, or media codec error concealment) to
Fairhurst & Welzl Informational [Page 7]
^L
RFC 8087 Benefits of ECN March 2017
mitigate the immediate effect of congestion loss on the application.
Some mechanisms consume additional network capacity, some require
additional processing, and some contribute additional path latency
when congestion is experienced. By decoupling congestion control
from loss, ECN can allow transports that support these applications
to reduce their rate before the application experiences loss from
congestion. This can reduce the negative impact of triggering loss-
hiding mechanisms with a direct positive impact on the quality
experienced by the users of these applications.
2.5. Making Incipient Congestion Visible
A characteristic of using ECN is that it exposes the presence of
congestion on a network path to the transport and network layers,
thus allowing information to be collected about the presence of
incipient congestion.
Recording the presence of CE-marked packets can provide information
about the current congestion level experienced on a network path. A
network flow that only experiences CE marking and no loss implies
that the sending endpoint is experiencing only congestion. A network
flow may also experience loss (e.g., due to queue overflow, AQM
methods that protect other flows, link corruption, or loss in
middleboxes). When a mixture of CE marking and packet loss is
experienced, transports and measurements need to assume there is
congestion [RFC7567]. Therefore, an absence of CE marks does not
indicate a path has not experienced congestion.
The reception of CE-marked packets can be used to monitor the level
of congestion by a transport/application or a network operator. For
example, ECN measurements are used by Congestion Exposure (ConEx)
[RFC6789]. In contrast, metering packet loss is harder.
2.6. Opportunities for New Transport Mechanisms
ECN can enable design and deployment of new algorithms in network
devices and Internet transports. Internet transports need to regard
both loss and CE marking as an indication of congestion. However,
while the amount of feedback provided by drop ought naturally be
minimized, this is not the case for ECN. In contrast, an ECN-capable
network device could provide richer (more frequent and fine-grained)
indication of its congestion state to the transport.
For any ECN-capable transport (ECT), the receiving endpoint needs to
provide feedback to the transport sender to indicate that CE marks
have been received. [RFC3168] provides one method that signals once
each round-trip time (RTT) that CE-marked packets have been received.
Fairhurst & Welzl Informational [Page 8]
^L
RFC 8087 Benefits of ECN March 2017
A receiving endpoint may provide more detailed feedback to the
congestion controller at the sender (e.g., describing the set of
received ECN codepoints or indicating each received CE-marked
packet). Precise feedback about the number of CE marks encountered
is supported by RTP when used over UDP [RFC6679] and has been
proposed for SCTP [ST14] and TCP [ECN-FEEDBACK].
More detailed feedback is expected to enable evolution of transport
protocols allowing the congestion control mechanism to make a more
appropriate decision on how to react to congestion. Designers of
transport protocols need to consider not only how network devices
CE-mark packets but also how the control loop in the application/
transport reacts to reception of these CE-marked packets.
Benefit has been noted when packets are CE marked early using an
instantaneous queue, and if the receiving endpoint provides feedback
about the number of packet marks encountered, an improved sender
behavior has been shown to be possible, e.g, Data Center TCP (DCTCP)
[AL10]. DCTCP is targeted at controlled environments such as a data
center. This is a work in progress, and it is currently unknown
whether or how such behavior could be safely introduced into the
Internet. Any update to an Internet transport protocol requires
careful consideration of the robustness of the behavior when working
with endpoints or network devices that were not designed for the new
congestion reaction.
3. Network Support for ECN
For an application to use ECN requires that the endpoints enable ECN
within the transport being used. It also requires that all network
devices along the path at least forward IP packets that set a
non-zero ECN codepoint.
ECN can be deployed both in the general Internet and in controlled
environments:
o ECN can be incrementally deployed in the general Internet. The
IETF has provided guidance on configuration and usage in
[RFC7567].
o ECN may be deployed within a controlled environment, for example,
within a data center or within a well-managed private network.
This use of ECN may be tuned to the specific use case. An example
is DCTCP [AL10] [DCTCP].
Fairhurst & Welzl Informational [Page 9]
^L
RFC 8087 Benefits of ECN March 2017
Early experience of using ECN across the general Internet encountered
a number of operational difficulties when the network path either
failed to transfer ECN-capable packets or inappropriately changed the
ECN codepoints [BA11]. A recent survey reported a growing support
for network paths to pass ECN codepoints [TR15].
The remainder of this section identifies what is needed for network
devices to effectively support ECN.
3.1. The ECN Field
The current IPv4 and IPv6 specifications assign usage of 2 bits in
the IP header to carry the ECN codepoint. This 2-bit field was
reserved in [RFC2474] and assigned in [RFC3168].
[RFC4774] discusses some of the issues in defining alternate
semantics for the ECN field and specifies requirements for a safe
coexistence in an Internet that could include routers that do not
understand the defined alternate semantics.
Some network devices were configured to use a routing hash that
included the set of 8 bits forming the now deprecated Type of Service
(TOS) field [RFC1349]. The present use of this field assigns 2 of
these bits to carry the ECN field. This is incompatible with use in
a routing hash because it could lead to IP packets that carry a CE
mark being routed over a different path to those packets that carried
an ECT mark. The resultant reordering would impact the performance
of transport protocols (such as TCP or SCTP) and UDP-based
applications that are sensitive to reordering. A network device that
conforms to this older specification needs to be updated to the
current specifications [RFC2474] to support ECN. Configuration of
network devices must note that the ECN field may be updated by any
ECN-capable network device along a path.
3.2. Forwarding ECN-Capable IP Packets
Not all network devices along a path need to be ECN-capable (i.e.,
perform CE marking). However, all network devices need to be
configured not to drop packets solely because the ECT(0) or ECT(1)
codepoints are used.
Any network device that does not perform CE marking of an ECN-capable
packet can be expected to drop these packets under congestion.
Applications that experience congestion at these network devices do
not see any benefit from enabling ECN. However, they may see benefit
if the congestion were to occur within a network device that did
support ECN.
Fairhurst & Welzl Informational [Page 10]
^L
RFC 8087 Benefits of ECN March 2017
3.3. Enabling ECN in Network Devices
Network devices should use an AQM algorithm that CE-marks ECN-capable
traffic when making decisions about the response to congestion
[RFC7567]. An ECN method should set a CE mark on ECN-capable packets
in the presence of incipient congestion. A CE-marked packet will be
interpreted as an indication of incipient congestion by the transport
endpoints.
There is an opportunity to design an AQM method for an ECN-capable
network device that differs from an AQM method designed to drop
packets. [RFC7567] states that the network device should allow this
behavior to be configurable.
[RFC3168] describes a method in which a network device sets the CE
mark at the time that the network device would otherwise have dropped
the packet. While it has often been assumed that network devices
should CE-mark packets at the same level of congestion at which they
would otherwise have dropped them, [RFC7567] recommends that network
devices allow independent configuration of the settings for AQM
dropping and ECN marking. Such separate configuration of the drop
and mark policies is supported in some network devices.
3.4. Coexistence of ECN and Non-ECN Flows
Network devices need to be able to forward all IP flows and provide
appropriate treatment for both ECN and non-ECN traffic.
The design considerations for an AQM scheme supporting ECN needs to
consider the impact of queueing during incipient congestion. For
example, a simple AQM scheme could choose to queue ECN-capable and
non-ECN-capable flows in the same queue with an ECN scheme that
CE-marks packets during incipient congestion. The CE-marked packets
that remain in the queue during congestion can continue to contribute
to queueing delay. In contrast, non-ECN-capable packets would
normally be dropped by an AQM scheme under incipient congestion.
This difference in queueing is one motivation for consideration of
more advanced AQM schemes and may provide an incentive for enabling
flow isolation using scheduling [RFC7567]. The IETF is defining
methods to evaluate the suitability of AQM schemes for deployment in
the general Internet [RFC7928].
3.5. Bleaching and Middlebox Requirements to Deploy ECN
Network devices should not be configured to change the ECN codepoint
in the packets that they forward, except to set the CE codepoint to
signal incipient congestion.
Fairhurst & Welzl Informational [Page 11]
^L
RFC 8087 Benefits of ECN March 2017
Cases have been noted where an endpoint sends a packet with a
non-zero ECN mark, but the packet is received by the remote endpoint
with a zero ECN codepoint [TR15]. This could be a result of a policy
that erases or "bleaches" the ECN codepoint values at a network edge
(resetting the codepoint to zero). Bleaching may occur for various
reasons (including normalizing packets to hide which equipment
supports ECN). This policy prevents use of ECN by applications.
When ECN-capable IP packets, marked as ECT(0) or ECT(1), are
re-marked to non-ECN-capable (i.e., the ECN field is set to the zero
codepoint), this could result in the packets being dropped by
ECN-capable network devices further along the path. This eliminates
the advantage of using of ECN.
A network device must not change a packet with a CE mark to a zero
codepoint; if the network device decides not to forward the packet
with the CE mark, it has to instead drop the packet and not bleach
the marking. This is because a CE-marked packet has already received
ECN treatment in the network, and re-marking it would then hide the
congestion signal from the receiving endpoint. This eliminates the
benefits of ECN. It can also slow down the response to congestion
compared to using AQM because the transport will only react if it
later discovers congestion by some other mechanism.
Prior to [RFC2474], a previous usage assigned the bits now forming
the ECN field as a part of the now deprecated TOS field [RFC1349]. A
network device that conforms to this older specification was allowed
to re-mark or erase the ECN codepoints, and such equipment needs to
be updated to the current specifications in order to support ECN.
3.6. Tunneling ECN and the Use of ECN by Lower-Layer Networks
Some networks may use ECN internally or tunnel ECN (e.g., for traffic
engineering or security). These methods need to ensure that the ECN
field of the tunnel packets is handled correctly at the ingress and
egress of the tunnel. Guidance on the correct use of ECN is provided
in [RFC6040].
Further guidance on the encapsulation and use of ECN by non-IP
network devices is provided in [ECN-ENCAP].
4. Using ECN across the Internet
A receiving endpoint needs to report the loss it experiences when it
uses loss-based congestion control. So also, when ECN is enabled, a
receiving endpoint must correctly report the presence of CE marks by
providing a mechanism to feed this congestion information back to the
sending endpoint [RFC3168] [RFC8085], thus enabling the sender to
Fairhurst & Welzl Informational [Page 12]
^L
RFC 8087 Benefits of ECN March 2017
react to experienced congestion. This mechanism needs to be designed
to operate robustly across a wide range of Internet path
characteristics. This section describes partial deployment, that is,
how ECN-enabled endpoints can continue to work effectively over a
path that experiences misbehaving network devices or when an endpoint
does not correctly provide feedback of ECN information.
4.1. Partial Deployment
Use of ECN is negotiated between the endpoints prior to using the
mechanism.
ECN has been designed to allow incremental partial deployment
[RFC3168]. Any network device can choose to use either ECN or some
other loss-based policy to manage its traffic. Similarly, transport/
application negotiation allows sending and receiving endpoints to
choose whether ECN will be used to manage congestion for a particular
network flow.
4.2. Detecting Whether a Path Really Supports ECN
Internet transports and applications need to be robust to the variety
and sometimes varying path characteristics that are encountered in
the general Internet. They need to monitor correct forwarding of ECN
over the entire path and duration of a session.
To be robust, applications and transports need to be designed with
the expectation of heterogeneous forwarding (e.g., where some IP
packets are CE marked by one network device and some by another,
possibly using a different AQM algorithm, or when a combination of CE
marking and loss-based congestion indications are used). Note that
[RFC7928] describes methodologies for evaluating AQM schemes.
A transport/application also needs to be robust to path changes. A
change in the set of network devices along a path could impact the
ability to effectively signal or use ECN across the path, e.g., when
a path changes to use a middlebox that bleaches ECN codepoints (see
Section 3.5).
A sending endpoint can check that any CE marks applied to packets
received over the path are indeed delivered to the remote receiving
endpoint and that appropriate feedback is provided. (This could be
done by a sender setting a known CE codepoint for specific packets in
a network flow and then checking whether the remote endpoint
correctly reports these marks [ECN-FALLBACK] [TR15].) If a sender
detects persistent misuse of ECN, it needs to fall back to using
loss-based recovery and congestion control. Guidance on a suitable
transport reaction is provided in [ECN-FALLBACK].
Fairhurst & Welzl Informational [Page 13]
^L
RFC 8087 Benefits of ECN March 2017
4.3. Detecting ECN-Receiver Feedback Cheating
Appropriate feedback requires that the endpoint receiver not try to
conceal reception of CE-marked packets in the ECN feedback
information provided to the sending endpoint [RFC7567]. Designers of
applications/transports are therefore encouraged to include
mechanisms that can detect this misbehavior. If a sending endpoint
detects that a receiver is not correctly providing this feedback, it
needs to fall back to using loss-based recovery instead of ECN.
5. Summary: Enabling ECN in Network Devices and Hosts
This section summarizes the benefits of deploying and using ECN
within the Internet. It also provides a list of prerequisites to
achieve ECN deployment.
Application developers should, where possible, use transports that
enable ECN. Applications that directly use UDP need to provide
support to implement the functions required for ECN [RFC8085]. Once
enabled, an application that uses a transport that supports ECN will
experience the benefits of ECN as network deployment starts to enable
ECN. The application does not need to be rewritten to gain these
benefits. Figure 2 summarizes the key benefits.
+---------+-----------------------------------------------------+
| Section | Benefit |
+---------+-----------------------------------------------------+
| 2.1 | Improved Throughput |
| 2.2 | Reduced Head-of-Line Blocking |
| 2.3 | Reduced Probability of RTO Expiry |
| 2.4 | Applications that do not Retransmit Lost Packets |
| 2.5 | Making Incipient Congestion Visible |
| 2.6 | Opportunities for New Transport Mechanisms |
+---------+-----------------------------------------------------+
Figure 2: Summary of Key Benefits
Network operators and people configuring network devices should
enable ECN [RFC7567].
Prerequisites for network devices (including IP routers) to enable
use of ECN include:
o A network device that updates the ECN field in IP packets must use
IETF-specified methods (see Section 3.1).
o A network device may support alternate ECN semantics (see
Section 3.1).
Fairhurst & Welzl Informational [Page 14]
^L
RFC 8087 Benefits of ECN March 2017
o A network device must not choose a different network path solely
because a packet carries a CE-codepoint set in the ECN Field;
CE-marked packets need to follow the same path as packets with an
ECT(0) or ECT(1) codepoint (see Section 3.1). Network devices
need to be configured not to drop packets solely because the
ECT(0) or ECT(1) codepoints are used (see Section 3.2).
o An ECN-capable network device should correctly update the ECN
codepoint of ECN-capable packets in the presence of incipient
congestion (see Section 3.3).
o Network devices need to be able to forward both ECN-capable and
not-ECN-capable flows (see Section 3.4).
o A network device must not change a packet with a CE mark to a not-
ECN-capable codepoint ('00'); if the network device decides not to
forward the packet with the CE mark, it has to instead drop the
packet and not bleach the marking (see Section 3.5).
Prerequisites for network endpoints to enable use of ECN include the
following:
o An application should use an Internet transport that can set and
receive ECN marks (see Section 4).
o An ECN-capable transport/application must return feedback
indicating congestion to the sending endpoint and perform an
appropriate congestion response (see Section 4).
o An ECN-capable transport/application should detect paths where
there is persistent misuse of ECN and fall back to not sending
ECT(0) or ECT(1) (see Section 4.2).
o Designers of applications/transports are encouraged to include
mechanisms that can detect and react appropriately to misbehaving
receivers that fail to report CE-marked packets (see Section 4.3).
6. Security Considerations
This document introduces no new security considerations. Each RFC
listed in this document discusses the security considerations of the
specification it contains.
Fairhurst & Welzl Informational [Page 15]
^L
RFC 8087 Benefits of ECN March 2017
7. References
7.1. Normative References
[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black,
"Definition of the Differentiated Services Field (DS
Field) in the IPv4 and IPv6 Headers", RFC 2474,
DOI 10.17487/RFC2474, December 1998,
<http://www.rfc-editor.org/info/rfc2474>.
[RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition
of Explicit Congestion Notification (ECN) to IP",
RFC 3168, DOI 10.17487/RFC3168, September 2001,
<http://www.rfc-editor.org/info/rfc3168>.
[RFC6040] Briscoe, B., "Tunnelling of Explicit Congestion
Notification", RFC 6040, DOI 10.17487/RFC6040, November
2010, <http://www.rfc-editor.org/info/rfc6040>.
[RFC7567] Baker, F., Ed. and G. Fairhurst, Ed., "IETF
Recommendations Regarding Active Queue Management",
BCP 197, RFC 7567, DOI 10.17487/RFC7567, July 2015,
<http://www.rfc-editor.org/info/rfc7567>.
[RFC8085] Eggert, L., Fairhurst, G., and G. Shepherd, "UDP Usage
Guidelines", BCP 145, RFC 8085, DOI 10.17487/RFC8085,
March 2017, <http://www.rfc-editor.org/info/rfc8085>.
7.2. Informative References
[AL10] Alizadeh, M., Greenberg, A., Maltz, D., Padhye, J., Patel,
P., Prabhakar, B., Sengupta, S., and M. Sridharan, "Data
Center TCP (DCTCP)", ACM SIGCOMM Computer Communication
Review, Volume 40, Issue 4, pages 63-74,
DOI 10.1145/1851182.1851192, October 2010.
[BA11] Bauer, Steven., Beverly, Robert., and Arthur. Berger,
"Measuring the State of ECN Readiness in Servers, Clients,
and Routers", Proceedings of the 2011 ACM SIGCOMM
Conference on ICM, pages 171-180,
DOI 10.1145/2068816.2068833, November 2011.
[DCTCP] Bensley, S., Eggert, L., Thaler, D., Balasubramanian, P.,
and G. Judd, "Microsoft's Datacenter TCP (DCTCP): TCP
Congestion Control for Datacenters", Work in Progress,
draft-bensley-tcpm-dctcp-05, July 2015.
Fairhurst & Welzl Informational [Page 16]
^L
RFC 8087 Benefits of ECN March 2017
[ECN-ENCAP]
Briscoe, B., Kaippallimalil, J., and P. Thaler,
"Guidelines for Adding Congestion Notification to
Protocols that Encapsulate IP", Work in Progress,
draft-ietf-tsvwg-ecn-encap-guidelines-07, July 2016.
[ECN-FALLBACK]
Kuehlewind, M. and B. Trammell, "A Mechanism for ECN Path
Probing and Fallback", Work in Progress,
draft-kuehlewind-tcpm-ecn-fallback-01, September 2013.
[ECN-FEEDBACK]
Briscoe, B., Kuehlewind, M., and R. Scheffenegger, "More
Accurate ECN Feedback in TCP", Work in Progress,
draft-ietf-tcpm-accurate-ecn-02, October 2016.
[Fla13] Flach, Tobias., Dukkipati, Nandita., Terzis, Andreas.,
Raghavan, Barath., Cardwell, Neal., Cheng, Yuchung., Jain,
Ankur., Hao, Shuai., Katz-Bassett, Ethan., and Ramesh.
Govindan, "Reducing web latency: the virtue of gentle
aggression", ACM SIGCOMM Computer Communication
Review, Volume 43, Issue 4, pages 159-170,
DOI 10.1145/2534169.2486014, October 2013.
[RFC768] Postel, J., "User Datagram Protocol", STD 6, RFC 768,
DOI 10.17487/RFC0768, August 1980,
<http://www.rfc-editor.org/info/rfc768>.
[RFC1349] Almquist, P., "Type of Service in the Internet Protocol
Suite", RFC 1349, DOI 10.17487/RFC1349, July 1992,
<http://www.rfc-editor.org/info/rfc1349>.
[RFC3649] Floyd, S., "HighSpeed TCP for Large Congestion Windows",
RFC 3649, DOI 10.17487/RFC3649, December 2003,
<http://www.rfc-editor.org/info/rfc3649>.
[RFC3758] Stewart, R., Ramalho, M., Xie, Q., Tuexen, M., and P.
Conrad, "Stream Control Transmission Protocol (SCTP)
Partial Reliability Extension", RFC 3758,
DOI 10.17487/RFC3758, May 2004,
<http://www.rfc-editor.org/info/rfc3758>.
[RFC4340] Kohler, E., Handley, M., and S. Floyd, "Datagram
Congestion Control Protocol (DCCP)", RFC 4340,
DOI 10.17487/RFC4340, March 2006,
<http://www.rfc-editor.org/info/rfc4340>.
Fairhurst & Welzl Informational [Page 17]
^L
RFC 8087 Benefits of ECN March 2017
[RFC4774] Floyd, S., "Specifying Alternate Semantics for the
Explicit Congestion Notification (ECN) Field", BCP 124,
RFC 4774, DOI 10.17487/RFC4774, November 2006,
<http://www.rfc-editor.org/info/rfc4774>.
[RFC5562] Kuzmanovic, A., Mondal, A., Floyd, S., and K.
Ramakrishnan, "Adding Explicit Congestion Notification
(ECN) Capability to TCP's SYN/ACK Packets", RFC 5562,
DOI 10.17487/RFC5562, June 2009,
<http://www.rfc-editor.org/info/rfc5562>.
[RFC5681] Allman, M., Paxson, V., and E. Blanton, "TCP Congestion
Control", RFC 5681, DOI 10.17487/RFC5681, September 2009,
<http://www.rfc-editor.org/info/rfc5681>.
[RFC6679] Westerlund, M., Johansson, I., Perkins, C., O'Hanlon, P.,
and K. Carlberg, "Explicit Congestion Notification (ECN)
for RTP over UDP", RFC 6679, DOI 10.17487/RFC6679, August
2012, <http://www.rfc-editor.org/info/rfc6679>.
[RFC6789] Briscoe, B., Ed., Woundy, R., Ed., and A. Cooper, Ed.,
"Congestion Exposure (ConEx) Concepts and Use Cases",
RFC 6789, DOI 10.17487/RFC6789, December 2012,
<http://www.rfc-editor.org/info/rfc6789>.
[RFC7928] Kuhn, N., Ed., Natarajan, P., Ed., Khademi, N., Ed., and
D. Ros, "Characterization Guidelines for Active Queue
Management (AQM)", RFC 7928, DOI 10.17487/RFC7928, July
2016, <http://www.rfc-editor.org/info/rfc7928>.
[ST14] Stewart, R., Tuexen, M., and X. Dong, "ECN for Stream
Control Transmission Protocol (SCTP)", Work in Progress,
draft-stewart-tsvwg-sctpecn-05, January 2014.
[TR15] Tranmmel, Brian., Kuehlewind, Mirja., Boppart, Damiano,
Learmonth, Iain., and Gorry. Fairhurst, "Enabling
Internet-Wide Deployment of Explicit Congestion
Notification", Lecture Notes in Computer Science, Volume
8995, pp 193-205, DOI 10.1007/978-3-319-15509-8_15, March
2015.
Fairhurst & Welzl Informational [Page 18]
^L
RFC 8087 Benefits of ECN March 2017
Acknowledgements
The authors were partly funded by the European Community under its
Seventh Framework Programme through the Reducing Internet Transport
Latency (RITE) project (ICT-317700). The views expressed are solely
those of the authors.
The authors would like to thank the following people for their
comments on prior draft versions of this document: Bob Briscoe, David
Collier-Brown, Colin Perkins, Richard Scheffenegger, Dave Taht, Wes
Eddy, Fred Baker, Mikael Abrahamsson, Mirja Kuehlewind, John Leslie,
and other members of the TSVWG and AQM working groups.
Authors' Addresses
Godred Fairhurst
University of Aberdeen
School of Engineering, Fraser Noble Building
Aberdeen AB24 3UE
United Kingdom
Email: gorry@erg.abdn.ac.uk
Michael Welzl
University of Oslo
PO Box 1080 Blindern
Oslo N-0316
Norway
Phone: +47 22 85 24 20
Email: michawe@ifi.uio.no
Fairhurst & Welzl Informational [Page 19]
^L
|