استفاده از شبکه های کامپیوتری در چندین سال اخیر رشد فراوانی کرده و سازمان ها و موسسات اقدام به برپایی شبکه نموده اند . هر شبکه کامپیوتری باید با توجه به شرایط و سیاست های هر سازمان ، طراحی و پیاده سازی گردد. در واقع شبکه های کامپیوتری زیر ساخت های لازم را برای به اشتراک گذاشتن منابع در سازمان فراهم می آورند؛در صورتی که این زیرساخت ها به درستی طراحی نشوند، در زمان استفاده از شبکه مشکلات متفاوتی پیش آمده و باید هزینه های زیادی به منظور نگهداری شبکه و تطبیق آن با خواسته های مورد نظر صرف شود.
در زمان طراحی یک شبکه سوالات متعددی مطرح می شود:
- برای طراحی یک شبکه باید از کجا شروع کرد؟
- چه پارامترهایی را باید در نظر گرفت ؟
- هدف از برپاسازی شبکه چیست ؟
- انتظار کاربران از شبکه چیست ؟
- آیا شبکه موجود ارتقاء می باید ویا یک شبکه از ابتدا طراحی می شود؟
انتخاب یک روش p2p معمولا به دلیل یک یا چند مورد از اهداف زیر صورت می گیرد:
- تقسیم و کاهش هزینه: راه اندازی یک سیستم متمرکز که بتواند از سرویس گیرنده های زیادی پشتیبانی کند، هزینه زیادی را به سرور تحمیل خواهد کرد. معماری p2p می تواند کمک کند تا این هزینه بین تمام peer ها تقسیم شود. به عنوان مثال در سیستم اشتراک فایل، فضای مورد نیاز توسط تمام peer ها تامین خواهد شد.
- – افزایش مقیاس پذیری و قابلیت اعتماد: بدلیل عدم وجود یک منبع قدرتمند مرکزی، بهبود مقیاس پذیری و قابلیت اعتماد سیستم یکی از اهداف مهم به شمار می آید و بنابراین باعث نوآوریهای الگوریتمی در این زمینه می شود.
- – افزایش خودمختاری: در بسیاری از موارد کاربران یک شبکه توزیع شده مایل نیستند که متکی به یک سرور متمرکز باشند، چون متکی بودن به یک سرور متمرکز باعث محدود شدن آنها می شود. مثلا در مورد کاربرد اشتراک فایل، کاربران می توانند بطور مستقل فایل های یکدیگر را دریافت کنند بدون آنکه متکی به یک سرور متمرکز باشند که ممکن است مجوز دریافت فایل را به آنها ندهد.
- – گمنامی : این واژه وابسته به همان خودمختاری می شود. کاربران ممکن است مایل نباشند که هیچ کاربر دیگری یا سروری اطلاعاتی در مورد سیستم آنها داشته باشد. با استفاده یک سرور مرکزی، نمی توان از گمنامی مطمئن بود، چون حداقل سرور باید بگونه بتواند سرویس گیرنده را شناسایی کند مثلا با استفاده از آدرس اینترنتی آن. با استفاده از معماری p2p چون پردازش ها به صورت محلی انجام می شود، کاربران می توانند از دادن اطلاعاتی در مورد خودشان به دیگران اجتناب کنند.
- – پویایی : فرض اولیه سیستم های p2p این است که در یک محیط کاملا پویا قرار داریم. منابع و نودهای محاسباتی می توانند آزادانه به سیستم وارد و از آن خارج شوند.