واژه p2p به سیستم ها و کاربردهایی اطلاق می شود که برای انجام یک سری عملیات از منابع موجود در یک محیط توزیع شده استفاده می کند. این عملیات می تواند انجام یک محاسبه توزیع شده، اشتراک داده یا هرگونه ارتباط و همکاری با یکدیگر در انجام کاری باشد. توزیع شدگی می تواند در مورد داده ها، الگوریتم ها و متا-داده ها وجود داشته باشد.
از مزایای این سیستم ها می توان به موارد زیر اشاره کرد: - این سیستم ها با اجتناب از وابسته کردن سیستم به یک مدیریت متمرکز، یاعث افزایش مقیاس پذیری سیستم می شوند.
- نودها به طور مستقیم با یکدیگر ارتباط دارند و بنابراین نیاز به یک ساختار پرهزینه برای برقراری ارتباط بین نودها و مدیریت آن نخواهیم داشت.
- به دلیل مقیاس پذیری بالای آن، امکان افزایش تعداد نودهای سیستم و در نتیجه افزایش منابع در دسترس سیستم فراهم شده و سیستم قدرتمندی ایجاد خواهد شد.
p2p در سال 2001 و با معرفی سیستم Napster که امکان اشتراک فایلهای صوتی را در سطح اینترنت فراهم می کرد، مطرح شد. استفاده از p2p در زمینه های دیگری مانند همکاری و ارتباط برای انجام محاسبات توزیع شده نیز نفوذ کرد و گروه های کاری زیادی توسط دانشگاه ها و مراکز صنعتی در خصوص آن ایجاد گردید. تعریف های مختلفی از p2p ارائه شده است. که به طور کلی آنرا سیستمی می دانند برای اشتراک منابع و سرویسهای کامپیوتر با انجام تبادل مستقیم بین آنها و در محیطی که اتصالات پایدار و آدرسهای IP قابل پیش بینی وجود ندارد و سیستم نمی تواند متکی به یک سرور متمرکز باشد. اهداف انتخاب یک روش p2p معمولا به دلیل یک یا چند مورد از اهداف زیر صورت می گیرد:
تقسیم و کاهش هزینه:
راه اندازی یک سیستم متمرکز که بتواند از سرویس گیرنده های زیادی پشتیبانی کند، هزینه زیادی را به سرور تحمیل خواهد کرد. معماری p2p می تواند کمک کند تا این هزیته بین تمام peer ها تقسیم شود. به عنوان مثال در سیستم اشتراک فایل، فضای مورد نیاز توسط تمام peer ها تامین خواهد شد. افزایش مقیاس پذیری و قابلیت اعتماد: بدلیل عدم وجود یک منبع قدرتمند مرکزی، بهبود مقیاس پذیری و قابلیت اعتماد سیستم یکی از اهداف مهم به شمار می آید و بنابراین باعث نوآوریهای الگوریتمی در این زمینه می شود. افزایش خودمختاری:
در بسیاری از موارد کاربران یک شبکه توزیع شده مایل نیستند که متکی به یک سرور متمرکز باشند، چون متکی بودن به یک سرور متمرکز باعث محدود شدن آنها می شود. مثلا در مورد کاربرد اشتراک فایل، کاربران می توانند بطور مستقل فایلهای یکدیگر را دریافت کنند بدون آنکه متکی به یک سرور متمرکز باشند که ممکن است مجوز دریافت فایل را به آنها ندهد. گمنامی :
این واژه وابسته به همان خودمختاری می شود. کاربران ممکن است مایل نباشند که هیچ کاربر دیگری یا سروری اطلاعاتی در مورد سیستم آنها داشته باشد. با استفاده یک سرور مرکزی، نمی توان از گمنامی مطمئن بود، چون حداقل سرور باید بگونه بتواند سرویس گیرنده را شناسایی کند مثلا با استفاده از آدرس اینترنتی آن. با استفاده از معماری p2p چون پردازش ها به صورت محلی انجام می شود، کاربران می توانند از دادن اطلاعاتی در مورد خودشان به دیگران اجتناب کنند. پویایی :
فرض اولیه سیستم های p2p این است که در یک محیط کاملا پویا قرار داریم. منابع و نودهای محاسباتی می توانند آزادانه به سیستم وارد و از آن خارج شوند. طبقه بندی p2p .jpg) شکل1 – طبقه بندی سیستم های کامپیوتری برای سیستم های کامپیوتری می توان یک طبقه بندی مطابق آنچه در شکل1 دیده می شود در نظر گرفت. سیستم های کامپیوتری یا متمرکز هستند یا توزیع شده. سیستم توزیع شده می توانند بر اساس مدل مشتری-خدمتگذار باشند یا مدل p2p. در مدل مشتری- خدمتگذار یکنواخت، تمام مشتری ها از یک سرور ( یا چند سرور بدلیل افزایش قابلیت اعتماد سیستم) سرویس بگیرند یا اینکه یک ساختار سلسله مراتبی داشته باشند. در خصوص مدل یکنواخت آن می توان از همین برنامه های تجاری معمول نام برد و در مورد ساختار سلسله مراتبی می توان سیستم DNS را مثال زد. که در آن هر سرور علاوه بر اینکه به عنوان سرویس دهنده مشتری های رده پایینی خود است به عنوان مشتری از سرور بالاتر سرویس دریافت می کند. اتخاذ این ساختار باعث افزایش مقیاس پذیری سیستم می شود. مدل p2p می تواند خالص یا هایبرید باشد. در مدل خالص هیچ سرور متمرکزی وجود ندارد. مثالهایی از سیستم هایی که مبتنی بر این مدل هستند Gnutella و FreeNet می باشد. در مدل هایبرید ، peer از طریق یک سرور به سیستم وارد می شود. که این سرور می تواند برای شناسایی peer و اطلاعاتی که دارا می باشد بکار رود یا برای وارسی مجوز ورود. بعد از ورود به سیستم peer ها بطور مستقیم و بدون دخالت سرور با هم ارتباط برقرار می کنند. به عنوان مثالی از سیستم هایی که از این مدل استفاده می کنند می توان Napster و iMesh را نام برد. شکل2 این مدل را نشان می دهد.
.jpg) شکل2 – مدل p2p هایبرید: (1) شروع ارتباط با سرور (2) ارتباط مستقیم با یک peer برخی از سیستم های p2p نیز ممکن است یک روش میانه را در پیش بگیرند مانند سیستم KaZaa. در این سیستم یک سری peer وجود دارد به نام SuperPeer که اطلاعاتی را که ممکن است در peer ها یافت نشود دارا می باشد. طبقه بندی کاربردها: طبقه بندی کاربردهای p2p در شکل 3دیده می شود.
.jpg) شکل3 – طبقه بندی کاربردهای p2p موازی شدنی:
این کاربردها یک عملیات بزرگ را به قطعاتی می شکنند که قابل اجرا به صورت موازی بر روی تعدادی گره مستقل می باشد. بیشتر کاربردهای این مدل به شدت محاسباتی هستند. ایده این کاربردها این است که از چرخههای بیکار هر کامپیوتری که به اینترنت متصل می باشد، میتوان برای حل مشکلاتی که به محاسبات زیادی نیاز دارند استفاده کرد. در اغلب موارد یک task مشابه با پارامترهای متفاوت بر روی گرههای مختلف اجرا می شود. مدیریت فایل و محتوا : این کاربردها برای ذخیره سازی و بازیابی اطلاعات از گرههای مختلف موجود در شبکه بکار میرود. همکاری کننده: این کاربردها به کاربران این امکان را می دهند که با هم ارتباط برقرار کنند، بدون اینکه متکی بر یک سرور مرکزی باشند که اطلاعات را جمع آوری و رله کند.Instant Messaging یکی از زیرکلاسهای این کلاس از کاربردها است.
الگوریتمها مدل دایرکتوری متمرکز:
این مدل توسط Napster عمومیت یافت. گرههای یک اجتماع به یک دایرکتوری مرکزی متصل می شوند و اطلاعات خود را از طریق آن انتشار می دهند. بر اساس درخواستی از یک گره، فهرست مرکزی درخواست را با بهترین گره موجود در دایرکتوری مطابقت خواهد داد. بهترین گره، گرهای است که بسته به نیاز کاربر، ارزانترین،سریعترین و در دسترسترین گره باشد. سپس تبادل فایل بهطور مستقیم بین دو گره انجام خواهد شد. این زیرساخت نیاز به یک سرور مرکزی دارد تا اطلاعات مربوط به تمام گرهها را در خود نگهدارد. این باعث میشود تا scalability سیستم تا حدودی محدود شود چون به سرورهای قدرتمندتری نیاز خواهیم داشت وقتیکه تعداد درخواستها و کاربران افزایش یابد.
.jpg) شکل4 – الگوریتم فهرست مرکزی
مدل درخواستهای سیل آسا:
این مدل p2p خالص می باشد که برخلاف مدل قبلی، هیچ منبع مشترکی بین گرهها در آن وجود ندارد. هر درخواست یک گره، به تمام گرههای متصل به این گره فرستاده میشود که آنها نیز به همین صورت درخواست را برای گرههای دیگر موجود در شبکه ارسال می کنند. این کار تا زمانی ادامه پیدا می کند که درخواست جواب خود را بدست آورد یا به تعداد حداکثر درنظر گرفته شده ، انتشار درخواست بین گرهها صورت گیرد. این مدل که در Gnutella استفاده می شود به پهنای باند زیادی نیاز دارد. بنابراین scalable نیست ولی در سطح یک شبکه محلی نشان داده شده است که به صورت کارایی می تواند کار کند. برای حل این مشکل برخی از شرکتها درخواستها را در هر گره به صورت موقت نگهداری می کنند و بدین ترتیب ترافیک شبکه را با مصرف CPU بیشتری، به میزان قابل توجهی کاهش میدهند. همچنین از این ویژگی برای بهبود scalability سیستم استفاده میشود. مدل مسیریابی سند:
این مدل در FreeNet مورد استفاده قرار میگیرد. به هر گره یک ID به صورت تصادفی داده می شود و هر گره، ID گرههای دیگر موجود در سیستم را میداند. هر گره که بخواهد یک سند را به اشتراک بگذارد بر اساس محتویات آن و نام آن یک ID به آن نسبت می دهد. آنگاه هر گره این سند را به گرهای که ID آن به ID این سند نزدیکتر است می فرستد و اینکار تا آنجا ادامه مییابد که نزدیکترین ID به سند خود گره باشد. سپس هر درخواست برای یک سند نیز با استفاده از همین نزدیکی ID سند به ID گره بدست می اید. هر چند این مدل برای یک حوزه وسیع بسیار کارا می باشد، مشکل آن این است که باید ID سند را قبل از مطرح کردن درخواست بدانیم. منبع: shojaee.com
آیتم های مرتبط:
نوشته شده توسط ميهمان در 1387/03/10 - 08:59 خیلی ممنون اطلاعات مفیدی بود |
نوشته شده توسط SENATOR87 در 1387/10/12 - 21:55 بابا تر******دی دیگه...بازم از این حالا بده...  |
v نوشته شده توسط حامد در 1387/12/20 - 21:36 سلام یه سری مطالب در خصوص شبکه های نظیر به نظیر و دو نرم افزاری که با اون کار می کنند می خواستم عماد: مظنورت همین شبکه های peer 2 peer هست؟ اگر بله که همین مقاله در مورد peer 2 peer هست. اگر مقاله ی جدید تری می خوای هم جستجو کن. موفق باشید  |
نوشته شده توسط سعید در 1388/05/15 - 17:26 لطفا در مورد شبکه های خانگی مقاله بنویسید که بدرد ما بخورد |
جالب نوشته شده توسط كمال در 1388/07/15 - 13:42 دستت در نكه كلا موضوع سيستم هاي توزيع شده بحث سنگيني است هر چقدر در مورد ان بخواهي بخوني كم است ولي مال شما براي استارت اولي بد نبود. |
نوشته شده توسط ایزانلو در 1388/07/27 - 12:36 سلام خسته نباشید مطالبتان بسیار جالب بود می خواستم خواهش کنم اگر ممکن است در مورد پایداری نودها در بهبود لایه های چند پخشی کاربردی هم مقاله ای در سایتتان ارائه دهید اگر لطف کنید و این مقاله را هم به آدرس ایمیل من بفرسید ممنون می شوم با تشکر سپاس فراوان |
تقاضای کمک عاجزانه- نوشته شده توسط سعید رضا عرب در 1388/08/18 - 23:01 سلام آقا عماد مقاله شما را در رابطه شبکه های نظیر به نظیر خواندم خیلی عالی این شبکه ها رو بررسی کرده بودید با توجه به این که پایان نامه ارشد من در مورد توزیع چند پخشی محتوا در شبکه های نطیر به نطیر هست در صورت امکان مقالات - ژورنال-و یا وب سایت خاصی اگر میشناسین برام ایمیل کنید شما رو دعا میکنم همیشه شاد باشین |
جستجو در شبکه های غیر نوشته شده توسط foad در 1388/08/30 - 16:07 با سلام از مطالب شما استفاده لازم را بردم اینجانب پروژه درس شیوه را برداشم و در مورد جستجو در شبکه های غیر متمرکز توزیع شده تحقیق لازم داشتم اگر آنرا در اختیار دارید ممنون میشوم آنرا برام تا تاریخ 5/9/88 ارسال نمایید با تشکر فواد سلطانی |
نوشته شده توسط علی در 1388/09/11 - 22:16 کامل بود ولی شکلها قابل ذخیره شدن نیستن لطفا این کار را کنید عماد: مشکلی نداره، هم در ie و هم در firefox تست کردم. |
نوشته شده توسط kkk در 1388/10/06 - 19:44 میشه کامل ترش کنید |
نوشته شده توسط ضیا در 1388/10/12 - 18:39 سلام.موضوع پروژه من در مورد جستجو در شبکه های p2p غیرساختاریافته است. خواهش می کنم به من کمک کنید. |
متدهای جستجو در شبکه ه نوشته شده توسط جواد در 1388/11/05 - 22:57 سلام. من هم در این مورد دنبال مطلب فارسی هستم. اگر در این مورد اطلاعاتی دارید خیلی ممنون می شوم که برای من هم به ایمیلم ارسال کنید. با تشکر |
|
- لطفا نظرات خود را در مورد این مطلب در اینجا ثبت کنید
| |