PDA

View Full Version : BitTorrent



hamed2003
شنبه 07 مرداد 1385, 19:55 عصر
تو یه مقاله خوندم که :
"امروزه بیشتر broad catchingها از rss و BitTorrent استفاده می کنند، این اصطلاح هم مثل rss است؟
در مورد ارتباط rss و cloud هم بگید؟
در مورد اینکه چطور میشه ranking رو در مورد فیدها اعمال کرد و همچنین جستجو در فیدها!

hamed2003
سه شنبه 10 مرداد 1385, 12:40 عصر
من تو یه مقاله خوندم که تکنولوژی BitTorrent که در آن Torrent به معنای سیل است برای دانلود سریع بکار می رود و توی اون مقاله توضیح داده بود که چطور ، اما من چون انگلیسیم ضعیفه خوب نفهمیدم!
گفته بود دانلود را بین چند تا uploader تقسیم می کند تا سرعت بالا برود! یعنی چی و چطور!

SabaSabouhi
سه شنبه 17 مرداد 1385, 19:43 عصر
با سلام
BitTorrent نام یک برنامه هست که شما با استفاده از اون مى‌توانید در اینترنت به صورت
Peer to peer به تبادل فایل بپردازید.
در این روش هیچ منبعى به عنوان Server وجود نداره و شما فایل مورد نظر رو به صورت قطعه قطعه از بقیه‌ى کاربران متصل به شبکه مى‌گیرید و به طور همزمان دیگران هم از شما مى‌گیرند.
مثلاً اگر یک فایل شامل 324 قطعه‌ى 32 کیلوبایتى باشد و شما 52 قطعه را از دیگران گرفته
باشید به همان شکل که دیگران براى شما 272 قطعه‌ى باقیمانده را ارسال مى‌کنند شما هم این 52 قطعه دریافت شده را در اختیار دیگران (که هنوز یک یا چند قطعه از این قطعات را ندارند) مى‌گذارید.
براى این منظور برنامه‌هاى دیگرى نیز وجود دارد که با جستجو در Google مى‌توانید آن‌ها
را پیدا کنید.

توجه داشته باشید که این روش‌هاى دریافت زیاد به درد اینترنت ایران نمى‌خورد چون به پهناى باند خوب نیاز دارد.

صبا صبوحى

aidinwashere
پنج شنبه 19 مرداد 1385, 09:30 صبح
این نکته رو من هیچ وقت نفهمیدم که وقتی که شما در حال گرفتن فایل هستید، امکان دارد کسی این فایل را نخواهد یا کسی در حال گرفتن فایل نباشد که شمایی که در حال دانلود هستید برای او آپلود کنید. ولی همیشه وقتی شما با تورنت فایل میگیرید، در حال آپلود هم هستید و برای تائید حرفم اینکه ادعا میکنند بدون آپلود نمیتوانید دانلود کنید (که البته راز ماندگاری آن نیز به نظر من همین است) به این سؤال اینکه سروری برای فایلها (سیدها را نمیگویم) وجود ندارد که حتی موقت شما آنجا آپلود کنید!
پس این آپلود شما کجا میرود؟
(شرمنده، فارسی من زیاد خوب نیست)

hamed2003
شنبه 21 مرداد 1385, 00:48 صبح
با تشکر از خانم صبوحی:تشویق:
توضیحات ایشون واقعا کامل بود و خیلی قشنگ هم توضیح دادند، از ایشون خواهش می کنم اسم منبعی رو که استفاده کرده اند، بگند(بگویند!). من خیلی خوب فهمیدم، ازتون متشکرم.
برای اینکه تونسته باشم تا حدی ابهامات رو رفع کنم، قسمتی از مقاله ای رو که دارم ترجمه می کنم.در ضمن اسم صفحه BitTorrent FAQ and Guide.htm و تیتر مطلب هم Brian's BitTorrent FAQ and Guide است، اسم سایت هم http://dessent.net/btfaq یا http://btfaq.com/ هستش. ضمنا من لغاتی را که نمی دونستم، خود لغت رو بصورت Bold نوشتم، اگه شما می دونستید، بگین تا منم یاد بگیرم!

BitTorrent چیست؟
BitTorrent پروتکلی است که برای انتقال فایلها طراحی شده است وهنگامی که کاربران بطور مستقیم به یکدیگر connect می شوند، تا قسمتهایی از فایل را بفرستند یا دریافت کنند خاصیت peer-to-peer دارد.
بهرحال، یک سرور مرکزی بنام tracker وجود دارد که عمل همه چنین جفتهایی را هماهنگ می کند.
Tracker فقط connection ها را مدیریت می کند و هیچ اطلاعی از محتوای فایلهایی که در حال توزیع شدن هستند ندارد، بنابراین تعداد زیادی از کاربران با پهنای نسبتا کم tracker می توانند support شوند.
فلسفه کلیدی BitTorrent این است که کاربران در همان زمانی که در حال download هستند،
(receiving inbound.) باید upload هم بکنند. با این روش، پهنای باند شبکه تا حد امکان بصورت موثرتری استفاده می شود.BitTorrent برخلاف دیگر پروتکلهای انتقال فایل، برای مواقعی طراحی شده که تعدادی زیادی از مردم، به فایل مشخصی علاقه پیدا کرده اند، که این تکنولوژی کمک می کند تا کار بهتر انجام شود.
به عنوان مثالی برای شرح دادن این process، تصور کنید که چند نفر پشت یک میز نشسته اند، هر شخصی هم می تواند صحبت کند و هم می تواند به صحبت بقیه افرادی که پشت میز نشسته اند گوش دهد. این افراد سعی دارند که یک کپی کامل از یک کتاب را بگیرند. شخص A اعلام می کند که صفحات 1 تا 10 و صفحه 23 و 42 تا 50 و صفحه 75 را دارد. اشخاص C وD وE هم قسمتی از صفحاتی را که A دارد گم کرده اند و بنابراین آنها با هم هماهنگ می کنند که A از قسمتهایی که اونا گم کرده اند، یک کپی به آنها بدهد.
شخص B اعلام می کند که صفحات 11 تا 22 و 31 تا 37 و 63 تا 70 رو داره. اشخاص A,D,E به B می گویند که تعدادی از صفحات اون رو می خوان، و B هم کپی اون صفحات رو در اختیار اونا قرار میده.
این پردازش(process) تا زمانی که همه از صفحات گم شده خود یک کپی بدست بیاورند ادامه می یابد.
اشخاص با هم هماهنگ می کنند که تا موقعی که هر کس به خواسته هایش برسد قسمتهای کتاب را با هم مبادله کنند. شخص دیگری هم پشت میز وجود دارد که ما او را S می نامیم. این شخص یک کپی کامل از کتاب را دارد، و بنابراین به چیزهایی که برایش فرستاده می شود نیازی ندارد. در مقابل، با ارسال صفحاتی که هیچ کس در گروه آنها را ندارد، واکنش نشان می دهد. در ابتدا، موقعی که همه رسیدند، همه باید با او صحبت کنند، تا اولین مجموعه صفحاتی رو که نیاز دارند، دریافت کنند. بهر حال، افراد اینقدر باهوش هستند که همشون، صفحات یکسانی رو از اون نگیرند. در مدت زمان کوتاهی اونا بیشتر کتاب را در بین خودشون دارند، حتی اگه کسی یه قسمت رو بطور کامل نداشته باشه.
در این روش، یک نفر می تونه یک کتاب رو با افراد زیادی share کنه، البته بدون اینکه نیازی باشه که یک کپی کامل رو در اختیار هر فردی که علاقمنده قرار بده. در عوض می تونه قسمتهای مختلف رو بین افراد مختلف توزیع کنه و اونها هم می تونند اونو بین خودشون share کنند. شخصی که ما S نامیدیم در اصطلاح BitTorrent ، seed(تخم، بذر) نام دارد.

aidinwashere
شنبه 21 مرداد 1385, 11:09 صبح
با تشکر از مطلبتون، به سؤال من میشه پاسخ بدید؟

hamed2003
یک شنبه 22 مرداد 1385, 01:18 صبح
با سلام
قسمت دوم مقاله را با انگلیسی دست و پا شکسته ام ترجمه کردم، واقعا هم که از توی یک مقاله خارجی شاید به زحمت بشه یه مطلب آموزنده پیدا کرد، در هر صورت من آدرس مقاله رو که قبلا گفتم، FAQ بود، بنابراین هر گونه سوالی داشته باشید در اونجا جواب داده شده است. ضمنا شما چه برنامه BitTorrentی را برای دانلود پیشنهاد می کنید؟ لطفا اسم و آدرسشو بدین.

تفاوت BitTorrent با بقیه انتقال دهنده های فایل چیست؟
روش معمولی که فایلها در اینترنت با آن منتقل می شوند، مدل client-server است. یک سرور مرکزی کل فایل رو برای هر clientی که درخواست کند می فرستد، این طریقه کار http وftp است.
Clientها فقط با server رابطه دارند و با خودشان رابطه ای ندارند. مزیت اصلی این روش این است که نصب آن آسان است و فایلها معمولا، همیشه بعد از اینکه سرورها قصد دارند فایلی را اختصاص دهند موجودند و همیشه on و متصل به اینترنت هستند. بهر حال، این مدل با فایلهایی که بزرگ هستند یا خیلی محبوبند یا هر دو مشکل دارد. برای مثال، برای توزیع چنین فایلی به پهنای باند و منابع سرور زیادی نیاز دارد، تا زمانی که کل فایل به همه clientها فراستاده شود.
شاید شما سعی کنید که demo یک بازی جدید که تازه منتشر شده، یا cd images یک توزیع جدید لینوکس را دانلود کنید و این پیغام سرورها را ببینید که "too many users" یا "there is a long queue that you have to wait through" به این معنی که صف طولانی ای وجود دارد و شما باید منتظر بمانید.
مفهوم mirrorها بصورت ناقص، با کاستی ها بوسیله توزیع load بین چندین server، برخورد می کند.
اما احتیاج به هماهنگی و تلاش زیادی برای نصب یک شبکه کارا از mirror ها دارد و معمولا فقط برای سایتهای خیلی شلوغ شدنی است.
روش دیگر انتقال فایلها که به تازگی محبوبیت زیادی بدست آورده است شبکه نظیر به نظیر(peer-to-peer) است، سیستم هایی مثل Kazaa,eDonkey,Gnutella,Direct Connect وغیره .
در بیشتر این شبکه ها کاربران عادی اینترنت، فایلها را بوسیله اتصال یک به یک(one-to-one) مبادله می کنند. مزیت آن این است که فایلها می توانند بدون دسترسی داشتن به یک سرور مناسب share شوند و به همین دلیل جوابگویی اندکی برای محتوای فایلها وجود دارد. بنابراین، این شبکه ها میل دارند در زمینه فایلهای قاچاق مثل موسیقی، فیلمها، pirated software و غیره محبوب باشند.
بطور نمونه، یک دانلود کننده یک فایل را از یک منبع تکی دریافت می کند، اگرچه نسخه های جدید بعضی clientها اجازه می دهند که یک فایل از چندین منبع دریافت شود تا سرعت بالا رود.
مشکلی که در بالا در مورد دانلودهای محبوب مطرح شد تا حدی حل شده است، زیرا شانس زیادی وجود دارد که یک فایل محبوب توسط چندین جفت(peer) پیشنهاد بشود. پهنای فایلهای موجود نسبتا خوب است، هر چند سرعتهای دانلود برای فایلهای گمنام کم خواهد بود.
مشکل معمول دیگری که بعضی اوقات این سیستمها دارند سربار پروتکل اصلی است که به دلیل پاس دادن(passing) پرس و جوهای جستجو در بین جفتهاست، و در نتیجه تعداد جفتهایی که یک نفر می تواند به آنها برسد محدود است.
دانلودهای ناتمام فایلها معمولا برای دیگر جفتها موجود نیستند، اگرچه بعضی از clientهای جدید ممکن است این تابع را پیشنهاد کنند.بطور کلی موجود بودن فایلها به خوش نیت بودن کاربران وابسته است، برای گسترش چنین سیستمهایی سعی شده است قوانین وادار کننده ای وضع شود یا محدودیت هایی راجع به نرخ های ارسال و دریافت.
استفاده از Usenet binary newsgroups هنوز یکی از روشهای توزیع فایل است، روشی که بطور اساسی با بقیه روشها فرق دارد. زمان نگهداشت معمول برای خبرهای باینری معمولا 24 ساعت است، و اینکه یک فایل پست شده برای یک هفته موجود باشد، این زمان به عنوان یک زمان طولانی ملاحظه می شود.
بهر حال، مدل Usenet نسبتا کارا است، پیامهایی که پیرامون وب بزرگی از جفتها، از یک سرور خبری به سرور خبری دیگر پاس داده می شوند و در پایان به کاربر نهایی می رسند.
اغلب یک کاربر نهایی به سروری که توسط ISP فراهم شده، متصل می شود، که نتیجه آن ذخیره پهنای باند بیشتری است. Usenet همچنین یکی از گونه های ناشناس اشتراک فایل است، و همچنین اغلب برای انواع فایلهای قاچاق استفاده می شود. به علت طبیعت NNTP، محبوبیت یک فایل تا حدی وابسته به در دسترس بودن آن است و بنابراین دانلود با استفاده از Usenet بدون توجه به محتوایش باید واقعا سریع باشد.
قسمت پایین(downsides) این روش شامل یک مجموعه عجیب از توابع و قانونهاست، و نیاز به یک مقدار معین تلاش و فهم کاربر دارد.
برای گرفتن یک فایل کامل، به خاطر تکه تکه شدن فایلهای بزرگ به تعداد زیادی قسمتهای کوچک، اغلب احتیاج به بردباری است. در پایان، دسترسی به Usenet اغلب به خاطر حجم بینهایت زیاد پیغامها در گروههای باینری، باید خریداری شود.
به نظر من، BitTorrent شبیه Usenet است. که بیشتر برای فایلهای جدیدی که تعدادی از افراد به آنها علاقمند هستند، مناسب است. فایلهای قدیمی یا گمنام متمایل به در دسترس نبودن هستند.
شاید ، چنانکه نرم افزار وسایل مناسب نگهداری torrentها(سیلها) را کامل کند seeded پدیدار خواهد شد، اما امروزه client کاملا مشتاق منبع است، که share کردن تعدادی فایل طاقت فرساست.
BitTorrent با فایلهایی سر و کار دارد که تقاضا برای آنها زیاد است، مخصوصا در مقایسه با روشهای دیگر.

جالبه! در قسمت "من از کجا می تونم برنامه BitTorrent را دانلود کنم" گفته شده که پیاده سازی BitTorrent بصورت open source هستش! هر وقت پروژه فارغ التحصیلیمو تحویل بدم، میام سراغ کداش! شما اگه وقت دارید تابستونتونو اینطوری می تونید پر کنید. من با اینطور برنامه های open source مشکل دارم، الان برای پروژه خودم RSS.NET رو گرفتم و خیلی هم باحاله، اما نمیدونم چطور میشه به عنوان یک component ازش استفاده کنم! شما می دونید چطور میشه از برنامه های open source استفاده کرد؟چون فایل exe که ندارند! اجرا هم که نمی شوند!
سوالی که آقا آیدین پرسیدند ذهن منو مشغول کرده، کسی می تونه جواب بده؟ در ادامه صفحه FAQ تیتری با این عنوان داره که"How do I configure a web server for .torrent files?" خوب حالا سوال من اینه که مگه اینطور نیست که peer-to-peer هستش پس این web server این وسط چی کار میکنه؟
آقا آیدین شما اولین بار در کجا با BitTorrent آشنا شدی؟ اگه میشه آدرسشو بگین. ممنونم.
خوب آقا آیدین راست میگه! کسی که یک فایلی رو بصورت کامل در اختیار داره که بیکار نیست بیاد اونو share کنه! یا اینکه یکی 20% فایل رو داشته باشه و دیگری 80% بقیشو که حجمشم خیلی زیاده! خوب اینطور که آقا آیدین میگن و درست هم میگن:"دانلود و آپلود همزمان صورت میگیرند" خوب اون بنده خدا وقتی 20% رو که نداره گرفت که دیگه دانلود نداره پس طبیعتا آپلود هم باید متوقف شود!
آقا آیدین من هم مثل شما سعی می کنم جواب این سوال شما رو پیدا کنم!

hamed2003
سه شنبه 24 مرداد 1385, 08:12 صبح
با سلام:قلب:
ابتدا به همه دوستان سفارش اکید می کنم که این صفحه FAQ رو تو کامپیوترشون save کنن و حتما یه سری به قسمت What do all these words mean? (seeding, uploading, share rating, etc.) بزنن تا در ادامه که از این لغات تخصصی مربوط به بحث استفاده شد، مطلب را بهتر متوجه شوید. البته خودم هر موقع وقت کنم ترجمه می کنم و میزارم تا همه استفاده کنن.

چند نکته مبهم برای من پیش آمده که از قرار زیر است:
1- در یک قسمت FAQ گفته شده که وقتی که شما در حال دانلود چیزی هستید، در همان زمان، در حال آپلود آن هم هستید و در قسمت اول مقاله که ترجمه آنرا گذاشته ام گفته چیزی را که ندارید دانلود می کنید و چیزی را که دارید آپلود میشود تا در اختیار بقیه قرار گیرد!
2- در قسمت What happens if I cancel a download? How can I resume? گفته شده که اگر شما دانلودی را قبل از اتمام آن cancel کنید، همان قسمتی را که دانلود کرده اید در هارد شما باقی می ماند و برای resume روی لینک تورنت یکسانی کلیک می کنیم و بعد سوال میکنه کجا ذخیره کنم؟ ما هم باید همان مسیری را که قبلا انتخاب کردیم، دوباره انتخاب کنیم تا ادامه دانلود انجام شود. حال در اینجا همون سوال آقا آیدین پیش میاد که مگه بقیه فایل جایی ذخیره شده؟ در غیر این صورت از کجا معلوم که طرف همزمان با شما به اینترنت متصل باشد؟ فکر کنم جفتها(peer) باید با هم دوست باشند و با هم یک توافق ضمنی داشته باشند، وگرنه که نمیشه!
3- در قسمت How do I create a new torrent(share a file I have with others) سه جزء ضروری برای اشتراک گذاشتن فایل توسط BitTorrent آمده که عبارتند از: 1- tracker 2- web server 3- seeder که در توضیح قسمت web server آمده:" وب سرور، برای ذخیره کردن و بکار بردن فایل با پسوند .torrent بکار می رود. که معمولا این فایل کوچک است و فقط یکبار قبل از شروع انتقال توسط هر جفتی درخواست می شود. وب سرور همچنین برای ایندکس کردن و سازمان دادن به تورنتها بکار می رود. خوب سوال من اینه که اصلا این وب سروره جریانش چیه و این فایل با پسوند تورنت شامل چه چیزی است؟ البته احتمال داره که جواب این سوالات من در همین FAQ که از اینترنت گرفتم باشه اما حوصله خوندن همه مطالبشو ندارم.

با تشکر : حامد مهدویان نسب