Co by měl umět program na obejití FUP? Příklad dávky pro DC

Vše o internetu v mobilu a mobilním surfování

Moderátor: Moderátoři MobilMania.cz

Odeslat příspěvekod _-0-_ 28. 3. 2005 02:48

Z toho, co používám, mi přijde nejkomplikovanější obejití FUP_2 na DC (pokud vůbec bude do budoucna možné s ohledem na to, jak se CDMA chová v posledních dnech -ve dne i v noci).

Co by měl tedy program umět?

Vyhodnotit:
1) pokles downloadu pod nastavitelnou mez po definovanou dobu (nastavitelná mez poklesu i doba jeho kontinuálního trvání)
2) stažený objem dat od resetu připojení
3) dobu od resetu
4) aktuální čas
5) "vytuhnutí připojení"
6) průměrný datový tok v zadaném intervalu

Měl by umožňovat nastavit volání externího programu - programů před a po restartu připojení.

Měl by umět zvolit kdy restartovat, a to:

1) při "vytuhnutí" připojení
2) při poklesu průměrného datového toku pod nastavitelnou mez po definovatelné době (při použití DC je jednak "nízký" download při startu klienta a potom tehdy, když klient hledá volné sloty. Je třeba, aby bylo možné hledat kompromis mezi tím, kdy již "nemá cenu čekat" a tím, že se ztratí pořadí ve frontách.)
3) dosažení zadatelného objemu dat
4) když uplyne nastavená doba připojení
5) měl by umět plánovat změnu kriterií dle aktuálního času a porovnání proměnných
Alespoň by měl umět nastavení denní/noční režim samostatně je důležité proto, že PGM by měl zjistit po spuštění, jestli je interval 01:00 - 09:00, nebo 09:00 - 01:00 a podle toho umožnit nastavit volby separátně (včetně časů "předělu", protože ten interval může ET kdykoliv změnit).

Měl by tedy umět zavádět preference mezi jednotlivá kriteria 1-5 (něco jako priorita clona, nebo čas u fotografie).

K TOMU BY MĚL UMĚT PŘED A PO RESTARTU VOLAT JINÉ PGMs (*.exe, *.bat...)

Pro použití na DC je ještě zapotřebí "ošetřit" několik dalších problémů. (Následující platí Strong DC, který užívám.)

U DC je několik problémů:
a) Download je výrazně bržděn uploadem, je nutné limitovat upload na cca 2 - 5 kBps max. Za jeho použití je tzv. ban (blokování nicku, IP, nicku/IP, nebo někdy dokonce IP range). Jenže program, limitující upload (nejznámější a podle mě nejlepší je NetLimiter) není rozpoznatelný ze strany OPů (adolescenti, "dozírající" na dodržování "rules") tehdy, pokud je spuštěný až poté, kdy naváže klient (StrongDC++ 1.0 RC9f2 konkrétně - neplatí třeba pro CZDC++) spojení s hubem, v některých případech až poté, když naváže všechna spojení (vyžádaná z quee) a spustí v příslušném okně chat.

b) Při restartu připojení a nevypnutí DC klienta se
i) při znovunavázání spojení objeví NetLimiter OPům
ii) HUB "nezjistí", že jste odpojen a Váš nick a IP tam zůstanou jako "Zombie" (stav trvající jednotky minut, ad extrem hodiny, znemožňující zalogování se pod stejným nickem).

Samostatným problémem je FUP_1, ale tu řeší v ptomto případě zaškrtnutí volby "send garbage" v settings.
Možné řešení je poměrně jednoduché - protože Strong ukládá Favorite Hubs (a v nich máte označeny ty, na které se klient automaticky po startu loguje) do file Favorites.xml, není nic snažšího, než mu po každém restartu "podstrčit jiný, z několika předpřipravených, kterí cyklicky měníte. Potom ještě musíte zajistit, aby se po restartu klienta spustil s vhodně zvoleným časovým zpožděním NetLimiter a je to. "Pravověrné" sosače to sice rozzlobí, ale to je mi popravdě řečeno jedno. Funguje to.

Ošetřil jsem to toporně dávkou (je v jednom z následujících příspěvků), která sice neumí všechno, co bych chtěl, ale ošetřuje to nejpodstatnější. Co dělá?

Odpojí clienta a NetLimiter, změní nicky (cykluje favorites.xml), zrestartuje připojení a počká na další cyklus. Během cyklu "pingá na servery" (velká latence je vyhodnocena jako ztráta spojení, u DC se vyplatí restart přes to, že je připojení funkční) a měří rychlost downloadu, kterou porovnává s nastavenou. Pokud vyhodnotí chybu, tak restartuje.

