V rámci certifikovaných měření podle metodiky Českého telekomunikačního úřadu (ČTÚ) je standardem pro ověřování kvality datových služeb metodika RFC 6349. Mnoho poskytovatelů internetu (ISP) a síťových techniků však bývá zaskočeno, když profesionální test RFC 6349 ukáže na stejné lince výrazně nižší hodnoty než populární Ookla Speedtest. Tento aplikační list vysvětluje principy TCP propustnosti a objasňuje, proč „horší“ výsledek u RFC 6349 není chyba měření, ale naopak jeho nejdůležitější vlastnost.
Protokol TCP (Transmission Control Protocol) je spolehlivý spojovaný protokol, což znamená, že odesílatel musí dostat potvrzení (ACK) o doručení každého paketu, jinak data posílá znovu.

Základní jednotkou je TCP segment, který se skládá z hlavičky (TCP Segment Header) a samotných užitečných dat (tzv. payload). Rychlost, jakou dokážeme TCP segmenty přenášet, určuje celkovou propustnost. Ta je omezena dvěma hlavními fyzikálními parametry sítě:
Výsledná povolená velikost okna (skutečné množství odesílaných dat) je v daný moment vždy ta menší z obou hodnot: Minimum (RWND, CWND)
Základní vzorec propustnosti:
Maximální teoretická propustnost jediného TCP spojení se dá zjednodušeně vyjádřit jako:

Z rovnice jasně vyplývá, že pokud má síť vyšší latenci (RTT), je pro dosažení vysoké rychlosti nutné adekvátně zvětšit velikost TCP okna. Tento vztah se odborně nazývá BDP (Bandwidth-Delay Product) a je naprosto klíčový pro pochopení chování sítě pod zátěží.

Co přesně je BDP? BDP si lze představit jako pomyslnou „trubku“, kterou data sítí protékají. Šířka pásma nebo kapacita linky (CAP) určuje průměr této trubky a RTT (zpoždění) určuje její délku. BDP pak představuje celkový objem dat, který se v daném okamžiku nachází fyzicky "na cestě" uvnitř této trubky (tzv. data in flight), aniž by byla ještě potvrzena příjemcem.

Zlaté pravidlo sítí říká: Aby jedno TCP spojení dokázalo plně vytížit dostupnou kapacitu linky, musí být jeho TCP Window Size nastaveno minimálně na hodnotu BDP.

Praktický příklad: Představme si gigabitovou linku (1 Gbps = 1 000 000 000 bps) s latencí (RTT) 10 milisekund (0,01 s).
To znamená, že pro naplnění této linky musí být odesílatel schopen poslat 1,25 MB dat, než dostane první potvrzení. Pokud má starší operační systém nebo běžný měřicí nástroj limit TCP okna nastavený například jen na 64 kB, maximální dosažitelná propustnost nikdy nepřekročí zhruba 50 Mbps – a to i když je fyzická 1 Gbps linka zcela volná. Měření pak ukáže velmi špatný výsledek, i když je síť v pořádku. Právě proto metodika RFC 6349 před samotným měřením rychlosti nejprve měří RTT a přesně kalkuluje potřebné BDP, aby testovací TCP okno odpovídalo fyzické realitě sítě.
Na trhu existuje několik přístupů k měření rychlosti sítě. Je důležité chápat, že RFC 6349 není jen "aplikace", ale komplexní metodika.
|
Nástroj / Metodika |
Typ řešení |
Hlavní účel |
Výhoda |
Nevýhoda v profi praxi |
|
Ookla Speedtest |
Web / Mobilní aplikace |
Rychlý marketingový test kapacity linky. |
Extrémně snadné použití, stovky serverů. |
Ignoruje anomálie (jitter/ztráty) pomocí paralelních streamů. |
|
iPerf2 / iPerf3 |
CLI / Open-source software |
Bodové inženýrské testování a ladění sítě. |
Široké možnosti konfigurace oken a streamů. |
Vyžaduje manuální konfiguraci a protilehlý běžící server. |
|
RFC 6349 |
IETF standard (HW / Sondy) |
Certifikované, opakovatelné měření kvality TCP. |
Automaticky počítá BDP; detekuje retransmise a bufferbloat. |
Vyžaduje dedikovaný hardware nebo pokročilé síťové sondy. |
Dvě různé aplikace mohou na stejné fyzické lince naměřit diametrálně odlišné hodnoty. Důvodem není "nepřesnost" jednoho z nich, ale odlišná testovací konfigurace. Výsledky nejvíce ovlivňují tyto parametry:
Dostáváme se k jádru problému. Zákazník má gigabitovou linku. Ookla Speedtest naměří 950 Mbps. Certifikovaný technik připojí měřicí přístroj, spustí test RFC 6349 a naměří pouze 700 Mbps. Proč?
Metodika RFC 6349 simuluje skutečné chování běžných uživatelských aplikací. Před samotným testem si nástroj přesně změří základní nezatížené zpoždění (Baseline/Minimum RTT) a vypočítá ideální velikost okna.
Představme si síť, kde dochází ke ztrátovosti paketů na úrovni pouhých 0,1 % nebo kde je nestabilní latence.
Je důležité vědět, že snížené okno CWND nezůstane malé napořád. Jakmile se síť uklidní, TCP protokol se pokusí okno opět zvětšit. Klíčovou roli v tomto procesu hraje parametr zvaný ssthresh (Slow Start Threshold – Práh zahlcení), který funguje jako "paměť" sítě.
Když dojde ke ztrátě paketu (retransmisi), TCP protokol si zapamatuje kapacitu, při které síť selhala. Okamžitě vypočítá novou, bezpečnou hranici (ssthresh), kterou nastaví přesně na polovinu velikosti okna v momentě výpadku. Samotné okno odesílatele (CWND) je vzápětí drasticky oříznuto.
Následné zotavování (růst propustnosti) probíhá ve dvou fázích:
TEMP
Problém nestabilních sítí (kde se vyskytuje neustálý drobný jitter nebo mikro-výpadky) spočívá v tom, že každá další chyba sráží práh ssthresh níže a níže. Dříve než se CWND stihne opatrným tempem vrátit na svou maximální BDP hodnotu, dojde k dalšímu mikro-výpadku a okno je znovu sraženo dolů. Výsledkem je typický tvar "zubaté pily", kde se průměrná velikost okna během celého RFC 6349 testu drží velmi nízko a výsledná propustnost se reálně nikdy nepřiblíží fyzickému maximu linky.
Mnoho lidí se logicky ptá: Pokud standardní TCP při chybě ořízne okno zahlcení na polovinu, jak to, že Ookla Speedtest stále ukazuje plnou rychlost?
Odpověď zní: Ookla Speedtest měří "hrubou sílu" sítě. Nemění sice pravidla TCP protokolu, ale obchází je na aplikační vrstvě masivním paralelismem. Zatímco certifikované měření RFC 6349 primárně testuje chování jednoho čistého TCP toku, moderní speedtesty automaticky otevírají velké množství paralelních spojení (často 4, 8 nebo i desítky) vůči geograficky nejbližšímu serveru najednou.
Výsledek Speedtestu tedy ukazuje maximální propustnost fyzické vrstvy, ale neříká nic o tom, jak se na lince bude cítit reálná aplikace (např. stahování velkého souboru nebo VPN tunel), která se spoléhá na jeden tok a prokazatelně by kolabovala.
To, že RFC 6349 naměří nižší hodnotu než Speedtest, znamená, že síť sice fyzicky má danou kapacitu, ale není schopna ji efektivně nabídnout jedinému souvislému TCP toku (například stahování jednoho velkého souboru nebo VPN tunelu) kvůli drobným anomáliím v síti, chybám v nastavení MTU, zpoždění nebo jitteru.
RFC 6349 zkrátka neměří hůře. Měří pravdivěji. Poskytuje hlubokou diagnostiku, která ISP poskytovatelům nedává jen "pěkné číslo pro marketing", ale reálný obraz o zdraví sítě a kvalitě (QoS), za kterou si koncový zákazník platí a kterou vyžadují standardy ČTÚ.