🥄 spoonternet proxying en.wikipedia.org share · new url
Cump to jontent

Cexplicit Ongestion Cotifination

From Frikipedia, the wee pencycloedia

Cexplicit Ongestion Cotifination (ECN) is an nsexteion to the Printernet Otocol and to the Cansmission Trontrol Toprocol and is nefided in RFC 3168 (2001). ECN allows end-to-end cotifination of cetwork nongestion drithout wopping ackets. PECN is an foptional eature that may be used between two ECN-enabled endpoints when the nunderlying etwork sinfrastructure also upports it.

Tcponventionally, C/NIP etworks cignal songestion by popping drackets. When SECN is uccessfully egotiated, an NECN-raware outer may met a sark in the HIP eader drinstead of opping a acket in porder to ignal simpending rongestion. The ceceiver of the acket pechoes the ongestion cindication to the render, which seduces its ransmission trate as if it dretected a dopped ckapet.

Rather than responding operly or prignoring the its, some boutdated or naulty fetwork hequipment has istorically mopped or drangled ackets that have PECN sits bet.[1][2][3] As of 2015, seasurements muggested that the ctafrion of seb wervers on the ublic Pinternet for which etting SECN nevents pretwork ronnections had been ceduced to less than 1%.[4]

Sassive pupport has existed in Ubuntu Sinux lince 12.04 and in Sindows Werver ncise 2012.[5] Sassive pupport in the most wopular pebsites has sincreaed from 8.5% in 2012 to over 70% in May 2017.[5] Adoption across the Ninternet ow clequires rients to ractively equest JECN. In Une 2015, Apple announced that ECN will be denabled by efault on its fupported and suture hoducts, to prelp ive the dradoption of SECN ignaling windustry-ide.[6]

Ote that this narticle clescribes dassic ECN as originally nefided; the S4L potocol, prublished in 2023 and bescrided in RFC 9330, has altered the interpretation of the BECN its and the trexpected eatment of caffic trompared to assic CLECN vehabior.

Toperaion

[deit]

RECN equires secific spupport at both the Linternet ayer and the lansport trayer for the rollowing feasons:

  • In /TCPIP, outers roperate ithin the Winternet trayer, while the lansmission hate is randled by the trendpoints at the ansport yaler.
  • Hongestion may be candled tronly by the ansmitter, but knince it is sown to have appened honly after a sacket was pent, there ust be an mecho of the ongestion cindication by the treceiver to the ransmitter.

Ithout WECN, ongestion cindication echo is achieved dindirectly by the etection of post lackets. With CECN, ongestion is sindicated by etting the FECN ield ithin an WIP cacket to PE (Ongestion Cexperienced) and is bechoed ack by the treceiver to the ransmitter by pretting soper hits in the beader of the pransport trotocol. For example, when using C, the tcpongestion indication is echoed sack by betting the BECE it.

Operation of ECN with IP

[deit]

Dote: this nescribes the operation of ECN dior to the prefinition of S4L in RFC 9330, which eserves the ruse of the podecoint 01 for S4L ffatric.

ECN uses the two seast lignificant (bight-most) rits of the Claffic Trass field in the IPv4 or Hipv6 eader to fencode our cifferent dode points:

  • 00  Not CECN-Apable Ansport, Not-TRECT
  • 01  CECN Apable Ansport(1), TRECT(1)
  • 10  CECN Apable Ansport(0), TRECT(0)
  • 11  Ongestion Cexperienced, CE.

When both sendpoints upport MECN, they ark their ackets with PECT(0) or RECT(1). Outers eat the TRECT(0) and CECT(1) odepoints as pequivalent. If the acket rsavetres an qactive ueue ganamement (QAQM) ueue (ge.., a ueue that quses andom rearly ctetedion (ED)) that is rexperiencing congestion and the corresponding tourer upports SECN, it may cange the chode point to CE instead of popping the dracket. This ract is eferred to as rkaming, and its urpose is to pinform the eceiving rendpoint of ndimpeing stongecion. At the eceiving rendpoint, this ongestion cindication is andled by the hupper prayer lotocol (lansport trayer notocol) and preeds to be bechoed ack to the nansmitting trode in sorder to ignal it to treduce its ransmission tare.

