portál uživatelů
softwarů Autodesk

Vylaďte si IP síť na plný plyn

Velikost MTU pro jednotlivé standardy Standard Velikost MTU v bytech  Ethernet (Ethernet II encapsulation) 1500  Ethernet (IEEE 802.3 SNAP encapsulation) 1492  FDDI 4352  X…

Vylaďte si IP síť na plný plyn

Velikost MTU pro jednotlivé standardy

Standard

Velikost MTU v bytech

 Ethernet (Ethernet II encapsulation)

1500

 Ethernet (IEEE 802.3 SNAP encapsulation)

1492

 FDDI

4352

 X.25

1600

 Frame Relay

1600

 ATM (Classical IP over ATM)

9180

 Minimum MTU

576

Jak jsme testovali?
Celou sadou experimentů, které jsme realizovali v síti kombinovaný Fast Ethernet / Gigabit Ethernet přibližně v celkové délce 12 000 metrů na VOŠ a SPŠ ve Žďáře nad Sázavou jsme se dopracovali po čtrnácti dnech k finálním výsledkům.

Testovací síť, 12 kilometrů drátu a desítky aktivních prvků SMC a 3COM

Najít správnou odpověď, nebylo vůbec snadné. Složitost a struktura TCP/IP protokolu a k tomu doslova stovky skrytých parametrů Windows vedly často do slepých uliček. V některých případech jsme již jásali, že je vše super, ale bohužel se objevil problém například na protokolu ftp. Ten je například ovlivňován hned dvěma větvemi v registru Windows a jedním v nastavení vlastního ftp serveru. Jak tedy vypadá výsledná optimalizace, kterou je vhodné nahrát na každou stanici i servery pracující na architektuře Windows NT (2000, XP, 2003)?

Troška teorie
V minulých článcích a na našem serveru je publikována poměrně rozsáhlá teorie optimalizace TCP/IP přenosu. Samotný internet je nedozírnou studnou všech možných nastavení. My jsme ovšem nakonec vyšli z teorie a tu experimentálně upravili pro naše potřeby.

MTU (Maximum Transmission Unit) je základem
Standard RFC1191 z roku 1990 určil maximální velikost paketu v sítích standardu Ethernet II na 1500 bytů. Tato hodnota v sobě zahrnuje standardní TCP a IP hlavičku (40 bytů).

Nejvyššího výkonu přenosu lze dosáhnout velikostí přijímaného okna jako sudého násobku maximální velikosti segmentu (MSS – Maximum Segment Size) protokolu TCP. Právě o hodnotu 40 bytů musíme zmenšit velikost MTU 1500 bytů abychom získali výchozí hodnotu pro určení MSS. To znamená:

MSS = 1500 – 40 = 1460 bytů

Doporučuji napřed pomocí tohoto software ověřit, jestli můžete ve vaší síti počítat s maximální hodnotou MTU na 1500 bytech.

Ověření velikosti MTU

Kritické hodnoty velikosti „TcpWindowSize“ a „GlobalMaxTcpWindowSize“, které určují maximální velikost přijímaného okna protokolu TCP/IP poskytovanou systémem (přijímané okno určuje, kolik bajtů může odesílatel přenést bez přijetí potvrzení) je určena jako sudý násobek MSS. Po našich testech v síti Fast Ethernet / Gigabit Ethernet:

TcpWindowSize = GlobalMaxTcpWindowSize = 6 x 1460 = 8760 bytů (2238 hex)

Často publikované pravidlo, že větší přijímaná okna zvyšují výkon v rychlých sítích není zase tolik pravdou. Při vyšších hodnotách se vyskytují problémy s nízkou odezvou koncových systémů, případně extrémní zahlcení sítě s heterogenním hardware (různé typy síťových adaptérů, aktivních prvků, apod.). Můžete pro rychlou analýzu svého PC použít třeba tento web.

Webová kalkulačka říká, že máme okno na plný výkon – násobek MSS

Jednoduchá kalkulačka

Jak tedy vypadá úprava registru pro Windows NT platformu?
Výsledná úprava registru je poměrně prostá, asi si řeknete, tohle, že vyřeší problémy v naší síti, když to řeší zástup odborníků třeba i výměnou síťových prvků. Ano :O) je to tak, vyřeší a budete mile překvapeni. Z těch přibližně 200 nedokumentovaných voleb registru stačí opravdu málo k úspěchu:

REGEDIT4

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters]„EnablePMTUBHDetect“=dword:00000000
„EnablePMTUDiscovery“=dword:00000001
„SackOpts“=dword:00000001
„Tcp1323Opts“=dword:00000003
„TcpWindowSize“=dword:00002238
„GlobalMaxTcpWindowSize“=dword:00002238
„DefaultTTL“=dword:00000040
„MTU“ =dword:000005dc
„TcpRecvSegmentSize“=dword:000005b4
„TcpSendSegmentSize“=dword:000005b4