یک مقاله جامع و کاربردی به نقل از جهان دانلود:
آیا تا بحال چیزی در مورد تورنت شنیدید؟
تا حالا اسم نرم افزارهای uTorrent یا Bit Torrent و یا امثالهم بگوشتون خورده؟
خوب میخوام تو این پست شما رو با این زاویه ی پنهان دنیای اینترنت آشنا کنم. البته تورنت خورها به این حرف من ایراد میگیرن چون میشه گفت یکی از پرطرفدارترین موضوعات اینترنتی همین لینکهای تورنت هستند.
خوب تورنت چیه؟ اینطور که از شواهد برمیاد یه پروتکل هست که یه چیزی تو مایه های شبکه های نظیر به نظیره که البته من وارد وادی تخصصیش نمیشم چون چیزی نمیدونم.
حالا به چه درد میخوره؟
حقیقتش توی دنیای تورنت هرکسی که فایلی داره با برنامه های مخصوص مثل همونایی که بالا معرفی کردم اونو تبدیل میکنه به تورنت و بقیه هم بطور مستقیم اونو از طرف دانلود میکنن.
خوب ما باید چیکار کنیم؟
بهتره بدونید که 25 درصد ترافیک اینترنت کل دنیا مربوط میشه به تورنت یعنی خیلیها ترجیح میدن که برای دانلود فایلهاشون از تورنت استفاده کنن.
طرز کارش چه جوریه؟
کافیه که شما آدرس چندتا سایتی که تورنت عرضه میکنن داشته باشین.
حالا تو اون سایتها دنبال برنامه یا فیلم یا موزیک یا بازی و یا هرچیز دیگه ای که قابل دانلوده میگردین.وقتی پیداش کردید میرید داخل لینکی که بهتون میده و یه فایل کوچولو رو دانلود میکنید. پسوند این فایل Torrent هست.
حالا کافیه این فایل رو با یکی از برنامه هایی که معرفی می کنیم باز کنید تا دانلود شروع بشه.
دانلود با تورنت چه مزیتی داره؟
اول این که فایلها قطعه قطعه نیستند و بصورت یک فایل واحد عرضه میشن. تازه لینکش هم مستقیمه و دیگه قید راپیدشیر رو هم میزنید.
آیا تا بحال چیزی در مورد تورنت شنیدید؟
تا حالا اسم نرم افزارهای uTorrent یا Bit Torrent و یا امثالهم بگوشتون خورده؟
خوب میخوام تو این پست شما رو با این زاویه ی پنهان دنیای اینترنت آشنا کنم. البته تورنت خورها به این حرف من ایراد میگیرن چون میشه گفت یکی از پرطرفدارترین موضوعات اینترنتی همین لینکهای تورنت هستند.
خوب تورنت چیه؟ اینطور که از شواهد برمیاد یه پروتکل هست که یه چیزی تو مایه های شبکه های نظیر به نظیره که البته من وارد وادی تخصصیش نمیشم چون چیزی نمیدونم.
حالا به چه درد میخوره؟
حقیقتش توی دنیای تورنت هرکسی که فایلی داره با برنامه های مخصوص مثل همونایی که بالا معرفی کردم اونو تبدیل میکنه به تورنت و بقیه هم بطور مستقیم اونو از طرف دانلود میکنن.
خوب ما باید چیکار کنیم؟
بهتره بدونید که 25 درصد ترافیک اینترنت کل دنیا مربوط میشه به تورنت یعنی خیلیها ترجیح میدن که برای دانلود فایلهاشون از تورنت استفاده کنن.
طرز کارش چه جوریه؟
کافیه که شما آدرس چندتا سایتی که تورنت عرضه میکنن داشته باشین.
حالا تو اون سایتها دنبال برنامه یا فیلم یا موزیک یا بازی و یا هرچیز دیگه ای که قابل دانلوده میگردین.وقتی پیداش کردید میرید داخل لینکی که بهتون میده و یه فایل کوچولو رو دانلود میکنید. پسوند این فایل Torrent هست.
حالا کافیه این فایل رو با یکی از برنامه هایی که معرفی می کنیم باز کنید تا دانلود شروع بشه.
دانلود با تورنت چه مزیتی داره؟
اول این که فایلها قطعه قطعه نیستند و بصورت یک فایل واحد عرضه میشن. تازه لینکش هم مستقیمه و دیگه قید راپیدشیر رو هم میزنید.
دوم این که دنیای تورنت خیلی جامع و کامله. تقریبا هر فیلم و آلبوم موزیک و بازی و برنامه ای رو میشه توش پیدا کرد. حتی کرک ها و کیجن ها رو.
سوم این که سرعتش نسبت به دانلودهای معمولی بیشتره. البته شاید تو دایال آپ زیاد محسوس نباشه اما برای کسانی که از اینترنت پرسرعت استفاده میکنن بسیار مناسبه و حتی تاکید میشه که برای دانلود فایلهاشون از تورنت استفاده کنن.
چرا سرعت تورنت زیاد است؟
دانلود فایل در تورنت به این صورته که وقتی شما در حال دانلود یک فایل هستید بصورت همزمان فایل از طریق سیستم شما آپلود هم می شود. یعنی شما فایل را بصورت همزمان مثلا از 10 نفر که به آنها seeder گفته میشه می گیرید و در همان لحظه مثلا به 5 نفر که peer نامیده می شوند ارسال می کنید. یعنی شما در آن واحد هم seeder هستید هم peer و این اصلا شرط اصلی بقای تورنت هست.
بیتتورنت چیست؟
اولین برنامه کاربردی BitTorrent به زبان Python نوشته شد و source code آن با ورژن 4.0 تحت لیسانس BitTorrent open source ارائه شد. تعداد زیادی از کلاینت ها (نرم افزارها) با زبان های مختلفی برای اجرا بر روی پلت فورم های مختلف، نوشته شده اند.
BitTorrent پروتکلی ست که به منظور ارسال فایل طراحی شده است. در واقع نوعی ارتباط peer-to-peer میباشد که کاربران مستقیما به یکدیگر متصل میشوند و به ارسال و دریافت قسمتی از فایل میپردازند. گر چه فعالیت های تمامی کاربران توسط یک سرور مرکزی به نام Tracker هماهنگ میشود، اما این سرور از محتویات فایل هایی که منتقل میشود بی اطلاع است.
در نتیجه تعداد زیاده از کاربران با پهنای باند محدود Tracker مربوطه قابل پشتیبانی هستند. فلسفه کلیدی BitTorrent اینست که کاربران باید همزمان با دان لود کردن اطلاعات (دریافت inbound)، آپلود (ارسال outbound) نمایند. در این صورت پهنای باند شبکه با حداکثر کارایی بکار گرفته میشود. BitTorrent به نحوی طراحی شده است که بر خلاف پروتوکل های انتقال دیگر با افزایش تعداد افراد مشتاق برای دریافت یک فایل مشخص، کارا تر میشود. برای توصیف بهتر این روند میتوان آن را به گروهی از افراد تشبیه کرد که دور یک میز نشسته اند. هر کدام از این افراد سعی دارند که کپی کاملی از یک کتاب را دریافت کنند. نفر اول اعلام میکند که صفحات 1-10، 23، 42-50 و 75 را دارد و نفرات سوم، چهارم و پنجم هر کدام قسمت هایی از این صفحات را ندارند.
بنابراین هر یک برای گرفتن صفحات، خود را با نفر اول هماهنگ میکنند. نفر دوم اعلام میکند که صفحات 11-22، 31-37 و 63-70 را دارد. نفر اول، چهارم و پنجم به نفر دوم میگویند که بعضی از صفحات او را میخواهند و او هم کپی آن صفحات را به آنها میدهد. این روند ادامه مییابد تا وقتی که همه افراد کپی تمام کتاب را به دست بیاورند. همچنین دور این میز شخص دیگری وجود دارد که کپی کل کتاب را دارد. بنابراین احتیاج ندارد که برایش کپی صفحهای فرستاده شود. او صفحاتی را که هیچ کس ندارد بین افراد پخش میکند. در ابتدا هنگامی که افراد دور میز مینشینند، باید از او بخواهند که اولین سری کپی صفحات خود را به آنها بدهد. گرچه افراد سعی میکنند که صفحات مشابه را از او نگیرند، بعد از مدتی همگی اکثر کپی کتاب را دارند.
بدین ترتیب این فرد میتواند کتابی را که دارد در اختیار افراد زیاده قرار دهد بدون اینکه مجبور باشد کل کپی را به تمام افراد بدهد. او میتواند در عوض، قسمت های مختلف کتاب را به افراد متفاوت بدهد. و آنها قادر خواهند بود که این قسمت ها را در بین خود پخش کنند. به این فرد که کل کتاب را در اختیار دارد، در اصطلاح BitTorrent، Seed یا دانه گفته میشود. BitTorrent با برنامههای کاربردی peer-to-peer دیگر مانند WinMX, Kazza, Gnutella, Emule و ... فرق دارد و مثل آنها محدوده مشخصی ندارد. به عبارت دیگر BitTorrent به وب اضافه شده است به این معنی که تمامی عملیات جستجو و تهیه لیستی از فایل های در دسترس در وب انجام میشود و هنگامی که فایل مورد نظر را پیدا کردیم با کلیک بر روی آن، برنامه کلاینت اجرا میشود و شروع به دریافت میکند.
اصطلاحات BitTorrent
مفاهیم مختلفی در ارتباط با BitTorrent وجود دارند که به معرفی آنها میپردازیم.
torrent یا سیل (جریان شدید) : این اصطلاح معمولا به فایل متادیتای کوچکی گفته میشود که از وب سرور(web server) با پسوند .torrent در یافت میکنیم. متادیتا در اینجا به معنی فایلی ست که اطلاعاتی در مورد دادهای که میخواهیم دان لود کنیم دارد و نه خود داده. این فایل هنگامی که بر روی لینک دان لود آن در یک وب سایت کلیک میکنید، به کامپیوتر ما فرستاده میشود. همچنین میتوان فایل torrent را بر روی سیستم محلی خود ذخیره کنیم و بعدها با کلیک بر روی آن، اقدام به دریافت آن کنیم.
Peer یا قرینه : Peer کامپیوتر دیگری ست که به آن متصل شده و داده را منتقل میکنیم. معمولا یک Peer تمام فایل را ندارد. در غیر این صورت به آن Seed میگوییم. همچنین به Peer ها Leech یا زالو هم گفته میشود که از کامپیوترهایی که دان لود خود را کامل کردهاند و کلاینت BitTorrent خود را فعال نگهداشته و به صورت Seed عمل میکنند، متمایز شوند.
Leech یا زالو : به Peerای گفته میشود که به خاطر نسبت اشتراک پایین خود بر روی swarm تاثیر منفی میگذارد. به بیان دیگر بیشتر از اینکه آپ لود کند، دان لود میکند. اکثر Leechها، کاربرانی هستند که اتصالات نامتقارن دارند و کلاینت BitTorrent خود را بعد از اتمام دان لود برای عمل seeding باز نمیگذارند. حتی بعضی از Leechها به عمد با کلاینت های تنظیم شده و یا محدود کردن سرعت ارسال، از آپ لود کردن جلوگیری میکنند. با این وجود اصطلاح Leech میتواند به جای Peer نیز بکار گرفته شود.
Seed یا دانه : کامپیوتری ست که کپی کامل یک torrent مشخص را دارد. هنگامی که کامپیوتر ما به طور کامل فایل را دان لود کرد، تا زمانی که روی دکمهٔ پایان کلیک نکنیم و یا به هر طریق آن را نبندیم، باز باقی میماند. به این عمل Seed بودن و یا Seeding میگویند. همچنین میتوانیم یک کلاینت BitTorrent را با فایل کاملی شروع کنیم. به محض اینکه BitTorrent فایل را امتحان کرد، متصل شده و فایل مربوطه را برای افراد دیگر Seed میکند. در کل، بهتر است بعد از اینکه فایلی را به طور کامل دریافت کردیم، برای کمک به دیگران آن را Seed کنیم. همچنین هنگامی که فایل torrent جدیدی به Tracker فرستاده میشود، باید حداقل یک Seed موجود باشد که آن را برای دیگران قابل دستیابی کند. به یاد داشته باشید که Tracker هیچ چیز در مورد محتوای واقعی فایل ها نمیداند. بنابراین مهم است که بعد از upload کردن یک فایل torrent در Tracker، آن را Seed کنیم.
Reseed یا کاشت دوباره : هنگامی که هیچ Seed ای برای فایل تورنت مورد نظر موجود نباشد و Peer ها با هم، کل فایل را نداشته باشند، تمامی Peer ها فایل ناقصی دارند و هیچ یک، قسمت های تکمیل کننده را ندارد. در این صورت کامپیوتری با فایل کامل (Seed)، باید به Swarm (گروه و دسته) متصل شود و قسمت های ناقص فایل را ارسال کند. این عمل کاشت دوباره نام دارد. معمولا یک درخواست برای عمل Reseed با تعهدی همراه است مبنی بر اینکه بعد از دان لود کامل فایل، فرد درخواست کننده باید برای مدت زمان مشخصی به منظور افزودن طول عمر به فایل تورنت به عنوان یک Seed عمل کند.
Swarm یا گروه و دسته : به گروهی از ماشین ها گفته میشود که به طور مشترک و جمعی برای یک فایل خاص به یکدیگر متصل هستند. برای مثال اگر یک کلاینت BitTorrent را راه اندازی کنیم و به ما بگوید که به 10 Peer و 3 Seed متصل هستیم، Swarm شامل کامپیوتر ما و 13 نفر دیگر است.
Tracker یا ردیاب : سروری ست در اینترنت که فعالیت های کلاینت های BitTorrent را هماهنگ میکند. هنگامی که تورنتی را باز میکنیم، ماشین ما با Tracker ارتباط برقرار میکند و لیستی از Peer ها را برای تبادل اطلاعات دریافت میکند. این کار به طور دورهای و متناوب صورت میگیرد و Tracker میزان دان لود و آپ لود، میزان باقی مانده از فایل و وضعیتی که در حال حاضر داریم (شروع، پایان دان لود و توقف) را به ما نشان میدهد. اگر Tracker از کار بیفتد و بخواهیم یک تورنت را باز کنیم، قادر نخواهیم بود. اگر بعد از اتصال در حین ارتباط با Peer ها و دان لود کردن فایل تورنت، Tracker از کار بیفتد، قادر به ادامه انتقال با آن Peer ها خواهیم بود ولی هیچ Peer جدیدی قادر به برقرار کردن ارتباط با ما نخواهد بود. معمولا خطاهای Tracker ها موقتی هستند. بنابراین بهترین کار اینست که صبر کنیم و کلاینت را باز نگهداریم تا به سعی خود ادامه دهد.
Downloading یا دریافت کردن : به عمل دریافت داده از کامپیوتر دیگر دان لود کردن میگویند.
Uploading یا ارسال : به عمل فرستادن و ارسال داده به کامپیوتر دیگر گفته میشود.
Share rating یا سرعت اشتراک : اگر از یک کلاینت آزمایشی با stats-patch استفاده میکنیم، میتوانیم سرعت اشتراک را در یک پنل GUI مشاهده کنیم. که نشان دهندهٔ نسبت مقدار آپ لود شده به مقدار دان لود شده است. مقدارهای بکار برده شده، تنها برای قسمتهای در حال انتقال هستند نه برای کل فایل. اگر نسبت اشتراک نشان داده شده برابر با 1 باشد، بدین معنی ست که به همان میزانی که آپ لود نموده ایم، دان لود کرده ایم. هر چه این عدد بزرگ تر باشد نشان دهنده اینست که یه میزان بیشتری ارسال کرده اید. اگر این نسبت 0 بود، به این معنی ست که شما کل فایل را دریافت نموده اید و به عنوان Seed فعالیت میکنید. بنابراین هر چه بیشتر به ارسال ادامه دهید میزان این نسبت به سمت بی نهایت میرود. این نسبت تنها به منظور آگاهی کاربران محاسبه میشود. در کل برای کمک به دیگران بهتر است همیشه این نسبت را به حداکثر مقدار برسانیم.
Distributed Copies یا کپی های توزیع شده : در بعضی از ورژن های کلاینت ها (نرم افزارها)، عبارت "متصل به n عدد seed و در حال مشاهده n.nnn کپی توزیع شده" را مشاهده میکنید. یک Seed ماشینی با فایل کامل است. با این وجود، Swarm میتواند در مجموع، کل فایل را داشته باشد بدون اینکه Seedای داشته باشد. و این همان چیزی ست که این عبارت بیان میکند.
Choked یا مسدود شده : این اصطلاحی ست که در پروتوکل BitTorrent بکار رفته است و به حالتی از یک ارسال کننده فایل (uploader)اشاره دارد. وقتی که یک اتصال مسدود شده است به معنی ست که ارسال کننده در حال حاضر نمیخواهد دادهای به آن لینک ارسال کند. کلاینت BitTorrent، بنا به دلائلی سیگنالی به کلاینت های دیگر میفرستد که مسدود شدن این لینک را اعلام کند. اما معمولا بطور پیش فرض یک کلاینت (کلاینتی که بیشترین آپ لود را داشته است) آپ لود های فعال خود را باز میگذارد و بقیه کلاینت ها مسدود اعلام میشوند. مقدار پیش فرض 4 میباشد که مشابه تنظیمات کلاینت BUI آزمایشی ست که میتوان تغییر داد. یک اتصال میتواند به دلائل دیگری نیز مسدود شود. به طور مثال هنگامی که یک Peer مشغول دریافت فایلی از یک Seed است که نمیخواهد دادهای را ارسال کند، اتصالش مسدود شده اعلام میشود. توجه داشته باشید که اگر هر اتصال دوطرفه و قرینه باشد، دو علامت نمایش انسداد برای هر اتصال (انتهای هر ارسال کننده) خواهیم داشت.
Interested یا مشتاق : اصطلاح دیگری ست که در پروتوکل BitTorrent بکار برده میشود که در نتیجهٔ علامت انسداد ایجاد شده است و به نشان دهندهٔ حالتی ست که فرد دان لود کننده در انتظار اتصال و دریافت قسمتی از فایل است. فرد دان لود کننده هنگامی مشتاق نامیده میشود که در کلاینت مقابل، قسمتی از فایل موجود باشد که این فرد احتیاج دارد.
Snubbed یا منع شده : اگر کلاینت هیج دادهای را بعد از مدت زمان مشخصی (بطور پیش فرض 60 ثانیه) دریافت نکند، منع شده نامیده میشود. این حالت هنگامی رخ میدهد که از ارسال Peer مقابل، برای مدتی جلوگیری شده باشد. بعضی از اوقات کلاینت در حالتی قرار میگیرد که با اینکه به تعداد زیادی از Peer ها متصل است، ولی توسط تمام آنها مسدود شده است. این کلاینت از علامت منع شده استفاده میکند تا از این موقعیت خارج شود. این علامت نشان میدهد که یک Peer که میخواهد تکه هایی از فایل را انتقال دهد، برای مدتی چیزی ارسال نکرده است.
Optimistic unchoking یا اتصال مجدد خوشبینانه : کلاینت ها به طور متناوب، لیستی از ارسال کننده ها را بازنگری میکنند و تلاش میکنند تا اتصالات جدیدی را که قبلا مسدود شده بودند، برقرار کنند و اتصالاتی را که برقرار کرده بودند را مسدود کنند. این اعمال را میتوان هر 10 یا 20 ثانیه با مشاهدهٔ "Advanced" از یکی از کلاینت ها بررسی کرد.
BitTorrent چگونه کار میکند؟
پروتوکل BitTorrent فایل ها را به تکههای کوچک، معمولا یک چهارم مگابایت (256 KB) میشکند. هر چه اندازهٔ فایل بزرگتر باشد، تکه ها نیز بزرگتر خواهند بود. به طور پیش فرض اندازه تکه ها برای یک فایل 4.37 گیگا بایتی، 4 مگابایت میباشد. Peerها تکه هایی را که ندارند از یکدیگر دان لود میکنند و تکه هایی را که Peer های دیگر ندارند برایشان آپ لود میکنند. این پروتوکل به اندازهٔ کافی هوشمند است که Peerای را انتخاب کند که بهترین اتصال را داشته باشد. برای بالا بردن کارایی کل swarm، کلاینت های BitTorrent قسمتهایی را درخواست میکنند که کمیاب ترند. به عبارت دیگر قسمتهایی که در Peer های کمتری وجود دارند، میتوانند برای Peer های بیشتری مفید باشند. تکههای فایل ها معمولا به ترتیت دان لود نمیشوند و احتیاج به مرتب سازی در ماشین دریافت کننده دارند. توجه داشته باشید که کلاینت ها قبل از اینکه کل فایل دان لود شود، تکه ها را برای Peerهای دیگر آپ لود میکنند. بنابراین اشتراک گذاری برای هر Peer با یک فایل کوچک با پسوند .torrent آغاز میشود که یک فایل اشاره گر (pointer) است که شامل اطلاعاتی از قبیل نام فایل و اندازه آن دارد.
دانلود کردن با BitTorrent بسیار آسان است. با یک فایل با پسوند .torrent آغاز میشود. هر فرد که میخواهد فایل را دان لود کند، ابتدا باید این فایل کوچک را دریافت نماید و آن را توسط نرم افزارهای کلاینت BitTorrent باز کند. فایل تورنت، آدرس tracker ای را که لیستی از کاربرانی که مشغول دان لود فایل هستند و محل قرار گرفتن تکههای فایل را میداند، به کلاینت میدهد. برای هر منبع قابل دسترس، کلاینت متوجه میشود که کدام بلاک از فایل مورد نظر قابل دستیابی هستند. به محض اینکه کلاینت دریافت یک بلاک را کامل کرد، آن را هش (Hash) میکند تا مطمئن شود که این بلاک با فایل تورنت متناسب است. سپس به دنبال کسی میگردد که این فایل را برایش آپ لود کند.
اگرچه BitTorrent پروتوکل خوبی برای کاربران پهن باند (BroadBand) میباشد، برای اتصالات dial up که بطور مداوم قطع میشوند، کمتر کارایی دارد. به بیان دیگر سرورهای HTTP زیادی اتصالات خود را برای ساعات طولانی قطع میکنند. در حالیکه تورنت های زیادی وجود دارند که هنوز دانلود خود را تکمیل نکرده اند.
لینک دانلود نرم افزار BitTorrent با حجم 854 کیلوبایت:
Please Login or Register to see this codeوب سایت های ارائه دهده فایل های تورنتPlease Login or Register to see this code
