Jewsus
Jewsus
خواندن ۱۰ دقیقه·۴ سال پیش

تورنت: چی، چرا و چگونه | 2

قسمت اول رو اینجا می‌تونین بخونین. این هم قسمت دومه برای کسایی که حوصله بیشتری دارن?

https://virgool.io/@Nitwit/%D8%AA%D9%88%D8%B1%D9%86%D8%AA-%DA%86%DB%8C-%DA%86%D8%B1%D8%A7-%D9%88-%DA%86%DA%AF%D9%88%D9%86%D9%87-1-oqsxwxpywfdk
دوباره، محض خوشگلی.
دوباره، محض خوشگلی.


دنیای دیجیتال دور و بر ما خیلی ساله که مبتنی بر شبکه ها کار می کنه. از مودمی که تو خونه دارین تا همین سایتی که دارین این رو میخونین و گیم‌نتی که توش با دوستاتون بازی می کنین. مثل آدم ها، کامپیوتر ها و وسایل دیجیتال هم وقتی کنار همدیگه هستن و با هم کار می‌کنن قوی‌ترن و قابلیت های بیشتری دارن؛ پس چرا که نه?‍♂

computers together strong.
computers together strong.

چیزی که جذاب‌تره نحوه کار این شبکه هاست. برای آشنا شدن با نحوه کار تورنت اول از همه باید انواع شبکه ها رو بدونیم(از لحاظ توپولوژی! چرا که متغیرهای مختلفی وجود دارن که دسته بندی های زیادی رو براساس اون متغیر ها به وجود میارن؛ مثل اندازه شبکه و غیره).

معنی دقیق‌تر
معنی دقیق‌تر

منظور از توپولوژی هم محل قرارگیری(نقشه‌ی) دستگاه های موجود توی شبکه با توجه به کاربرد(وظیفه)هاشون و نحوه ارتباطشون با همدیگه اس(مثل ترکیب چیدن‌هایی مثل 4-4-2 و 4-3-3 توی فوتبال). توپولوژی های متعددی داریم که شکل زیر می‌تونین ببینین).

فعلا فرض کنین هر عضو یه شبکه یا خدمتی رو دریافت میکنه یا ارائه میده؛ و گاهی اوقات هر دو!
مثل یه اداره که هر کسی که توی ساختمون حاضره، یا کارمنده و داره کار بقیه رو میرسه یا مشتریه و اومده تا به کارش رسیدگی بشه.
تو برخی موارد خود کارمند هم ممکنه کار بانکی داشته باشه و بره به یه بانک تا به حسابش پول واریز کنه.
همچنین هیچ کسی واسه وقت گذروندن و هوا خوردی نمیره تو بانک یا اداره، حتما کاری داره که اومده. پس هیچ عنصری تو شبکه نیست که نه سرویسی بگیره و نه بده.
حالا! به عنصری که سرویس دریافت میکنه میگیم کلاینت (مهمان) و به عنصری که خدمت رسانی میکنه میگیم سرور (میزبان).
انواع توپولوژی‌ها
انواع توپولوژی‌ها

شبکه‌ای که بیشترین کاربرد رو (حداقل واسه ما کاربرهای معمولی) داره، اینترنته که یه شبکه سرور/کلاینت محور هست. به این معنی که یه نفری به عنوان مشتری میاد، مثلا میگه میخوام اخبار امروز رو بخونم. این درخواست میره تا برسه به یه کامپیوتری، یه جای دنیا، و اون کامپیوتر این درخواست رو میزبانی میکنه و به کار مشتری رسیدگی میکنه.

برای یه مثال ملموس‌تر همین متنی که دارین میخونین رو تصور کنین که توی یه کامپیوتری ذخیره شده و در حال نشون داده شدن به شماست. یا وقتی چیزی دانلود میکنین، یا هر چی. این محدود بودن اینترنت به سرور/کلاینت محور بودن باعث شد تا بعضیا بیان و شبکه خودشون رو به وجود بیارن.

