Ի՞նչ է տոռենտը, ինչպե՞ս է այն աշխատում և ի՞նչ առավելություններ ունի… փորձենք պատասխանել այս հարցերին
Ֆայլերի փոխանակությունը ինտերնետում
World Wide Web-ը ինֆորմացիայի փոխանակման հիանալի համակարգ է: Ֆայլերը տեղադրվում են որևէ կայքում` սերվերում, մարդիկ էլ կարողանում են բեռնել այդ ֆայլերը սերվերից: Այս պարզ սկզբունքը շատ լավ աշխատում է փոքր ծավալի (տեքստային) ինֆորմացիայի դեպքում: Սակայն մեծ ծավալի ինֆորմացիայի փոխանակման ժամանակ պարզ է դառնում, որ այս «կենտրոնացված»` մեկ սերվերից կախված սկզբունքը արդյունավետ չէ: Օրինակ` այն պատճառով, որ եթե մեկ միլիոն մարդ ուզենա բեռնի միևնույն մեծ ֆայլը, սերվերը ստիպված պետք է մեկ միլիոն անգամ ուղարկի նույն ֆայլը, ինչը կազմակերպելը բավական բարդ է և թանկ: Մյուս կողմից բոլորովին անտեսվում է այն փաստը, որ այդ մեկ միլիոնը կարող են միմյանց մեջ փոխանակել այդ ֆայլի, թեկուզ, ինչ-որ կտորներ:
Վերջին տարիներին ստեղծվել են մի շարք “ապակենտրոնացված” համակարգեր, որոնք ավելի արդյունավետ են կազմակերպում ֆայլերի փոխանակությունը. դրանցից ամենատարածվածը BitTorrent կոչվող համակարգն է:
BitTorrent համակարգը
BitTorrent համակարգում ֆայլերի փոխանցմանը մասնակցում են բոլոր այն համակարգիչները, որոնք ունեն փոխանակվող ֆայլը կամ նրա մի մասը: Այդ համակարգիչները կոչվում են peer (ոչ մի տերմին չեմ թարգմանելու): Այն peer-ները, որոնք ունեն ֆայլը ամբողջությամբ, կոչվում են seeder, մյուսները` leecher:
Peer-ների մասին ինֆորմացիան պահվում է հատուկ տիպի սերվերներում, որոնք կոչվում են tracker: Tracker-ը ինչ-որ իմաստով կոորդինացնում է ֆայլի փոխանակությունը, սակայն այն չունի այդ ֆայլը և փոխանակմանը չի մասնակցում: BitTorrent համակարգով ֆայլերի փոխանակմանը մասնակցելու համար պետք է ունենալ հատուկ ծրագիր` Bittorent client:
Գոյություն ունեն բազմաթիվ BitTorrent client-ներ` բոլոր օպերացիոն համակարգերի համար: Դրանք տարբերվում են հարմարավետությամբ, user-interface-ով և որոշակի լրացուցիչ հնարավորություններով: Առաջին client-ը ստեղծել են BitTorrent համակարգի հեղինակները և անվանել նորից BitTorrent: Սակայն այժմ ավելի լայն տարածում ունեն µTorrent-ը և Vuze-ը:
Տվյալների փոխանակման պրոցեսը
Առաջին peer-ը, ով տարածում է ֆայլը (կամ ֆայլերի խումբը), ստեղծում է հատուկ .torrent ֆորմատի ֆայլ, որին անվանում են հենց torrent: Այդ ֆայլում գրվում է ինֆորմացիա փոխանակվող ֆայլերի, ինչպես նաև tracker-ի մասին: Ֆայլերը քաշելու համար օգտագործողը պետք է ունենա այդ .torrent ֆայլը, որը հիմնականում տեղադրվում է ինչ-որ կայքում: Գոյություն ունեն հարյուրավոր կայքեր, որոնք նախատեսված են այդ .torrent-ները գտնելու և բեռնելու համար: Բոլոր tracker-ները ունեն իրենց կից այդպիսի կայքեր (ինչպես օրինակ հանրահայտ thepiratebay.org, rutracker.org): Սակայն կան նաև կայքեր, որոնք չունեն իրենց tracker-ը և պահում են տարբեր tracker-ներին պատկանող .torrent-ներ (օրինակ` torrentz.com, isohunt.com):
Ի՞նչ է գրված .torrent ֆայլում
BitTorrent համակարգում ֆայլերը փոխանակվում են կտորներով (piece): Ֆայլերը բաժանվում են ֆիքսված չափսի piece-երի, որոնք կարող են լինել 32KB-ից մինչև 4MB (ընդ որում` մի piece-ում կարող են լինել միանգամից մի քանի ֆայլերի մասնիկներ): Յուրաքանչյուր piece-ի համար հաշվարկվում է նրա այսպես կոչված hash-ը: Hash-ը դա տվյալ կտորին համապատասխանող հատուկ թիվ է: Այն հաշվարկվում է այնպիսի ալգորիթմով, որ գործնականում անհնար լինի գտնել տարբեր բովանդակությամբ այնպիսի 2 կտորներ, որոնց նույն թիվը համապատասխանի: Դա հնարավորություն է տալիս գտնել տվյալների փոխանակման ժամանակ առաջացած սխալները, և սխալ բովանդակություն ունեցող կտորները չխառնել մյուս կտորներին:
.torrent ֆայլում, բացի tracker-ների մասին ինֆորմացիայից, պահվում են փոխանակվող ֆայլերի բոլոր կտորներին համապատասխանող այդ թվերը` hash-երը: Եթե բեռնված կտորի համար հաշվված hash-ը չի համապատասխանում .torrent ֆայլում գրված hash-ին, ապա այդ կտորը չեղյալ է համարվում (այս երևույթը կոչվում է hashfail):
Որքան մեծ լինեն piece-երի չափսերը, այնքան (տեսականորեն) մեծ կլինի տարբեր բովանդակությամբ կտորների hash-երի համընկնման, ուստի նաև` սխալվելու հավանակությունը: Բայց շատ մեծ ծավալի ֆայլերի և փոքր piece-երի դեպքում մեծ կլինի piece-երի քանակը, և .torrent ֆայլը կդառնա չափազանց մեծ:
Օգտագործողը քաշում է համապատասխան .torrent ֆայլը, բացում է այն իր ունեցած client ծրագրով և սկսվում է փոխանակությունը: Ծրագիրը կապվում է tracker-ի հետ, ստանում է peer-ների մասին ինֆորմացիա (նրանց IP հասցեները) և փորձում է կապվել նրանց հետ: Յուրաքանչյուր peer-ին ուղարկվում է հարցում` որոշակի կտոր ստանալու համար: Ամեն մի կտորի բեռնվելուց հետո այն ստուգվում է, և եթե ամեն ինչ ճիշտ է, կցվում է ընդհանուր բեռնվող ֆայլին: Որոշակի քանակությամբ կտորներ ունենալու դեպքում օգտագործողն ինքն արդեն կարող է այդ կտորները ուղարկել այլ peer-ների:
Այս սկզբունքով աշխատանքը հնարավորություն է տալիս ֆայլերը քաշել չափազանց մեծ արագությամբ և կախված չլինել մեկ համակարգչից (սերվերից): Սա նաև թույլ չի տալիս, որ համակարգիչներից մեկը գերծանրաբեռնվի` տրաֆիկը շատ ավելի հավասարաչափ է բաշխվում բոլոր peer-ների միջև:
Իրականում, շատ բան կախված է peer-ների ընտրության սկզբունքից: Ի՞նչ հերթականությամբ և ո՞ր peer-ներից քաշել կտորները, ո՞ր peer-ներին ուղարկել ունեցած կտորները: Հաճախ կիրառվում է «արդար առևտրի» սկզբունքը. client-ը ուղարկում է այն peer-ներին, որոնցից ստացել է այլ կտորներ: Սակայն այս դեպքում տուժում են այն client-ները, որոնք դեռ ոչինչ չունեն և չեն կարող որևէ կտոր ուղարկել: Այդ պատճառով անհրաժեշտ է, որ ինչ-որ կտորներ ուղարկվեն բոլորովին պատահական peer-ների:
Կտորների քաշելու հերթականությունը հիմնականում որոշվում է ըստ այդ կտորն ունեցող peer-ների քանակի. սկզբում բեռնվում են ավելի քիչ հանդիպող կտորները: Շատ client-ներ հնարավորություն են տալիս օգտագործողին ազդել ֆայլերի բեռնման հերթականության վրա: Կարելի է բարձրացնել ինչ-որ ֆայլերի արտոնության մակարդակը (priority) և դրանք (հնարավորության դեպքում) ավելի շուտ կբեռնվեն:



Ամեն ինչ շատ հեշտ է. սկզբից քաշում եք ծրագիրը 
Ամերիկական Jelfin ֆիրման ստեղծել է կոմպյուտերային մկնիկի նոր տեսակ, որը ունի գնդի տեսք և փափուկ է :
Jelfin gel covered mouse իրենից ներկայացնում է 6,5սմ տրամաչափով գունդ, որի 5 միլիմետրը պլաստմասայի հատուկ տեսակ է, որը փափկում է բարձր ջերմության պայմաններում: Արտադրողը պնդում է, որ նոր մկնիկի ձևը և ծածկույթը այն դարձնում են շատ ավելի հարմարավետ քան սովորական մկնիկն է: Նորույթը ունի 1000կետ/դույմ ճշտություն: Ունի 3 կնոպկա, համակարգչին միանում է USB ինտերֆեյսի միջոցով և վաճառվում է 5 տարբեր գույներով:


2015 թվականն է: Դուք բջջային հեռախոսի զարթուցիչը ծրագրել եք, որ առավոտյան ժամը ութին ձեզ արթնացնի: Սակայն զարթուցիչի ձայնային ազդանշանը հնչում է ժամը յոթին: Կմտածեք ինչպես կարող է 2015թ. Տեխնոլոգիաները նման վրիպում թույլ տալ: Անկասկած, դուք ճիշտ եք. Դա ոչ թե սխալմունք է, այլ ծրագրավորված նոր համակարգի գործունեության արդյունք:

