بیتتورنت چیست؟
یک شنبه 24 بهمن 1389 4:23 AM
بیتتورنت (BitTorrent) هم نام برنامه کاربردی مشتری † بر مبنای توزیع فایل در شبکههای همتا به همتا † است و هم نام یک پروتکل اشتراک فایل، که هر دو در آوریل ۲۰۰۱ توسط برنامهنویسی به نام برام کوهن ایجاد شدهاند. بیتتورنت به منظور توزیع حجم بزرگی از اطلاعات بدون کاهش در مصرف منابع پر هزینه سرور و پهنای باند طراحی شدهاست.
فهرست مندرجات
۱ بیتتورنت چیست؟
۲ اصطلاحات BitTorrent
۳ BitTorrent چگونه کار میکند؟
بیتتورنت چیست؟
اولین برنامه کاربردی BitTorrent به زبان Python نوشته شد و source code آن با ورژن ۴٫۰ تحت لیسانس BitTorrent open source ارائه شد. تعداد زیادی از کلاینتها (نرمافزارها) با زبانهای مختلفی برای اجرا بر روی پلت فورمهای مختلف، نوشته شدهاند.
BitTorrent پروتکلی ست که به منظور ارسال فایل طراحی شدهاست. در واقع نوعی ارتباط peer-to-peer میباشد که کاربران مستقیما به یکدیگر متصل میشوند و به ارسال و دریافت قسمتی از فایل میپردازند. گر چه فعالیتهای تمامی کاربران یک فایل توسط سرور مرکزی به نام Tracker هماهنگ میشود، اما این سرور از محتویات فایلهایی که منتقل میشود بی اطلاع است. در نتیجه تعداد زیادی از کاربران با پهنای باند محدود Tracker مربوطه قابل پشتیبانی هستند. فلسفه کلیدی BitTorrent اینست که کاربران باید همزمان با دان لود کردن اطلاعات (دریافت inbound)، آپلود (ارسال outbound) نمایند. در این صورت پهنای باند شبکه با حداکثر کارایی بکار گرفته میشود. BitTorrent به نحوی طراحی شدهاست که بر خلاف پروتوکلهای انتقال دیگر با افزایش تعداد افراد مشتاق برای دریافت یک فایل مشخص، کارا تر میشود. برای توصیف بهتر این روند میتوان آن را به گروهی از افراد تشبیه کرد که دور یک میز نشستهاند. هر کدام از این افراد سعی دارند که کپی کاملی از یک کتاب را دریافت کنند. نفر اول اعلام میکند که صفحات ۱-۱۰، ۲۳، ۴۲-۵۰ و ۷۵ را دارد و نفرات سوم، چهارم و پنجم هر کدام قسمتهایی از این صفحات را ندارند. بنابراین هر یک برای گرفتن صفحات، خود را با نفر اول هماهنگ میکنند. نفر دوم اعلام میکند که صفحات ۱۱-۲۲، ۳۱-۳۷ و ۶۳-۷۰ را دارد. نفر اول، چهارم و پنجم به نفر دوم میگویند که بعضی از صفحات او را میخواهند و او هم کپی آن صفحات را به آنها میدهد. این روند ادامه مییابد تا وقتی که همه افراد کپی تمام کتاب را به دست بیاورند. همچنین دور این میز شخص دیگری وجود دارد که کپی کل کتاب را دارد. بنابراین احتیاج ندارد که برایش کپی صفحهای فرستاده شود. او صفحاتی را که هیچ کس ندارد بین افراد پخش میکند. در ابتدا هنگامی که افراد دور میز مینشینند، باید از او بخواهند که اولین سری کپی صفحات خود را به آنها بدهد. گرچه افراد سعی میکنند که صفحات مشابه را از او نگیرند، بعد از مدتی همگی اکثر کپی کتاب را دارند. بدین ترتیب این فرد میتواند کتابی را که دارد در اختیار افراد زیادی قرار دهد بدون اینکه مجبور باشد کل کپی را به تمام افراد بدهد. او میتواند در عوض، قسمتهای مختلف کتاب را به افراد متفاوت بدهد. و آنها قادر خواهند بود که این قسمتها را در بین خود پخش کنند. به این فرد که کل کتاب را در اختیار دارد، در اصطلاح Seed، BitTorrent یا دانه گفته میشود. 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 را راه اندازی کنیم و به ما بگوید که به ۱۰ Peer و ۳ Seed متصل هستیم، Swarm شامل کامپیوتر ما و ۱۳ نفر دیگر است.
Tracker یا ردیاب: سروری ست در اینترنت که فعالیتهای کلاینتهای BitTorrent را هماهنگ میکند. هنگامی که تورنتی را باز میکنیم، ماشین ما با Tracker ارتباط برقرار میکند و لیستی از Peerها را برای تبادل اطلاعات دریافت میکند. این کار به طور دورهای و متناوب صورت میگیرد و Tracker میزان دان لود و آپ لود، میزان باقی مانده از فایل و وضعیتی که در حال حاضر داریم (شروع، پایان دان لود و توقف) را به ما نشان میدهد. اگر Tracker از کار بیفتد و بخواهیم یک تورنت را باز کنیم، قادر نخواهیم بود. اگر بعد از اتصال در حین ارتباط با Peerها و دان لود کردن فایل تورنت، Tracker از کار بیفتد، قادر به ادامه انتقال با آن Peerها خواهیم بود ولی هیچ Peer جدیدی قادر به برقرار کردن ارتباط با ما نخواهد بود. معمولاً خطاهای Trackerها موقتی هستند. بنابراین بهترین کار اینست که صبر کنیم و کلاینت را باز نگهداریم تا به سعی خود ادامه دهد.
Downloading یا دریافت کردن: به عمل دریافت داده از کامپیوتر دیگر دان لود کردن میگویند.
Uploading یا ارسال: به عمل فرستادن و ارسال داده به کامپیوتر دیگر گفته میشود.
Share rating یا سرعت اشتراک: اگر از یک کلاینت آزمایشی با stats-patch استفاده میکنیم، میتوانیم سرعت اشتراک را در یک پنل GUI مشاهده کنیم. که نشان دهندهٔ نسبت مقدار آپ لود شده به مقدار دان لود شدهاست. مقدارهای بکار برده شده، تنها برای قسمتهای در حال انتقال هستند نه برای کل فایل. اگر نسبت اشتراک نشان داده شده برابر با ۱ باشد، بدین معنی ست که به همان میزانی که آپ لود نمودهایم، دان لود کردهایم. هر چه این عدد بزرگ تر باشد نشان دهنده اینست که یه میزان بیشتری ارسال کردهاید. اگر این نسبت ۰ بود، به این معنی ست که شما کل فایل را دریافت نمودهاید و به عنوان Seed فعالیت میکنید. بنابراین هر چه بیشتر به ارسال ادامه دهید میزان این نسبت به سمت بی نهایت میرود. این نسبت تنها به منظور آگاهی کاربران محاسبه میشود. در کل برای کمک به دیگران بهتر است همیشه این نسبت را به حداکثر مقدار برسانیم.
Distributed Copies یا کپیهای توزیع شده: در بعضی از ورژنهای کلاینتها (نرمافزارها)، عبارت «متصل به n عدد seed و در حال مشاهده n.nnn کپی توزیع شده» را مشاهده میکنید. یک Seed ماشینی با فایل کامل است. با این وجود، Swarm میتواند در مجموع، کل فایل را داشته باشد بدون اینکه Seedای داشته باشد. و این همان چیزی ست که این عبارت بیان میکند.
Choked یا مسدود شده: این اصطلاحی ست که در پروتوکل BitTorrent بکار رفتهاست و به حالتی از یک ارسال کننده فایل (uploader)اشاره دارد. وقتی که یک اتصال مسدود شدهاست به معنی ست که ارسال کننده در حال حاضر نمیخواهد دادهای به آن لینک ارسال کند. کلاینت BitTorrent، بنا به دلائلی سیگنالی به کلاینتهای دیگر میفرستد که مسدود شدن این لینک را اعلام کند. اما معمولاً بطور پیش فرض یک کلاینت (کلاینتی که بیشترین آپ لود را داشتهاست) آپ لودهای فعال خود را باز میگذارد و بقیه کلاینتها مسدود اعلام میشوند. مقدار پیش فرض ۴ میباشد که مشابه تنظیمات کلاینت BUI آزمایشی ست که میتوان تغییر داد. یک اتصال میتواند به دلائل دیگری نیز مسدود شود. به طور مثال هنگامی که یک Peer مشغول دریافت فایلی از یک Seed است که نمیخواهد دادهای را ارسال کند، اتصالش مسدود شده اعلام میشود. توجه داشته باشید که اگر هر اتصال دوطرفه و قرینه باشد، دو علامت نمایش انسداد برای هر اتصال (انتهای هر ارسال کننده) خواهیم داشت.
Interested یا مشتاق: اصطلاح دیگری ست که در پروتوکل BitTorrent بکار برده میشود که در نتیجهٔ علامت انسداد ایجاد شدهاست و به نشان دهندهٔ حالتی ست که فرد دان لود کننده در انتظار اتصال و دریافت قسمتی از فایل است. فرد دان لود کننده هنگامی مشتاق نامیده میشود که در کلاینت مقابل، قسمتی از فایل موجود باشد که این فرد احتیاج دارد.
Snubbed یا منع شده: اگر کلاینت هیج دادهای را بعد از مدت زمان مشخصی (بطور پیش فرض ۶۰ ثانیه) دریافت نکند، منع شده نامیده میشود. این حالت هنگامی رخ میدهد که از ارسال Peer مقابل، برای مدتی جلوگیری شده باشد. بعضی از اوقات کلاینت در حالتی قرار میگیرد که با اینکه به تعداد زیادی از Peerها متصل است، ولی توسط تمام آنها مسدود شدهاست. این کلاینت از علامت منع شده استفاده میکند تا از این موقعیت خارج شود. این علامت نشان میدهد که یک Peer که میخواهد تکههایی از فایل را انتقال دهد، برای مدتی چیزی ارسال نکردهاست.
Optimistic unchoking یا اتصال مجدد خوشبینانه: کلاینتها به طور متناوب، لیستی از ارسال کنندهها را بازنگری میکنند و تلاش میکنند تا اتصالات جدیدی را که قبلا مسدود شده بودند، برقرار کنند و اتصالاتی را که برقرار کرده بودند را مسدود کنند. این اعمال را میتوان هر ۱۰ یا ۲۰ ثانیه با مشاهدهٔ "Advanced" از یکی از کلاینتها بررسی کرد.
BitTorrent چگونه کار میکند؟
پروتوکل BitTorrent فایلها را به تکههای کوچک، معمولاً یک چهارم مگابایت (۲۵۶ KB) میشکند. هر چه اندازهٔ فایل بزرگتر باشد، تکهها نیز بزرگتر خواهند بود. به طور پیش فرض اندازه تکهها برای یک فایل ۴٫۳۷ گیگا بایتی، ۴ مگابایت میباشد. Peerها تکههایی را که ندارند از یکدیگر دانلود میکنند و تکههایی را که Peerهای دیگر ندارند برایشان آپلود میکنند. این پروتوکل به اندازهٔ کافی هوشمند است که Peerای را انتخاب کند که بهترین اتصال را داشته باشد. برای بالا بردن کارایی کل swarm، کلاینتهای BitTorrent قسمتهایی را درخواست میکنند که کمیاب ترند. به عبارت دیگر قسمتهایی که در Peerهای کمتری وجود دارند، میتوانند برای Peerهای بیشتری مفید باشند. تکههای فایلها معمولاً به ترتیت دان لود نمیشوند و احتیاج به مرتب سازی در ماشین دریافت کننده دارند. توجه داشته باشید که کلاینتها قبل از اینکه کل فایل دان لود شود، تکهها را برای Peerهای دیگر آپ لود میکنند. بنابراین اشتراک گذاری برای هر Peer با یک فایل کوچک با پسوند.torrent آغاز میشود که یک فایل اشاره گر (pointer) است که شامل اطلاعاتی از قبیل نام فایل و اندازه آن دارد.
دانلود کردن با BitTorrent بسیار آسان است. با یک فایل با پسوند.torrent آغاز میشود. هر فرد که میخواهد فایل را دانلود کند، ابتدا باید این فایل کوچک را دریافت نماید و آن را توسط نرمافزارهای کلاینت BitTorrent باز کند. فایل تورنت، آدرس tracker ای را که لیستی از کاربرانی که مشغول دانلود فایل هستند و محل قرار گرفتن تکههای فایل را میداند، به کلاینت میدهد. برای هر منبع قابل دسترس، کلاینت متوجه میشود که کدام بلاک از فایل مورد نظر قابل دستیابی هستند. به محض اینکه کلاینت دریافت یک بلاک را کامل کرد، آن را هش (Hash) میکند تا مطمئن شود که این بلاک با فایل تورنت متناسب است. سپس به دنبال کسی میگردد که این فایل را برایش آپلود کند.
اگرچه BitTorrent پروتوکل خوبی برای کاربران پهن باند (BroadBand) میباشد، برای اتصالات dial up که بطور مداوم قطع میشوند، کمتر کارایی دارد. به بیان دیگر سرورهای HTTP زیادی اتصالات خود را برای ساعات طولانی قطع میکنند. در حالیکه تورنتهای زیادی وجود دارند که هنوز دان لود خود را تکمیل نکردهاند.
BitTorrent چیست؟
Torrent در لغت به معنی سیلاب و جریان شدید آب است،دلیل انتخاب این لغت آن است که بوسیله بیت تورنت میتوانید کامپیوتر خود را در معرض سیلی از اطلاعات قرار دهید!
بیت تورنت یک برنامه کامپیوتری نیست. بیت تورنت متدی برای دانلود کردن فایلها با استفاده از یک سیستم توزیع گسترده ی به اشتراک گذاری فایلها به روشPeer-to-Peer است.برنامه هایی که برای دانلود کردن فایل با BitTorrent مورد استفاده قرار می گیرند ترمینالهای بیت تورنت یا BitTorrent Clients نامیده می شوند.بیت تورنت مانند برنامه های P2P نظیر Limewire/Kazaa/Napster/ … که قبلا برای دانلود کردن استفاده می کردید نیست.این نکته مهمترین عامل سردرگمی برای کسانی است که برای اولین بار با بیت تورنت آشنا می شوند.به محض اینکه دانلودرهای قدیمیتان را کنار بگذارید متوجه می شوید استفاده از بیت تورنت چقدر ساده و مفید است!
چگونگی کار bit Torrent:
عاملی که بیت تورنت را منحصر به فرد می سازد این است که فایلها را میان همه کاربرانی که فایل را دانلود کرده اند یا در حال دانلود کردن هستند به اشتراک می گذارد.از انجا که بیت تورنت فایلها را به صدها بسته ی کوچک تکه تکه می کند برای به اشتراک گذاشتن یک فایل لازم نیست قبلا کل آن را دانلود کرده باشید.به محض اینکه بسته ی کوچکی از فایل را دانلود کردید می توانید آنرا میان همه کاربران به اشتراک بگذارید.این عاملی است که باعث سرعت شگفت انگیز دانلود کردن با بیت تورنت میشود.برای دانلود کردن فایلی نظیر یک ویدیوی آموزشی، لازم است که شما ابتدا فایل تورنت آن را که دارای پسوند (torrent.) را یافته و دانلود نمایید و سپس آنرا با کلاینت بیت تورنت خود باز کنید.فایل تورنت حاوی فایلهایی که میخواهید دانلود کنید نیست، بلکه این فایل به کلاینت بیت تورنت شما می گوید که فایل مورد نظرتان روی کامپیوتر چه کاربرانی وجود دارد و چه کاربرانی در حال دانلود کردن آن هستند تا دانلود شما شروع گردد.
چگونگی دانلود تورنت فایل مورد نظر شما(عکس-ام پی تری-فیلم-نرم افزار و......):
یه سری سایت جستجو گر هستند که این کار را برای شما انجام میدهند و با جستجوی فایل مورد نظرتان ان را برای شما پیدا میکنند و فایل تورنت ان را در اختیار شما قرار میدهند
بهترین سایتی که من سراغ دارم و تقریبا به تمام سایتهای معروف در این زمینه هم وصل هست ادرس پائینی هست:
http://www.torrents.to
نحوه جستجو:
شما باید عین ان چیزی را که دنبالش هستید را در قسمت جستجوی این سایت بنویسید مثلاشما دنبال اهنگ یه خواننده خاصی هستید اسم ان خواننده را بنویسید و ببینید چه قدر اهنگ از ان خواننده برای دانلود تورنت ان وجود دارد و سایر چیزهائی که دنبال ان هستید عین ان را بنویسید.
مرحله بعد۱:
بعد از دانلود تورنت فایل مورد نظرتان شما نیاز به یه نرم افزار دارید که اصل فایل شما را در اینترنت پیدا کند و فورا ان را برای شما دانلود کند نرم افزار های متعددی در این زمینه هستند که من نرم افزار ساده و کاربردی utorrent را پیشنهاد میکنم کافی هست اسم ان را در گوگل نوشته میبینید که سایتهای مختلفی ان را برای دانلود گذاشته اند.
نحوه کار :
شما بعد از گرفتن و نصب نرم افزارutorrent در قسمتadd یا در قسمتی که با علامت+ نشان داده شده فایل تورنتی که در سایت مورد نظر دانلود کرده اید را اجرا کنید و فورا ان فایل شروع به دانلود میکند با سرعت خوب البته سرعت دانلود فایل مورد نظر شما بستگی به عواملی دارد که برای اطلاعات بیشتر اصطلاحات زیر را حتما مطالعه فرمائید.
اصطلاحات:
Seed : به كسي كه فايلي رو به صورت كامل (يعني 100%) روي كامپيوتر داره و فايل رو share كرده (براي شما و ديگران آپلود ميكنه) در اصطلاح seed ميگن. در واقع اين عمل آپلود فايل ميشهseeding
peer:به شما و اشخاص ديگه اي كه فايلي رو دانلود ميكنند peer گفته ميشه. يك peer فايل مورد نظر رو هم از seed و ازpeerهاي ديگه دانلود ميكنه و در عين حال قسمتهاي دانلود شده رو براي peerهاي ديگه آپلود ميكنه. وقتي يك peer هم فايل رو به صورت كامل دانلود كرد به يه seed تبديل ميشه.
Ratio Share : به نسبت ميزان آپلود فايل به دانلود آن ratio share گفته ميشه كه بر اساس 1 سنجيده ميشه.
Ratio Share > 1 يعني آپلود شما بيشتر از دانلود بوده
Ratio Share < 1 يعني دانلود شما بيشتر از آپلود بوده
علاوه بر اينكه هر فايل به صورت جدا داراي Ratio Share هستش ... يك Ratio Share كلي هم وجود داره كه كل ميزان آپلود و دانلود شما رو نشون ميده (در واقع ميانگينRatio Share تمامي فايلهاي دانلود شده)
سوال و جوابهاي رايج :
* چرا بعد از باز كردن فايل تورنت دانلود شروع نميشه ؟
چند تا دليل ميتونه داشته باشه ... اما مهمترين اووونها :
اول اينكه فايل سيد نداره ... يعني كسي فايل به صورت 100% نداره كه براي شما آپلود كنه يا شايد هم بعضيا داشته باشن ! اما نخوان فايل براي شما و ديگران آپلود كنن.
دليل دوم اينكه ممكنه نرم افزار تورنت به وسيله فايروال شما block شده باشه.
در اين حالت يا نرم افزار رو از ليست block شدههاي فايروال خارج كنيد يا اينكه در صورت نياز كلا فايروال خودتون را ببنديد (كامل exit كنيد)
دلايل ديگهاي هم ممكنه وجود داشته باشه مثل بن شدن شما و ... كه فعلا نيازي نيست مطرح بشن.
* سرعت دانلود ما به سرعت آپلود بستگي داره ؟
بله به صورت كاملا مستقيم در ارتباط هستن.
کریمی که جهان پاینده دارد تواند حجتی را زنده دارد
دانلود پروژه و کارآموزی و کارافرینی