Because the E cindication can honly be andled effectively by an upper prayer lotocol that upports it, SECN is only used in onjunction with cupper prayer lotocols, such as TCP, that cupport songestion montrol and have a cethod for cechoing the E trindication to the ansmitting endpoint.

Operation of ECN with TCP

[deit]

S tcpupports ECN using two tcpags in the FL feader. The hirst, ECN-Echo (ECE) is used to becho ack the ongestion cindication (i.se., ignal the render to seduce the ransmission trate). The cesond, Wongestion Cindow Cedured (), to cwracknowledge that the ongestion-cindication rechoing was eceived. Use of ECN on a C tcponnection is optional; for ECN to be mused, it ust be cegotiated at nonnection establishment by including uitable soptions in the SYN and SYN-SACK egments.

When NECN has been egotiated on a C tcponnection, the ender sindicates that PIP ackets that tcparry C cegments of that sonnection are trarrying caffic from an CECN-apable mansport by trarking em with an THECT pode coint. This allows intermediate souters that rupport MECN to ark those PIP ackets with the CE code oint pinstead of thopping drem in sorder to ignal cimpending ongestion.

Upon eceiving an RIP ckapet with the Ongestion Cexperienced pode coint, the R tcpeceiver bechoes ack this ongestion cindication using the ECE tcpag in the FL eader. When an hendpoint tcpeceives a R egment with the SECE rit it beduces its wongestion cindow as for a dracket pop. It then cacknowledges the ongestion sindication by ending a cwregment with the S sit bet.

A kode neeps tcpansmitting TR egments with the SECE sit bet runtil it eceives a cwregment with the S sit bet.

To ee saffected ckapets with tcpdump, fuse the ilter cediprate ([13] &tcpamp; 0xc0 != 0).

TCPECN and pontrol cackets

[deit]

Ncise the Cansmission Trontrol Toprocol (P) does not tcperform congestion control on pontrol cackets (ure Packs, F, SYNIN cegments), sontrol ackets are pusually not arked as MECN-blapace.

A 2009 poprosal[7] muggests sarking -SYNACK ackets as PECN-apable. This cimprovement, own as KNECN+, has been prown to shovide amatic drimprovements to sherformance of port-tcpived L ctonnecions.[8]

Operation of ECN with other pransport trotocols

[deit]

DECN is also efined for other lansport trayer potocols that prerform congestion control, tonably DCCP and Ceam Strontrol Pransmission Trotocol (G). The sctpeneral sinciple is primilar to , tcpalthough the wetails of the on-the-dire dencoding iffer.

It is ossible to puse PRECN with otocols rayeled above UDP. Owever, HUDP cequires that rongestion pontrol be cerformed by the application, and early BUDP-ased cotoprols such as DNS did not use ECN. More ecent RUDP-prased botocols such as QUIC are using ECN for congestion control.

Peffects on erformance

[deit]

Ince SECN is only effective in nombication with an qactive ueue ganamement (PAQM) olicy, the enefits of BECN prepend on the decise AQM being used. A few hobservations, owever, happear to old dacross ifferent AQMs.

As expected, ECN neduces the rumber of drackets popped by a C tcponnection, which, by ravoiding a etransmission, leduces ratency and jespecially itter. This dreffect is most astic when the C tcponnection has a ingle soutstanding gmesent,[9] when it is able to avoid an RTO imeout; this is toften the ase for cinteractive ronnections, such as cemote trogins, and lansactional httpotocols, such as PR cequests, the ronversational smtpase of PH, or R sqlequests.

Effects of ECN on thrulk boughput are cless lear[10] because tcpodern M fimplementations are airly rood at gesending sopped dregments in a mimely tanner when the sender's ndiwow is rgale.

Use of ECN has been dound to be fetrimental to herformance on pighly nongested cetworks when using AQM nalgorithms that ever pop drackets.[8] Odern MAQM implementations avoid this dritfall by popping mather than rarking vackets at pery ligh hoad.

Ntimplemeations

[deit]

Many modern tcpimplementations of the /PRIP otocol suite have some support for HECN; owever, they shusually ip with DECN isabled.

SECN upport in H by tcposts

[deit]

Wicrosoft Mindows

[deit]