نوع دیگه ای از توپولوژی شبکه وجود داره که هر عنصری، هم کلاینته و هم سرور! مثل یه کارخونه که همه کارکنانش به حرف همدیگه گوش میکنن تا به هدف مشترکشون برسن. هرچند این وسط یه مدیر لازمه تا بهشون رسیدگی کنه. هرچند این مدیر نقش اجرایی نداره و فقط لیست میکنه که کدوم کارگر رو کدوم کارگر دیگه ای صدا زده. یا مثلا وقتی یه نفر کمک لازم داره، بهش میگه چه کسایی مورد مناسبی واسه این کار هستن. این ناظر همه اطلاعات رو تو یه کاغذ مینویسه و نگهداری میکنه.

اسم این توپولوژی نقطه به نقطه (یا نظیر به نظیر یا peer to peer یا point to point یا مختصرا p2p) هست) که تورنت(نکته بی ربط: بلاک چین هم) بر اساس این توپولوژی کار میکنه.

کارخونه کل شبکه p2p ماست، کارگرها کاربرهای تورنت هستن. اسم اون کاغذ که اطلاعات کارگرا توش نوشته شده مگنت magnet هست که هر کسی میتونه واسه خودش یه کپی داشته باشه و استفاده کنه تا بتونه بهترین تصمیم رو بگیره. اون مدیر ناظر هم اسمش سوپرنود super node هست و با سایر هم رده های خودش ارتباط داره و اطلاعاتی که لازم دارن و تبادل میکنن و هر دفعه کاغذهاشونو چک میکنن که با هم یکی باشن تا اشتباهی پیش نیاد(مثلا اگه یه کارگر پاش شکست، همه مدیر ها باید این رو تو کاغذ داشته باشن تا دفعه بعد که یه نفر درخواست "یه کارگر برای بلند کردن بار سنگین" داد، اون رو پیشنهاد نکن؛ چون پاش شکسته و نمی‌تونه).

اگه قسمت قبل رو خوندین(یا میدونین از قبل)، استفاده از piratebay و کلیک کردن روی هر لینکی که امکان دانلود یه فایل (تحت تورنت) رو بهتون میده، کار خیلی خاصی نیست. فقط همون مگنت رو دانلود میکنه که یه فایل یکی دو کیلوبایتیه. یعنی از یه مدیر ناظر که دم دسته، کاغذ رو دانلود میکنه تا شما بتونین به اطلاعات هر کارگری که مناسب کارتون هست دسترسی داشته باشین.

نکته آخر اینه که هیچکدوم از کارگرا هیچ کاری رو از اول تا آخر انجام نمیدن؛ بلکه هر کدوم یه قسمت خیلی کوچیکی رو (معمولا حتی بدون ترتیب زمانی!) انجام میدن. چون ممکنه حین انجام (قسمتی از) یه کار خلاف دستگیر بشن، خسته بشن یا اصلا نخوان! چون تصمیم با خودشونه که کار بکنن یا نه.

هر کارگر میتونه کار کنه و همونقدر که سرویس میگیره سرویس بده و سودی که از کارخونه برده رو به افراد داخل کارخونه برسونه و همونقدر مفید باشه؛ همچنین میتونه بشینه و مفت خوری کنه؛ ولی شما ازون نوعش نباشین؛ منم سعی می‌کننم نباشم. :)

