pnugirl
09-05-2008, 06:24 PM
بیتتورنت چیست؟
اولین برنامه کاربردی BitTorrent به زبان Python نوشته شد و source code آن با ورژن ۴٫۰ تحت لیسانس BitTorrent open source ارائه شد. تعداد زیادی از کلاینتها (نرم افزارها) با زبانهای مختلفی برای اجرا بر روی پلت فورمهای مختلف، نوشته شدهاند.
BitTorrent پروتکلی ست که به منظور ارسال فایل طراحی شدهاست. در واقع نوعی ارتباط peer-to-peer میباشد که کاربران مستقیما به یکدیگر متصل میشوند و به ارسال و دریافت قسمتی از فایل میپردازند. گر چه فعالیتهای تمامی کاربران توسط یک سرور مرکزی به نام Tracker هماهنگ میشود، اما این سرور از محتویات فایلهایی که منتقل میشود بی اطلاع است. در نتیجه تعداد زیادی از کاربران با پهنای باند محدود Tracker مربوطه قابل پشتیبانی هستند. فلسفه کلیدی BitTorrent اینست که کاربران باید همزمان با دان لود کردن اطلاعات (دریافت inbound)، آپلود (ارسال outbound) نمایند. در این صورت پهنای باند شبکه با حداکثر کارایی بکار گرفته میشود. BitTorrent به نحوی طراحی شدهاست که بر خلاف پروتوکلهای انتقال دیگر با افزایش تعداد افراد مشتاق برای دریافت یک فایل مشخص، کارا تر میشود. برای توصیف بهتر این روند میتوان آن را به گروهی از افراد تشبیه کرد که دور یک میز نشستهاند. هر کدام از این افراد سعی دارند که کپی کاملی از یک کتاب را دریافت کنند. نفر اول اعلام میکند که صفحات ۱-۱۰، ۲۳، ۴۲-۵۰ و ۷۵ را دارد و نفرات سوم، چهارم و پنجم هر کدام قسمتهایی از این صفحات را ندارند. بنابراین هر یک برای گرفتن صفحات، خود را با نفر اول هماهنگ میکنند. نفر دوم اعلام میکند که صفحات ۱۱-۲۲، ۳۱-۳۷ و ۶۳-۷۰ را دارد. نفر اول، چهارم و پنجم به نفر دوم میگویند که بعضی از صفحات او را میخواهند و او هم کپی آن صفحات را به آنها میدهد. این روند ادامه مییابد تا وقتی که همه افراد کپی تمام کتاب را به دست بیاورند. همچنین دور این میز شخص دیگری وجود دارد که کپی کل کتاب را دارد. بنابراین احتیاج ندارد که برایش کپی صفحهای فرستاده شود. او صفحاتی را که هیچ کس ندارد بین افراد پخش میکند. در ابتدا هنگامی که افراد دور میز مینشینند، باید از او بخواهند که اولین سری کپی صفحات خود را به آنها بدهد. گرچه افراد سعی میکنند که صفحات مشابه را از او نگیرند، بعد از مدتی همگی اکثر کپی کتاب را دارند. بدین ترتیب این فرد میتواند کتابی را که دارد در اختیار افراد زیاده قرار دهد بدون اینکه مجبور باشد کل کپی را به تمام افراد بدهد. او میتواند در عوض، قسمتهای مختلف کتاب را به افراد متفاوت بدهد. و آنها قادر خواهند بود که این قسمتها را در بین خود پخش کنند. به این فرد که کل کتاب را در اختیار دارد، در اصطلاح BitTorrent، Seed یا دانه گفته میشود. BitTorrent با برنامههای کاربردی peer-to-peer دیگر مانند WinMX, Kazza, Gnutella, Emule و... فرق دارد و مثل آنها محدوده مشخصی ندارد. به عبارت دیگر BitTorrent به وب اضافه شدهاست به این معنی که تمامی عملیات جستجو و تهیه لیستی از فایلهای در دسترس در وب انجام میشود و هنگامی که فایل مورد نظر را پیدا کردیم با کلیک بر روی آن، برنامه کلاینت اجرا میشود و شروع به دریافت میکند.
اولین برنامه کاربردی BitTorrent به زبان Python نوشته شد و source code آن با ورژن ۴٫۰ تحت لیسانس BitTorrent open source ارائه شد. تعداد زیادی از کلاینتها (نرم افزارها) با زبانهای مختلفی برای اجرا بر روی پلت فورمهای مختلف، نوشته شدهاند.
BitTorrent پروتکلی ست که به منظور ارسال فایل طراحی شدهاست. در واقع نوعی ارتباط peer-to-peer میباشد که کاربران مستقیما به یکدیگر متصل میشوند و به ارسال و دریافت قسمتی از فایل میپردازند. گر چه فعالیتهای تمامی کاربران توسط یک سرور مرکزی به نام Tracker هماهنگ میشود، اما این سرور از محتویات فایلهایی که منتقل میشود بی اطلاع است. در نتیجه تعداد زیادی از کاربران با پهنای باند محدود Tracker مربوطه قابل پشتیبانی هستند. فلسفه کلیدی BitTorrent اینست که کاربران باید همزمان با دان لود کردن اطلاعات (دریافت inbound)، آپلود (ارسال outbound) نمایند. در این صورت پهنای باند شبکه با حداکثر کارایی بکار گرفته میشود. BitTorrent به نحوی طراحی شدهاست که بر خلاف پروتوکلهای انتقال دیگر با افزایش تعداد افراد مشتاق برای دریافت یک فایل مشخص، کارا تر میشود. برای توصیف بهتر این روند میتوان آن را به گروهی از افراد تشبیه کرد که دور یک میز نشستهاند. هر کدام از این افراد سعی دارند که کپی کاملی از یک کتاب را دریافت کنند. نفر اول اعلام میکند که صفحات ۱-۱۰، ۲۳، ۴۲-۵۰ و ۷۵ را دارد و نفرات سوم، چهارم و پنجم هر کدام قسمتهایی از این صفحات را ندارند. بنابراین هر یک برای گرفتن صفحات، خود را با نفر اول هماهنگ میکنند. نفر دوم اعلام میکند که صفحات ۱۱-۲۲، ۳۱-۳۷ و ۶۳-۷۰ را دارد. نفر اول، چهارم و پنجم به نفر دوم میگویند که بعضی از صفحات او را میخواهند و او هم کپی آن صفحات را به آنها میدهد. این روند ادامه مییابد تا وقتی که همه افراد کپی تمام کتاب را به دست بیاورند. همچنین دور این میز شخص دیگری وجود دارد که کپی کل کتاب را دارد. بنابراین احتیاج ندارد که برایش کپی صفحهای فرستاده شود. او صفحاتی را که هیچ کس ندارد بین افراد پخش میکند. در ابتدا هنگامی که افراد دور میز مینشینند، باید از او بخواهند که اولین سری کپی صفحات خود را به آنها بدهد. گرچه افراد سعی میکنند که صفحات مشابه را از او نگیرند، بعد از مدتی همگی اکثر کپی کتاب را دارند. بدین ترتیب این فرد میتواند کتابی را که دارد در اختیار افراد زیاده قرار دهد بدون اینکه مجبور باشد کل کپی را به تمام افراد بدهد. او میتواند در عوض، قسمتهای مختلف کتاب را به افراد متفاوت بدهد. و آنها قادر خواهند بود که این قسمتها را در بین خود پخش کنند. به این فرد که کل کتاب را در اختیار دارد، در اصطلاح BitTorrent، Seed یا دانه گفته میشود. BitTorrent با برنامههای کاربردی peer-to-peer دیگر مانند WinMX, Kazza, Gnutella, Emule و... فرق دارد و مثل آنها محدوده مشخصی ندارد. به عبارت دیگر BitTorrent به وب اضافه شدهاست به این معنی که تمامی عملیات جستجو و تهیه لیستی از فایلهای در دسترس در وب انجام میشود و هنگامی که فایل مورد نظر را پیدا کردیم با کلیک بر روی آن، برنامه کلاینت اجرا میشود و شروع به دریافت میکند.