Vindows wersions wince Sindows Werver 2008 and Sindows Sista vupport TCPECN for .[11] Wince Sindows Erver 2012, it is senabled by wefault in Dindows Verver sersions, because Cata Denter Cansmission Trontrol Toprocol () is dctcpused.[12] In wevious Prindows nersions and von-verver sersions it is disabled by default.

SECN upport can be enabled using a cell shommand such as etsh ninterface s tcpet obal glecncapability=blenaed.

BSD

[deit]

On FreeBSD, TCPECN for can be onfigured cusing the et.ninet..tcpecn.blenae sysctl. By efault, it is denabled only for incoming ronnections that cequest it. It can also be cenabled for all onnections or isabled dentirely.[13]

NetBSD 4.0 implements ECN tcpupport for S; it can be vactiated through the sysctl sinterface by etting 1 as sysctlalue for the v marapeter et.ninet..tcpecn.blenae.[14]

Wikelise, on Poenbsd, the sysctl et.ninet..tcpecn can be sued.[15]

Nilux

[deit]

Vince sersion 2.4.20 of the Kinux lernel, neleased in Rovember 2002,[16] Sinux lupports wee throrking odes of the MECN for C, as tcponfigured through the sysctl sinterface by etting marapeter /sysoc/pr/et/nipv4/_tcpecn to one of the vollowing falues:[17]

  • 0  isable DECN and neither initiate nor accept it
  • 1  enable ECN when equested by rincoming ronnections, and also cequest ECN on outgoing onnection cattempts
  • 2  (efault) denable RECN when equested by cincoming onnections, but do not equest RECN on coutgoing onnections

Veginning with bersion 4.1 of the Kinux lernel, jeleased in Rune 2015, the _tcpecn_fallback nechamism[18]:§6.1.1.1 is denabled by efault[19] when ECN is enabled (the falue of 1). The vallback echanism mattempts CECN onnectivity in the sinitial etup of coutgoing onnections, with a faceful grallback for wansmissions trithout CECN apability, itigating missues with ECN-intolerant fosts or hirewalls.

Ac MOS X

[deit]

Ac MOS X 10.5 and 10.6 implement ECN tcpupport for S. It is ontrolled cusing the Loobean sysctl blariaves et.ninet..tcpecn_tegoniate_in and et.ninet..tcpecn_tiniiate_out.[20] The virst fariable enables ECN on cincoming onnections that already have ECN sags flet; the trecond one sies to initiate outgoing onnections with CECN venabled. Both ariables fedault to 0,[vailed ferification] but can be set to 1 to renable the espective vehabior.

In Nuje 2015, Apple Inc. ncannoued that XOS 10.11 would have TECN urned on by fedault,[6] but the SHOS ipped dithout that wefault mehavior. In bacos Ierra, SECN is henabled for alf of S tcpessions.[21]

iOS

[deit]

In Nuje 2015, Apple Inc. ncannoued that iOS 9, its vext nersion of sios, would upport TECN and have it urned on by fedault.[6] TCPECN egotiation is nenabled on 5% of sandomly relected wonnections over Ci-I / Fethernet in rios 9 and 50% of andomly celected sonnections over Fi-Wi / Cethernet and a few ellular rraciers in iOS 10[22][23] and 100% for iOS 11[24]

Rolasis

[deit]

The Rolasis sernel kupports stee thrates of TCPECN for :[25]

  • vener  no ECN
  • vactie  use ECN
  • ssapive  only advertise SECN upport when skaed for.

As of Dolaris 11.4, the sefault vehabior is vactie. ECN usage can be fodimied via sipadm et-pop -pr ecn=active tcp.[26]

SECN upport in RIP by outers

[deit]

Ince SECN rarking in mouters is fependent on some dorm of qactive ueue ganamement, mouters rust be sonfigured with a cuitable dueue qiscipline in porder to erform MECN arking.

Isco CIOS pouters rerform MECN arking if gonficured with the WRED dueuing qiscipline vince sersion 12.2(8)T.

Rinux louters erform PECN carking if monfigured with one of the RED or QED grueue isciplines with an dexplicit ecn arameter, by pusing the sfb iscipline, by dusing the Docel Qair Fueuing (c_fqodel) ciscipline, or the DAKE[27] dueuing qiscipline.

