Každý uživatel chce co nejrychlejší či nejkapacitnější připojení k internetu, za cenu blížící se bodu mrazu. Jistě si velmi často myslíte, že by to chtělo rychlejší tarif. Kámen úrazu bývá jinde. U vás doma! Tento článek navazuje na můj dva roky starý článek Aby wifi doma fungovala a budu se snažit nastínit možnosti, jak zjistit, KDE MÁM POMALÝ INTERNET. Zařízení s malou propustností pak můžeme překonfigurovat nebo vyměnit.
Na základě informací z článku budete schopni poznat, jestli je závada u vás doma nebo u Vašeho poskytovatele. Nedozvíte se však, jakou tajnou volbu přepnout v routeru, aby byl 10x rychlejší, snížil ping pod 1 ms a za internet vám ještě provider platil 🙂
Článek je určen pro širokou veřejnost a prosím odborníky o prominutí zjednodušení situací a předpokladů. Do článku se pokusím přenést své zkušenosti s patnáctiletou péčí o tisíce domácích přípojek v síti skvely.net. Ve článku budu uvádět pojmy jako „u Vás doma“ čímž myslím Vaši domácí síť. Samozřejmě to může být firemní síť apod. Linkou či připojením myslím Vaše připojení k internetu. Měli byste znát jeho parametry v Mbps jak pro směr download tak i pro upload a to jak maximální tak i minimální hodnoty. Někdy mluvím o „kapacitě linky“, mám na mysli její rychlost ve smyslu přenesení množství dat za sekundu (Mbps). Diagnostiku budu provádět na ipv4 protokolu, měření na ipv6 je podobné.
Rychlosti v článku uvádím v Mbps (megabity za sekundu) a čísla budou hlavně ilustrační. U každého z Vás mohou být hodnoty vašeho připojení úplně někde jinde. Pokud si nejste úplně jistí v rychlostech, doporučuji článek Rozumíme rychlostem připojení? Nebo budeme biti? Co všechno zvládne vaše internetová přípojka?. Stává se totiž, že pomalost je jen zdánlivá, prostě si popleteme čísla. Například mám mít rychlost připojení 40Mbps a stahuji jen 5! (MB/sec). A přitom 5MB/sec = 40Mbps.
skvely.net | internetprovsechny.cz | speedtest.net |
Je to zase pomalé!
Kdo si tohle nikdy ve 21. století nepomyslel je šťastný člověk. Ale jaké mohou být příčiny pomalosti? Protože pokud zjistíme příčinu, můžeme jednoduše problém vyřešit. Setkal jsem se už také s tím, že někdo zkouší naslepo různá řešení (restarty) protože je to rychlejší než hledat podstatu problému. Zkuste si odpovědět na následující otázky:
– Občas se sníží rychlost?
– Je moje linka vytížená jiným stahováním z jiné aplikace či jiného počítače nebo telefonu?
– Mám trvale nízkou rychlost linky do internetu?
– Je pomalý server odkud stahuji?
– Nastala někde závada a proto to teď jede pomalu? A je ta závada u mě doma nebo jinde?
Tyto otázky Vás musí směrovat ke způsobu diagnostiky a zvolení správných nástrojů a způsobů hledání místa závady. Například ručně asi nezjistíte závadu: Internet mi dvakrát denně vypadne na 20 sekund. Než spustíte diagnostiku, je po problému.
Příznak pomalosti internetu
První příznak pomalosti internetu je nárůst odezvy, tedy že všechno trvá dlouho. Výrazně déle než obvykle. To způsobují dva faktory.
První je naplnění front. Data se v určitém zařízení hromadí, protože se nestihnout posílat dále kvůli nedostatečné kapacitě. Představte si router jako křižovatku se 4 směry. Ze 3 směrů přijíždějí auta a chtějí všichni do toho 4-tého. V tom okamžiku je třeba, aby auta počkali před křižovatkou (data v routeru) a vzniknou kolony. Naroste tedy odezva paketům, protože se čeká na uvolnění ucpané části trasy.
Druhý příznak je ztrátovost paketů. Ztrátovost dat vzniká na nekvalitním spojení. Tedy router posílá data dál, ale protistrana je neslyší. Tedy je nepřijme a data se po cestě ztratí. Auta se tedy ztrácejí někde na silnici mezi křižovatkami 🙂 V některých případech může dojít ke ztrátovosti přímo v routeru. V okamžiku kdy routeru nestačí fronta, má tedy příliš dat na odbavení, začne data zahazovat.
Vše se však uživatelsky projeví jako zpomalení, protože při načítání www stránky je využit potvrzovaný protokol TCP a ztracené data jsou poslána znovu dokud nejsou potvrzena nebo zlostí nevypnete počítač. My zvýšení odezev využijeme pro hledání místa zpomalení.
Jak tedy testovat rychlost připojení?
Pomalost je třeba změřit! Jelikož počítačové vybavení a ani routery nejsou příliš vybaveny na měření propustnosti sítě – minimálně z uživatelského pohledu, stává se z této věci pro uživatele poměrně obtížná „disciplína.“ Musíme hledat možnosti s tím co je běžně k dispozici.
1) Subjektivní posouzení – doba načtení stránky. Pokud se vám nějaká stránka (např: seznam.cz) načítá výrazně pomaleji, řekněme déle jak dvě sekundy, většinou to signalizuje problém. Obzvlášť pokud se situace opakuje často. Ano, zahraniční stránky trvají déle, občas nastane problém v propojeních mezi providery apod. Čas načítání tak porovnávejte pro vícero stránek. Jsou pomalé všechny? Pak máte pravděpodobně problém s připojením . Pokud se jen některé načítají pomalu, má problém spíš váš provider a dejte mu to vědět. Je také možné, že je problém i mimo jeho síť, ale s tím nic jako zákazník neuděláte. Váš provider to může pořešit či notifikovat dále.
2) Stažení souboru. Zkuste stáhnout nějaký soubor z internetu, třeba instalační soubor balíku libreoffice, či jinou aktuální verzi něčeho co používáte. Je rychlost stahování nízká? Výrazně nižší než by měla být – tedy výrazně nižší než je rychlost vašeho připojení?
3) Měřiče připojení. Je to v podstatě „specializovaná stránka – stahovátko“. Stránka pošle data vašemu prohlížeči a podle doby než prohlížeč zahlásí „Data stažena“ určí rychlost stahování. Obdobně se kromě downloadu změří i upload. Je to velmi praktické pro uživatele. Můžete zkusit měřiče na adresách:
speedtest.net
speedtest.cesnet.cz
internetprovsechny.cz
rychlost.cz
Případně také měření rychlosti na stránkách vašeho providera. To vám usnadní rozhodnutí kde je problém. My pro zjišťování problému využívejte libovolný měřič nebo i několik. Vyvarujte se však současného spuštění. Pokud máte mít rychlost připojení nad 100Mbps ověřte si, že to daný měřič zvládne. Čím je totiž server s měřičem od vás vzdálenější, ať už geograficky či počtem průchodů skrz routery, ukáže vám o něco menší rychlost než maximum linky. Je to dáno vlastnostmi protokolu TCP. Také si vyzkoušejte při měření rychlosti jak moc se liší hodnoty na měřícím serveru vašeho providera či na serveru umístěného u vašeho providera a serveru umístěného v ČR geograficky blízko i vzdáleně. Výrazně rozdílné hodnoty mohou signalizovat problém v části sítě providera či jeho linkách „do internetu“. Dále v článku se naučíme najít i kde by mohly být a vyloučit chybu na vašem připojení.
Další pomocné nástroje pro měření
Při zjišťování závady nám však jen měřič připojení nepomůže. Ano, můžeme změřit linku, a pokud se chová špatně můžeme něco naslepo změnit. Následně znovu změřit a zkoušet zda je hodnota v pořádku, či provést zase jinou změnu. Takto by to mohlo trvat dlouho. My si to změříme! Využijeme toho co jsem vám před chvílí prozradil o příznacích vytíženosti. Nárůst odezvy či ztrátovost na trase.
V tomto bloku popisuji jen běžně dostupné nástroje a jejich obecné užití, až v následné části článku ukážu jejich využití pro konkrétní měření.
Oba nástroje se pouští přes příkazový řádek. V závislosti na verzi windows se postup pro vyvolání příkazového řádku může lišit. Může zafungovat klávesa kombinace WIN+R , napsat „cmd“ a spustit (https://wintip.cz/534-jak-spoustet-prikazovy-radek-klavesovou-zkratkou).
Ping
Ping je jednoduchý nástroj pro měření odezvy protistrany a ztrátovost. V linuxu je s ním možno v omezené míře (do cca 20Mbps) vytěžovat symetricky linku a přesně měřit i ztrátovost, ve windows však změříme jen odezvu a ztrátovost jakžtakž. V obou případech nám však umožní měřit dobu odezvy druhé strany. V případě, že doba odezvy protistrany je vyšší než 50ms nebo aspoň dvojnásobně vyšší než obvykle, signalizuje to většinou přetížení trasy k danému serveru
Pro jeho spuštění musíme znát ip adresu či doménové jméno protistrany. Máte mapku sítě svých zařízení? Zkuste si pustit ping na každou jednu adresu a sledujte hodnoty odezvy. Čím bude zařízení dál, tím bude mít větší odezvu.
Já mám třeba na svém linuxovém počítači odezvu od routeru za 0,2 ms (opravdu dvě desetiny milisekundy) a na seznam.cz kolem 2ms. V případě odezvy 15 ms už bych hledal problém někde na síti. Doma na wifi nejčastěji změříte odezvu od domácí routeru kolem 2-3ms. Seznam.cz (či jiný server v ČR) by Vám měl odpovědět pomocí pingu do 20-30ms.
Příkaz ping měří i ztrátovost. Obecně pokud máte ztrátovost větší jak 2% dost rapidně Vám klesne reálná rychlost kvůli opakování dat. Pro náročnější užití by však ztrátovost měla být menší než 0,1% a někdy i řádově méně. Pro takovéto měření ztrátovosti, je vhodnější pouštět ping na linuxu v intervalu kolem 10ms a nikoliv po jedné sekundě, jak to dělají windows.
Jak používat ping?
V příkazovém řádku napíšeme „ping <adresa>“, kdy <adresa> je ip adresa nebo doménové jméno zařízení proti kterému chceme měřit dobu odezvy. Pokud tedy chci měřit proti serveru seznam.cz napíšu do příkazového řádku „ping seznam.cz“, nebo mohu použít ip adresu serveru a psát „ping 77.75.79.3“. Pro testy zařízení na domácí síť budete psát adresy vašich domácích zařízení tedy ve velkém případě „ping 192.168.1.1“ nebo „ping 10.0.0.138“ v závislosti na nastavení vaší sítě.
Ve windows vám však příkaz ping pustí jen 4 testovací pakety a pak se ukončí. To není pro naše potřeby dostatečné. Můžete spustit ping s jiným počtem „ping -n 10 seznam.cz“ nebo případně bez omezení ve smyčce, zastavení kdykoliv pomocí zkratky CTRL+C. Spustíme tedy „ping -t seznam.cz“ a až budeme chtít, přerušíme.
Traceroute
Je to příkaz, který nám vypíše všechny routery po cestě k cílové adrese či doménovému jménu. My při své diagnostice budeme potřebovat znát trasu(respektive adresy) zařízení které jsou po cestě do internetu. Máte mapku své sítě – viz článek o bezdrátu? A máte mapku sítě providera? Asi ne, ale díky příkazu traceroute si zjistíme všechny L3 směrovače (routery) na cestě do internetu. A takto zjištěné adresy pak můžeme měřit pingem.
Ve windows se příkaz jmenuje „tracert“, v linuxu „traceroute“ a vypíše nám routery po cestě. Někdy můžete místo řádku s adresou routeru vidět hvězdičky, to značí, že router nepošle odpověď se svojí identifikací. Prostě tento jeden krok přeskočte, to nevyřešíte.
Také doporučuji výpis bez překladu na doménové jména, tedy rovnou výpis ip adres a zadávat rovnou adresy. Routery po cestě mají velmi krkolomná a dlouhá jména nebo je nemají vůbec a pokus o překlad zdržuje výpis programu.
Jak používat traceroute ve windows?
V příkazovém řádku napíšeme „tracert <adresa>“ a příkaz nám vypíše všechny routery v cestě k dané adrese. Takže můžeme napsat „tracert seznam.cz“ případně „tracert 77.75.79.3“. Pokud chcete potlačit překlad adres ve výpisu na doménová jména, používejte přepínač -d, tedy příkaz „tracert -d seznam.cz“ a vypíše nám jen ip adresy.
Takto zjištěný seznam routerů na cestě k cíli použijeme pro naše testy. Můžeme jej rozšířit ještě o znalost dalších zařízení v cestě v naší domácí síti na základě plánku zapojení. Čím „blíž“ bude zařízení k vám, tím ať je na seznamu dříve.
Hledáme příčinu pomalosti připojení
První co vyzkoušejte je rychlost na jiném počítači či zařízení na stejném připojení. Pokud nám jeden počítač bude vykazovat stále nízkou rychlost a druhý rychlost normální je dost pravděpodobné, že problém se týká pouze onoho jednoho počítače a nikoliv Vašeho připojení.
Od domácí sítě postupně dál. Máte plánek své domácí sítě? Můžete ověřit rychlost připojení (stahování) z Vašeho routeru či serveru? Asi ne, málokterý router to umožňuje. A domácí úložiště asi také nemáte, abyste změřili rychlost z něj a vyloučili závadu v domácí síti. A umožňuje Váš router zobrazit vytížení vašeho připojení? Zatížení WAN rozhraní? Jaké jsou tam hodnoty. Odpovídající hodnoty zatížení rychlosti stahování? Má Váš provider online ukazatel aktuálního zatížení vaší linky? Umí vám tyto údaje sdělit?
Obávám se, že na většinu otázek odpovíte NE.
Užitečných informací je nedostatek. Jak si tedy pomoci? Využijme jeden vedlejší efekt. Pokud dojde ke „zpomalení internetu“ je většinou někde po trase úzké místo. To se projeví tak, že v něm narůstá odezva, protože data čekají na odeslání/doručení ve frontě zařízení případně dochází v daném místě ke ztrátovosti. Data se zahodí, protože není prostor kam je dál poslat.
Naučíme se takové místo na síti najít s dostupnými nástroji a to nám umožní lépe se rozhodnout kde je chyba.
Zjistěte si také ještě jaké má parametry Vaše linka do internetu. Pokud má maximum 40Mbps a minimun 1Mbps (leckdy však i 0,01Mbps) tak veškeré měření mezi 1-40Mbps jsou v pořádku a jen hodnoty pod 1Mbps jsou závadou. Proto pokud máte ve smlouvě minimální rychlost 0,01Mbps může Vás při „ukrutně pomalé rychlosti“ 0,015 Mbps (15Kbps) poslat provider k šípku, že vše je dle smluvních parametrů! Záleží na Vás jakou službu si kupujete a platíte.
Teď už však všechno známe, tak pojďme zjišťovať.
Využijme to nejdostupnější – měřiče připojení – a vyždímejme z nich maximum možného.
Dále budeme potřebovat ovládat výše zmíněné nástroje ping a tracert (v linuxu: traceroute) a pokud ještě nemáte, tak si kreslete mapku síťě. Hodí se vám při příštím zjišťování.
Příklad mapky domácí sítě:
Při zjišťování závady budeme měřit vždy rychlost připojení na měřiči, tím dojde k zatížení celé trasy a současně při měření budeme testovat odezvu (ping) na zařízení v trase (z traceroute + co víme navíc). Pokud bude odezva nízká či rozumná, je spojení až k tomuto zařízení v pořádku a problém je někde dál. V dalším kroku opět měřím připojení na měřiči a testuji následující zařízení. A tak pořád dokola, až najdu místo kde dochází k nárůstů odezvy nebo k velké ztrátovosti.
Ještě poznámka – pokud můžeme iniciovat měření z nějakého místa na trase, udělejte to! Bude to přesnější než zkoušet zatížít linku ze vzdáleného měřiče a hledat místo jen za pomocí odezvy.
1: Připravím si seznam ip adres přes které jde připojení, získám jej z programu traceroute
(tracert -d google.com nebo tracert -d seznam.cz či jiný server..) Seznam rozšířím o zařízení v domácí síti která znám a přes která data z/do počítače procházejí. Seznam adres k testování během měření bude mít tedy podobu:
10.1.140.1 – 10.1.140.2 – 10.1.140.100 – 10.1.140.200 – 10.1.140.254 – 10.1.3.254 – 185.52.172.109 – 91.210.16.211 – 108.170.245.49 – 108.170.238.155 – 172.217.23.227
Pokud budete tracert zkoumat pozorně, tak od určitého místa se začne cesta lišit, to je většinou za hranicí vašeho providera v závilosti na tom kam „do internetu“ data jdou.
Tento seznam si mohu připravit jen jednou, při dalším měření za pár dní jej rovnou použiji.
2: Otevřu si stránku s měřičem připojení, najdu si první adresu v pořadí dle připraveného seznamu pro měření pingem (měřený bod sítě)
3: Spustím měření pingu na měřený bod sítě
4: Spustím měřič a nechám doběhnout test. Je rychlost do internetu nízká?
NE – nemám problém (vyřešeno, odloženo, teď nic nezjistím)
ANO, odezva měřeného zařízení pingem je v pořádku (je nízká pod cca 10ms) – jdi na 5:
ANO, odezva měřeného zařízení pingem je je vysoká – jdi na 6:
5: Zastavím měření pingem. Budu měřit další zařízení v trase, tedy adresa měřeného zařízení se změní na druhý (třetí..), další v pořadí dle mapky či výpisu traceroute. Jdu na bod 3:
6: Úzké hrdlo je před tímto zařízením.
Je to před prvním zařízením? Zřejmě Vám zlobí domácí síť či počítač. Nejčastěji je problém ve wifi přenosu, případně v převodnících co přenášejí data přes elektrické zásuvky. Více tipů na konci článku.
Je to až druhé a další zařízení a je to stále vaše zařízení? Máte problém ve vaší síti. Zjistěte jak jsou propojeny vaše zařízení mezi kterými dochází k problému. Více tipů na konci článku.
Je zařízení na kterém dochází k problému až u providera? Problém má provider, kontaktujte ho aby situaci vyřešil.
Přikládám ještě ilustraci současného spuštění pingu na dvě adresy ze seznamu. První pingá v pořádku a na druhou v okamžiku testu narostou odezvy a začne ztrátovat. Chyba je tedy někde mezi prvním a dalším zařízením. Pro takto rapidní odezvy jsem pro účely názornosti omezil linku na 0,25Mbps.
Poznámky k měření:
– Je možné mít puštěných několik oken s pingem najednou a při spuštění testu vidět odezvy všech prvků zároveň. V linuxu je možné pomocí parametrů pingu (-s velikost a -i interval ) zkrátit interval na třeba 10ms a velikost zvýšit až na 64KB, tím se dá generovat tok až 51Mbps a tím rovnou linku zatížit do daného místa bez nutnosti pouštět test. Jen pozor ať si pingem nevytížíte část nebo celou trasu. Ve windows se dá velikost paketu zvýšit pomocí parametru -l
– Pokud má provider prioritizaci pro ping respektive na ICMP pakety nebo má dobře nastavený QOS, projde Vám „ping“ vždy s nízkou odezvou. Je však možné se odrazit od ztrátovosti, někdy to však pingem nemusí být detekovatelné. Nebo se pokusit vytížit linku jen pingem, to však se základním příkazem ve windows neuděláme. Případně při dobře nastaveném QOS nebudou odchylky tak patrné.
– Při měření je třeba zajistit, že můj ani jiné počítače v síti nebudou komunikovat či jiným způsobem vytěžovat moji linku. V opačném případě nezměřím rychlost připojení, ale v daném okamžiku volnou(zbytkovou) rychlost připojení. Případně v závislosti na nastavení routeru se může rychlost rozdělit v poměru mezi oba počítače či spojení. Sdílení rychlosti je více komplikovanější záležitost 🙂 – koho to zajímá může se více dočíst zde (https://en.wikipedia.org/wiki/Network_scheduler)
– Jedno měření z několika může mít odchylku, je lepší měření opakovat abychom si byli jisti výsledkem. Pokud se nám z pěti měření 4x projeví závada na jednom místě, bude tam. Pokud pokaždé vidíme závadu jinde, měříme špatně nebo bude závada spočívat úplně v něčem jiném.
– Někde by mohl provider zavést přesměrování ICMP protokolu z Vašeho či nejbližšího routeru. Viděli byste pořád stejná data nezávisle jaký cíl měříte (nízké odezvy, minimální ztrátovost). Technicky toto opatření není těžké zavést, ale takového providera nepoužívejte. Co Vám přesměruje v tajnosti příště?
Nejčastější problémy:
Zarušený domácí wifi kanál – problém v domácím připojení. Viz článek..
Kabelový router má nízkou fyzickou rychlost (10Mbps místo 100Mbps, při použití gigabitového může i 100Mbps dělat problém)
VDSL/ADSL má nízkou fyzickou rychlost na přívodním WAN rozhraní. Zkuste vyměnit/zkrátit přívodní kabel.
Problém v bezdrátovém připojení providera – problém u providera, kontaktujte
Domácí router nestíhá / je přetížen – restartujte, aktualizujte firmware nebo jej vyměňte.
Přetížená rychlost vašeho připojení? – Nastavte QOS na vašem routeru či jinak braňte zahlcení linky
Vyjma posledního případu (přetížení) vám při problému s pomalým internetem nepomůže navýšení rychlosti do internetu. Neboť uzké hrdlo je jinde!
Jak diagnostikovat do budoucna lépe?
Tohle je pár tipů, které by mohly umožnit lépe uživatelům diagnostikovat své připojení, avšak z největší pravděpodobní nejsou k dispozici
1) Ukazatel zatížení linky
– Buď webová / mobilní aplikace providera, která ukazuje aktuální zatížení linky zákazníka v intervalu třeba 5 sekund. Pokud uživatel sám uvidí, že má zatíženou linku, nemusí volat k diagnostice pomalého internetu.
– Webová aplikace routeru / na displeji routeru, která jednoduše, nejlépe bez přihlášení zobrazí zatížení rozhraní do internetu.
2) Testovací soubor na routeru / měřící aplikace na routeru
– Uživatel má možnost z routeru stáhnout soubor do svého pc a ověřit si rychlost připojení z routeru do počítače a tím vyloučit závadu v domácí síti.
– Uživatel má možnost na routeru inicializovat test připojení do internetu a zjistit reálnou rychlost připojení z internetu na router. Při testu je volitelné, zda má router po dobu testu omezit provoz ze sítě aby data nebyla zkreslená. Případně může měřené data o jiný provoz korelovat.
3) Jako provider poskytnout měřící nástroj, který jednoduše (webové rozhraní / mobilní aplikace) –
– Umožní zákazníkovi měření proti měřícímu serveru v síti providera, případně i po trase v rámci sítě providera.
– Provede aktuální měření na zákazníkův router, případně další testy.
– Provider bude provádět měření periodicky a závadu odstraní dřív než na to zákazník přijde :).
Samozřejmě, že popsané metody jsou orientační a nepřesné. Pro přesné měření kapacity spojení můžete využít nástroje jako iperf apod. Ale ty musíte nainstalovat na obou stranách a mít je puštěné pro měření. To nemůžete vždy provést. Taktéž můžete pro pravidelný ping použít program například PingMonitor , kde můžete pingat několik zařízení současně bez nutnosti pouštět příkazový řádek.
Pokud jste administrátorem sítě či pracujete v linuxu, doporučuji si napsat skripty pro pravidelné i jednorázové testy a při větší síti, používat monitorovací systém například nagios, ale tohle už jako běžný uživatel nepotřebujete.
Pokud se Vám problém opakuje, většinou je to v jednom kritickém místě. Pokud nastal problém v nějaké době, přemýšlejte co jste v tu dobu měnili. Například od té doby co jsem si koupil druhý router, mám pomalé připojení. Čím to asi bude? 🙂
Doufám, že výše popsanými postupy jsem pomohl k diagnostice problémů na Vašem připojení, či alespoň nastínil možnosti, kde by mohla být závada a pomůže vám to vyřešit váš problém.
Diskuze k článku