خلاصه اي از بيت تورنت
کاربرد هاي نظير به نظير در اينترنت روز به روز به طور فوق العاده اي محبوب مي شوند. اندازه گيري ترافيک نشان مي دهد که ترافيک p2p در حال چيره شدن بر پهناي باند در بخش هاي خاصي از اينترنت است (در بعضي از نواحي بيش از نيمي از ترافيک مختص به ترافيک p2p است). در ميان کاربرد هاي p2p مي توان گفت اشتراک فايل از بيشترين محبوبيت برخوردار است. در مقايسه با اشتراک فايل سرويس دهنده/ سرويس گيرنده اشتراک فايل p2p ، مزيت بزرگ توسعه پذيري را دارد. مطالعات تئوري بر روي خصوصيات توسعه پذيري بيت تورنت تاييد کرده اند که مکانيسم هاي داخلي بيت تورنت، پتانسيل توسعه پذيري خيلي خوبي دارند. يک شيوه شبيه سازي جذاب، مطالعه پوياي مبادله قطعات در بيت تورنت است. در برخي از مطالعات از شبيه سازي براي وارسي رفتار توسعه پذيري پروتکل براي سناريو هاي همگن و نا همگن استفاده شده است آنها در اين خصوص بحث کرده اند که در اين سناريو ها مي توان از يک seed هوشمند بهره برد. با اين رويکرد peer هاي با محتواي کامل (seed ها و peer هايي که دانلودشان به پايان رسيده است) قطعاتي که اولويت بيشتري دارند را آپلود مي کنند .
بيت تورنت يک کاربرد p2p است که هدفش تسهيل دانلود سريع فايل هاي محبوب است. ما در اينجا يک توضيح خلاصه از چگونگي عملکرد بيت تورنت زماني که يک فايل بوسيله تعدادي از کاربران در حال دانلود باشد را فراهم مي کنيم. ايده اصلي در بيت تورنت تقسيم يک فايل بزرگ (بطور معمول با حجم 100 مگابايت) به قطعاتي با اندازه معمولا 256 کيلوبايت براي هر کدام است. مجموعه peer ها به وسيله اتصال به چندين همتاي ديگر بطور همزمان و دانلود قطعات نا مشابه از فايل، سعي بر دانلود فايل از peer ها مختلف را دارند. براي تسهيل اين فرايند، بيت تورنت از يک نرم افزار مرکزي به نام tracker استفاده مي کند. در يک شبکه بيت تورنت، يک همتا که قصد دانلود فايل را دارد، ابتدا به tracker فايل متصل مي شود سپس tracker ليست تصادفي از peer هاي دارنده فايل ر ا بر مي گرداند. در اين هنگام دانلود کننده اتصالي را با هر کدام از peer هاي ديگر برقرار مي کند و در خواهد يافت که هر قطعه در کدام يک از ديگر peer ها اقامت دارد. دانلود کننده سپس قطعات را از تمام peer هايي که به آنها متصل است را دارد. اما هر peer اجازه آپلود تنها تعدادي ثابت (بطور پيش فرض اين عدد 4 است) از قطعات را در هر زمان مي دهد. آپلود کردن در بيت تورنت unchoking ناميده مي شود. Unchoke هر کدام از peer ها به وسيله نرخ دانلود از ساير همتا ها مشخص مي شود. بدين معني که هر کدام از peer ها به چهار peer ديگر که بهترين نرخ دانلود را فراهم مي کنند، آپلود مي کند. اين يک مکانيسم نامزد براي جلوگيري از سواري رايگان (آزاد سواري) است. زماني که هر peer تنها به چهار peer ديگر در هر لحظه آپلود مي کند، اين امکان وجود دارد که يک peer به peer A بگويد امکان آپلود وجود ندارد و به peer B که نرخ دانلود بالاتري را نسبت به ديگر peer ها ارائه مي دهد آپلود کند. بنابراين اين مکانيسم اجازه مي دهد که هرpeer نرخ دانلود خود را از ديگر peer ها گسترش دهد. بيت تورنت براي اين کار از يک فرايند به نام optimistic unchoking (unchoking خوشبينانه) استفاده مي کند. زير نظر optimistic unchoking هر peer پنجمين peer را که از آن درخواست دانلود مي رسد را انتخاب و به اين peer آپلود مي کند.بيت تورنت ميان دو نوع از peer ها تفاوت قائل مي شود که downloader ها و seed ها ناميده مي شوند. Downloader ها peer هايي هستند که قطعاتي (يا هيچ) قطعه از فايل را دارند. در حالي که seed ها نوعي peer هستند که تمام قطعه هاي فايل را دارند اما در سيستم مانده اند تا به ديگر peer ها اجازه دهند که از آنها دانلود کنند، بنابراين seed ها تنها آپلود مي کنند البته تا زماني که downloader ها قطعاتي را که ندارند را دانلود و قطعاتي را که دارند را آپلود مي کنند. بطور ايده آل اين يک مکانيسم محرک براي تشويق seed ها به ماندن در سيستم است. با اين وجود بيت تورنت در حال حاضر فاقد چنين ويژگي است.