PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مقاله p2p



MAHDIAR
2nd November 2009, 07:54 PM
:00 http://www.irpcn.com/images/article_images/internet/p2p.jpgواژه p2p به سیستم ها و کاربردهایی اطلاق می شود که برای انجام یک سری عملیات از منابع موجود در یک محیط توزیع شده استفاده می کند. این عملیات می تواند انجام یک محاسبه توزیع شده، اشتراک داده یا هرگونه ارتباط و همکاری با یکدیگر در انجام کاری باشد. توزیع شدگی می تواند در مورد داده ها، الگوریتم ها و متا-داده ها وجود داشته باشد.


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

این سیستم ها با اجتناب از وابسته کردن سیستم به یک مدیریت متمرکز، یاعث افزایش مقیاس پذیری سیستم می شوند.


نودها به طور مستقیم با یکدیگر ارتباط دارند و بنابراین نیاز به یک ساختار پرهزینه برای برقراری ارتباط بین نودها و مدیریت آن نخواهیم داشت.


به دلیل مقیاس پذیری بالای آن، امکان افزایش تعداد نودهای سیستم و در نتیجه افزایش منابع در دسترس سیستم فراهم شده و سیستم قدرتمندی ایجاد خواهد شد.
p2p در سال 2001 و با معرفی سیستم Napster که امکان اشتراک فایلهای صوتی را در سطح اینترنت فراهم می کرد، مطرح شد. استفاده از p2p در زمینه های دیگری مانند همکاری و ارتباط برای انجام محاسبات توزیع شده نیز نفوذ کرد و گروه های کاری زیادی توسط دانشگاه ها و مراکز صنعتی در خصوص آن ایجاد گردید.
تعریف های مختلفی از p2p ارائه شده است. که به طور کلی آنرا سیستمی می دانند برای اشتراک منابع و سرویسهای کامپیوتر با انجام تبادل مستقیم بین آنها و در محیطی که اتصالات پایدار و آدرسهای IP قابل پیش بینی وجود ندارد و سیستم نمی تواند متکی به یک سرور متمرکز باشد.
اهداف
انتخاب یک روش p2p معمولا به دلیل یک یا چند مورد از اهداف زیر صورت می گیرد:


تقسیم و کاهش هزینه:

راه اندازی یک سیستم متمرکز که بتواند از سرویس گیرنده های زیادی پشتیبانی کند، هزینه زیادی را به سرور تحمیل خواهد کرد. معماری p2p می تواند کمک کند تا این هزیته بین تمام peer ها تقسیم شود. به عنوان مثال در سیستم اشتراک فایل، فضای مورد نیاز توسط تمام peer ها تامین خواهد شد.
افزایش مقیاس پذیری و قابلیت اعتماد: بدلیل عدم وجود یک منبع قدرتمند مرکزی، بهبود مقیاس پذیری و قابلیت اعتماد سیستم یکی از اهداف مهم به شمار می آید و بنابراین باعث نوآوریهای الگوریتمی در این زمینه می شود.

افزایش خودمختاری:
در بسیاری از موارد کاربران یک شبکه توزیع شده مایل نیستند که متکی به یک سرور متمرکز باشند، چون متکی بودن به یک سرور متمرکز باعث محدود شدن آنها می شود. مثلا در مورد کاربرد اشتراک فایل، کاربران می توانند بطور مستقل فایلهای یکدیگر را دریافت کنند بدون آنکه متکی به یک سرور متمرکز باشند که ممکن است مجوز دریافت فایل را به آنها ندهد.

گمنامی :
این واژه وابسته به همان خودمختاری می شود. کاربران ممکن است مایل نباشند که هیچ کاربر دیگری یا سروری اطلاعاتی در مورد سیستم آنها داشته باشد. با استفاده یک سرور مرکزی، نمی توان از گمنامی مطمئن بود، چون حداقل سرور باید بگونه بتواند سرویس گیرنده را شناسایی کند مثلا با استفاده از آدرس اینترنتی آن. با استفاده از معماری p2p چون پردازش ها به صورت محلی انجام می شود، کاربران می توانند از دادن اطلاعاتی در مورد خودشان به دیگران اجتناب کنند.

پویایی :
فرض اولیه سیستم های p2p این است که در یک محیط کاملا پویا قرار داریم. منابع و نودهای محاسباتی می توانند آزادانه به سیستم وارد و از آن خارج شوند.

طبقه بندی p2p
http://www.irpcn.com/images/article_images/internet/p2p(1).jpg
شکل1 – طبقه بندی سیستم های کامپیوتری
برای سیستم های کامپیوتری می توان یک طبقه بندی مطابق آنچه در شکل1 دیده می شود در نظر گرفت. سیستم های کامپیوتری یا متمرکز هستند یا توزیع شده. سیستم توزیع شده می توانند بر اساس مدل مشتری-خدمتگذار باشند یا مدل p2p. در مدل مشتری- خدمتگذار یکنواخت، تمام مشتری ها از یک سرور ( یا چند سرور بدلیل افزایش قابلیت اعتماد سیستم) سرویس بگیرند یا اینکه یک ساختار سلسله مراتبی داشته باشند. در خصوص مدل یکنواخت آن می توان از همین برنامه های تجاری معمول نام برد و در مورد ساختار سلسله مراتبی می توان سیستم DNS را مثال زد. که در آن هر سرور علاوه بر اینکه به عنوان سرویس دهنده مشتری های رده پایینی خود است به عنوان مشتری از سرور بالاتر سرویس دریافت می کند. اتخاذ این ساختار باعث افزایش مقیاس پذیری سیستم می شود. مدل p2p می تواند خالص یا هایبرید باشد. در مدل خالص هیچ سرور متمرکزی وجود ندارد. مثالهایی از سیستم هایی که مبتنی بر این مدل هستند Gnutella و FreeNet می باشد. در مدل هایبرید ، peer از طریق یک سرور به سیستم وارد می شود. که این سرور می تواند برای شناسایی peer و اطلاعاتی که دارا می باشد بکار رود یا برای وارسی مجوز ورود. بعد از ورود به سیستم peer ها بطور مستقیم و بدون دخالت سرور با هم ارتباط برقرار می کنند. به عنوان مثالی از سیستم هایی که از این مدل استفاده می کنند می توان Napster و iMesh را نام برد. شکل2 این مدل را نشان می دهد.



http://www.irpcn.com/images/article_images/internet/p2p(2).jpg
شکل2 – مدل p2p هایبرید: (1) شروع ارتباط با سرور (2) ارتباط مستقیم با یک peer
برخی از سیستم های p2p نیز ممکن است یک روش میانه را در پیش بگیرند مانند سیستم KaZaa. در این سیستم یک سری peer وجود دارد به نام SuperPeer که اطلاعاتی را که ممکن است در peer ها یافت نشود دارا می باشد.

طبقه بندی کاربردها: طبقه بندی کاربردهای p2p در شکل 3دیده می شود.



http://www.irpcn.com/images/article_images/internet/p2p(3).jpg
شکل3 – طبقه بندی کاربردهای p2p
موازی شدنی:

این کاربردها یک عملیات بزرگ را به قطعاتی می شکنند که قابل اجرا به صورت موازی بر روی تعدادی گره مستقل می باشد. بیشتر کاربردهای این مدل به شدت محاسباتی هستند. ایده این کاربردها این است که از چرخه‌های بیکار هر کامپیوتری که به اینترنت متصل می باشد، می‌توان برای حل مشکلاتی که به محاسبات زیادی نیاز دارند استفاده کرد. در اغلب موارد یک task مشابه با پارامترهای متفاوت بر روی گره‌های مختلف اجرا می شود.

مدیریت فایل و محتوا : این کاربردها برای ذخیره سازی و بازیابی اطلاعات از گره‌های مختلف موجود در شبکه بکار می‌رود.

همکاری کننده:
این کاربردها به کاربران این امکان را می دهند که با هم ارتباط برقرار کنند، بدون اینکه متکی بر یک سرور مرکزی باشند که اطلاعات را جمع آوری و رله کند.Instant Messaging یکی از زیرکلاسهای این کلاس از کاربردها است.

الگوریتم‌ها
مدل دایرکتوری متمرکز:

این مدل توسط Napster عمومیت یافت. گره‌های یک اجتماع به یک دایرکتوری مرکزی متصل می شوند و اطلاعات خود را از طریق آن انتشار می دهند. بر اساس درخواستی از یک گره، فهرست مرکزی درخواست را با بهترین گره موجود در دایرکتوری مطابقت خواهد داد. بهترین گره، گره‌ای است که بسته به نیاز کاربر، ارزان‌ترین،سریعترین و در دسترس‌ترین گره باشد. سپس تبادل فایل به‌طور مستقیم بین دو گره انجام خواهد شد. این زیرساخت نیاز به یک سرور مرکزی دارد تا اطلاعات مربوط به تمام گره‌ها را در خود نگه‌دارد. این باعث می‌شود تا scalability سیستم تا حدودی محدود شود چون به سرورهای قدرتمند‌تری نیاز خواهیم داشت وقتیکه تعداد درخواست‌ها و کاربران افزایش یابد.



http://www.irpcn.com/images/article_images/internet/p2p(4).jpg
شکل4 – الگوریتم فهرست مرکزی


مدل درخواست‌های سیل آسا:

این مدل p2p خالص می باشد که برخلاف مدل قبلی، هیچ منبع مشترکی بین گره‌ها در آن وجود ندارد. هر درخواست یک گره، به تمام گره‌های متصل به این گره فرستاده می‌شود که آنها نیز به همین صورت درخواست را برای گره‌های دیگر موجود در شبکه ارسال می کنند. این کار تا زمانی ادامه پیدا می کند که درخواست جواب خود را بدست آورد یا به تعداد حداکثر درنظر گرفته شده ، انتشار درخواست بین گره‌ها صورت گیرد. این مدل که در Gnutella استفاده می شود به پهنای باند زیادی نیاز دارد. بنابراین scalable نیست ولی در سطح یک شبکه محلی نشان داده شده است که به صورت کارایی می تواند کار کند. برای حل این مشکل برخی از شرکتها درخواست‌ها را در هر گره به صورت موقت نگهداری می کنند و بدین ترتیب ترافیک شبکه را با مصرف CPU بیشتری، به میزان قابل توجهی کاهش می‌دهند. همچنین از این ویژگی برای بهبود scalability سیستم استفاده می‌شود.

مدل مسیریابی سند:
این مدل در FreeNet مورد استفاده قرار می‌گیرد. به هر گره یک ID به صورت تصادفی داده می شود و هر گره، ID گره‌های دیگر موجود در سیستم را می‌داند. هر گره که بخواهد یک سند را به اشتراک بگذارد بر اساس محتویات آن و نام آن یک ID به آن نسبت می دهد. آنگاه هر گره این سند را به گره‌ای که ID آن به ID این سند نزدیک‌تر است می فرستد و اینکار تا آنجا ادامه می‌یابد که نزدیکترین ID به سند خود گره باشد. سپس هر درخواست برای یک سند نیز با استفاده از همین نزدیکی ID سند به ID گره بدست می اید.
هر چند این مدل برای یک حوزه وسیع بسیار کارا می باشد، مشکل آن این است که باید ID سند را قبل از مطرح کردن درخواست بدانیم.

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد