BitTorrent

Vikipediya, ochiq ensiklopediya
Navigatsiya qismiga oʻtish Qidirish qismiga oʻtish

BitTórrent: saytda harakatlanish, qidiruv inglizcha: "bit oqimi") — Internet orqali hamkorlikdagi fayllarni almashish uchun peer-to-peer (P2P) tarmoq protokoli.

Fayllar qismlarga boʻlinadi, har bir torrent mijozi ushbu qismlarni olish (yuklab olish), ayni paytda ularni boshqa mijozlarga etkazib berish (yuklash), bu esa har bir manba mijoziga yuk va qaramlikni kamaytiradi va maʼlumotlarning ortiqcha miqdorini taʼminlaydi.

Protokol Bram Koyen tomonidan yaratilgan boʻlib, Python tilidagi birinchi torrent mijozi BitTorrent, 4-aprel 2001 yozgan. Birinchi versiyaning ishga tushirilishi 2-iyul 2001-yilida boʻlib oʻtdi.

BitTorrent protokoli orqali fayllarni almashish uchun koʻplab mijoz dasturlari mavjud.

Metadata fayli[tahrir | manbasini tahrirlash]

Metadata fayli bencode formatidagi kengaytma bilan lugʻat hisoblanadi.torrent-tarqatish haqida maʼlumot (fayllar, Treklar va boshqalar) mavjud.)

Protokolning ishlash printsipi[tahrir | manbasini tahrirlash]

BitTorrent printsipi: fayl distribyutoridagi yuk mijozlar maʼlumotni darhol almashishni boshlaganligi sababli kamayadi, hatto fayl oxirigacha ularni toʻldirmasa ham.

Yuklab olishni boshlashdan oldin, mijoz torrent faylida koʻrsatilgan manzilga Trekga ulanadi, unga torrent faylining manzilini va Xash miqdorini bildiradi, bu esa mijozga bir xil faylni yuklab olish yoki tarqatish uchun boshqa mijozlarning manzillarini oladi. Bundan tashqari, mijoz vaqti-vaqti bilan jarayonning borishi haqida izdoshni xabardor qiladi va yangilangan manzillar roʻyxatini oladi. Bu jarayon eʼlon ().

Isteʼmolchilar bir-biri bilan bogʻlanishadi va fayl segmentlarini izdoshning bevosita ishtirokisiz almashadilar, bu faqat mijozlar almashinuvidan olingan maʼlumotlarni, mijozlarning roʻyxatini va boshqa statistik maʼlumotlarni saqlaydi. BitTorrent tarmogʻining samarali ishlashi uchun imkon qadar koʻproq mijozlar kiruvchi ulanishlarni qabul qilishlari kerak. Notoʻgʻri NAT sozlamalari yoki xavfsizlik devori bunga toʻsqinlik qilishi mumkin.

Ulanish vaqtida mijozlar darhol mavjud segmentlar haqida maʼlumot almashadilar. Segmentni (licher) yuklab olishni istagan mijoz soʻrov yuboradi va ikkinchi mijoz berishga tayyor boʻlsa, ushbu segmentni oladi. Shundan soʻng, mijoz segmentning nazorat miqdorini tekshiradi. Agar u torrent faylida yozilgan boʻlsa, segment muvaffaqiyatli yuklab olingan deb hisoblanadi va mijoz ushbu segmentning mavjudligi haqida barcha biriktirilgan bayramlarni xabardor qiladi. Agar nazorat miqdori boshqacha boʻlsa, segment qayta yuklab olinadi. Baʼzi mijozlar koʻpincha notoʻgʻri segmentlarni beradigan bayramlarni taqiqlashadi.

Shunday qilib, rasmiy maʼlumotlarning hajmi (torrent faylining hajmi va segmentlar roʻyxati bilan xabarlarning hajmi) toʻgʻridan-toʻgʻri segmentlarning soniga va shuning uchun kattaligiga bogʻliq. Shuning uchun, segmentni tanlashda balansga rioya qilish kerak: bir tomondan, segmentning katta miqdori bilan rasmiy maʼlumotlarning miqdori kamroq boʻladi, lekin nazorat summasini tekshirish xatosi boʻlsa, siz koʻproq maʼlumotni qayta yuklab olishingiz kerak boʻladi. Boshqa tomondan, kichik hajmdagi xatolar juda muhim emas, chunki kichikroq hajmni qayta yuklab olish kerak, ammo torrent faylining hajmi va mavjud segmentlar haqidagi xabarlar katta boʻladi.

Maʼlumot almashish algoritmi[tahrir | manbasini tahrirlash]

Har bir mijoz vaqtincha boshqa mijozga (). Bu qaytish kanalidan yanada samarali foydalanish uchun amalga oshiriladi. Bundan tashqari, kimni ochish kerakligini tanlayotganda, bu mijozga koʻplab segmentlarni topshirgan bayramlarga ustunlik beriladi. Shunday qilib, yaxshi qaytish tezligi bilan bayramlar bir — birlarini „siz — men, men-sen“tamoyili asosida ragʻbatlantiradi.

Segmentlar almashinuvi „siz — men, men — siz“ tamoyili boʻyicha ikki yoʻnalishda nosimmetrik tarzda amalga oshiriladi. Isteʼmolchilar bir-biriga ulanishda va keyin yangi segmentlarni olishda mavjud segmentlar haqida xabar berishadi, shuning uchun har bir mijoz boshqa bogʻlangan bayramlarning qaysi segmentlari haqida maʼlumot saqlashi mumkin. Birja tartibi birinchi navbatda mijozlar eng noyob segmentlarni almashadigan tarzda tanlanadi: bu esa tarqatishda fayllarning mavjudligini oshiradi. Shu bilan birga, eng noyob holatlar orasida segmentni tanlash va shuning uchun barcha mijozlar ishlashga salbiy taʼsir koʻrsatadigan bir xil noyob segmentni yuklab olishni boshlaydigan vaziyatdan qochish mumkin.

Maʼlumotlar almashinuvi har ikki tomon ham manfaatdor boʻlganda boshlanadi, yaʼni har bir tomon boshqa segmentlarga ega emas. Oʻtkazilgan segmentlarning soni hisoblab chiqiladi va agar tomonlardan biri oʻrtacha hisobda koʻproq narsani oʻtkazayotganini aniqlasa, u bloklanadi () bir muncha vaqt uchun boshqa tomonga qaytish. Shunday qilib, protokol licherlardan himoya qiladi.

Segmentlar 16-4096 kilobayt hajmidagi bloklarga boʻlinadi va har bir mijoz ushbu bloklarni talab qiladi. Bir vaqtning oʻzida turli segmentlardan bloklar talab qilinishi mumkin. Bundan tashqari, ayrim mijozlar turli bayramlarda bir segment bloklarini yuklab olishni qoʻllab-quvvatlaydi. Bunday holda, yuqorida tavsiflangan algoritmlar va almashinuv mexanizmlari bloklar darajasiga nisbatan qoʻllaniladi.

Oxirgi ishlash rejimi[tahrir | manbasini tahrirlash]

Yuklab olish deyarli tugallangach, mijoz end game deb nomlangan maxsus rejimga kiradi. Ushbu rejimda, barcha ulangan bayramlardan qolgan barcha segmentlarni talab qiladi, bu esa sekinlashuv yoki bir necha sekin mijozlar tufayli deyarli tugallangan yuklab olishni toʻliq „osib qoʻyishni“ oldini oladi.

Protokolning spetsifikatsiyasi mijoz „end game“ rejimiga qachon kirishi kerakligini aniqlamaydi, biroq umumiy qabul qilingan amaliyotlar toʻplami mavjud. Baʼzi mijozlar ushbu rejimga kiruvchi bloklar qolmagan boʻlsa, boshqalari — qolgan bloklar soni 20 dan kam boʻlsa-da. U erda kutilgan bloklari sonini saqlab qolish uchun eng yaxshi, deb bir noaniq fikr kam (1 yoki 2) redundancy kamaytirish uchun, va tasodifiy talab shu blok dublikat olish uchun kamroq imkoniyat[1][2].

Umumiy xususiyatlar[tahrir | manbasini tahrirlash]

  • Yuklab olish uchun navbatning yoʻqligi.
  • Fayllar kichik qismlarga pompalanadi; fragment kamroq mavjud boʻlsa, u tez-tez uzatiladi. Shunday qilib, toʻliq yuklab olish fayliga ega boʻlgan „Sider“ tarmogʻining mavjudligi ixtiyoriy — tizim „Pirs“ orasidagi segmentlarni taqsimlaydi, shuning uchun ular keyinchalik yoʻqolgan segmentlarni almashishi mumkin.
  • Mijozlar (bayramlar) segmentlarni toʻgʻridan — toʻgʻri bir — biri bilan almashadilar, „siz-men, men-sen“tamoyiliga koʻra.
  • Yuklab olingan qismlar boshqa mijozlarga darhol taqdim etiladi.
  • Har bir qismning yaxlitligi nazorat qilinadi.
  • Fragmentlar alohida fayllar emas, balki butun taqsimotni buzadi, shuning uchun faqat tarqatishdan baʼzi fayllarni yuklab olishni istagan „licher“ da fragmentlarning yaxlitligini saqlab qolish uchun koʻpincha ortiqcha (u uchun) maʼlumotlarning kichik miqdori saqlanadi.
  • Tarqatish ob’ekti sifatida bir nechta fayllar (masalan, katalogning mazmuni) boʻlishi mumkin.

Protokollar va portlar[tahrir | manbasini tahrirlash]

Mijozlar TCP protokoli orqali Izdoshga ulanadi. Eng koʻp ishlatiladigan izlovchi port: 6969. Mijozlarning kirish portlarining eng koʻp ishlatiladigan diapazoni: 6881-6889.

Port raqamlari protokolning spetsifikatsiyasida qayd etilmaydi va kerak boʻlganda oʻzgarishi mumkin. Hozirgi vaqtda koʻpchilik izdoshlar HTTP port 80-dan foydalanadilar va mijozlar uchun tasodifiy kirish portini tanlash tavsiya etiladi. Bundan tashqari, ayrim izdoshlar 6881-6889 standart oraligʻidagi mijozlar portlaridan foydalanishga ruxsat bermaydi, chunki baʼzi provayderlar ushbu port oraligʻidan foydalanishni taqiqlaydi.

BitTorrent mijozlaridagi DHT tarmogʻi UDP protokolidan foydalanadi.

Bundan tashqari, UDP protokoli UDPUDP-трекерами[en] (barcha mijozlar tomonidan qoʻllab-quvvatlanmaydi va protokolning rasmiy qismi emas) va UDP NAT Traversal orqali mijozlarni bir-biriga ulash uchun (faqat BitComet mijozida ishlatiladi va protokolning rasmiy qismi emas).

Kuzatuvchi[tahrir | manbasini tahrirlash]

Kuzatuvchi (inglizcha: tracker; /ˈtɹækə(ɹ)/) bu HTTP protokoli boʻyicha ishlaydigan maxsus server. Kuzatuvchi mijozlar bir-birini topishi uchun kerak. Aslida, izdoshlar ip-manzillarni, kiruvchi mijozlar portlarini va yuklab olish bilan shugʻullanadigan ob’ektlarni noyob tarzda identifikatsiyalashgan Xash summasini saqlaydi. Standartga koʻra, izdoshdagi fayl nomlari saqlanmaydi va ularni Xash miqdori boʻyicha bilish mumkin emas. Biroq, amalda, izdoshi koʻpincha asosiy funktsiyasidan tashqari kichik veb-server vazifasini ham bajaradi. Bunday server metadata fayllarini va tarqatilgan fayllarning tavsiflarini saqlaydi, turli fayllar uchun yuklash statistikasini taqdim etadi, ulangan bayramlarning joriy sonini koʻrsatadi va hokazo.

Kuzatuvchisiz ishlash[tahrir | manbasini tahrirlash]

Protokolning yangi versiyalarida bestreker () oldingi muammolarni hal qiladigan tizimlar. Bunday tizimlarda izdoshning muvaffaqiyatsizligi butun tarmoqning avtomatik qobiliyatsizligiga olib kelmaydi.

2015-yil oxirida ozod 4.2.0 rasmiy mijoz versiyasi bilan boshlab, DHT Kademlia asoslangan bestreker ish xususiyati amalga oshirildi. Bunday amalga oshirishda izdoshlar tarqatilgan Xash jadvali shaklida mijozlarga markazlashtirilmagan.

Hozirgi vaqtda barcha mijozlar bir-biriga mos keladigan protokoldan foydalanmaydi. BitComet, mTorrent, Deluge, KTorrent, Transmission, qBittorrent va rasmiy BitTorrent mijozi bilan mos keladi. Vuze (Azureus) shuningdek, notoʻgʻri ishlash rejimiga ega, ammo uning amalga oshirilishi rasmiylardan farq qiladi, buning natijasida DHT orqali yuqorida koʻrsatilgan mijozlar bilan ishlash mumkin emas. Biroq, Vuze uchun Mainline DHT plaginlari orqali standart DHT yordami mavjud.

BitTorrent-ni qoʻllab-quvvatlaydigan koʻp tomonlama mijozlardan foydalanganda izdoshsiz ishlash ham mumkin. Shareaza Gnutella2 tarmogʻi orqali boshqa qoʻllab-quvvatlanadigan tarmoqlarning, shu jumladan Bittorrentning xeshlari va manzillarini almashadi. GreyLink 6.0 BitTorrent-ni qoʻllab-quvvatlashni rejalashtirmoqda, Direct Connect tarmogʻi nafaqat TTH-ga aylantirish uchun, balki bayramlarni qidirish uchun ham ishlatilishi mumkin.

Torrent mijozisiz ishlash[tahrir | manbasini tahrirlash]

Torrent tarmoqlarida fayllarni olish va tarqatish uchun maxsus dasturlardan foydalanish shart emas. Faqat brauzer yordamida fayllarni yuklab olish imkonini beruvchi bir nechta xizmatlar mavjud[3].

Metadata fayllarida qoʻshimcha manbalar va ixtiyoriy xeshlar kabi qoʻshimcha maʼlumotlarga ega boʻlish metadata faylidan foydalanishga imkon beradi.torrent Metalink, MAGMA, fayl roʻyxati (toʻgʻridan-toʻgʻri ulanish) formatlariga oʻxshash. Shareaza mijozi boshqa tarmoqlarda muqobil manbalarni topish uchun ixtiyoriy xeshlardan foydalanadi.

Veb-saytlar[tahrir | manbasini tahrirlash]

Foydalanish holatlaridan biri veb-sayt deb ataladi. Baʼzan turli sabablarga koʻra serverda toʻliq torrent dasturini ishga tushirish mumkin emas. Bunday holda, tarqatish manbai http protokoli boʻyicha ishlaydigan serverdir. Qoida tariqasida, mijozlar boshqa BitTorrent mijozlar uchun afzal va faqat kerak boʻlsa web-Sid murojaat. BEP0017 bittornado style webseeding, BEP0019 GetRight style webseeding va External Sourcing, ularning har biri amalga oshirish tafsilotlari bilan farq qiladigan ushbu foydalanish holatining kamida uchta usulda amalga oshirilganligini bilishingiz kerak.

