Kai torrentai užstringa – pirmieji įtariamieji
Turbūt kiekvienas, kas bent kartą naudojosi torrent failų dalijimosi sistema, yra susidūręs su ta keista situacija: matai, kad seederių yra, kartais net keliolika ar keliasdešimt, o siuntimas stovi kaip įkastas. Progreso juosta nejuda, greitis rodo nulį, o nervai jau pradeda įtemptis. Pirmas impulsas – kaltinti interneto tiekėją ar pačią programą, bet dažniausiai priežastys slypi visai kitur.
Pradėkime nuo to, kad torrent sistema veikia pagal peer-to-peer (P2P) principą – tai reiškia, kad jūsų kompiuteris bando tiesiogiai prisijungti prie kitų kompiuterių, kurie turi tą patį failą. Skirtingai nei įprastas atsisiuntimas iš serverio, čia nėra vieno centrinio šaltinio. Jūs kartu su dešimtimis ar šimtais kitų žmonių kuriate tinklą, kuriame visi dalijasi duomenimis tarpusavyje. Ir štai čia prasideda įdomiausi dalykai – nes kad šis procesas veiktų sklandžiai, turi sutapti labai daug dalykų.
Pats seederių skaičius, kurį matote torrent kliente, ne visada atspindi tikrąją situaciją. Tas skaičius dažnai paimamas iš tracker serverio, kuris veikia kaip tam tikras „telefonų knygynas” – jis žino, kas dalyvauja šiame torrent’e, bet nebūtinai žino, ar tie žmonės šiuo metu yra tikrai pasiekiami. Gali būti, kad seederis uždarė programą, bet tracker dar nespėjo atnaujinti informacijos. Arba seederis yra už griežto firewall’o, kuris neleidžia jums prie jo prisijungti.
Ugniasiūrės ir uostų blokavimai – neregima siena
Viena dažniausių priežasčių, kodėl torrentai nesisiuntia, yra uostų (port) problemos. Torrent klientai komunikuoja per tam tikrus tinklo uostus – galvokite apie juos kaip apie duris, pro kurias duomenys įeina ir išeina iš jūsų kompiuterio. Jei tos durys uždarytos ar užblokuotos, niekas negali pas jus patekti, net jei labai nori pasidalinti failais.
Dauguma namų maršrutizatorių (routerių) pagal nutylėjimą turi įjungtą NAT (Network Address Translation) funkciją, kuri veikia kaip tam tikra apsauga. Ji leidžia jūsų kompiuteriui inicijuoti ryšius su išoriniu pasauliu, bet blokuoja bandymus prisijungti prie jūsų iš išorės. Tai puiku saugumo požiūriu, bet torrentams – ne itin gerai.
Kai jūsų torrent klientas negali priimti įeinančių ryšių, jis tampa tuo, kas torrent bendruomenėje vadinamas „leech’u” arba riboto funkcionalumo naudotoju. Jūs vis dar galite inicijuoti ryšius su kitais seederiais, bet jei ir jie yra tokioje pačioje situacijoje, gaunasi aklavietė – niekas negali su niekuo susisiekti. Todėl labai svarbu sukonfigūruoti port forwarding savo maršrutizatoryje.
Praktiškai tai atrodo taip: prisijungiate prie savo maršrutizatoriaus administravimo sąsajos (dažniausiai per naršyklę įvedus 192.168.1.1 ar panašų adresą), surandate port forwarding ar virtual server sekciją ir nurodote, kad tam tikras uostas (pavyzdžiui, 51413) būtų nukreiptas į jūsų kompiuterio IP adresą. Kiekvienas maršrutizatorius turi šiek tiek skirtingą sąsają, bet principas tas pats.
Interneto tiekėjų žaidimai su P2P trafiku
Ne paslaptis, kad daugelis interneto paslaugų teikėjų (ISP) nemėgsta torrent trafiko. Jis užima daug pralaidumo, ypač kai vartotojai intensyviai dalina failus. Kai kurie tiekėjai tiesiog lėtina (throttle) P2P srautą, kiti – visiškai blokuoja tam tikrus uostus ar net protokolus.
Lietuvoje situacija nėra tokia bloga kaip kai kuriose kitose šalyse, bet vis tiek pasitaiko atvejų, kai tiekėjai taiko tam tikrus apribojimus. Ypač tai pastebima vakarinėmis valandomis, kai tinklo apkrovimas didžiausias. Jūsų torrentai gali puikiai veikti naktį ar anksti ryte, bet vakare – visiškai sustoti.
Kaip tai aptikti? Yra specialių testų, pvz., Glasnost testas, kuris gali nustatyti, ar jūsų tiekėjas diskriminuoja BitTorrent srautą. Jei įtariate, kad problema būtent čia, galite pabandyti kelis sprendimus. Pirmiausia – pakeisti torrent kliento nustatymus, kad jis naudotų šifravimą. Dauguma šiuolaikinių klientų (qBittorrent, Transmission, Deluge) turi protokolo šifravimo funkciją. Tai neleidžia tiekėjui lengvai atpažinti, kad naudojate torrentus.
Kitas variantas – VPN naudojimas. Kai jūsų visas interneto srautas eina per VPN tunelį, tiekėjas mato tik šifruotą srautą ir negali žinoti, ką konkrečiai darote. Tiesa, VPN paslaugos paprastai mokamos, nors yra ir nemokamų variantų su tam tikrais apribojimais.
Tracker’ių problemos ir DHT išgelbėjimas
Torrent sistema naudoja tracker serverius, kurie padeda vartotojams rasti vieni kitus. Kai atidarote torrent failą, jūsų klientas kreipiasi į tracker’į ir gauna sąrašą kitų žmonių, kurie dalyvauja tame pačiame torrent’e. Bet kas nutinka, kai tracker serveris neveikia, yra perkrautas ar visiškai išjungtas?
Būtent dėl šios priežasties buvo sukurta DHT (Distributed Hash Table) technologija. Tai decentralizuota sistema, kuri leidžia torrent klientams rasti vieni kitus be centrinio tracker serverio. Kiekvienas DHT tinkle esantis klientas saugo informaciją apie kitus klientus ir padeda jiems susisiekti. Tai tarsi išskaidytas telefonų knygynas, kurį kartu tvarko visi dalyviai.
Jei jūsų torrentai nesisiuntia, patikrinkite, ar DHT funkcija įjungta jūsų kliente. Ji paprastai yra įjungta pagal nutylėjimą, bet kartais žmonės ją išjungia nežinodami, kas tai yra. Be DHT, jūs priklausote tik nuo tracker serverių, o jei jie neveikia – jūsų siuntimas sustoja, net jei yra šimtai seederių.
Dar viena svarbi funkcija – PEX (Peer Exchange). Ji leidžia jūsų klientui keistis informacija apie kitus peers tiesiogiai su tais peers, prie kurių jau esate prisijungę. Tai dar vienas būdas rasti seederius be tracker’io pagalbos. Įsitikinkite, kad ir ši funkcija įjungta.
Seederių kokybė ir jų pasiekiamumas
Ne visi seederiai sukurti vienodi. Galite matyti, kad yra 50 seederių, bet realybėje tik keli iš jų gali būti tikrai naudingi jums. Kodėl taip nutinka?
Pirma, seederis gali turėti labai lėtą interneto ryšį. Jei kažkas dalina failus per senovinį ADSL ryšį su 1 Mbps upload greičiu, o prie jo bando prisijungti dešimt žmonių, kiekvienam teks tik truputis to pralaidumo. Antra, seederis gali būti geografiškai labai toli – pavyzdžiui, Australijoje ar Pietų Amerikoje. Nors internetas teoriškai globalus, fizinis atstumas vis tiek turi įtakos – duomenys turi keliauti per daugybę tarpinių serverių, o kiekvienas šuolis prideda vėlavimą.
Trečia, seederis gali tiesiog riboti savo upload greitį. Daugelis žmonių nori atsisiųsti failus greitai, bet nenori, kad jų internetas būtų užkimštas dalinantis su kitais. Todėl jie nustato, pavyzdžiui, 50 KB/s upload limitą. Jei prie tokio seederio prisijungę keliolika žmonių, kiekvienam teks po kelis kilobaitus per sekundę.
Ketvirta – ir tai labai svarbu – seederis gali būti „partial seeder”. Tai reiškia, kad jis turi ne visą failą, o tik jo dalį. Torrent sistema leidžia pradėti dalintis failais dar prieš juos pilnai atsisiunčiant. Jei jūsų reikalinga failo dalis yra būtent pas tuos seederius, kurie jos neturi, siuntimas stovės, nors bendras seederių skaičius bus didelis.
Kliento nustatymai ir jų įtaka siuntimui
Daugelis žmonių įdiegia torrent klientą ir naudoja jį su standartiniais nustatymais, niekada nepažvelgę į konfigūracijos galimybes. Tačiau teisingi nustatymai gali būti skirtumas tarp veikiančio ir neveikiančio siuntimo.
Vienas svarbiausių parametrų – maksimalus vienu metu aktyvių torrentų skaičius. Jei turite dešimt aktyvių torrentų, o jūsų klientas bando visus juos siųsti vienu metu, jūsų interneto ryšys bus padalintas į dešimt dalių. Geriau apriboti aktyvių siuntimų skaičių iki 2-3, kad kiekvienas gautų pakankamai resursų.
Kitas svarbus nustatymas – maksimalus ryšių skaičius vienam torrent’ui. Daugiau ryšių ne visada reiškia greitesnį siuntimą. Jei nustatysite per didelį skaičių, jūsų kompiuteris ir maršrutizatorius gali būti perkrauti bandydami valdyti visus tuos ryšius. Paprastai 50-100 ryšių vienam torrent’ui yra visiškai pakankama.
Labai svarbu teisingai nustatyti upload ir download greičio limitus. Jei nenustatysite upload limito, torrent klientas gali užimti visą jūsų išeinantį srautą, o tai paradoksalu – sulėtins ir jūsų siuntimą. Tai nutinka dėl to, kaip veikia TCP protokolas – jūsų kompiuteris turi siųsti patvirtinimo paketus už gautus duomenis, o jei išeinantis srautas užkimštas, tie patvirtinimai vėluoja, ir siuntėjas lėtina perdavimą.
Gera taisyklė – nustatyti upload limitą maždaug 80% jūsų maksimalaus upload greičio. Jei turite 10 Mbps upload, nustatykite limitą apie 8 Mbps arba 1000 KB/s (atsiminkite, kad 8 bitai = 1 baitas).
Specifinės torrent failo problemos
Kartais problema slypi pačiame torrent faile ar jo turinyje. Seni torrentai, kurie buvo populiarūs prieš kelerius metus, dabar gali būti beveik mirę – tie žmonės, kurie juos seederino, jau seniai išjungė kompiuterius ir užmiršo apie juos. Tracker serveriai, kurie buvo nurodyti torrent faile, gali būti išjungti.
Jei susiduriate su tokiu atvejo, pabandykite ieškoti to paties turinio su naujesniais torrentais. Dažnai populiarūs failai yra „repack’inami” – kažkas sukuria naują torrent su tuo pačiu turiniu, bet nauju tracker’ių sąrašu ir nauja seederių baze.
Dar viena problema – sugadinti torrent failai. Jei torrent failas buvo neteisingai sukurtas arba pažeistas, jūsų klientas gali negalėti teisingai interpretuoti informacijos. Paprastai torrent klientai praneša apie tokias problemas, bet ne visada aiškiai.
Taip pat verta paminėti „private” torrentus – tai torrentai iš privačių tracker’ių, kurie neleidžia naudoti DHT ar PEX. Jei toks tracker’is neveikia, jūs visiškai negalėsite siųsti failo, net jei žinote, kad yra seederių. Privatūs tracker’iai taip elgiasi siekdami kontroliuoti, kas dalyvauja jų bendruomenėje.
Antivirusinės programos ir firewall’ai – dviprasmiški gynėjai
Jūsų kompiuteryje įdiegta saugumo programinė įranga gali būti netyčia blokuojanti torrent srautą. Antivirusinės programos ir firewall’ai yra suprojektuoti būti atsargūs su P2P programomis, nes jos gali būti naudojamos kenkėjiškiems tikslams.
Windows Defender Firewall, kuris įeina į Windows operacinę sistemą, paprastai paklausia leidimo, kai pirmą kartą paleidžiate torrent klientą. Bet jei netyčia paspaudėte „blokuoti” arba jei nustatymai buvo pakeisti vėliau, jūsų klientas negalės priimti įeinančių ryšių.
Patikrinkite firewall nustatymus ir įsitikinkite, kad jūsų torrent klientas yra leidžiamų programų sąraše. Windows tai galite padaryti per Control Panel > System and Security > Windows Defender Firewall > Allow an app or feature through Windows Defender Firewall. Suraskite savo torrent klientą sąraše ir įsitikinkite, kad pažymėti abu langeliai – „Private” ir „Public”.
Jei naudojate trečiųjų šalių antivirusinę programą su integruotu firewall’u (Kaspersky, Norton, Bitdefender ir pan.), procesas bus šiek tiek kitoks, bet principas tas pats – reikia leisti torrent klientui komunikuoti per tinklą.
Kai kurios antivirusinės programos taip pat skanuoja atsisiunčiamus failus realiuoju laiku. Jei siuntiate didelį failą, antivirusas gali laikinai sustabdyti siuntimą, kol patikrina jau atsisiųstą dalį. Tai gali atrodyti, tarsi siuntimas būtų užstrigęs, nors iš tikrųjų tiesiog laikinai pristabdytas.
Kai viskas turėtų veikti, bet neveikia – gilesnė diagnostika
Jei išbandėte visus aukščiau minėtus sprendimus, o torrentai vis tiek nesisiuntia, laikas giliau pasikasinėti. Vienas naudingiausių įrankių – jūsų torrent kliento logai. Dauguma klientų turi detalių logų sekciją, kuri rodo, kas vyksta fone – kokie ryšiai bandomi užmegzti, kokie nepavyksta ir kodėl.
qBittorrent, pavyzdžiui, turi „Execution Log” langą, kuriame galite matyti pranešimus apie DHT, tracker’ius, peer ryšius ir kitas svarbias detales. Jei matote daug pranešimų apie „connection timeout” ar „connection refused”, tai reiškia, kad yra ryšio problemos – galbūt uostų, galbūt firewall’o.
Dar vienas naudingas testas – pabandyti atsisiųsti gerai žinomą, populiarų torrent su šimtais seederių. Pavyzdžiui, Linux distribucijos (Ubuntu, Fedora) visada turi daug seederių. Jei net tokie torrentai neveikia, problema tikrai jūsų pusėje – nustatymuose ar tinklo konfigūracijoje. Jei populiarūs torrentai veikia, bet jūsų norimas – ne, problema greičiausiai su tuo konkrečiu torrent’u.
Galite taip pat pabandyti visiškai kitą torrent klientą. Kartais problema būna specifinė vienai programai – galbūt ji blogai sukonfigūruota, galbūt turi bug’ą. Išbandykite qBittorrent, jei naudojote uTorrent, arba atvirkščiai. Tai padės nustatyti, ar problema programinėje įrangoje, ar kažkur kitur.
Tinklo diagnostikos įrankiai kaip „netstat” ar „tcpdump” gali parodyti, kokie tinklo ryšiai aktyvūs jūsų kompiuteryje. Tai jau pažangesnio lygio diagnostika, bet jei esate techniškai įgudęs, gali būti labai naudinga. Galite pamatyti, ar jūsų torrent klientas iš tikrųjų bando užmegzti ryšius, ar jie sėkmingai užmezgami, ar duomenys perduodami.
Kai kantrybė ir supratimas išsprendžia problemą
Torrent sistema yra nuostabi technologija, kuri leidžia efektyviai dalintis dideliais failais be centralizuotų serverių. Bet ji nėra tobula ir reikalauja, kad daugelis dalykų veiktų teisingai. Kai torrentai nesisiuntia nors yra seederių, problema beveik visada yra vienoje iš šių kategorijų: tinklo konfigūracija (uostai, firewall’ai), interneto tiekėjo apribojimai, kliento nustatymai arba paties torrent’o problemos.
Gera žinia ta, kad daugumą šių problemų galima išspręsti su šiek tiek kantrybės ir sistemiško požiūrio. Pradėkite nuo paprasčiausių dalykų – patikrinkite, ar DHT ir PEX įjungti, ar firewall’as neleidžia jūsų klientui. Tada pereikite prie sudėtingesnių – port forwarding konfigūravimo, kliento nustatymų optimizavimo.
Atminkite, kad torrent sistema veikia geriausiai, kai visi dalyviai prisideda – ne tik siuntia, bet ir dalina. Jei visi tik siųstų ir niekas nedalintų, sistema neveiktų. Todėl, kai jūsų siuntimas pagaliau pradės veikti, palikite torrent’ą seederinti bent kiek laiko. Tai ne tik gražus gestas bendruomenei, bet ir padeda užtikrinti, kad failai išliktų prieinami kitiems.
Ir paskutinis patarimas – kartais tiesiog reikia palaukti. Jei torrent’as naujas ir populiarus, gali būti, kad visi seederiai laikinai perkrauti. Palaukite valandą ar dvi, pabandykite kitą paros laiką. Torrent’ų pasaulis gyvena savo ritmu, ir kartais kantrybė yra geriausias sprendimas.




