بیتتورنت به منظور توزیع حجم بزرگی از اطلاعات بدون کاهش در مصرف منابع پر هزینه سرور و پهنای باند طراحی شده است.
اولین برنامه کاربردی 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 به وب اضافه شده است به این معنی که تمامی عملیات جستجو و تهیه لیستی از فایل های در دسترس در وب انجام میشود و هنگامی که فایل مورد نظر را پیدا کردیم با کلیک بر روی آن، برنامه کلاینت اجرا میشود و شروع به دریافت میکند.
مزاياي استفاده از تورنت :
* رايگان بودن
* قابليت resume (كه براي ما ايراني ها خيلي مهمه !)
* و گسترگي فوق العاده منابع (فيلم – عكس – آهنگ – e-book - ...)
برنامههاي تورنت :
براي باز كردن فايلهاي تورنت نياز به يكي از برنامههای تورنت داريد. اینها در واقع اسم کلاینتهایی هستند که با این برنامه ها در آنه کار میکنیم.
میوتورنت و آزوریوس بیشتر توصیه میشوند.
http://libtorrent.rakshasa.no/downlo...t-0.7.8.tar.gz
http://download.bitcomet.com/bitcome...omet_setup.exe
http://download.utorrent.com/1.7.5/utorrent.exe
http://data.linux64packages.net:8080...3-x86_64-1.tgz
http://download.bittornado.com/downl...w32install.exe
http://mesh.dl.sourceforge.net/sourc...za_2.2.5.0.exe
http://prdownloads.sourceforge.net/p...1.exe?download
http://belnet.dl.sourceforge.net/sou....4_windows.exe
http://download.bittorrent.com/dl/BitTorrent-6.0.exe
http://download.deluge-torrent.org/i...ge-0.5.6.2.exe
با مرورگر اپرا هم ميشه البته
چند اصلاح ساده :
مفاهیم مختلفی در ارتباط با 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 زیادی اتصالات خود را برای ساعات طولانی قطع میکنند. در حالیکه تورنت های زیادی وجود دارند که هنوز دان لود خود را تکمیل نکرده اند.
* چرا بعد از باز كردن فايل تورنت دانلود شروع نميشه ؟
چند تا دليل ميتونه داشته باشه ... اما مهمترين اووونها :
اول اينكه فايل سيد نداره ... يعني كسي فايل به صورت 100% نداره كه براي شما آپلود كنه يا شايد هم بعضيا داشته باشن ! اما نخوان فايل براي شما و ديگران آپلود كنن.
دليل دوم اينكه ممكنه نرم افزار تورنت به وسيله فايروال شما block شده باشه.
در اين حالت يا نرم افزار رو از ليست block شدههاي فايروال خارج كنيد يا اينكه در صورت نياز كلا فايروال خودتون را ببنديد (كامل exit كنيد)
دلايل ديگهاي هم ممكنه وجود داشته باشه مثل بن شدن شما و ... كه فعلا نيازي نيست مطرح بشن.
* سرعت دانلود ما به سرعت آپلود بستگي داره ؟
بله به صورت كاملا مستقيم در ارتباط هستن.
* چرا بايد در هنگام دانلود يك فايل اووون رو براي ديگران آپلود كنيم؟
جواب اين سوال كاملا به سوال قبل وابسته هستش. چون اگر فايلي رو آپلود نكنيد سرعت دانلود شما كم ميشه و از يه حدي بيشتر نميره. در واقع رمز موفقيت و بقاي تورنت همين هستش كه شما براي بدست آوردن فايل مورد نيازتون بايد اووون رو براي ديگران هم آپلود كنيد !
معروفترین موتورهای جستجوی تورنت(به ترتیب حروف الفبا)
btjunkie
BitTorrent.com
isoHunt
meganova
Mininova
thepiratebay
torrentportal
torrentspy
torrentz
ليست سايتهاي معروف و پر كاربرد تورنت :
http://www.torrents.to/
http://isohunt.com/
http://torrentreactor.net/search.php?search=&words=
http://torrent-finder.com/
http://www.torrentvalley.com/
http://www.torrentz.com/
http://fenopy.com/
http://www.orbdesign.net/bt/
http://www.mininova.org/
http://www.torinium.com/
http://www.bitoogle.com/
http://thepiratebay.org/
http://www.bi-torrent.com/
http://www.torrentreactor.to/index.php
http://www.mybittorrent.com/
http://www.seedler.org/en/
http://torrentbox.com/torrents-browse.php?news
http://www.torrentportal.com/
http://www.2torrents.com/
http://www.torrentspy.com/
http://www.demonoid.com/
http://www.descargasweb.net/news.php
اصطلاحات :
peer که مشخصه .. کسی که داره فایلی رو از دیگران میگیره (معمولا این شخص فایلش ناقصه و میتونه تا همون حدی که گرفته به بقیه هم بده)
seeder این ها به سیستمها یا کسانی گفته میشه که فایل کامل رو دارند (دانلود تموم شده یا خودشون صاحاب فایلند) و فقط برای Seed کردن هستند. برای بعضی فایلهای مهم و رسمی مثل توزیع ها لینوکس یا ... یک سرور seeder در نظر میگرند که مطمئن باشند علاوه بر peerها و seederهای شخصی همیشه یک منبع برای دریافت اون فایل هست. (که بعضا به این سرورها supe seeder ها میگند)
swarm کل میجموعه ای که دارن یک فایل رو به اشتراک میگذارند میگند (چه اونهایی که دریافت میکنند و چه اونهایی که به اشتراک گذاشتند و سیید میکنند)
leecher کسی هست که بیش از این که به مجموعه swarm کمک کنه (آپلود کنه) داره فقط دانلود میکنه.
availability (مهم) این خاصیت بیان کننده میزان دسترس پذیری یک فایله. و اینطور حساب میشه که هر نفری که یک نسخه کامل از فایل داشته باشه یک محسوب میشه و اگر فایلش ناقص باشه اعشاری میشه !
مثلا برای فایلی که 5 نفر نسخه کامل اون رو دارند و یک نفر هم 80 درصد از فایلو داره availability میشه 5.80 !
معمولا برای دانلود هر فایلی ممکنه نسخه های متعددی توی سایتهای متعددی باشه و شما باید اونوی رو انتخاب کنید که availabilityیش بیشتره ! (یکی از کارهای trackerها کمک به محاسبه این عدد هستش)
تفاوت با سیستمهای اشتراک فایل دیگه :
مقدار فشاری که به هر peer اینجا میاد کمتره (از نظر سرعت، پهنای باند و ... )
در مجموع سرعت نقل و انتقالات از این طریق خیلی بیشتره !
یک چیزی که شاید به نظر برسه همین وجود فایلهای تکراری و یکسانه .. که شاید در آینده براش ره حلی در نظر گرفته بشه.
مثلا بعضی مواقع پیش میاد که 5 مدل فایل منتشر شده که دقیقا با هم یکی هست و در نتیجه 5 swarm جدا تشکیل میشه و ممکنه توی هر کودوم فقط یکی یا دو نفر seed باشه ... و سرعت بیاد پایین..
که اگر راهی باشه که با hash فایلها duplicateها تشخیص داده بشه و یکی بشند خیلی بهتره میشه
:: موضوعات مرتبط:
,
,
:: بازدید از این مطلب : 1387
|
امتیاز مطلب : 37
|
تعداد امتیازدهندگان : 10
|
مجموع امتیاز : 10