Vlákno názorů k článku Český telekomunikační úřad pro své PR manipuluje daty od Jirka - Porovnávat průměr z rána s průměrem během dne...

  • Článek je starý, nové názory již nelze přidávat.
  • 25. 1. 2022 14:55

    Jirka

    Porovnávat průměr z rána s průměrem během dne absolutně nic neříká. NetMetr mi běžně změří ve 3 ráno 50 Mbit, ale přes den kolem 30 Mbit, ale taky neví nic o aktuálním vytížení dané linky. Takže je vcelku logické, že přes den se budou rychlosti pohybovat někde kolem 2/3 maxima.
    Aby mohli tvrdit co tvrdí, tak by opravdu museli mít data za několik týdnů a měsíců a pak mohou říci, mělo jejich nařízení nějaký smysl. Tohle je tvrzení o blátě a o louži, která je víc mokrá, protože zrovna pršelo.
    Jestli to myslí doopravdy, ať si zřídí testovací přípojky u vybraných ISP a dělají z toho nějaké závěry. Tam budou znát přesné parametry linky i to, že linka není jinak vytížena a mohou testovat a sbírat relevantní data.

  • 25. 1. 2022 15:04

    Jirka

    A ještě doplním, že mnohem větší problém vidím v tom, že v podstatě všechny měřáky měří na více spojeních (4-8). To je hezké, že se linka ždíme na maximum, ale pak člověk stahuje jedním spojením jeden soubor a kouká, když linka jede třeba na 20% maxima. Některé druhy řízení provozu přesně tohle dělají. Takže by stálo za to mít možnost zvolit i test rychlosti na jednom vlákně.

    Pro porovnání:
    Stahování (download)
    1 vlákno: 44,1 Mbit/s (5,51 MB/s | 44104 kbit/s)
    více vláken: 96,4 Mbit/s (12,0 MB/s | 96363 kbit/s)

  • 25. 1. 2022 22:52

    Uncaught ReferenceError:

    stahování na jednom vlákně je přece úplně jiná disciplína, tam do toho mluví výrazně latence (v případě TCP zejména). Zajistit při vyšších rychlostech saturaci na jednom vlákně je pěkně obtížná disciplína plná magie, ty protokoly nejsou na tohle navržený, i běžný web je složen ze spousty samostatných souborů a nikoliv jednoho velkého.

  • 26. 1. 2022 8:40

    Michal Kubeček

    V principu ano, ale v komentáři, na který reagujete, je řeč o rychlostech do 100 Mb/s. I kdybyste měl RTT 100 ms, tak vám na takovou rychlost pohodlně stačí 1.5MB buffer i s rezervou. (Tedy pokud nemáte navíc netriviální ztrátovost, ale pokud máte, je to problém sám o sobě.) Pokud bychom se bavili o gigabitu, tak neřeknu, ale jestli má někdo na trase s dostatečnou propustností problém saturovat 100 Mb/s, tak je někde něco hodně shnilého. Ani šifrování by nemělo hrát roli, takovouhle rychlost by měl zvládnout jakýkoli dnešní procesor, ale na měření propustnosti se snad HTTPS nepoužívá.

    Zajistit při vyšších rychlostech saturaci na jednom vlákně je pěkně obtížná disciplína plná magie, ty protokoly nejsou na tohle navržený

    To je sice pravda, ale "vyšších" v tomto kontextu znamená rychlosti v řádu desítek Gb/s, ne 100 Mb/s, to nebyl problém ani před dvaceti lety. A ani v těch vyšších rychlostech to není problém TCP.

    i běžný web je složen ze spousty samostatných souborů a nikoliv jednoho velkého

    To sice je, ale prohlížeč má typicky limit na počet současně používaných spojení s jedním serverem. Ono by to ani nebylo praktické rozkládat na příliš mnoho spojení, protože většina těch souborů je malých, takže kvůli režii na navázání spojení (TCP handshake, TLS handshake, HTTP - pokud se nepoužívá QUIC) by to bylo neefektivní. Navíc uživatele propustnost obvykle nejvíc zajímá ve chvíli, kdy stahuje nějaký velký soubor, ne při běžném prohlížení webu.

  • 26. 1. 2022 16:26

    Uncaught ReferenceError:

    ouhf.

    Při parametrech spojení:
    RTT 100ms
    MTU 1500
    TCP CWND 65535
    packet lost: 0

    Dosáhnu v jednom TCP spojení přenosové rychlosti 5000 Mbit/s. Na to, abych saturoval 100Mbit/s síť bych potřeboval dostat RTT na 5ms nebo naopak zvednout TCP CWND asi 20x.

    RTT 100ms je ale dost vysoké číslo, zpravidla můžeme asi počítat s 20ms, v tom případě jedno TCP spojení dokáže přenést nějakých 25000 Mbit/s.

    Jak to počítač ty? Třeba se to za ty roky změnilo a dnes se to již počítá jinak.

  • 26. 1. 2022 18:47

    Michal Kubeček

    CWND je congestion window, to je hodnota, kterou si odesílatel počítá průběžně sám podle toho, jak reaguje příjemce a jaký používá congestion control algoritmus. Možná jste spíš myslel (advertised) receive window, ale ani tam snad není potřeba automaticky předpokládat, že jedna ze stran neumí window scaling (rozšíření, které za pár měsíců oslaví 30 let), aby bylo potřeba ho zastropovat na 65535.

    Realita je taková, že ze serverů, u kterých není limitujícím faktorem něco jiného, nemám problém stahovat velké soubory rychlostí 60-70 MB/s (ano to B je velké) a i ten webový speedtest doporučovaný ČTÚ mi ukazoval IIRC nějakých 650 Mb/s down a něco kolem 900 Mb/s up. Tedy hodnoty podstatně vyšší, než co by podle vás mělo být teoretické maximum.

  • 27. 1. 2022 10:32

    Uncaught ReferenceError:

    Vidím, že nejsme v rozporu.

    Ano a congestion window je přece důležité při stahování, protože určuje kdy odesílatel zastaví posílání dat a počká na ACK, to já jako klient neovlivním a ani nezjistím, advertised je pouze informace. Window scaling dnes umí asi všichni, scale factor se ale dohaduje při inicializaci TCP, tady může být první brzda. Získat velké okno někdy trvá poměrně dlouho a právě nestabilita internetových přípojek tomu moc nenahrává.

    Zrovna ale tyhle speed testy používají vícevláknové měření, ne? Nettest.cz vidím, že uvádí 3 spojení na DL.

    Všechny ty uložišťové servery používají převážně BBR (uloz.to, youtube, fastshare, twitch, cloudflare atd.), zatímco drtivá většina klientů a ostatních webových serverů ponechává CUBIC (protože je výchozí na většině linux distribucí, ve Windowsu), ten se vyloženě řídí packet loss parametry a dost agresivně snižuje window size a jeho chování je ta magie, o které jsem se zmiňoval. Nevíte náhodou někdo jaké nastavení mají tyhle testovací služby?

    Zrovna ten rozdíl mezi DL a UP, který uvádíš u tebe (předpokládám, že máš symetrickou 1Gb/s linku) může být dán jinak zvoleným congestion control algoritmem a nikoliv parametry (či vytížením linky).

  • 27. 1. 2022 11:13

    Michal Kubeček

    Ano a congestion window je přece důležité při stahování, protože určuje kdy odesílatel zastaví posílání dat a počká na ACK, to já jako klient neovlivním a ani nezjistím

    Je to hodnota, která se dynamicky počítá v průběhu spojení, takže je nesmysl napsat "TCP CWND 65535" a vycházet z toho jako z pevně dané hodnoty.

    scale factor se ale dohaduje při inicializaci TCP, tady může být první brzda

    Nic se nedohaduje, každá strana té druhé hodnotu prostě oznámí ve svém prvním paketu (SYN resp. SYNACK) a druhá ji vezme na vědomí a podle ní pak interpretuje hodnotu window. Jediné dohadování spočívá v tom, že když některá ze stran scaling neoznámí, má se za to, že rozšíření nepodporuje je potřeba brát hodnotu z window bez shiftu - ale to už se naštěstí moc nestává. Přinejmenším linuxový stack scaling factor volí tak, aby stačil pro maximální přípustnou velikost send bufferu.

    Všechny ty uložišťové servery používají převážně BBR (uloz.to, youtube, fastshare, twitch, cloudflare atd.), zatímco drtivá většina klientů a ostatních webových serverů ponechává CUBIC

    Pokud přenos dat probíhá převážně jedním směrem (což je typické v situaci, o které je řeč), je congestion control algoritmus zajímavý jen na straně odesílatele, takže je jedno, jaký používá příjemce.

    Zrovna ten rozdíl mezi DL a UP, který uvádíš u tebe ... může být dán jinak zvoleným congestion control algoritmem a nikoliv parametry (či vytížením linky).

    To bych neřekl. Při experimentech v lokální síti s latencí simulovanou pomocí netem pořád není problém nasytit ani 10Gb/s ethernet, natož 1Gb/s. Teprve při opravdu vysoké ztrátovosti (jednotky procent) kombinované s vysokou latencí (RTT v desítkách ms) začnou být vidět problémy.

    Ta asymetrie nebyla ale podstatou příspěvku, podstata byla, že TCP, a to ani přes reálný Internet, nemá problém ani s více než o řád vyššími rychlostmi než těmi, o kterých jste tvrdil, že by měly dělat problémy. Po pravdě jsem zatím neměl potřebu zkoumat, proč to takhle vychází, a ta rychlost je koneckonců nad 60 procenty požadovanými ČTÚ, takže je to vlastně v pořádku. :-)

  • 27. 1. 2022 12:41

    Uncaught ReferenceError:

    Je to hodnota, která se dynamicky počítá v průběhu spojení, takže je nesmysl napsat "TCP CWND 65535" a vycházet z toho jako z pevně dané hodnoty.
    Je to jeden z parametrů existujícího spojení, spoluurčuje mi jeho přenosovou rychlost, nikde jsem nepsal, že to máš měnit nebo nastavovat. Je škoda, že vlastně tyhle měřící služby neposkytují více informace o daném spojení.

    Pokud přenos dat probíhá převážně jedním směrem (což je typické v situaci, o které je řeč), je congestion control algoritmus zajímavý jen na straně odesílatele, takže je jedno, jaký používá příjemce.

    A píšu snad něco jiného? Samozřejmě je to na straně odesílatele dat, tj. buď stahuji, je to na serveru, nebo posílám, je to u mě. Při měření rychlosti se měří oba dva směry, takže i nastavení klienta má vliv na naměřené hodnoty.

    No lokální síť, to je trochu jiné prostředí než wan, ne? Z terénu to vidím jinak, chybovost už v hodnotě 10^-4 způsobuje pokles window_size o dva řády v případě Cubicu, to je pořád ztráta paketů pod 1 %. U lokálních sítí s tímhle samozřejmě nejsou problémy, o tom ani tyhle měření nejsou.

  • 26. 1. 2022 16:54

    Uncaught ReferenceError:

    už to vidím, počítáme to stejně, ty jsi mluvil o tom bufferu hned na začátku.

    Magie je právě ten window scaling, packet loss u internetových příkojek a nikoliv u kontrolovaných sítích.

Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).