Po restartu připojení a startu Strongu se mi osvědčilo nechat nastavených 8 minut, než se "načtou huby" (jinak je limitace k poznání). Ve dne je oněch 10 minut relativně málo, v noci příliš mnoho. Potom ještě nechávám dalších 8 minut na "ustálení pod NetLimiterem. Když po té přibližně čtvrthodině netečou data, tak následuje automatický restart.

Celková doba cyklu je tedy proměnná, je jedno, jestli u vás platí těch zmiňovaných 50 Mb, nebo jestli začíná a končí FUP_2 nahodlie (zdánlivě).

Co k tomu potřebujete? Dvě utility do batch files, jeden program od Billa (devcon.exe, sleep.exe a outtime.com) a SpeedOMeter v 0.1 (který pro mě napsal laskavě pan kAmMa viz http://www.cdma.cz/diskuze.php?vlakno=52309 )
http://download.microsoft.com/download/ ... devcon.exe
http://www.vitsoft.info/vsbutilc.htm
http://mujweb.cz/www/reconnector/

Také musíte mít nainstalovaný JVM.

Potom trocha trpělivosti a splácat dávku... :-)

Ovšem to je jen příklad, protože existuje hodně P2P sítí, hodně klientů a u některých bude zapotřebí podobných úprav. Nehledě k tomu, že s každou další verzí byť i stejného klienta je pravděpodobné, že bude něco zapotřebí upravit.

K tomu musíte vhodně nastavit DC clienta:

Nastavit zejména nejkratší periodu v automatickím hledání dle TTH (OPičky nechť si trhnou), nekonečno maxima současných downloadů a souborů, dost slotů nejvyšší priority, nezačínat nové downloady nastavit nad max. rychlost Vašeho připojení, send garbage v odesílání i příjmu, kontrolu TTH po přijetí, minimálně 100 alternativních zdrojů, stovky zdrojů pro jednu frontu, natvrdo max. segmentů. Pro normální připojení nastavení vskutku idiotské.

Potom musíte zvolit vhodnou strategii. Frontu musíte přeplnit a stahovat s vizí, že se "toho stahuje hodně najednou", ale VELMI pomalu - souběžně. Zkrátka bude všechno za dlouho. A ne, abyste nechali odpojovat download streamy pod 1 kBps - naopak, buďte za ně vděční. Pokud vypozorujete, že máte proklatě rychlý nějaký download stream, tak si v NetLimiteru najděte jeho port a snažte se někoho umluvit, aby si jej zkusil u sebe nastavit (a to jde velmi ztuha, i když jste zdvořilí). Protože stahujete od Active, tak je šance, že ten port, co Vám na něm funguje rychlá download, má Vaše protistrana nastavený "natvrdo" - tak si od něho stáhněte file list.

Je to o velkém laborování a nastavování, ale výsledek se dostaví (pokud nejste limitováni trvale). Z bídných cca 500 Mb po zavedení FUP_2 jsem se dostal na dvojnásobek, což je sice z hlediska nárůstu o 100% úžasné, ale na druhou stranu za ty peníze ohyzdě pomalé.

NAKONEC SE NA TO VŠECHNO RADĚJI VYKAŠLETE A POŘIĎTE SI NORMÁLNÍ PŘIPOJENÍ - MÍSTO ZMRZAČENÉHO CDMA.

Napište svoje zkušenosti s obcházením FUP...
Naposledy upravil _-0-_ dne 30. 3. 2005 13:02, celkově upraveno 2
_-0-_
Junior
Uživatelský avatar

Odeslat příspěvekod michallom 28. 3. 2005 09:38

A co chces rešit programem, když ti hlídaj množství staženejch dat na centru a s resetováním modemu to nemá nic společnýho?
michallom
Junior
Uživatelský avatar

Odeslat příspěvekod Ronaldok 28. 3. 2005 09:46

Ja FUP nepozoruji tak naco ho obchazet???
Ronaldok
Junior
Uživatelský avatar

Odeslat příspěvekod Railbot 28. 3. 2005 10:00

michallom píše:A co chces rešit programem, když ti hlídaj množství staženejch dat na centru a s resetováním modemu to nemá nic společnýho?o/quote]


Nechapes. FUP2 je "zatim" uplatnovana jen na pridelene IP adresy. Takze po odpojeni a opetoven pripojeni ziskas novou IP adresu a tim padem i moznost dale stahovat bez FUP 2 nez se na tobe zase uplatni....rozumime si? :D
Railbot
Junior
Uživatelský avatar

Odeslat příspěvekod Railbot 28. 3. 2005 10:01