Birinchi marta BitTornado yaratgan jon „TheSHAD0W“ Hoffman tomonidan yaratilgan[4]. 5.0 versiyasidan boshlab, BitTorrent mijozi veb-saytlardan yuklab olish va yuklab olishni qoʻllab-quvvatlaydi, torrent veb-saytlarining nashrlarini yaratadigan oddiy vosita yaratildi. 1.7 versiyasida veb-saytlarni olish uchun mTorrent-ga yordam qoʻshildi. BitComet 1.14 versiyasida veb-saytlarni olish uchun qoʻshimcha yordam beradi.

BTIH (BitTorrent Info Hash)[tahrir | manbasini tahrirlash]

Bu metadata faylidan SHA-1-Xash maydon maʼlumoti. Ushbu Xash magnit bogʻlanishlarda, shuningdek Izdoshda va mijozlar orasida identifikatsiyalash uchun ishlatiladi. Metadata faylini Izdoshga yuklaganingizda, uning Info Hash oʻzgarishi mumkin, chunki izdoshi info maydonini oʻzgartirishi mumkin, bu esa maxsus tarqatish bayrogʻini oʻrnatishi yoki info ichidagi maydonlarni oʻzgartirishi/qoʻshishi mumkin. Shuning uchun yana metadata faylini yuklab olishingiz kerak (fayl.torrent) kuzatuvchidan va mijozga qoʻshing[5].

BTC-aloqa[tahrir | manbasini tahrirlash]

Quyidagi shaklda koʻrsatiladi:

btc: / / [manzil]: [Port] / [Peer ID] / [BTIH ]

Ushbu turdagi aloqa tarqatish va uning manbasiga ishora qiladi. Shareaza-da qoʻllab-quvvatlanadi.

Kamchiliklar va cheklovlar[tahrir | manbasini tahrirlash]

Tarqatish mumkin emas[tahrir | manbasini tahrirlash]

Tarqatish ommabop boʻlmasa, bitta Sid boʻlmasa va hozirgi bayramlardagi maʼlumotlar yuklab olishni yakunlash uchun etarli boʻlmasa, vaziyat boʻlishi mumkin. Bunday holda, Sid yoki bayramning paydo boʻlishini kutish kerak, qolgan qismlardan mahrum boʻlgan segmentlar mavjud. Boshqa yoʻl bilan olingan fayllarning nusxalarini ham ishlatishingiz mumkin. Uzoq vaqt davomida hech qanday Sid boʻlmagan taqsimot „oʻlik“deb ataladi.

[6]: saytda harakatlanish, qidiruv

Anonimlik va shaxsiylashtirishning yoʻqligi[tahrir | manbasini tahrirlash]

BitTorrent protokolining ishlash printsipi har bir mijozning IP-manzillarini serverdan olingan kamida boshqa mijozlarga maʼlum ekanligini anglatadi. Baʼzi hollarda turli xil protokol kengaytmalaridan foydalanish Roydan boshqa bayramlarning manzillarini ham bilish imkonini beradi. Shuning uchun:

  • Maʼlum zaifliklarga ega boʻlgan himoyalanmagan tizimlar va mijozlar foydalanuvchilari hujumga duch kelishi mumkin.
  • Muayyan faylni uzatuvchi yoki qabul qilgan foydalanuvchilarning manzillarini bilish mumkin.

Anonimlik bilan muammo Tor[7]. BitTorrent-Vuze mijozi ushbu anonim tarmoq uchun oʻrnatilgan dasturiy taʼminotga ega. Lekin bu usul 100 % samarali emas[8].

Boshqa tomondan, protokol taxalluslardan foydalanishni oʻz ichiga olmaydi. Bayramlar orasida hech qanday suhbat yoʻq. Pir fayllari roʻyxatini koʻrish mumkin emas (qiziqish boʻlishi mumkin boʻlgan boshqa fayllarni qidirishda). Ushbu funktsiyalarning aksariyati boshqa protokollarda (masalan, Direct Connect) amalga oshiriladi.