یه نمونه از ساز و کار تورنت اینجوری میتونه باشه که

  1. من به عنوان کاربر وارد شبکه میشم و میگم میخوام فلان فایل رو دانلود کنم.
  2. مگنت اون فایل رو با کمک دم‌دست‌ترین مدیر ناظر دانلود میکنم.
  3. الان میدونم چه کسی چه قسمتی از فایل مورد نظرم رو رو کامپیوترش داره. پس به مدیر ها درخواست میدم که با مدیر من هماهنگ شن تا کارگرهاشون کمکم کنن.

    فرضا فایلی که میخوام دانلود کنم فیلم باشه. ممکنه 55 نفر باشن که این فایلو قبلا دریافت کرده ان (حتی ناقص! مثلا اگه تا دقیقه 50 رو دانلود کرده، میتونه هر بازه ای از 0 تا 50 رو واسه من بفرسته)، و گفتن که میخوایم در آینده کمک کنیم(البته "نمیخوام کمک نکنم" هست بیشتر؛ چرا که سیستم پیش فرض شما رو نگه میداره، مگراینکه بگین نمیخوام و برین بیرون). نفر اول ممکنه دقیقا 3 تا 18 رو بهم بده، نفر دوم دقیقه 0 تا 3، نفر سوم دقیقه 45 تا 65، و همینطور تا آخر. تو روند انجام کار ممکنه بعضی افراد شونه خالی کنن و کار رو ترک کنن؛ و برعکس ممکنه افراد جدیدی اضافه بشن. اما هدف هر کسی که داخل این پروسه قرار میگیره یه چیزه: به اشتراک گذاشتن اون فایل؛ اینکه هممون دستمون به اون فایل برسه. درباره سرعت هم اینکه اگه 55 نفر براتون با سرعت 2kb/s فایل بفرستن میشه 110kb/s. اینجوری به کمک کننده ها اصلا فشار نمیاد ولی دریافت کننده مقدار قابل توجهی سرویس دریافت میکنه.
  4. مدیر تیکه هایی قراره به اشتراک گذاشته بشن رو مدیریت میکنه و تیکه تیکه دانلود میکنه(حتی کیلوبایت کیلوبایت). همزمان وضعیت کارگر ها رو هم با سایر مدیر ها هماهنگ میکنه(مثلا اگه کس جدیدی بیاد یا کسی که بود، شبکه رو ترک کنه).
  5. بعد از تموم شدن دانلود، تموم تیکه ها رو یکی میکنه و فایل رو واسم توی قسمتی از حافظه(که همون اول، درجا بعد از دانلود مگنت رزرو کرده بود) ذخیره میکنه.
خود مدیر ها هم ممکنه کارگر باشن. برابری برای همه!
خود مدیر ها هم ممکنه کارگر باشن. برابری برای همه!

اگه یاتون باشه تو قسمت قبل گفتم از ستون سوم فقط این رو بدونین که هر چی SE عدد بزرگتری باشه، سرعت بیشتری خواهید داشت. SE یعنی seeders، یعنی کسایی که seed میکنن، یعنی تعداد کارگرهایی که قراره کمکتون کنن. هر چی بیشتر، سریعتر. مثلا با فرض سرعت ثابت، اگه 50 تا سیدر داشته باشین سرعت دانلودتون 50 تا 2kb/s یعنی 100kb/s هست ولی اگه 5 تا داشته باشین سرعتتون فقط به 10kb/s میرسه.
همچنین LE یعنی leechers، یعنی کسایی که leech میکنن. یعنی هر کسی که تا حالا از این مگنت استفاده کرده و اون فایل رو کامل دانلود کرده(حالا یا کمک میکنه یا نه. چه بسا شخص مورد نظر 10 سال پیش از این مگنت استفاده کرده باشه یا حتی مرده باشه یا هر چی :) ). واسه همین همیشه(تقریبا همیشه؟ من که غیر از این ندیده‌ام) LE > SE هست.

چطور مفت خور نباشیم؟

بعد از اتمام دانلود، برنامه خود به خود شما رو به لیست "افرادی که مایل به کمک کردن هستن" اضافه میکنه. هرچند ارسال فایل با سرعت خیلی کم انجام میشه؛ در حدی که اصلا متوجه نمیشین، مثلا 2kb/s (که باز میتونین تغییرش بدین از تو تنظیماتتون). کل فرهنگ و ایده تورنت روی "همکاری" میچرخه و واقعا اگه چیزی که گرفتین رو به اشتراک نذارین کسی کاری بهتون نداره و کاملا آزادین؛ ولی ترجیح اینه که اگه از یه مجموعه ای کمکی دریافت کردیم سعی کنیم جبران کنیم.

برای انجام این کار کافیه بعد از اینکه یه دانلود تموم شد، از تو لیست حذفش نکنین(یا Stop نکنینش) و بذارین همینجوری 2kb به 2kb دنیا رو قشنگتر بکنه :) )

یه کاربر خیلی بافرهنگ که تورنت هایی که تموم شدن رو از لیست پاک نکرده و برای بقیه seed میکنه
یه کاربر خیلی بافرهنگ که تورنت هایی که تموم شدن رو از لیست پاک نکرده و برای بقیه seed میکنه


چطور ارسال فایل رو متوقف کنیم؟

نکنین؛ ولی:

این کلاینت‌های تورنت(مثل utorrent، همین برنامه‌ای که دانلود کردیم و عکسش این بالا هست^) مگنت ها رو لیست می‌کنن. هر وقت یه فایل رو کامل دانلود کردین، دیگه چیزی واسه گرفتن ندارین پس فقط به عنوان فرستنده ازتون استفاده می‌کنه و اونجایی که نوشته بود Downloading، می‌نویسه Seeding. یعنی دارین به عنوان سیدر فعالیت می‌کنین. این کار اتوماتیک انجام می‌شه و لازم نیست کاری بکنین.

هرچند می‌تونین قطعش کنین. کافیه رو همون مگنت کلیک راست کنین و Stop رو بزنین که دیگه ارسال نکنه(اگه هنوز دانلود کامل نشده، عملیاتِ دانلود رو قطع میکنه! مشخصه.(نیست؟)) همچنین اگه فایل رو از پوشه(ای که توش دانلود شد،) منتقل کنین به یه جای دیگه، یا اینکه حذفش کنین هم دیگه ارسال نمی‌شه(چیزی نیست چون، که ارسال بشه)


توی کشورهای غربی(نه غرب جغرافیایی. غربِ درست-حسابیایی) این کار دزدیه؛ و خب واقعا هم هست! نقض عینی کپی‌رایته ولی خب یه عده هم در مقابل معتقدن sharing is caring!

asking for a friend
asking for a friend

کلمه pirate یعنی دزد دریایی و به این کار piracy گفته میشه (دزد دریاییدن؟ همون?) piratebey هم یعنی خلیج دزدهای دریایی که مثلا ما دزدای دریایی برای داد و ستد چیزایی که داریم میریم اونجا. اسمش هم از pirate radio اومده که به رادیوهای غیرقانونی گفته میشه.

تو هر کشوری یه سری از محدوده های فرکانس آزاده. مثلا از 88 تا 108 مگاهرتز به رادیو-fm اختصاص داره. نکته اینکه قسمت بزرگی از این محدوده ها آزاده ولی ما به عنوان شهروند حق استفاده ازش رو نداریم. راستش دریافت اطلاعات مشکلی نداره ولی فرستادن اطلاعات جرمه. حالا یه سری میومدن این " خلاف" رو انجام میدادن و واسه خودشون رادیو درست میکردن و توی موج مشخص میفرستادن.
نکته بی ربط: پانک راک هم همینجوری به وجود اومد؛ از رادیوهای غیرقانونی. اگه کنجکاوین اولین آهنگ های گروه Television رو بشنوین و گوگل کنین left of the dial و college rock.

اولین جرقه های piracy آنلاین توسط Napster و تو دهه 90 زده شد که تقریبا نسخه قدیمی همین تورنت خودمون بود(حالا یه جور نگم که انگار یادمه?) که آخر سر متالیکا ازشون شکایت کرد و کلکش کنده شد(البته نه کاملا! هنوزم فعالن?). باز اگه کنجکاوین گوگل کنین Metallica vs. napster lawsuit.

این طرز فکر که "به اشتراک گذاشتن منابع برای همه اقشار جامعه، چیز مفیدی برای کلیت اون جامعه هست" خیلی فراتر از دانلود قسمت جدید سریال مورد علاقه اتونه و نقش خیلی پررنگی توی فعالیت های اجتماعی و سیاسی داره(به نظر من یکم کمونیست میزنه ولی خب، POWER TO THE PEOPLE؛ چرا که نه?). دزدای دریایی حزب سیاسی خودشون رو تو خیلی کشورها(گوگل کردم، بیشتر از اونیه که فکر میکردم:)) ). میتونین اینجا بیشتر درباره حزبشون بخونین. همچنین اینجا درباره pirate party توی آمریکا(که قطعا مهمتر، بزرگتر و جدی تره). دزدای دریایی حتی کلیسای مخصوص خودشون رو هم دارن و ازدواج هایی رو هم با رسوم خودشون انجام میدن!(این یکی رو منبع ندارم ولی چند سال پیش تو یه پادکست شنیدم. همونقدر معتبره که حافظه بلند مدت من)

سایت piratebay به کرّات توسط سازمان ها و انجمن های حامی تولیدکننده و مقابله با نقض کپی رایت فیلتر میشه(حداقل یه دلیلی دارن واسه فیلتر؛ غر نزنین) و واسه همین هر دفعه پراکسی های جدید براش درست میشه. نتیجه زودهنگام اینکه وقتی یه ایده به وجود میاد که به نظر میاد مورد نیاز جامعه هست، از بین بردنش به این راحتیا نیست. اگه دوست دارین بیشتر بخونین که چرا از بین بردنی نیست این رو بخونین. هرچند اگه اخبار رو دنبال کنین با یه نمونه زنده مواجه میشین: پاک کردن ریپوزیتوری youtube-dl(یه برنامه برای دانلود از یوتیوب؛ همونجوری که از اسمش معلومه) از گیتهاب توسط RIAA(که شاخ ترینِ همون "سازمان ها و انجمن های حامی تولیدکننده و مقابله با نقض کپی رایت" ای هست که گفتم. در مقابل و به عنوان اعتراض خیلی از توسعه دهنده ها آهنگ ها piracy شده رو توی مخازنشون روی گیتهاب گذاشتن و صدها کپی از همون برنامه ساختن. حالا کار حتی سخت تر شده چون چه بسا افرادی که در این باره نشنیده بودن هم خبردار شده ان و میدونن میتونی کپی خودشون رو بسازن. حتی تو یه مورد کل سورس کد گیتهاب، روی خود گیتهاب لو رفت!

حتی تو یه مورد کل سورس کد گیتهاب، روی خود گیتهاب لو رفت!
حتی تو یه مورد کل سورس کد گیتهاب، روی خود گیتهاب لو رفت!



نتیجه ای که میشه گرفت اینه که جلوی مردم رو نمیشه گرفت. اگه یه جامعه معتقد باشه یه چیزی حق مسلمشه، نمیشه با سانسور و دادگاه پاسگاه جلوشو گرفت. یکی بشه، دوتا بشه. 10 هزار تا و یه میلیون رو که نمی‌شه. همونجوری که از موقع به وجود اومدن تورنت دارن شکایت میکنن و سایت هاشون رو میبندن ولی من و شما قراره حالا حالا ها ازش استفاده کنیم?

آپدیت 26 آبان، یک هفته بعد نوشته شدن: رپیوزیتوری youtube-dl دوباره روی گیتهاب قرار گرفت. بیشتر

اینترنتکامپیوترآزادیسانسورکپی رایت
توضیحات لازمه
شاید از این پست‌ها خوشتان بیاید