Počty spojení na WiFi sieti
Iste to poznáte: frčíte na zdieľanej (moderne: agregovanej) WiFi linke. Za normálnych okolností je to vysokorýchlostné pripojenie s pomerne zdravým fungovaním pre desiatky pripojených ľudí s vysokouspokojivým výkonom.
V ten moment začne ktosi v sieti riešiť problém, čo s toľkým pásmom a pretože si platí svoj diel, tak má snahu ho demokraticky využiť a s predstavou, že iba vymetie zabudnuté nevyužité rohy linky, nakopne nejakého toho p2p klienta.
Ono pri dnešných možnostiach (kto má v kuse premýšľať nad sofistikovanými dynamickými obmedzovačmi – shapingom) sa dostávate neustále do problémov pričom vadia tieto veci:
– p2p klient si jeho majiteľ nespúšťa na nevyhnutnú dobu ale na toľko, koľko môže,
– p2p klient má vždy snahu napnúť strop linky na maximum,
– p2p klient si zásadne otvára toľko spojení koľko môže,
– p2p klient po čase umiera pri downloade a hlavne posiela uploadom čo môže,
– p2p klient beží vždy bez kontroly jeho majiteľa,
– majiteľ p2p klienta je vždy demokrat a zástanca slobody,
– majiteľ p2p klienta ani po preventívnom upozornení nerešpektuje doporučenia,
– majiteľ p2p klienta ani osobné doporučenia nerešpektuje,
– majiteľ p2p klienta vidí iba svoje spojenie a v globále neprepojí doporučenia s následkami.
Môžete robiť proti tomu veľa vecí.
– aplikovať blokujúce mechanizmy postavené na znalosti funkcie p2p klienta,
– sledovať záťaž linky manuálne a upozorňovať majiteľa p2p klienta,
– v extrémnych prípadoch skosiť spojenie na localhost,
– vymyšľať taktiku dynamického shapingu sťahovaním stropu pre klienta s ponechaním bežného limitu pre bežné služby,
– potom prejdete na taktiku celkového zníženia limitu pre celý počítač majiteľa p2p klienta,
Potom zistíte, že veľkou záťažou sú počty spojení. Problém stropu pásma ste už predtým poriešili odieraním sa v shapingovom pekle a teraz zistíte, že vás štve zopár ľudí s tisícom spojení na svojom pripojení a to nepretržite počas celého večera.
Všetkým ostatným sa občas stane (nie je to vidno navonok ako chybové hlásenie), že nejaké spojenie sa proste nenadviaže hneď. Sranda, čo?
Tak sa zamyslíte a postavíte úmeru – máš pridlho nejako priveľa spojení, tak ti buchnem limit rýchlosti z tvojho oshapovaného dielika z celej linky zasa o kus nižšie. Pri budúcej kontrole ak počet spojení neklesol, tak ešte odpočítam z horného limitu. A tak pokračujem ďalej až kým fakticky je limit na nule. V momente ako pri ďalšej kontrole počet spojení klesne sa vráti defaultná hodnota hornej hranice.
Pretože som preventívne orientovaná sviňa, tak už rovno skriptík naprogramujem na to, aby si pamätal každého výtržníka. Preto si skript bude pamätať pred akým časom znižoval limit. Pokiaľ pri budúcom zvýšení počtu spojení nájde aj predošlý prehrešok, tak nebude limit klesať ale rovno spadne.
Čo potrebujete pre takýto skriptík?
– príkaz/skript/funkciu na zistenie počtu spojení na jednom pripojení (IP adresa)
– príkaz/skript na nastavenie zadanej hodnoty horného limitu rýchlosti pre danú IP adresu
– príkaz/skript na odpojenie danej IP adresy
– príkaz/skript na nastavenie bežnej hodnoty rýchlosti (defaultne nastavenej v shapingu)
– cronovací systém
– perl alebo inú srandu s možnosťou vetviť program
Teraz máme hotové stavebné kamene systému p2policajt.
Poskladáme z toho niečo funkčné.
1. zistím počet spojení pre IP
2. pokiaľ je počet spojení nad hodnotu „priveľa“, tak pokračujem v bode 4.
3. pokiaľ už má IP znížený limit, vrátim defaultný limit a končím.
4. pokiaľ už má IP znížený limit, nastavím nejakú ešte menšiu hodnotu inak nastavím znížený limit
5. končím a idem na ďalšiu IP adresu
Pre zlepšenie efektu a zlepšenie imidžu oznámim, že takéto limitovanie je z dôvodu vynútenia si ohľadov a bude automatické v kritickom čase dňa a v hluchej dobe sa limity zrušia.
Preto cron bude spúšťať môjho policajta vtedy, keď je na linke viacej ľudí.
Alebo sa zamyslím a zoženiem kdesi funkciu na zistenie počtu žijúcich pripojení a podľa toho aktivujem p2policajta. Môžem si spraviť aj funkciu na zistenie koľko z nich je už pod policajným dohľadom a podľa toho budem prísny.
Škoda, že takéto policajné riešenie už nie je dostupné ako instantný skript.
Snáď som niekoho nakopol k nejakému riešeniu schopnému verejnej dostupnosti. Myslím si totiž, že WiFi linku okrem trvalého vyťaženia ohrozuje aj počet spojení. Konkrétne počty a limity sú vecou prepočtov výkonu a neexistujú doporučené hodnoty.
Viem iba jedno – neobmedzované pripojenie neexistuje :-)
Voľne na námet: Co je tak skvělého na eKzému?