همتا به همتا (P2P) یک مدل ارتباطاتی غیر متمرکز است که در آن هر طرف دارای قابلیت های مشابه می باشد و هر کدام از طرفین می تواند یک جلسه ارتباطی را شروع کند. بر خلاف مدل کلاینت/سرور که در آن کلاینت تقاضای سرویس می کند و سرور تقاضا را انجام می دهد، مدل شبکه ای P2P به هر نود اجازه می دهد که هم به عنوان کلاینت و هم به عنوان سرور عملکرد داشته باشد.
سیستم P2P می تواند برای فراهم کردن مسیریابی ناشناس ترافیک شبکه، محیط های محاسباتی موازی عظیم، انبارش توزیع شده و دیگر عملکرد ها مورد استفاده قرار گیرد. اکثر برنامه های P2P متمرکز بر اشتراک رسانه ای هستند و بنابراین P2P اغلب با دزدی نرم افزاری و نقض کپی رایت همراه می باشد.
معمولا اپلیکیشن های همتا به همتا به کاربران اجازه می دهند که بسیاری از پارامتر های عملکرد را کنترل کنند: چه تعداد ارتباط های عضویی در یک زمان خاص جستجو شود یا اجازه داده شود، به سیستم چه کسانی متصل شد و یا از آنها اجتناب کرد، چه سیستم هایی را ارائه داد و چه تعداد منابع سیستمی را به شبکه اختصاص داد. تعدادی به سادگی به بعضی از زیرمجموعه های نود های فعال در شبکه که دارای کنترل کاربری کم می باشند، متصل می شوند.
اگرچه استفاده هایی برای توپولوژی شبکه ای P2P از روز های ARPANET مورد بررسی و کاوش قرار گرفته است اما مزیت های مدل ارتباطی P2P تا اواخر دهه ۱۹۹۰ برای عموم آشکار نشد. در این زمان بود که اپلیکیشن های P2P اشتراک موسیقی مانند Napster ظاهر شدند. Napster و جانشینانش مانند Gnutella و BitTorrent سود صنعت فیلم سینمایی و موسیقی را کاهش دادند و تصور مردم را در مورد اکتساب و مصرف رسانه ها تغییر دادند.
مدیر های سیستم تمایل دارند که افراد را از استفاده از اپلیکیشن های P2P دلسرد کنند. این اپلیکیشن ها علاوه بر انسداد پهنای باند و احتمالا در معرض خطر قرار دادن سازمان مدیر از لحاظ قانونی، می توانند برای دور زدن فایروال ها و توزیع بدافزار نیز مورد استفاده قرار گیرند. شبکه ها اغلب طوری تنظیم شده اند که از صحبت جانبی (side talk) توسط کامپیوتر ها اجتناب شود.
شبکه های همتا به همتا چگونه کار می کنند؟
معمولا وقتی یک کاربر فایلی را دانلود می کند، آن کاربر یک مرورگر شبکه را باز می کند، وبسایت مناسب را ملاقات می کند و فایل را دانلود می کند. در این مورد، این وبسایت به عنوان سرور عمل می کند و کامپیوتر کاربر نیز به عنوان کلاینتی عمل می کند که داده ها را دریافت می کند. این را می توان با یک خیابان یک طرفه مقایسه کرد که فایل دانلود شده از نقطه A انتقال می یابد و از طریق وبسایت به نقطه B که کامپیوتر کاربر است، منتقل می شود.
اما اگر کاربر همان فایل را از طریق شبکه همتا به همتا دانلود کند، این دانلود به شیوه متفاوتی مدیریت خواهد شد. در این مورد، کاربر مجبور است یک نرم افزار همتا به همتا را بر روی کامپیوتر خود نصب کند که یک شبکه مجازی از کاربر های اپلیکیشنی همتا به همتا را ایجاد می کند. سپس وقتی که کاربر فایلی را دانلود می کند، آن به صورت تکه هایی دریافت می شود که از کامپیوتر های مختلفی در شبکه می آید که قبلا آن فایل را داشته اند.
به طور همزمان، داده ها نیز از کامپیوتر کاربر به کامپیوتر هایی که درخواست آن را کرده اند، ارسال می شود. این موقعیت مشابه یک خیابان دو طرفه است، فایل در اینجا مانند تعداد زیادی تکه های کوچک داده می باشد که به کامپیوتر کاربر می آیند و همچنین در موقع درخواست کامپیوتر کاربر را ترک می کنند. در واقع، بار انتقال فایل بین کامپیوتر های همتا توزیع می شود.
معماری P2P
در یک معماری شبکه ای همتا به همتا، هر کامپیوتر دارای مسئولیت ها و قابلیت های مشابه می باشد. از آنجا که سروری وجود ندارد، کامپیوتر ها در یک گروه کاری به همدیگر متصل شده اند تا به اشتراک فایل ها، پرینتر ها و دسترسی به اینترنت بپردازند. این معماری برای گروه های کاری ۱۲ کامپیوتری یا کمتر عملی می باشد. بنابراین در محیط های خانگی یا دفتر های کاری کوچک رایج می باشد که در آن هر کامپیوتر به عنوان یک ایستگاه کاری مستقل عمل می کند و داده ها را بر روی هارد درایو خود ذخیره می کند اما قادر به اشتراک داده ها با همه کامپیوتر های دیگر بر روی شبکه خواهد بود.
مزایا و معایب P2P
تعدادی مزایا و معایب برای شبکه های همتا به همتا موجود می باشد. از جمله مزایای این شبکه ها می توان به موارد زیر اشاره کرد:
- نیاز به خرید یک سرور گران نیست.
- هر کاربر به مدیریت کامپیوتر خود می پردازد و این یعنی اینکه نیاز به مدیر شبکه نیست.
- کاربران مجبور نیستند که هیچ دانش فنی داشته باشند زیرا چیدمان از طریق wizards در نرم افزار انجام می شود.
- یک شبکه P2P را می توان در خانه ها و کسب و کار های کوچک راه اندازی کرد. اما نگهداری و حفظ هر کامپیوتر باید به صورت شخصی انجام شود.
- در این حالت، ترافیک شبکه ای کمتری از شبکه کلاینت/سرور موجود است.
- از جمله معایب شبکه های همتا به همتا نیز می توان به موارد زیر اشاره کرد:
- کاربران نمی توانند به شیوه ای مرکزی به پشتیبانی از فایل ها و پوشه ها بپردازند.
- هر کامپیوتر می تواند توسط کامپیوتر های دیگر قابل دسترس باشد و این عملکرد را برای کاربر کند می کند.
- فایل ها به طور مرکزی و به صورت یک ناحیه اشتراکی خاص سازمان دهی نشده اند. بلکه آنها بر روی کامپیوتر های فردی انبار می شوند. بنابراین اگر فردی که مالک کامپیوتر است، سیستم بایگانی لوجیکال نداشته باشد، مکان یابی فایل ها ممکن است سخت باشد.
- هر کاربر فردی مسئول تضمین این می باشد که ویروس ها وارد شبکه نشوند.
- به جز اجازه ها امنیت دیگری وجود ندارد و یا اگر هم وجود داشته باشد ناچیز می باشد.
همتا به همتا در برابر کلاینت/سرور
یک شبکه همتا به همتا شامل دو یا تعداد بیشتری کامپیوتر است که منابع فردی مانند دی وی دی پلیر ها، چاپگر ها و درایو های دیسک را به اشتراک می گذارند. هر کامپیوتر در شبکه هم مانند کلاینت و هم مانند سرور عمل می کند و مستقیما با کامپیوتر های دیگر ارتباط برقرار می کند. در یک شبکه همتا به همتا، یک چاپگر بر روی یک کامپیوتر می تواند توسط هر یک از کامپیوتر های دیگر بر روی یک شبکه مورد استفاده قرار بگیرد. تمام چیزی که در اینجا مورد نیاز است روشی برای اتصال آنها می باشد که مثلا می توان از یک روتر وایفا برای این کار استفاده کرد.
یک شبکه کلاینت/سرور شامل کلاینت های متعددی می باشد که حداقل به یک سرور مرکزی متصل می شوند که در آنجا اکثر اپلیکیشن ها و داده ها نصب شده است. کلاینت ها به این منابع از طریق سرور دسترسی پیدا می کنند. شبکه های کلاینت/سرور معمولا سرعت دسترسی بالاتری دارند زیرا برای پشتیبانی از تعداد زیادی کلاینت طراحی شده اند.
این کلاینت ها می توانند به عنوان یک ایستگاه کاری عملکرد داشته باشند، بدون اینکه به اشتراک منابع بپردازند. در این روش، ارتقا دادن اپلیکیشن ها و فایل ها آسان تر است زیرا تنها بر روی یک کامپیوتر خاص نسب شده اند. در یک شبکه کلاینت/سرور، امنیت توسط سرور مدیریت می شود و هر کاربر فردی مسئول آن نمی باشد.
تاریخچه P2P
اولین استفاده از شبکه های P2P به زودی بعد از این که کامپیوتر های شخصی در دهه ۱۹۸۰ معرفی شدند، روی داد. Internet Relay Chat در آگوست ۱۹۸۸ توسعه پیدا کرد که یکی از اولین شبکه های همتا به همتا بود که برای اشتراک متن و چت ساخته شده بود.
در یکم ژوئن ۱۹۹۹، Napster اشتراک موسیقی را بر روی شبکه متمرکز P2P خود مقدور ساخت. Napster و دیگر شبکه های P2P نسل اول به فرد اجازه می دهند که مستقیما از طریق شبکه به فرد دیگری متصل شود که این فرد دیگر در حال استفاده از یک کپی از همان برنامه می باشد.
Gnutella که در سال ۲۰۰۰ راه اندازی شد، اولین شبکه اشتراک فایل P2P غیر متمرکز می باشد. آن به کاربران اجازه می دهد که به فایل های کامپیوتر های کاربران دیگر از طریق یک فولدر مشخص شده دسترسی داشته باشند. چند سال بعد، سرویس های اشتراک فایل رسانه ای P2P دیگری توسعه پیدا کردند و این زمینه را برای شبکه های P2P دیگری مانند شبکه بیت کوین فراهم ساخت که در سوم ژانویه ۲۰۰۹ بیرون داده شد.
منبع: