Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Trickle: rozdělte své připojení

Určitě se vám stalo, že jste potřebovali spustit nějakou aplikaci, která ale příliš vytěžovala vaše internetové připojení. Vy jste ale ještě potřebovali dělat s internetem něco jiného a program neměl správnou volbu, která by jej zpomalila. Trickle vám pomůže rozdělit připojení mezi jednotlivé aplikace.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Co je Trickle?

Jistě se vám to někdy stalo: potřebovali jste spustit nějakou aplikaci, která komunikuje po internetu, ale zároveň jste nechtěli, aby „zkonzumovala“ veškerou šířku pásma vašeho připojení.

U některých programů je možno nastavit, jak moc mohou linku využívat, existuje ale i mnoho takových, které tuto volbu nemají a běžně tak neexistuje způsob, jak je omezit.

Program s jednoduchým názvem Trickle. Ten dokáže téměř jakékoliv konkrétní aplikaci omezit rychlost komunikace se zbytkem světa. Původně byla aplikace vyvinuta pro OpenBSD, běží ale i na dalších unixových systémech: Solaris, NetBSD, FreeBSD a Linux.

Typicky se takový postup může hodit ve chvíli, kdy chcete stahovat větší množství dat skrze BitTorrent, ale nechcete omezovat zbytek sítě či svou vlastní linku, kterou potřebujete používat pro další práci. Pokud neexistuje jiná možnost, můžete použít výhod Trickle.

Jak to funguje?

Trickle využívá výhod dynamického linkování knihoven a především „preloadingu“ funkcí. Pomocí této techniky je aplikace schopná vnutit se mezi aplikaci a systémové knihovny a implementovat vlastní funkce pro komunikační API.

Pokud se to stane, prochází veškerý následující datový tok právě přes Trickle, který dokáže tekoucí data sledovat a především ovlivňovat. Dokáže plynule „zaškrcovat“ TCP komunikaci s aplikací a tím ovlivňovat maximální rychlost, jakou program komunikuje a zatěžuje linku.

Výhody a nevýhody

Z výše zmíněného plynou zároveň výhody i nevýhoda programu Trickle.

Výhody:

  • je naprosto univerzální,
  • nevyžaduje práva administrátora,
  • velmi jednoduché použití.

Nevýhoda:

  • nefunguje u staticky linkovaných aplikací.

Jdeme se omezit

Program pravděpodobně naleznete ve své distribuci, pokud ne, budete jej muset přeložit. Zdrojové kódy jsou ke stažení na domovské stránce.

Použití je poměrně jednoduché. Trickle umí běžet samostatně nebo pod dohledem společného démona (trickled). Zatím si popíšeme první, jednodušší variantu. Zajímat nás bude především parametr -d jako download, za který přidáme ještě číslo udávající maximální rychlost downloadu (v KiB/s), kterou může aplikace využít. Dále uvedeme samotný program (i s parametry), který má Trickle obhospodařit. Příklad:

$ trickle -d 50 ftp stroj.sit.cz

Program se normálně spustí a začne pracovat, pokud začne komunikovat s okolím, bude jeho rychlost shora omezena 50 KiB/s. Bohužel tuto hodnotu už nemůžeme během používání aplikace nijak měnit.

Pokud si chcete Trickle jen tak vyzkoušet, můžete použít například wget, který, ačkoliv má sám parametr pro omezení rychlosti, se nechá zpomalit a navíc vám v reálném čase ukáže, jak rychle stahuje.

Kromě této nejjednodušší možnosti můžeme stejně omezit také upload (parametr -u) a nastavit některé další detaily jako intervaly sledování přenosu (pro plynulost běhu) a další.

Démon trickled

Už jsem zmínil možnost centrální správy jednotlivých trickle sezení pomocí centrálního démona. Ten může běžet na stejném stroji jako klienti, kteří jej využívají, může být ale také provozován po vnitřní síti a obsluhovat tak software na mnoha počítačích naráz.

Další příklad: budeme chtít spustit několik různých aplikací pro stahování najednou, ale celkově chceme akci přidělit maximálně 70 KiB/s. Nechceme ale sledovat, kdy které aplikace končí a přerozdělovat složitě zbývající pásmo ostatním. Pustíme tak démona:

$ trickled -d 70

a následně pustíme stahování

$ trickle wget jeden_soubor
$ trickle wget druhy_soubor
$ trickle wget treti_soubor
...

Vše bude fungovat dle očekávání: klienti se dotáží démona, kolik pásma jim přidělí a podle toho se omezí. Dotazování probíhá dynamicky, takže můžeme libovolně jednotlivé úlohy přidávat či odebírat a démon bude stále hlídat celkový strop, který nebude překročen.

Složitější dělení

Výše uvedený příklad ale předpokládá, že všem omezovaným procesům přidělíme stejnou část pásma. Můžeme ale chtít některým aplikacím dát více a některým méně. Proto existuje konfigurační soubor trickled.conf, který je poměrně jednoduchý a dělí procesy podle aplikací. Může vypadat například takto:

davame_internetu_obsah
       
[ssh]
 Priority = 1
 Time-Smoothing = 0.1
 Length-Smoothing = 2
[ftp]
 Priority = 8
 Time-Smoothing = 5
 Length-Smoothing = 20

Cestu k tomuto souboru předáváme démonovi pomocí parametru -c. Vidíte, že ssh dostává vyšší prioritu a kratší čas sledování toku, což je nastavení vhodnější pro interaktivní aplikace. Naopak u ftp je plynulost a rychlost přenosu méně podstatná, takže dostává méně pozornosti a nižší prioritu.

Závěrem

Trickle nabízí velmi jednoduchou cestu omezování rychlostí jednotlivých aplikací, i celých skupin programů, které by neměly využívat vaše připojení k internetu naplno. Velkou výhodou je, že jej může obsluhovat i běžný uživatel bez práv roota a jeho použití je navíc velmi snadné.

Petr Krčmář

Petr Krčmář

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Vystudoval elektroniku se zaměřením na počítačové systémy, nyní se zabývá médii, především těmi elektronickými.

Školení: Linux – Zálohování, Vysoká dostupnost, SNMP dohled

Na třídenním školení se naučíte nainstalovat a spravovat systém zálohování, replikace dat a vysoké dostupnosti dat. Dále také pracovat s RAID a LVM poli a nainstalovat a spravovat si vlastní dohledový systém.

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 2,38

Přehled názorů

RE: Trickle: rozdělte své připojení
pc2005 29. 7. 2008 00:55
Nový
jak to funguje uvnitř?
PG 29. 7. 2008 09:07
Nový
├ 
Re: jak to funguje uvnitř?
tristar 29. 7. 2008 09:11
Nový
├ 
Re: jak to funguje uvnitř?
Kvakor 29. 7. 2008 12:20
Nový
│
└ 
Re: jak to funguje uvnitř?
luky 29. 7. 2008 20:39
Nový
│
 
└ 
Re: jak to funguje uvnitř?
dada 29. 7. 2008 21:47
Nový
│
 
 
├ 
Re: jak to funguje uvnitř?
luky 29. 7. 2008 22:52
Nový
│
 
 
└ 
Re: jak to funguje uvnitř?
luky 29. 7. 2008 22:59
Nový
├ 
Re: jak to funguje uvnitř?
anonymní uživatel 29. 7. 2008 16:19
Nový
├ 
Re: jak to funguje uvnitř?
luky 29. 7. 2008 20:36
Nový
└ 
Re: jak to funguje uvnitř?
Petr Tesařík 4. 8. 2008 20:09
Nový
Parada..
potwor 29. 7. 2008 11:24
Nový
├ 
Re: Parada..
luky 29. 7. 2008 20:35
Nový
└ 
Re: Parada..
Štepán Gabriel 29. 7. 2008 23:11
Nový
v repozitarich
afk_cz 29. 7. 2008 16:31
Nový
Mě se líbí...
you-know-who 29. 7. 2008 22:05
Nový
└ 
Re: Mě se líbí...
.. 30. 7. 2008 07:01
Nový
RE: Trickle: rozdělte své připojení
astray 4. 8. 2008 12:59
Nový
Jak to udělat pořádně
Petr Tesařík 4. 8. 2008 20:30
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem