Explicitní upozornění na přetížení

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 19. listopadu 2019; ověření vyžaduje 1 úpravu .

Explicit Congestion Notification ( ECN , z  angličtiny  -  „Explicit Congestion Notification“) je rozšířením protokolu IP popsaného v RFC 3168 . ECN umožňuje oběma stranám v síti vědět, kdy dojde k zahlcení na trase k danému hostiteli nebo síti, aniž by došlo k zahození paketů. Toto je volitelná funkce, která se používá pouze v případě, že oba komunikační koncové body indikují, že ji chtějí používat.

Základní pojmy

Hostitelé v sítích TCP/IP obvykle hlásí zahlcení zahazováním paketů. Pokud je relace ECN úspěšně navázána, směrovače s podporou ECN mohou signalizovat začátek přetížení nastavením bitů v hlavičce IP namísto zahazování paketů. Přijímač paketů informuje o zahlcení odesílatele, který by měl reagovat, jako by byl detekován zahozený paket.

ECN používá dva bity v oblasti DiffServ v hlavičce IP , pro IPv4 v TOS byte a v IPv6 v oktetu přenosové třídy paketu. Tyto dva bity lze použít k nastavení jedné z následujících hodnot:

Některá starší nebo testovací síťová zařízení zahazují pakety s nastavenými bity ECN namísto jejich ignorování [1] .

Použití

Použití ECN vyžaduje jeho podporu na transportní vrstvě.

Použití v TCP/IP

Kromě dvou bitů ECN v hlavičce IP používá TCP dva příznaky hlavičky TCP k signalizaci přetížení odesílateli a snížení množství informací, které odesílá.

Použití ECN v TCP spojení je volitelné.

Použití v jiných transportních protokolech

Rozšíření ECN je také definováno pro další protokoly transportní vrstvy, které provádějí řízení zahlcení sítě, zejména DCCP a SCTP . Obecné použití je podobné TCP, i když podrobnosti kódování se liší.

V zásadě můžete použít rozšíření ECN s protokoly, které leží na úrovních nad UDP . UDP však vyžaduje, aby se řízení zahlcení provádělo na aplikační úrovni a současné možnosti aplikací pro sítě jim neumožňují přístup k bitům ECN.

Výkon

Použití ECN je efektivní pouze v kombinaci s aktivní politikou správy front (AQM) a užitečnost ECN závisí na správném použití AQM.

Empiricky bylo zjištěno, že ECN má špatný vliv na výkon silně přetížené sítě, pokud se používají algoritmy AQM, které nikdy nezahazují pakety [2] . Moderní implementace AQM se tomuto problému vyhýbají nahrazením označování paketů jejich zahozením v případě kritického přetížení.

Implementace

Mnoho moderních implementací protokolu TCP/IP má podporu ECN, ale obvykle se dodávají s vypnutým ECN.

Podpora serveru

Windows Server 2008 a Windows Vista podporují rozšíření ECN, ale ve výchozím nastavení je zakázáno [3] . Podporu ECN lze povolit pomocí následujícího příkazu:

netsh interface tcp set global ecncapability=enabled

Mac OS X 10.5 ve výchozím nastavení podporuje ECN. Správa se provádí pomocí rozhraní sysctl [4]  :

net.inet.tcp.ecn_negotiate_in net.inet.tcp.ecn_initiate_out

Linuxové jádro již nějakou dobu podporuje rozšíření ECN, ale ve výchozím nastavení je zakázáno. Ve většině verzí jádra jej lze aktivovat prostřednictvím rozhraní Sysctl  :

sysctl net.ipv4.tcp_ecn=1

FreeBSD 8.0 podporuje rozšíření ECN. Lze jej aktivovat přes rozhraní Sysctl :

sysctl net.inet.tcp.ecn.enable=1

Podpora na routerech

Označení polí ECN směrovači závisí v určité formě na aktivním řazení do fronty . Směrovače musí být správně nakonfigurovány pro označení polí ECN.

Směrovače Cisco IOS provádějí označování ECN, pokud je nakonfigurováno WRED počínaje verzí 12.2(8)T.

Poznámky

  1. Měření interakcí mezi transportními protokoly a Middleboxy. Alberto Medina, Mark Allman a Sally Floyd. Konference o měření internetu 2004, srpen 2004.
  2. Aleksandar Kuzmanovič. Síla explicitního upozornění na přetížení. In Sborník konference z roku 2005 o aplikacích, technologiích, architekturách a protokolech pro počítačové komunikace . 2005
  3. „Nové síťové funkce v systémech Windows Server 2008 a Windows Vista“ (odkaz dolů) . Archivováno z originálu 15. dubna 2012. 
  4. "ECN (Explicit Congestion Notification) v TCP/IP" (downlink) . Archivováno z originálu 15. dubna 2012. 

Viz také

Odkazy