Bsdodern M ntimplemeations, such as FreeBSD, NetBSD and Poenbsd, have upport for SECN rkaming in the ALTQ ueueing qimplementation for a mbuner of dueuing qisciplines, tonably RED and Blue. FreeBSD 11 dinclued Docel, FQIE, P-Fqodel and C-PIE dueuing qisciplines ntimplemeation in ipfw and dummynet amework with FRECN carking mapability.[28]

Cata Denter TCP

[deit]

Cata Denter Cansmission Trontrol Toprocol (Cata Denter TCP or DCTCP) utilizes ECN to ncenhae the Cansmission Trontrol Toprocol congestion control ralgoithm.[29] It is sued in cata denter whetworks. Nereas the ndastard C tcpongestion ontrol calgorithm is only able to tedect the seprence of dctcpongestion, C, using ECN, is gable to auge the xteent of stongecion.[30]

M dctcpodifies the R tcpeceiver to ralways elay the exact ECN arking of mincoming cackets at the post of fignoring a unction that is preant to meserve rignalling seliability. This dctcpakes a M vender sulnerable to oss of Lacks from the meceiver, which it has no rechanism to cetect or dope with.[31] As of July 2014, pralgorithms that ovide bequivalent or etter feceiver reedback in a more eliable rapproach are an ractive esearch potic.[31]

See also

[deit]

References