Licherlar muammosi[tahrir | manbasini tahrirlash]

Baʼzi foydalanuvchilar, ayniqsa, roʻyxatdan oʻtishni talab qilmaydigan izdoshlarda, yuklab olish tugallangandan soʻng tarqatishni qoʻllab-quvvatlamaydi, bu esa umumiy ishlashning pasayishiga olib keladi, shuning uchun baʼzi torrent izdoshlari yuklab olingan/berilgan miqdorlarni hisobga oladi va mijoz tomonidan berilgan maʼlumotlarning hajmiga qarab yuklab olish uchun ruxsat beradi.

Trafikni aniq hisobga olishning yoʻqligi[tahrir | manbasini tahrirlash]

Koʻpgina tijorat ommaviy axborot mazmunini tarqatish protokollaridan farqli oʻlaroq, protokol arxitekturasi tarmoq nuqtalari orasidagi trafikni hisobga olish va nazorat qilishning aniq mexanizmini taʼminlamaydi. Bularning barchasi — mijozlar oldingi eʼlondan boshlab maʼlumotlarni yuklab olish/yuklab olishda hisobga olingan baytlar sonini eʼlon qilishda etkazib beradigan downloaded va uploaded joylari. Biroq, mijozdan boshqa hech kim tomonidan nazorat qilinmasdan, ular osongina oʻzgartirilishi mumkin. Buni amalga oshirish uchun foydalanuvchilar ushbu maydonlarning qiymatlarini URI izdoshlarida statik ravishda belgilaydilar, mijozlar yoki alohida dasturlar uchun yamoqlardan foydalanadilar (RatioMaster, GiveMeTorrent, GreedyTorrent va boshqalar) yoki izdoshdan tarmoq nuqtalari roʻyxatini olganidan soʻng darhol mijozdan Izdoshga kirishni olib tashlashadi. Bularning barchasi koʻplab xususiy va jamoat kuzatuvchilari maʼmuriyati tomonidan yaratilgan sunʼiy cheklovlarni chetlab oʻtishga imkon beradi.


Terminologiya[tahrir | manbasini tahrirlash]

  • Eʼlon (muallif mualliflik maʼlumotlarni tekshirish mumkin muallifi sekin nomi bilan yuqorida berilgan foto uchun original sahifaga sizni olib boradi. Har bir eʼlon bilan, mijoz Izdoshga yuklab olingan va berilgan hajmlari haqida maʼlumot beradi va kuzatuvchi mijozga boshqa mijozlarning manzillar roʻyxatini yuboradi. Mijozni Izdoshga aylantirish mijozning va izdoshning sozlamalari bilan belgilanadigan muayyan vaqt oraligʻida amalga oshiriladi.
  • Veb-LED-HTTP yoki FTP-server, maʼlumotlar manbai sifatida ishlatiladi, oddiy sidlar bilan bir qatorda
  • Mavjudligi () — mijozga taqdim etilgan faylning toʻliq nusxalari soni. Har bir LED bu raqamga 1,0 qoʻshib qoʻyadi; licherlar boshqa licherlar boʻlmagan yuklab olinganlarning soniga qarab mavjudligini oshiradi. Misol uchun, agar tarqatish faylning 50 % (yuklab olingan qismlar bir-biriga teng) tomonidan yuklab olingan bir LED va ikkita licher boʻlsa, unda mavjudlik 1,50 ga teng.
  • Oʻtish: saytda -buzilgan, quritilgan) — mijoz, maʼlumotlar almashinuvi toʻxtab qoldi. Yoki chiqish uchun uning kanali butunlay tiqilib qoladi va u hech narsa qila olmaydi (max_uploads-ga etib boradi) yoki u Sid va hech narsa olishning hojati yoʻq.
  • Manfaatdor () — boshqa ishtirokchidan mavjud boʻlgan fayl qismlarini olishni istagan ishtirokchi. Misol uchun, agar mijoz b mijoziga ega boʻlmagan qismlarga ega boʻlmasa, a mijozi B mijozi bilan almashishdan manfaatdor deb hisoblanadi.
  • Haddan tashqari-Pirom yoki Sid tomonidan yuborilgan maʼlumotlar, lekin qabul qiluvchi ularga kerak emas. Ortiqcha ham xato hash oʻz ichiga oladi.
  • Index () — bu roʻyxat.torrent fayllari (odatda tavsiflar va boshqa maʼlumotlarni oʻz ichiga oladi), veb-sayt (indexer) tomonidan boshqariladi va qidirish mumkin. Indeksli sayt odatda notoʻgʻri izlovchi deb ataladi.
Licher va uning guruhi.

BitTorrent v2[tahrir | manbasini tahrirlash]

BitTorrent protokoli boʻyicha ikkinchi versiya 2008-yildan beri davom etmoqda. Protokol SHA1-2 foydasiga toʻqnashuvlarni tanlash bilan bogʻliq muammolarga ega SHA256 algoritmidan foydalanishdan voz kechdi. SHA2-256 maʼlumotlar bloklarining yaxlitligini nazorat qilish va DHT va izdoshlar bilan mosligini buzadigan indeks yozuvlari (info-dictionary) uchun ham qoʻllaniladi. SHA2-256 xeshlari bilan torrentlarga magnit havolalar uchun „urn:btmh:“ (SHA-1 va gibrid torrentlar uchun „urn:btih:“) yangi prefiksi taklif etiladi.

Xash funktsiyasini almashtirish protokolning mosligini buzganligi sababli (20-bayt oʻrniga 32-baytli aralash maydon) BitTorrent v2 spetsifikatsiyasini ishlab chiqish dastlab orqaga qarab mos kelmasdan amalga oshirildi va torrent fayllari hajmini kamaytirish va merkle Xash daraxtini yuklab olingan bloklar darajasini tekshirish uchun indekslarda ishlatish kabi tarkibga boshqa muhim oʻzgarishlar kiritildi.

BitTorrent v2-dagi oʻzgarishlar har bir faylga individual Xash daraxtlarini bogʻlash va fayllarni bir-biridan ajratish imkonini beradi, bu esa bir xil fayllar (har bir fayldan keyin qoʻshimcha toʻldirishsiz) mavjud boʻlganda maʼlumotlarni takrorlashdan xalos boʻlishga imkon beradi va turli xil fayllarni identifikatsiyalashni osonlashtiradi. Torrentda katalog strukturasini kodlash samaradorligi oshdi va koʻplab kichik fayllarni boshqarish uchun optimallashtirish qoʻshildi.

BitTorrent v1 va BitTorrent v2 birgalikda yashashni yumshatish uchun SHA-1 xeshlari, SHA2-256 indekslari bilan tuzilgan tuzilmalarga qoʻshimcha ravishda gibrid torrent fayllarini yaratish qobiliyati amalga oshirildi. Ushbu gibrid torrentlar faqat BitTorrent v1 protokolini qoʻllab-quvvatlaydigan mijozlar bilan ishlatilishi mumkin. Bundan tashqari, WebTorrent protokolini qoʻllab-quvvatlash uchun ishlab chiqilgan[9]. SHA-1-dan oʻtish DHT tarmoqlarida, izlovchilarda (20 ta belgiga qattiq maʼlumot uzunligi yozilgan) mos kelmasligi hosil qiladi. Mosligini yoʻqotmaslik uchun birinchi marta SHA-1 va SHA-256 ni tekshirish mumkin, bu esa eski BitTorrent v1 protokoli, SHA-256 dan 20 ta belgigacha[10] mos kelmaydigan 32-belgilarni kamaytiradi.

Eslatmalar[tahrir | manbasini tahrirlash]

Manbalar[tahrir | manbasini tahrirlash]