Ronaldok píše:Ja FUP nepozoruji tak naco ho obchazet???


Myslis, ze kdyz ho TY nepozorujes, tak automaticky ani nikdo dalsi? Nebo proc pises tak arogantni odpoved? Pokud se te to netyka, tak bud rad a zdrz se komentare :wink:
Railbot
Junior
Uživatelský avatar

Odeslat příspěvekod Railbot 28. 3. 2005 10:04

Mno a jinak tenhle postup, a vubec obchazeni FUP2 je na nic dle meho. Na DC nepouzitelny - ztrata slotu. Na prestiznich a vecne preplnenych FTP nepouzitelny - ztratite misto a pak znova cekat frontu a videt neustale 421? Pfff. To uz radsi pretrpet FUP a sosat porad 8)
Railbot
Junior
Uživatelský avatar

Odeslat příspěvekod michallom 28. 3. 2005 10:05

Railbot píše:
michallom píše:A co chces rešit programem, když ti hlídaj množství staženejch dat na centru a s resetováním modemu to nemá nic společnýho?o/quote]

Nechapes. FUP2 je "zatim" uplatnovana jen na pridelene IP adresy. Takze po odpojeni a opetoven pripojeni ziskas novou IP adresu a tim padem i moznost dale stahovat bez FUP 2 nez se na tobe zase uplatni....rozumime si? :D


Ja to zkousel a bez efektu. Ale asi jen 2x. vic ne.
michallom
Junior
Uživatelský avatar

Odeslat příspěvekod _-0-_ 28. 3. 2005 10:20

michallom píše:A co chces rešit programem, když ti hlídaj množství staženejch dat na centru a s resetováním modemu to nemá nic společnýho?o/quote]

Jak jsi na to přišel? Pokud se podíváš na http://www.nix.cz/graf2/switch_16_2_4.html , tak uvidíš, že je datový tok přes den omezený pilou, které má hodinovou periodu. Přes den je tedy plošně nasazovaná minimálně jedna forma FUP s periodickým průběhem. Většina lidí popisuje FUP tak, že vždy za nějaký čas dojde automaticky k opětovnému zvýšení datového toku a pokud do té doby udělají restart "ručně", tak také. Současná FUP je tedy (u většiny lidí) pravděpodobně vázána vázána na IP (skupinu IP?) a na nějakou oblast, BTS, nebo sektor. Denně dochází ke změním a definitivní podoba se ještě neustálila, takže je předčasné soudit, jestli FUP_2 obejít půjde (snížit její dopad), až bude v definitivní podobě. Dosud to většinově jde. Jednotlivé programy autorů a můj toporný skript nedělají nic jiného, nežli to, že mimimalisují dobu mezi tím, kdy byla FUP spuštěna a okamžikem, kdy ji ET zruší. Na zvýšení datového toku oproti stavu bez jejího použití se to v mém případě pohybuje okolo 100%, s výjimkou dnů, kdy jsem limitován na 10-12 kBps trvale (a těch není většina). I tehdy ale pomáhá, protože současně s celkovým omezením fungují další, jejichž dopad je minimalisován. Podívej se na http://mobilforum.mobilmania.cz/viewtopic.php?t=163
*** DON`T PANIC! ***

--> EFnet #cdma.cz <--
_-0-_
Junior
Uživatelský avatar

Odeslat příspěvekod _-0-_ 28. 3. 2005 10:31

Railbot píše:Na DC nepouzitelny - ztrata slotu. Na prestiznich a vecne preplnenych FTP nepouzitelny - ztratite misto a pak znova cekat frontu a videt neustale 421? Pfff. To uz radsi pretrpet FUP a sosat porad 8)

Na DC to použitelné je, ale při použití jiné strategie stahování a současném zalogování na více HUBů (10). Vím, že tím velmi pozlobím hodně lidí z DC, ale když používám zahraniční servery a některé vybrané CZ, tak jsem ještě nedostal za tu dobu, co to používám, ani jeden ban (na ani jednom z oněch 4 cyklicky měněných favorites.xml).

Ten, kdo nemá limitovaný noční režim (01:00 - 09:00) by měl logicky používat jinou strategii na "den" / "noc". Tomu by v noci jenom stačilo hlídat, jestli mu "nevytuhlo" připojení a přes den používat měření datového toku, objemu dat nebo času (či kombinace) jako kriteria resetu.

Netvrdím, že je to ideální metodika, ale na lepší jsem nepřišel. Určitě se tak nikdo FUP_2 nezbaví, ale sníží její dopad - pokud není postižen formou, při které jsou trvale limitovány všechny porty a navíc je to doprovázeno dramatickým zvýšením latence. Pro takový případ není pomoci.
*** DON`T PANIC! ***

