سه شنبه, ۱۱ اردیبهشت, ۱۴۰۳ / 30 April, 2024
مجله ویستا

بیت‌تورنت به زبان ساده…


بیت‌تورنت به زبان ساده…
«بیت‌تورنت» یا «بیت‌تارنت» تلفظ تحت‌الفظی كلمه‌ی BitTorrent است كه از دو كلمه‌ی Bit ؛كه همان بیت است و Torrent ؛ به معنی رگبار و سیلاب ساخته شده است.
اما بیت‌تورنت چیست و به چه دردی می‌خورد؟ بیت‌تورنت در واقع نام یك پروتكل تشریك یا به اشتراك‌گذاری فایل‌هاست كه بر طبق موازین آن می‌توان این فایل‌ها را در بین تمام اعضای یك شبكه‌ی منزل به منزل توزیع نمود. (شبكه‌ی منزل به منزل تنها شبكه‌ای است كه اختلاف طبقاتی در آن وجود ندارد و صلاحیت و اعتبار هر عضو آن به اندازه‌ی سایر اعضا و همسایگان او در شبكه است. كلیه‏ی اعضای این شبكه در یك تراز قرار می‌گیرند و شانه به شانه‌ی هم در داد و ستد فایل‌ها مشاركت می‌نمایند.)
شبكه‌ی منزل به منزل تنها شبكه‌ای است كه اختلاف طبقاتی در آن وجود ندارد و صلاحیت و اعتبار هر عضو آن به اندازه‌ی سایر اعضا و همسایگان او در شبكه است. كلیه‏ی اعضای این شبكه در یك تراز قرار می‌گیرند و پهلو به پهلوی هم در داد و ستد فایل‌ها مشاركت می‌نمایند.
مفهوم بیت‌تورنت به وسیله‌ی برنامه‌نویسی به نام «برام‌كوهن» اختراع گردید. این آدم نابغه ، بیت‌تورنت را به این دلیل طراحی كرد تا حجم عظیمی از داده‌ها را بدون آن‌كه منابع عرضِ باند و توان میزبان‌ها را مصروف خود نمایند، در سطحی وسیع و در حجمی انبوه، توزیع نموده و در اختیار همه قرار دهد. به همین خاطر، در حال حاضر ترافیك مبتنی بر بیت‌تورنت تقریباً ۳۵ درصد كل ترافیك اینترنت را به خود مشغول كرده است.
نرم‌افزار اصلی بیت‌تورنت به زبان «پیتون» نوشته شد و از آن‌جا كه صورت برنامه‌ی آن تحت گواهینامه‌ی منابع آزاد بیت‌تورنت منتشر گردید، خیلی‌ها بخت خود را در نوشتن نرم‌افزارهای مشابه‌اش آزمودند. به همین جهت در حال حاضر، تعداد زیادی برنامه‌‌های متولی بیت‌تورنت وجود دارد كه به زبان‌های مختلفی نوشته شده‌اند و روی طیف زیادی از سیستم‌های عامل به اجرا در می‌آیند.
▪ نتیجه‌ای كه از این چند جمله گرفته‌می‌شود از این قرار است:
بیت‌تورنت یك نوع شبكه‌ی اشتراكی است كه برای دانلود‌كردن فایل‌های قطور چند‌صد مگابایتی و حتا چند گیگا‌بایتی جان می‌دهد!
● بیت‌تورنت چطور كار می‌كند...
بیت‌تورنت به میزانی باور‌نكردنی، فشار وارد بر میزبان‌ها را تقلیل می‌دهد، زیرا كاربران در عمل فایل‌ها را از روی كامپیوترهای یك دیگر دانلود می‌كنند و نه از روی یك كامپیوتر مركزی واحد. در این روش، كامپیوتر مركزی (كه به آن «بذر‌افشان» می‌گویند)، فقط یك نسخه از یك فایل را (كه به آن «بذر» می‌گویند) برای تمام متقاضیان یا اعضای شبكه ارسال می‌كند، آن‌هم به این ترتیب كه ابتدا آن را مانند یك جورچین به تعدادی بُرش یا قطعات كوچك‌تر تقسیم كرده و سپس هركدام از این قطعات، به تنهایی از جانبِ یك عضو به طرف عضو دیگر فرستاده می‌شوند.
در نتیجه هر عضوی قطعات مورد نیازش را- كه برای تكمیل جورچینِ فایل اصلی لازم دارد- از اعضای دیگر می‌گیرد.
همان‌طور كه گفته شد، بر طبق موازین بیت‌تورنت، ابتدا فایل اصلی یا به اصطلاح «بذر» به برش‌هایی كوچك‌ تقسیم می‌گردد كه معمولاً قطر هركدام از آن‌ها به یك‌چهارم مگابایت (یعنی ۲۵۶ كیلوبایت) می‌رسند. منتها هر‌قدر فایل مورد‌ نظر بزرگ‌تر باشد، اندازه‌ی هر بُرش یا هر قطعه‌ی آن نیز به همان نسبت بزرگ‌تر می‌شود؛ برای مثال یك فایل ۳۷/۴ گیگابایتی دارای برش‌هایی به اندازه‌ی ۴ مگابایت (۴۰۹۶ كیلوبایت) خواهد بود.
به این ترتیب، بیت‌تورنت را می‌توان یك نوع جورچین اینترنتی به حساب آورد، چرا كه یك فایل بسیار قطور به تعداد زیادی قطعه‌ی كوچك تقسیم می‌شود و سپس تمام این قطعات در بین یك سری از اعضا تقسیم می‌شود، طوری كه هر عضو فقط صاحب تعدادی از این قطعات می‌شود. از آن به بعد، خودِ اعضا با هم طرف می‌شوند و هر كدام از آن‌ها قطعاتی را كه ندارند از اعضایی كه آن قطعه‌ها را ندارند، می‌گیرند.
وقتی، هر عضوِ شبكه صاحب تمام قطعات فایل مورد نظر گردید، درست كردنِ جورچین را تمام خواهد كرد و یك فایل درُسته به دست خواهد آورد.
در این روش، هیچ عضوی نمی‌تواند فقط دریافت كند، و یا فقط ارسال نماید. در حقیقت، صلاحیت هر عضو شبكه، مشروط به ارسال كردن (دادن یا به اصطلاح آپلود) و دریافت كردن (ستاندن یا به اصطلاح دانلود) در آنِ واحد است.
برای آن‌كه بهتر متوجه این تفاوت شوید، آن را با روش معمول میزبان-متقاضی (كه نوعی شبكه‌ی ارباب-رعیتی است) مقایسه می‌كنیم كه در حال حاضر، متداول‌ترین روش داد و ستد و نقل و انتقال فایل‌ها در اینترنت است.
در مدل میزبان- متقاضی یك میزبان مركزی (ارباب) وجود دارد كه كل فایل را برای هر یك از متقاضیان آن (رعیت‌ها) ارسال می‌كند ( این همان مدلی است كه آیین‌نامه‌های HTTP و FTP بر طبق آن تدوین شده‌اند). در این روش، متقاضیان فقط با میزبان صحبت می‌كنند، و هیچ وقت با هم دیگر طرف نمی‌شوند.
مهم‌ترین حسن این روش آن است كه اولاً ترتیب دادنِ آن خیلی ساده است، و ثانیاً فایل‌ها معمولاً همیشه در دست‌رس قرار دارند؛ البته به شرط آن‌كه میزبانی كه خود را وقف این كار كرده است، همیشه روشن باشد و همیشه هم متصل به اینترنت بماند.
منتها این مدل یك مشكل عمده نیز دارد كه به فایل‌هایی مربوط می‌شود كه یا خیلی حجیم هستند و یا خیلی پر طرفدار، و یا هردو. در حقیقت، برای توزیع چنین فایلی و ارسال آن برای هر یك از متقاضیان، مقدار بسیار زیادی از پهنای باند و منابع میزبان صرف می‌شود. شاید بارها با این مشكل برخورد كرده باشید كه وقتی خواسته‌اید فایلی را دانلود كنید، به علت زیادی تعداد متقاضیان، مدت زیادی در صف به انتظار ایستاده‌اید.
از طرف دیگر، بسیاری از میزبان‌های HTTP (مبتنی بر شبكه‌ی ارباب-رعیتی) برای چندین ساعت از كار می‌افتند، در حالی كه بسیاری از تورنت‌ها تا چند روز باقی می‌مانند تا یك دانلود چند روزه نیز به اتمام رسد؛ چیزی كه معمولاً برای فایل‌های خیلی قطور لازم است.
به همین دلیل است كه بیت‌تورنت به صورت پروتكل مناسبی برای كاربران اینترنت پرسرعت درآمده‌ است، و كم‌تر به درد اینترنت تلفنی می‌خورد زیرا قطع و وصل‌های متعددی در این روش اتصال رخ می‌دهند كه موجب اختلال می‌گردد. .
در مقایسه با شبكه‌ی ارباب‌رعیتی (میزبان- متقاضی)، هرچند بیت‌تورنت نیز پروتكلی است كه برای رد و بدل كردن فایل‌ها طراحی شده است، ولی ذاتاً یك ماهیت غیر طبقاتی و مبتنی بر یك سطح دارد، به این معنی كه خود كاربران مستقیماً به كامپیوتر یك‌دیگر وصل می‌شوند تا بخش‌هایی از فایل را برای هم ارسال كرده و یا دریافت كنند. در این روش، افراد متقاضی، بخش‌هایی را كه از یك فایل خاص دارند، برای دیگران ارسال می‌كنند، و بخش‌هایی از همان فایل را كه ندارند از دیگران دریافت می‌نمایند.
در تشكیلات بیت‌تورنت، یك كامپیوتر مركزی به نام «ردیاب» وجود دارد كه نقشِ هماهنگ كننده‌ی‌ عملیات را برای تمام چنین منزل‌هایی بازی می‌كند. ردیاب فقط اتصالات را زیر نظر می‌گیرد، و اصلاً هیچ اطلاعی از مندرجات فایل‌هایی كه در حال رد و بدل شدن هستند، ندارد. در نتیجه تعداد بسیار زیادی از كاربران می‌توانند با اشغال عرض نسبتاً كمی از باند ردیاب، به عضویت این شبكه ‌درآیند.
فلسفه‌ی كلید‌ی بیت‌تورنت در این است كه كاربران موظف هستند در همان زمانی كه مشغول دانلود كردن‌اند (دریافت به داخل)، آپلود هم بكنند (ارسال به بیرون). در این صورت، از پهنای باند شبكه تا حد امكان، استفاده‌ی بهینه می‌شود.در واقع هر قدر تعداد افراد علاقه‌مند به یك فایل خاص بیش‌تر باشند، بیت‌تورنت بهتر می‌تواند كار كند، كه این هم در مقایسه با سایر پروتكل‌های انتقال فایل و از جمله پروتكل سنتی میزبان و متقاضی، از برتری خاصی برخوردار است.
برای آن‌كه تصور بهتری از این بده‌بستان پیدا كنید، بهتر است گروهی از افراد را كه دور یك میز نشسته‌اند، در نظر بگیرید.
هدف از این جلسه، توزیع یك نسخه از یك كتاب در بین تمام حاضرین است. ریاست این جلسه به عهده‌ی شخصی است كه در صدر میز نشسته است و خود را آقای «بذرافشان» می‌خواند.
قرار است آقای بذرافشان، به هر یك از حاضرین تعدادی از صفحات این كتاب را بدهد و سپس خود را كنار بكشد تا آن‌‏ها این صفحات را بین هم بچرخانند و همگی صاحب یك نسخه‏ی كامل از كتاب مورد نظر شوند.
بنابراین در ابتدای جلسه و همان لحظه‌ای كه هر یك از مدعوین وارد می‏شوند، ابتدا باید خود را به رییس جلسه معرفی كرده و سپس تعدادی از فصل‌های كتاب را از دست او بگیرند. منتها این افراد آن‌قدر حواس‌شان جمع است كه همه‌ی آن‌ها یك سری صفحات تكراری را از او نگیرند. پس از رسمیت یافتنِ جلسه، هر چند حجم زیادی از كل كتاب بین همه‌ی حاضرین تقسیم شده است، امّا حتا یك نفر هم پیدا نمی‌شود كه كل كتاب را به تنهایی داشته باشد.
هر شخصی كه دور این میز نشسته‌ باشد، هم می‌تواند با هر یك از افراد دیگر حرف بزند، و هم می‌تواند به حرف‌های او گوش دهد. هر كدام از این افراد سعی دارند یك نسخه‌ی كامل از یك كتاب را بگیرند. شخص «الف» اعلام می‌كند كه صفحاتِ ۱ تا ۱۰، ۲۳، ۴۲ تا ۵۰، و ۷۵ را دارد. هركدام از اشخاص «ب»، «ج»، و «د» نیز دنبال تعدادی از صفحاتی می‌گردند كه شخص «الف» دارد.
بنابراین این قرار و مدار را بین هم می‌گذارند تا شخص «الف» به هریك از آن‌ها، یك كپی از صفحاتی را كه ندارند، بدهد.
شخص «ب» نیز اعلام می‌كند كه او صفحات ۱۱ تا ۱۲، ۳۱ تا ۳۷، و ۶۳ تا ۷۰ را دارد. اشخاص «الف»، «د»، و «ج» نیز به او می‌گویند كه به تعدادی از صفحات او هم احتیاج دارند، بنابراین او نیز یك كپی از صفحاتی را كه دارد، به آن‌ها می‌دهد. این گفت‌و‌گو‌ها آن‌قدر ادامه پیدا می‌كند تا هر یك از حاضرین بگوید كه چه صفحاتی را دارد (و هم‌چنین چه صفحاتی را ندارد.)
در آخر ، افراد دور میز با هم هماهنگ می‌كنند كه بخش‌هایی از این كتاب را با هم رد و بدل نمایند تا آن‌كه، هر یك از آن‌ها، صاحب یك نسخه‌ی كاملِ كتاب گردد. البته، در این میان، تنها كسی كه نیازی ندارد كه كسی برایش چیزی بفرستد، همان آقای بذر‌افشان است چرا كه از اول یك نسخه‌ی كامل از كتاب را داشته است. آقای بذر‌افشان فقط در مورد صفحاتی جواب پس‌ می‌دهد كه نزدِ هیچ كس دیگری از حاضرین این میزِ گرد نباشند.
به این ترتیب، ریاست این جلسه می‌تواند كتابی را كه دارد با افراد زیادتری تقسیم كند، آن هم بدون این‌كه مجبور باشد یك نسخه‌ی كامل از آن را به هر كس كه می‌خواهد، بدهد.
● آستین بیت‌تورنت را بالا بزنید!
دانلود‌كردن با بیت‌تورنت خیلی سر‌راست است: كار با یك فایل موسوم به تورنت كه پسوند torrent. دارد، شروع می‌شود. هر فایل تورنت، یك اشاره‌گر چندبایتی است كه به اسم فایل و اندازه‌ی تك‌تك قطعات آن اشاره می‌كند.
هرشخصی كه بخواهد فایل مورد نظر را دانلود كند، ابتدا باید فایل تورنت آن را دانلود نماید و سپس آن را در یك نرم‌افزار متولی بیت‌تورنت باز كند. ( نرم‌افزار متولی، یعنی نرم‌افزاری كه موظف به رتق و فتق امور مربوط به یك كار مشخص است.). فایل تورنت آدرس ردیاب را به متولی می‌دهد، كه آن‌هم به سهم خود، نشان می‌دهد كه چه كاربرانی در حال دانلود‌كردن فایل مورد نظر هستند و برش‌های آن در چه منزل‌هایی قرار دارند. برای هر منبع موجود، نرم‌افزار متولی به این بررسی می‌پردازد كه چه برش‌هایی از فایل در دسترس هستند.
به محض آن‌كه متولی كار دریافت یك برش را تمام كرد، آن را به نوعی هاشور می‌زند تا مطمئن شود كه قطعه‌ی مزبور با آن چیزی كه فایل تورنت وعده‌اش را داده است، مطابقت دارد یا خیر. سپس شروع می‌كند به دنبال كسی بگردد كه قطعه‌ی كذایی را برایش بفرستد.
هر همسایه‌ای قطعات نداشته‌اش را از دیگران می‌گیرد (دانلود می‌كند) و قطعه‌هایی را كه دارد برای آن‌هایی می‌فرستد كه از او درخواست كرده باشد (آپلود می‌كند). این پروتكل به قدر كافی هوشمند هست تا همسایه‌ای را انتخاب كند كه برای دریافت قطعه‌ی مورد نظرش، بهترین ارتباط را با شبكه‌ داشته باشد.
برای بالا‌ بردن ضریب بازدهی خوشه (شبكه‌ی خلق‌الساعه‌ای كه صرفاً و به طور موقتی برای توزیع یك فایل خاص ساخته می‌شود) اعضای بیت‌تورنت از همسایه‌های خود می‌پرسند كه چه قطعاتی كمیاب‌تر هستند (قطعه‌های كمیاب، به قطعاتی می‌گویندكه نزد اعضای كم‌تری قرار داشته باشند.). به این ترتیب بیش‌تر قطعات در سطحی وسیع و در بین اعضای زیادی توزیع می‌گردند تا جلوی ازدحام و ایجاد گلوگاه گرفته شود.
برش‌ها یا قطعات هر فایل معمولاً به ترتیب شماره‌شان دانلود نمی‌شوند، چرا كه كامپیوتر گیرنده مجبور است همه‌ی برش‌های فایل را در آخر مانند قطعات یك جورچین،كنار هم بچیند. در واقع به محض آن‌كه هریك از آحاد شیكه تمام قطعات را در جایی از این خوشه پیدا كند، می‌تواند صاحب یك فایل دُرسته یا كامل شود؛ حتا اگر هیچ یك از همسایه‌ها این فایل دُرسته را نداشته باشند.
نرم‌افزار Azureus ؛ نرم‌افزاری مبتنی بر جاوه كه در مقایسه با رقبای خود، یك سروگردن بالاتر است.
● شیرجه‌زدن در دریای بیت‌تورنت...
اگر این آمادگی را پیدا كرده‌اید كه دل‌تان را به دریای تورنت‌ها بزنید، قبل از هر چیز باید یك قایق مناسب برای خود دست‌وپا كنید!
در حال حاضر، شبكه‌های اشتراكی (یا به اصطلاح منزل به منزل) از چند پروتكل متداول تبعیت می‌كنند كه عبارتند از eDonkey۲۰۰۰، Gnutella، و BitTorrnet (منظور از پروتكل، مجموعه‌ی مقررات و ضوابط نحوه‌ی انجام یك امر خاص است).
در این میان، پروتكلِ بیت‌تورنت معمولاً برای دانلود كردن فایل‌های بسیار حجیم، فایل‌های بسیار متداول، و فایل‌هایی كه به رایگان منتشر شده‌اند، به كار می‌رود چرا كه در این زمینه، سریع‌تر، و مؤثر‌تر از پروتكل‌های دیگر است. از طرف دیگر، هر كدام از این پروتكل‌ها دارای برنامه‌های متولّی خاص خود هستند. (‌منظور از برنامه‌ی متولّی در این‌جا، یك نرم‌افزار مخصوص است كه از قوانین و مقررات آن پروتكل خاص تبعیت می‌كند.)
تعدادی از این نرم‌افزارهای متولّی كه برای تبعیت از پروتكل بیت‌تورنت نوشته شده‌اند، عبارتند از BitTorrnet، Azureues، BitCommet، و &#۹۵۶;Torrent. (هر چهارتای این نرم‌افزارها را می‌توانید از روی برعكس ۹۸ نصب كنید)
فایل‌هایی كه خود را طبق پروتكل بیت‌تورنت تطبیق داده‌اند، دارای پسوند torrent (بخوانید“دات تورنت”) هستند و آن‌ها را «فایل تورنت» می‌خوانند. در بیش‌تر موارد، شما یك فایل تورنت را –كه معمولاً بیش از چند بایت نیست- از یك سایت دانلود می‌كنید. بعضی سایت‌ها نیز برای دانلود كردن فایل‌های خود گزینه‌ی بیت‌تورنت را نیز در نظر می‌گیرند، بنابراین كسی كه می‌خواهد فایل مورد نظرش را به شیوه‌ی بیت‌تورنت دانلود كند، ابتدا فایل تورنت متناظر آن را دانلود می‌نماید.
فایل‌های تورنت نقش فایل‌های ردیاب را بازی می‌كنند كه صرفاً ارتباط بین آن دسته از اعضای شبكه كه سعی در دانلود آن را دارند، با هم هماهنگ می‌سازند. اگر یكی از نرم‌افزار‌های متولّی بیت‌تورنت را در كامپیوتر خود نصب كرده باشید، خود او احتمالاً قیمومیتِ پسوند torrent. را به عهده می‌گیرد و در نتیجه هرگاه كه روی فایلی با این پسوند دوبار كلیك كنید، نرم‌افزار متولّی خود را حاضر می‌سازد و پس از تزریق كردنِ فایل تورنت مزبور به بدنه‏ی خود، شروع به دانلود‌كردن آن می‌نماید.
نرم‌افزار &#۹۵۶;Torrent (بخوانید میو‌تورنت) فسقلی‌ترین نرم‌افزار بیت‌تورنت است كه كم‌ترین استفاده را از منابع كامپیوتر به عمل می‌آورد.
خود آقای برام‌كوهن- كه مخترع و متكبر شبكه‌ی اشتراكی بیت‌تورنت هستند- نیز نرم‌افزاری به نام BitTorrnet نوشته است كه برای ردگیری تورنت‌ها و دانلود آن‌ها به كار می‌رود. این اسم
اغلب موجب سوء‌تفاهم می‌گردد زیرا نام همین پروتكل را روی نرم‌افزار خود گذاشته است، به همین جهت، اهل فن، لقب «پیش‌كسوت» را روی آن گذاشته‌اند.
منبع : ماهنامه کامپیوتر


همچنین مشاهده کنید