موضوع مقاله: بیت‌تورنت | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # بیت‌تورنت | مقدمه: بیت‌تورنت یک پروتکل ارتباطی برای اشتراک‌گذاری فایل همتا به همتا (P2P) است که به کاربران امکان می‌دهد داده‌ها و فایل الکترونیکی را از طریق اینترنت به صورت غیرمتمرکز توزیع کنند. | ## بخش 1: بیت‌تورنت | در واقع نوعی ارتباط همتا به همتا می‌باشد که کاربران مستقیماً به یکدیگر متصل می‌شوند و به ارسال و دریافت قسمتی از فایل می‌پردازند. اگر چه فعالیت‌های تمامی کاربران یک فایل توسط سرور مرکزی به نام ترکر هماهنگ می‌شود، اما این سرور از محتویات فایل‌هایی که منتقل می‌شود، بی‌اطلاع است. در نتیجه تعداد زیادی از کاربران با پهنای باند محدود ترکر مربوط قابل پشتیبانی هستند. بیت‌تورنت به نحوی طراحی شده‌است که برخلاف سایر پروتکل‌های انتقال، با افزایش تعداد افراد مشتاق برای دریافت یک فایل مشخص، بازدهی آن بالا می‌رود؛ برای توصیف بهتر این روند می‌توان آن را به گروهی از افراد تشبیه کرد که دور یک میز نشسته‌اند و هر کدام سعی دارند که کپی کاملی از یک کتاب ده صفحه‌ای را دریافت کنند؛ نفر اول اعلام می‌کند که صفحات ۱ و ۵ را دارد و نفرات سوم، چهارم و پنجم هر کدام قسمت‌هایی از این صفحات را ندارند؛ بنابراین هر یک برای گرفتن صفحات، به نفر اول مراجعه می‌کنند. نفر اول، چهارم و پنجم به نفر دوم می‌گویند که بعضی از صفحات او را می‌خواهند و او هم کپی آن صفحات را به آن‌ها می‌دهد. این روند ادامه می‌یابد تا وقتی که همه افراد کپی تمام بخش‌های موجود کتاب را به دست بیاورند. همچنین دور این میز شخص دیگری وجود دارد که کپی کل کتاب را دارد؛ بنابراین احتیاج ندارد که برایش کپی صفحه‌ای فرستاده شود. در ابتدا هنگامی که افراد دور میز می‌نشینند، باید از او بخواهند که اولین سری کپی صفحات خود را به آن‌ها بدهد. گرچه افراد سعی می‌کنند که صفحات مشابه را از او نگیرند، بعد از مدتی بیشتر افراد، کپی کتاب را دارند. بدین ترتیب این فرد می‌تواند کتابی را که دارد در اختیار افراد زیادی قرار دهد، بدون اینکه مجبور باشد کل کپی را به تمام افراد بدهد. او می‌تواند در عوض، قسمت‌های مختلف کتاب را به افراد متفاوت بدهد؛ و آن‌ها قادر خواهند بود که این قسمت‌ها را در بین خود پخش کنند. بیت‌تورنت با شبکه‌ها و پروتکل‌های همتا به همتا دیگر مانند ای‌میول، ناتلا و … فرق دارد و مثل آن‌ها محدوده مشخصی ندارد. تاریخچه نخستین برنامه کاربردی بیت‌تورنت به زبان پایتون نوشته شد و کد منبع آن با نسخه ۴٫۰ تحت لیسانس BitTorrent متن‌باز ارائه شد. تعداد زیادی از کارخواه‌ها با زبان‌های مختلفی برای اجرا بر روی بسترهای مختلف، نوشته شده‌اند. متادیتا در اینجا به معنی داده‌ای ست که اطلاعاتی در مورد فایل که می‌خواهیم دانلود کنیم دارد و نه خود فایل. | ## بخش 2: بیت‌تورنت | حتی بعضی از Leechها به عمد با محدود کردن سرعت ارسال، از آپلود کردن جلوگیری می‌کنند. هنگامی که کامپیوتر ما به‌طور کامل فایل را دانلود کرد، تا زمانی که روی دکمهٔ پایان کلیک نکنیم یا به هر طریق آن را نبندیم، باز باقی می‌ماند. در کل، بهتر است بعد از اینکه فایلی را به‌طور کامل دریافت کردیم، برای کمک به دیگران آن را Seed کنیم. Reseed (کاشت دوباره): هنگامی که هیچ Seedای برای فایل تورنت مورد نظر موجود نباشد، Peerها با هم، کل فایل را نداشته باشند، تمامی Peerها فایل ناقصی داشته باشند و در کل هیچ‌یک قسمت‌های تکمیل‌کننده را نداشته باشند، آنوقت در این صورت کامپیوتری با فایل کامل (Seed)، باید به Swarm (گروه، دسته) متصل شود و قسمت‌های ناقص فایل را ارسال کند، این عمل کاشت دوباره نام دارد. معمولاً یک درخواست برای عمل Reseed با تعهدی همراه است مبنی بر اینکه بعد از دانلود کامل فایل، فرد درخواست‌کننده باید برای مدت زمان مشخصی به منظور افزودن طول عمر به فایل تورنت به عنوان یک Seed عمل کند. Swarm (گروه، دسته): به گروهی گفته می‌شود که به‌طور مشترک و جمعی برای یک فایل خاص به یکدیگر متصل هستند. این کار به‌طور دوره‌ای و متناوب انجام می‌شود و Tracker میزان دانلود و آپلود، مقدار باقی‌مانده از فایل و وضعیتی که در حال حاضر داریم (شروع، پایان دانلود و توقف) را به ما نشان می‌دهد. معمولاً خطاهای Trackerها موقتی هستند؛ بنابراین بهترین کار این است که صبر کنیم و کلاینت را باز نگهداریم تا به تلاش خود ادامه دهد. مقدارهای به‌کار برده شده، تنها برای قسمت‌های در حال انتقال هستند نه برای کل فایل. اگر نسبت اشتراک نشان داده شده برابر با ۱ باشد، بدین معنی ست که به همان میزانی که آپلود نموده‌ایم، دانلود کرده‌ایم. اگر این نسبت ۰ بود، به این معنی ست که شما کل فایل را دریافت نموده‌اید و به عنوان Seed فعالیت می‌کنید؛ بنابراین هر چه بیشتر به ارسال ادامه دهید میزان این نسبت به سمت بی‌نهایت می‌رود. با این وجود، Swarm می‌تواند در مجموع، کل فایل را داشته باشد بدون اینکه Seedای داشته باشد؛ و این همان چیزیست که این عبارت بیان می‌کند. اما معمولاً به‌طور پیش‌فرض یک کلاینت (کلاینتی که بیشترین آپلود را داشته‌است) آپلودهای فعال خود را بازمی‌گذارد و بقیه کلاینت‌ها مسدود اعلام می‌شوند. مقدار پیش فرض ۴ می‌باشد که مشابه تنظیمات کلاینت BUI آزمایشی ست که می‌توان تغییر داد. به‌طور مثال هنگامی که یک Peer مشغول دریافت فایلی از یک Seed است که نمی‌خواهد داده‌ای را ارسال کند، اتصالش مسدود شده اعلام می‌شود. | ## بخش 3: بیت‌تورنت | توجه داشته باشید که اگر هر اتصال دوطرفه و قرینه باشد، دو علامت نمایش انسداد برای هر اتصال (انتهای هر ارسال کننده) خواهیم داشت. فرد دانلودکننده هنگامی مشتاق نامیده می‌شود که در کلاینت مقابل، قسمتی از فایل موجود باشد که این فرد احتیاج دارد. Snubbed (منع شده): اگر کلاینت هیج داده‌ای را بعد از مدت زمان مشخصی (به‌طور پیش‌فرض ۶۰ ثانیه) دریافت نکند، منع شده نامیده می‌شود. بعضی از اوقات کلاینت در حالتی قرار می‌گیرد که با این‌که به تعداد زیادی از Peerها متصل است، ولی توسط تمام آن‌ها مسدود شده‌است. این علامت نشان می‌دهد که یک Peer که می‌خواهد تکه‌هایی از فایل را انتقال دهد، برای مدتی چیزی ارسال نکرده‌است. Peerها تکه‌هایی را که ندارند از یکدیگر دانلود می‌کنند و تکه‌هایی را که Peerهای دیگر ندارند برایشان آپلود می‌کنند. این پروتوکل به اندازهٔ کافی هوشمند است که Peerای را انتخاب کند که بهترین اتصال را داشته باشد. برای بالا بردن کارایی کل swarm، کلاینت‌های بیت‌تورنت قسمت‌هایی را درخواست می‌کنند که کمیاب ترند. تکه‌های فایل‌ها معمولاً به ترتیب دانلود نمی‌شوند و احتیاج به مرتب‌سازی در ماشین دریافت‌کننده دارند. هر فرد که می‌خواهد فایل را دانلود کند، ابتدا باید این فایل کم حجم را دریافت نماید و آن را توسط نرم‌افزارهای کارخواه بیت‌تورنت باز کند. فایل تورنت، آدرس tracker ای را که لیستی از کاربرانی که مشغول دانلود فایل هستند و محل قرار گرفتن تکه‌های فایل را که می‌داند، به کارخواه می‌دهد. برای هر منبع قابل دسترس، کارخواه متوجه می‌شود که کدام تکه از فایل مورد نظر قابل دستیابی هستند. به محض اینکه کارخواه دریافت یک تکه را کامل کرد، آن را هش (Hash) می‌کند تا مطمئن شود که این تکه با فایل تورنت متناسب است. روش‌های دانلود از تورنت برای دانلود از تورنت علاوه بر دانلود مستقیم روش‌های دیگری نیز وجود دارد. به‌عنوان نمونه برخی از سایت‌ها با دریافت مگنت یا لینک دانلود فایل را به سرورهای خود منتقل کرده و اجازه می‌دهند تا شما آن را به‌صورت مستقیم از سرور سایت دانلود کنید. | ## جمع‌بندی | اغلب سایت‌های مستقیم کننده تورنت به‌صورت خصوصی بوده و برای کاربران رایگان فضای محدودی را بدین منظور ارائه می‌دهند.