--> EFnet #cdma.cz <--
_-0-_
Junior
Uživatelský avatar

Odeslat příspěvekod _-0-_ 28. 3. 2005 11:53

Dávka je neelegantní řešení - v současnosti existuje několik redialerů, které umí vyhodnotit čas, nebo objem dat či ztrátu spojení jako podmínku pro restart. Pokud se nepletu, tak žádný zatím nepodporuje datový tok jako kriterium a také v nich není ošetřeno spouštění programů v závislosti na resetu a zpoždění mezi nimi.

autor: Milan Kajnar Reconnecter cdma@mikesoft.cz http://www.mikesoft.cz/cdma/cdma.zip

autor: kAmMa kamma@atlas.cz Reconnector, SpeedOmeter http://mujweb.cz/www/reconnector/
Panu kAmMovi patří mé specielní poděkování za speedOmeter, který udělal mně pro radost.

autor: Alex alex_18@seznam.cz EurotelFreeSoftware http://efs.wz.cz/

Autory uvádím v pořadí, v jakém uveřejnili své první verze.

Pokud ovšem chcete komplexní řešení pro konkrétního klienta, tak potřebujete navíc další funkce. Příklad je pro použití StronguDC.

Pozn.: máte-li dávku spuštěnou, sedíte u počítače a vidíte, že zbytečně čeká před dalším úkonem, tak (je-li její wokno aktivní) stiskem libovolné klávesy ukončíte příslušný sleep pro její pokračování. Je nutné upravit cesty a přispůsobit jednotlivé parametry svým potřebám.

Doufejme, že (bude-li tado metodika nadále aplikovatelná na CDMA) tvůrci redialerů zabudují do svých programů obdobné funkce, aby nebylo nutné používat tak toporné řešení.

*************************************************************
OPĚT ZMĚNĚNO (PŘIZPŮSOBENO) A UPRAVENO
*************************************************************

@echo off
title DOWNLOAD SPEED AND CONNECTION MONITORING
set ping1=www.nix.cz
set ping2=www.google.com
set logfile=C:\_SpeedOMeter.log
set path=%path%;C:\Batch;C:\Program Files;C:\Program Files\STRONG++NEW;C:\Program Files\NetLimiter;C:\Program Files\STRONG++NEW\Settings
echo ************************************************************************* >> %logfile%
echo DOWNLOAD SPEED AND CONNECTION MONITORING >> %logfile%
color 0C
echo *************************************************************************
echo RESETING BY SPEEDMETER
echo STRONG AND NETLIMITER RESTARTING
echo *************************************************************************
OUTTIME Www, Mmm dd, yyyy hh:mm *** BATCH STARTED ***~>> %logfile%
echo ************************************************************************* >> %logfile%
:reset
sleep 3
echo *************************************************************************
OUTTIME Www, Mmm dd, yyyy hh:mm *KILLING STRONG AND NETLIMITER*~
echo *************************************************************************
taskkill /F /im NetLimiter.exe
if errorlevel 1 goto one
sleep 40
:one
taskkill /F /im strongDC.exe
if errorlevel 1 goto two
sleep 40
:two
cd C:\Program Files\STRONG++NEW\Settings
rename Favorites.xml Favorites0.xml
rename Favorites1.xml Favorites.xml
rename Favorites2.xml Favorites1.xml
rename Favorites3.xml Favorites2.xml
rename Favorites0.xml Favorites3.xml
color 09
echo *************************************************************************
OUTTIME Www, Mmm dd, yyyy hh:mm *RESTARTING CONNECTION*~
echo *************************************************************************
sleep 3
set connection=
:reset1
rasdial "CDMA_NEW" /d
sleep 3
color 0C
devcon restart USB\VID_05C6*PID_3196 > nul && rasdial "XXXXXX" YYYYYYYYY@etcz ZZZZZZ
if errorlevel 1 goto reset1
set connection=true
echo *************************************************************************
OUTTIME Www, Mmm dd, yyyy hh:mm *CONNECTION RESTARTED*~
echo *************************************************************************
sleep 3
color 07
start StrongDC.exe /max
echo *************************************************************************
echo WAITING 8 MIN FOR NETLIMITER RESTART
echo *************************************************************************
sleep 480
start NetLimiter.exe /min
echo *************************************************************************
OUTTIME Www, Mmm dd, yyyy hh:mm *NETLIMITER RESTARTED*~
echo *************************************************************************
echo WAITING 8 MIN FOR DOWNLOAD AND CONNECTION MONITORING
echo *************************************************************************
sleep 480
echo BOTH STARTED
echo *************************************************************************
:start
set errorlevel=
ping %ping1% -n 1 > nul
if %errorlevel% EQU 1 goto resetx
ECHO PING_1 O.K.
echo *************************************************************************
sleep 5
:speed
SpeedOMeter.exe CDMA_NEW 4 40
ECHO ERRORLEVEL %ERRORLEVEL%
REM je-li parametr 3=1, potom je latence=3 (mereni-mezera-mereni)
if %errorlevel% EQU 1 goto echo1
if %errorlevel% EQU 0 goto echo0
if %errorlevel% EQU 5 goto echo5
:echo1
color 0C
echo *************************************************************************
echo LOWER THAN LIMIT (4 kBps) - RESTART UP TO 1 MIN
OUTTIME Www, Mmm dd, yyyy hh:mm >> %logfile%
echo LOWER THAN LIMIT 4 kBps - RESTARTING CONNECTION >> %logfile%
sleep 3
echo *************************************************************************
color 0E
goto reset
:echo0
color 02
echo *************************************************************************
echo HIGHER THAN LIMIT (4 kBps)
echo *************************************************************************
goto start
:echo5
color 0C
echo *************************************************************************
echo WITHOUT CONNECTION - RESTART DURING 1 MIN
OUTTIME Www, Mmm dd, yyyy hh:mm >> %logfile%
echo WITHOUT CONNECTION - RESTARTING CONNECTION >> %logfile%
sleep 3
echo *************************************************************************
color 0E
goto reset
:resetx
color 0C
echo *************************************************************************
echo PING_1 ERROR - GO TO NEXT TRY
OUTTIME Www, Mmm dd, yyyy hh:mm >> %logfile%
echo PING_1 ERROR - GO TO NEXT TRY >> %logfile%
sleep 10
echo *************************************************************************
set errorlevel=
ping %ping2% -n 1 > nul
if %errorlevel% EQU 1 goto resetx2
ECHO PING_2 O.K.
goto start
:resetx2
echo *************************************************************************
echo PING_2 ERROR - RESTARTING
OUTTIME Www, Mmm dd, yyyy hh:mm >> %logfile%
echo PING_2 ERROR - RESTARTING >> %logfile%
echo *************************************************************************
sleep 3
color 0E
goto reset
Naposledy upravil _-0-_ dne 30. 3. 2005 10:40, celkově upraveno 5
*** DON`T PANIC! ***

--> EFnet #cdma.cz <--
_-0-_
Junior
Uživatelský avatar

Odeslat příspěvekod Ovo 28. 3. 2005 14:25

Oceňuji přínos autora tohoto softíku.

Bylo by možný přidat na stránky s downloadem také archiv se zdrojem, abychom nemusel luštit zdrojáky z JADu? Nechci z toho dělat open source, ale určitě to pomůže dalším koumákům k novým užitečným utilitkám (třeba mě, čas na testování je drahý), které nám možná budou k užitku.
Případnému vyhovění předem děkuji.
Ovocné víno každý den, tvůj život se změní v sen.
Ovo
Junior
Uživatelský avatar

Odeslat příspěvekod _-0-_ 30. 3. 2005 10:32

Pokud někdo používáte uvedenou dávku (výše), tak jsem trochu změnil její vlastnosti. Jednak jsem "učesal" záznam do log. file a potom jsem změnil vyhodnocení pingu, protože při provozu p2p se umí zvyšovat latence oproti normálnímu provozu ("ping restartů bylo mnohem více, než bez P2P). RTT posílám na nix.cz a když není odezva, tak ještě na google.com. Teprve když selže druhý pokus, tak následuje restart.
*** DON`T PANIC! ***

--> EFnet #cdma.cz <--
_-0-_
Junior
Uživatelský avatar

Odeslat příspěvekod _-0-_ 5. 4. 2005 07:31

V ranních a dopoledních hodinách (mezi 04:00 a 11:00) se dá stáhnout nejvíce dat. I když máte naplněnou frontu, tak se vyplatí na začátek této periody naplánovat restart a do konce periody zvýšit limit datového toku pro restart (např. pomocí příkazu AT). Při restartu se buďto změní vlastnosti sítě, nebo Strong začne vyhledávat podle jiného klíče, ale rozhodující je výsledek - a to nalezení mnoha nových a rychlých streamů. Celkově se tak dá zvýšit denní download o pár set (!) MB.
*** DON`T PANIC! ***

--> EFnet #cdma.cz <--
_-0-_
Junior
Uživatelský avatar


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků