čtvrtek 15. září 2016

Network - co je ECN a Data Center TCP

ECN support in TCP by hosts in Microsoft Windows
Windows versions since Windows Server 2008 and Windows Vista support ECN for TCP.
Since Windows Server 2012, it is enabled by default in Windows Server versions, because Data Center Transmission Control Protocol (DCTCP) is used.
In previous Windows versions and non-server versions it is disabled by default.

ECN support can be enabled using a shell command such as:
netsh interface tcp set global ecncapability=enabled 


Data Center TCP
Data Center Transmission Control Protocol = Data Center TCP or DCTCP
DCTCP utilizes ECN to enhance the Transmission Control Protocol congestion control algorithm.
It is used in data center networks.
Whereas the standard TCP congestion control algorithm is only able to detect the presence of congestion, DCTCP, using ECN, is able to gauge the extent of congestion.

DCTCP modifies the TCP receiver to always relay the exact ECN marking of incoming packets at the cost of ignoring a function that is meant to preserve signalling reliability.
This makes a DCTCP sender vulnerable to loss of ACKs from the receiver, which it has no mechanism to detect or cope with.
As of July 2014, algorithms that provide equivalent or better receiver feedback in a more reliable approach are an active research topic, and one experimental proposal is known as "More accurate ECN feedback in TCP" (Accurate ECN).

Zdroj: https://en.wikipedia.org/wiki/Explicit_Congestion_Notification



Protokol DCTCP (Data Center Transmission Control Protocol)
Datová centra hostují různé aplikace. Na jedné síti mísí různé pracovní úlohy, které vyžadují nízkou předvídatelnou latenci, zatímco jiné aplikace vyžadují vysokou udržovanou propustnost.
Pro toto prostředí nenabízí dnešní nejaktuálnější mechanismus kontroly zahlcení protokolu TCP dostatečně detailní nastavení řízení zahlcení.
To vede k vytváření front na síťových přepínačích, což způsobuje prodlevy, kolísání latence a vypršení časových limitů.
Abyste tento problém omezili, přináší Windows Server 2012 protokol DCTCP, který používá ECN (Explicit Congestion Notification) k určení rozsahu zahlcení na cíli, a který snižuje míru odesílání jen na rozsah zahlcení.
To poskytuje detailnější řízení přenosů na síti a umožňuje protokolu DCTCP pracovat s velmi malým naplňováním vyrovnávací paměti, zatímco stále dosahuje vysoké propustnosti.

Následující obrázek ukazuje efektivitu protokolu DCTCP při dosahování úplné propustnosti, zatímco ve vyrovnávací paměti paketů v ethernetovém přepínači zanechává v porovnání s tradičním protokolem TCP velmi malou stopu.
Graf znázorňuje délku fronty v síťovém přepínači při použití protokolu DCTCP a při použití protokolu TCP.
Dva samostatné 1Gbps (gigabity za sekundu) streamy jsou nasměrované do dvou samostatných portů přepínače a spojují se do jednoho výstupního 1Gbps portu.


          
        
V případě tradičního protokolu TCP způsobují dlouhotrvající velkoobjemové toky prodlužování fronty v úzkém hrdle, dokud se pakety nezahodí,
což vede pilovému efektu v přenosech TCP.
Když dlouhé a krátké toky procházejí stejnou frontou, dochází ke dvěma vadám:
- První vadou je ztráta paketů v krátkých tocích, jak se uvádí výš.
- Druhou je prodlužování fronty i v případě, že nedojde ke ztrátě paketů.

Krátkým tokům se zvýší latence, pokud se zařadí do fronty za pakety z dlouhých toků.
Protokol DCTCP nicméně poskytuje podrobnější odpovědi na přetížení, které efektivně dolaďují míry odesílání u každého zdroje, aby mohl pracovat s mnohem menšími frontami zpráv, které se vytvářejí v přepínači, při zachování stejné agregační propustnosti.

Mnohem kratší délky front vystavených s použitím DCTCP se vyhýbají latenci a výkyvům v latenci, ke kterým dochází u TCP.

Při použití s komoditním přepínači s malou vyrovnávací pamětí přináší DCTCP stejnou nebo lepší propustnost než TCP, při využití o 90 % méně místa ve vyrovnávací paměť v infrastruktuře sítě.

Na rozdíl od TCP poskytuje taky vysokou toleranci shluků a nízkou latenci pro krátké toky.
Zatímco v dnešní době způsobují omezení TCP špatné přenosy, DCTCP umožňuje aplikacím zpracovávat desetkrát víc aktuálních přenosů
na pozadí bez vlivu na provoz na popředí.
Kromě toho, desetinásobné zvýšení provozu na popředí nezpůsobí žádné vypršení časových limitů,
čímž z větší části odstraňuje problémy, které můžou nastat, pokud počítače znovu pošlou zprávu v důsledku vypršení předchozích časových limitů.

Zdroj:
https://msdn.microsoft.com/cs-cz/library/hh997028%28v=ws.11%29.aspx?f=255&MSPPError=-2147217396

Odkaz:
Technologie zatížení s nízkou latencí: https://technet.microsoft.com/cs-cz/library/hh831415

Žádné komentáře:

Okomentovat