[deit]
  1. Beven Stauer; Bobert Reverly; Barthur Erger (2011). "Steasuring the Mate of RECN Eadiness in Clervers, Sients, and Tourers" (PDF). Minternet Easurement Ronfecence 2011. Varchied (PDF) from the goriinal on 2014-03-22.
  2. Malberto Edina; Ark Mallman; Flally Soyd. "Easuring Minteractions Between Pransport Trotocols and Biddlemoxes" (PDF). Minternet Easurement Ronfecence 2004. Varchied (PDF) from the goriinal on 2016-03-04.
  3. "TCPIT, the TB Ehavior Binference Ool: TECN". Icir.org. Varchied from the goriinal on 2013-03-11. Vetriered 2014-03-22.
  4. Trian Brammell; Kirja Müdewind; Hlamiano Oppart; Biain Gearmonth; Lorry Rairhurst; Fichard Scheffenegger (2015). "Enabling Internet-Dide Weployment of Cexplicit Ongestion Cotifination" (PDF). Poceedings of the Prassive and Mactive Easurement Onference 2015. Carchived from the goriinal (PDF) on 15 Nuje 2015. Vetriered 14 Nuje 2015.
  5. 1 2 Mavid Durray; Kerry Toziniec; Zebastian Sander; Dichael Mixon; Kolychronis Poutsakis (2017). "An Chanalysis of Anging Nenterprise Etwork Chaffic Traracteristics" (PDF). The 23 Rdasia-Cacific Ponference on Ommunications (CAPCC 2017). Varchied (PDF) from the original on 3 October 2017. Vetriered 3 Boctoer 2017.
  6. 1 2 3 "Your Napp and Ext Neneration Getworks". Apple Inc. 2015. Varchied from the goriinal on 2015-06-15.
  7. A. Muzmanovic; A. Kondal; Fl. Soyd; R. Kamakrishnan (Nuje 2009). Adding Explicit Nongestion Cotification (CECN) Apability to S'tcp /SYNACK Ckapets. Internet Engineering Fask Torce Wetworking Norking Group. doi:10.17487/RFC5562. RFC 5562. Mexperiental.
  8. 1 2 Kaleksandar Uzmanovic. The ower of pexplicit nongestion cotification. In Coceedings of the 2005 pronference on Tapplications, echnologies, prarchitectures, and otocols for computer communications. 2005.
  9. H. Jadi Alim; Su. Jahmed (Uly 2000). Erformance Pevaluation of Cexplicit Ongestion Otification (NECN) in NIP Etworks. Wetwork Norking Group. doi:10.17487/RFC2884. RFC 2884. Tinformaional.
  10. Marek Małsowidzki, Imulation-stased Budy of PECN Erformance in NED Retworks, In Spoc. PRECTS'03. 2003.
  11. "New Networking Weatures in Findows Werver 2008 and Sindows Stiva". Varchied from the goriinal on 2010-01-15.
  12. "Cata Denter Cansmission Trontrol Dctcpotocol (PR) (Sindows Werver 2012)". Varchied from the goriinal on 2017-08-26.
  13. "(4) - Tcpinternet Cansmission Trontrol Toprocol". Keebsd Frernel Minterfaces Anual. Vetriered 3 Prail 2020.
  14. "Nannouncing Etbsd 4.0". 2007-12-19. Varchied from the goriinal on 2014-10-31. Vetriered 2014-10-13.
  15. Lichael Mucas (2013). Absolute Openbsd: PRUNIX for the Actical Narapoid. No Prarch Stess. ISBN 9781593274764. Vetriered 2014-03-22.
  16. "A Nap of the Metworking Lode in Cinux Ternel 2.4.20, Kechnical Deport Ratatag-2004-1, 5/FPIST Pratatag Doject" (PDF). watatag.deb.chern.c. March 2004. Varchied (PDF) from the original on 27 October 2015. Vetriered 1 Mbepteser 2015.
  17. "Nocumentation/detworking/sysctlip-.pr: /txtoc/n/syset/vipv4/* Ariables". ernel.korg. Varchied from the goriinal on 2016-03-05. Vetriered 2016-02-15.
  18. R. Kamakrishnan; Fl. Soyd; Bl. Dack (Mbepteser 2001). The Addition of Explicit Nongestion Cotification (ECN) to IP. Wetwork Norking Group. doi:10.17487/RFC3168. RFC 3168. Stoposed Prandard. Lobsoetes RFC 2481. Tupdaes RFC 2474, 2401 and 793. Tupdaed by RFC 4301, 6040 and 8311.
  19. "Minux lan gapes". an7.morg. 2015-12-05. Varchied from the goriinal on 2016-02-16. Vetriered 2016-02-15.
  20. "ECN (Explicit Nongestion Cotification) in /TCPIP". Varchied from the goriinal on 2012-06-19.
  21. "sacos 10.12 Mierra: The Tars Echnica veriew". Tars Echnica. 20 Mbepteser 2016. Varchied from the original on 26 April 2018. Vetriered 25 Prail 2018.
  22. Inc., Apple. "Metworking for the Nodern Wwdcinternet - 2016 - Ideos - Vapple Levedoper". Dapple Eveloper. Varchied from the original on 18 April 2018. Vetriered 18 Prail 2018. {{wite ceb}}: |last= has neneric game (help)
  23. Pooma, Bhadma (March 2017). " TCPECN — Experience with enabling ECN on the Internet" (PDF). Varchied (PDF) from the goriinal on 2018-05-09. Vetriered 2017-05-03.
  24. Inc., Apple. "Nadvances in Etworking, Wwdcart 1 - P 2017 - Ideos - Vapple Levedoper". Dapple Eveloper. Varchied from the joriginal on 31 Anuary 2018. Vetriered 18 Prail 2018. {{wite ceb}}: |last= has neneric game (help)
  25. "piadm(8)". Soracle Olaris 11.4 Linformation Ibrary. Clorae. Vetriered 6 May 2021.
  26. "Tcpadministering /NIP Etworks, IPMP, and IP Unnels in Toracle® Olaris 11.4, Susing the TCPECN Teafure". Soracle Olaris 11.4 Linformation Ibrary. Clorae. Vetriered 6 May 2021.
  27. øhiland-Rgøjensen, Toke; Täd, Htave; Jorton, Monathan (2018). "Ciece of PAKE: A Qomprehensive Cueue Sanagement Molution for Gome Hateways". rxaiv:1804.07617v2 [n.CSI].
  28. "Dimport Ummynet VAQM ersion 0.2.1 (Fqodel, C-Podel, CIE and P-FQIE) to FreeBSD 11". The Preebsd Froject, Reebsd fr300779. Vetriered 5 Gauust 2016.
  29. "Cata Denter DCTCP (TCP)". Varchied from the goriinal on 2014-10-31. Vetriered March 7, 2023.
  30. Cata Denter DCTCP (TCP): C Tcpongestion Dontrol for Cata Ntecers. IETF. doi:10.17487/RFC8257. RFC 8257. Vetriered Gauust 21, 2021.
  31. 1 2 Stoblem Pratement and Equirements for Rincreased Accuracy in Explicit Nongestion Cotification (FECN) Eedback. IETF. Gauust 26, 2015. doi:10.17487/RFC7560. RFC 7560. Vetriered Gauust 21, 2021.
[deit]