Model TCP/IP per capes |
---|
Xarxes informàtiques |
La notificació explícita de congestió (ECN) és una extensió del protocol d'Internet i del protocol de control de transmissió i es defineix a la RFC 3168 (2001). ECN permet la notificació d'extrem a extrem de la congestió de la xarxa sense deixar caure paquets. ECN és una característica opcional que es pot utilitzar entre dos punts finals habilitats per ECN quan la infraestructura de xarxa subjacent també ho admet.
Convencionalment, les xarxes TCP/IP senyalen la congestió deixant caure paquets. Quan l'ECN es negocia amb èxit, un encaminador conscient de l'ECN pot establir una marca a la capçalera IP en lloc de deixar caure un paquet per indicar una congestió imminent. El receptor del paquet fa ressò de la indicació de congestió a l'emissor, que redueix la seva velocitat de transmissió com si detectés un paquet perdut.
En lloc de respondre correctament o ignorar els bits, alguns equips de xarxa obsolets o defectuosos històricament han deixat caure o han alterat paquets que tenen bits ECN establerts.[1][2][3] El 2015, les mesures van suggerir que la fracció de servidors web a Internet pública per als quals la configuració ECN impedeix les connexions de xarxa s'havia reduït a menys de l'1%.[4]
El suport passiu existeix a Ubuntu Linux des de 12.04 i a Windows Server des de 2012.[5] El suport passiu als llocs web més populars ha augmentat del 8,5% el 2012 a més del 70% el maig del 2017.[5] L'adopció a través d'Internet ara requereix que els clients sol·licitin activament ECN. El juny de 2015, Apple va anunciar que ECN s'habilitarà de manera predeterminada als seus productes compatibles i futurs, per ajudar a impulsar l'adopció de la senyalització ECN a tot el sector.[6]
ECN requereix suport específic tant a la capa d'Internet com a la capa de transport pels motius següents:
Sense ECN, l'eco d'indicació de congestió s'aconsegueix indirectament mitjançant la detecció de paquets perduts. Amb ECN, la congestió s'indica establint el camp ECN dins d'un paquet IP a CE (Congestion Experienced) i el receptor la fa ressò al transmissor establint els bits adequats a la capçalera del protocol de transport. Per exemple, quan s'utilitza TCP, la indicació de congestió es fa ressò configurant el bit ECE.
ECN utilitza els dos bits menys significatius (extrem a la dreta) del camp Classe de trànsit a la capçalera IPv4 o IPv6 per codificar quatre punts de codi diferents:
00
– transport no compatible amb ECN, no ECT01
– ECN Capable Transport(1), ECT(1)10
– ECN Capable Transport(0), ECT(0)11
– Congestió experimentada, CE.Quan els dos punts finals admeten ECN, marquen els seus paquets amb ECT(0) o ECT(1). Els encaminadors tracten els punts de codi ECT(0) i ECT(1) com a equivalents. Si el paquet travessa una cua de gestió de cues activa (AQM) (p. ex., una cua que utilitza detecció precoç aleatòria (RED)) que està experimentant congestió i l'encaminador corresponent admet ECN, pot canviar el punt de codi a CE
en lloc de deixar anar el paquet.. Aquest acte s'anomena "marcatge" i el seu propòsit és informar el punt final receptor de la congestió imminent. Al punt final receptor, aquesta indicació de congestió la gestiona el protocol de la capa superior (protocol de la capa de transport) i s'ha de fer ressò al node de transmissió per tal de senyalitzar-lo per reduir la seva velocitat de transmissió.
Com que la indicació CE només es pot gestionar eficaçment per un protocol de capa superior que la admeti, ECN només s'utilitza juntament amb protocols de capa superior, com ara TCP, que admeten el control de la congestió i tenen un mètode per fer ressò de la indicació CE al punt final de transmissió.
TCP admet ECN mitjançant dos indicadors a la capçalera TCP. El primer, ECN-Echo (ECE) s'utilitza per fer ressò de la indicació de congestió (és a dir, indicar al remitent per reduir la velocitat de transmissió). El segon, Finestra de congestió reduïda (CWR), per reconèixer que s'ha rebut el ressò de la indicació de congestió. L'ús d'ECN en una connexió TCP és opcional; perquè l'ECN s'utilitzi, s'ha de negociar a l'establiment de la connexió mitjançant la inclusió d'opcions adequades als segments SYN i SYN-ACK.
Quan s'ha negociat ECN en una connexió TCP, el remitent indica que els paquets IP que porten segments TCP d'aquesta connexió transporten trànsit des d'un transport capaç d'ECN marcant-los amb un punt de codi ECT. Això permet als encaminadors intermedis que admeten ECN marcar aquests paquets IP amb el punt de codi CE en lloc de deixar-los caure per indicar una congestió imminent.
Moltes implementacions modernes de la suite de protocols TCP/IP tenen cert suport per a ECN; no obstant això, normalment s'envien amb ECN desactivat.
Des de la versió 2.4.20 del nucli de Linux, publicada el novembre de 2002,[7] Linux admet tres modes de treball de l'ECN per a TCP, tal com es configura mitjançant la interfície sysctl mitjançant la configuració del paràmetre/proc/sys/net/ipv4/tcp_ecn a un dels valors següents: [8]