شبکه peer-to-peer در اطراف مفهوم گره های همتا برابر به طور همزمان به عنوان "مشتری" و "سرور" به سایر گره های شبکه کار می کنند. این مدل از آرایش شبکه با مدل مشتری-سرور که در آن ارتباط معمولاً از یک سرور مرکزی است و متفاوت است. یک نمونه معمولی از انتقال فایل که از مدل سرویس گیرنده-سرور استفاده می کند ، سرویس File Transfer Protocol (FTP) است که در آن برنامه های مشتری و سرور از هم متمایز هستند: سرویس گیرنده ها انتقال را آغاز می کنند و قیمت خدمات پسیو شبکه سرورها این درخواست ها را برآورده می کنند.
مسیریابی و کشف منابع
شبکه های نظیر به نظیر به طور کلی نوعی شبکه overlay مجازی را در بالای توپولوژی شبکه فیزیکی پیاده سازی می کنند ، جایی که گره های موجود در overlay زیر مجموعه گره های شبکه فیزیکی را تشکیل می دهند. داده ها هنوز مستقیماً از طریق شبکه زیرین TCP / IP رد و بدل می شوند ، اما در لایه برنامه ، همتا قادر به برقراری ارتباط مستقیم با یکدیگر از طریق پیوندهای منطقی همپوشانی هستند (هر یک از آنها مربوط به مسیری از طریق شبکه فیزیکی زیربنایی است). پوشش ها برای نمایه سازی و کشف نظیر استفاده می شوند و سیستم P2P را از توپولوژی شبکه فیزیکی مستقل می کنند. براساس چگونگی اتصال گره ها به یکدیگر و همچنین نحوه نمایه سازی و مکان یابی منابع ، می توانیم شبکه ها را به عنوان ساختار یا ساختار (یا ترکیبی بین این دو) طبقه بندی کنیم. [10] [11] [12]
شبکه های بدون ساختار خدمات پسیو شبکه چیست
نمودار شبکه همپوشانی برای یک شبکه P2P بدون ساختار ، نشان دادن ماهیت موقت اتصالات بین گره ها
شبکه های نظیر به نظیر بدون ساختار ساختار خاصی را به شبکه با شبکه تحمیل نمی کنند بلکه به وسیله گره هایی تشکیل می شوند که به طور تصادفی اتصالات با یکدیگر را ایجاد می کنند. [13] (Gnutella ، Gossip و Kazaa نمونه هایی از پروتکل های P2P بدون ساختار هستند). [14]
از آنجا که هیچ ساختاری به طور جهانی به آنها تحمیل نشده است ، ساخت شبکه های بدون ساختار آسان است و امکان بهینه سازی های محلی را برای مناطق مختلف پوشش فراهم می کند. [15] همچنین ، از آنجا که نقش همه همتا در شبکه یکسان است ، شبکه های بدون ساختار در برابر نرخ بالای "ریزش" بسیار قوی هستند - یعنی وقتی تعداد زیادی از همتایان به طور مستمر به شبکه می پیوندند و آن را ترک می کنند. [16] [17]
با این حال ، محدودیت های اولیه شبکه های بدون ساختار نیز از همین عدم ساختار ناشی می شود. به طور خاص ، هنگامی که یک همکار می خواهد داده ای دلخواه را در شبکه پیدا کند ، باید از طریق شبکه جستجوگر جستجوگر جستجو شود تا تعداد بیشتری از همتا را که داده ها را به اشتراک می گذارند پیدا کند. جاری شدن سیل باعث ایجاد ترافیک سیگنالینگ بسیار زیاد در شبکه می شود ، از CPU / حافظه بیشتری استفاده می کند (با الزام هر شخص برای پردازش همه سeriesالات جستجو) و اطمینان حاصل نمی کند که س quالات جستجو همیشه برطرف می شوند. بعلاوه ، از آنجا که هیچ همبستگی بین همتایان و محتوای مدیریت شده توسط آن وجود ندارد ، هیچ تضمینی وجود ندارد که سیل یک همکار را پیدا کند که داده های مورد نظر را داشته باشد. محتوای پرطرفدار به احتمال زیاد در چندین همتا موجود است و هر شخصی که به دنبال آن می گردد ، همان چیز را پیدا می کند. اما اگر یک همکار به دنبال داده های نادر است که فقط توسط چند همکار دیگر به اشتراک گذاشته شود ، بسیار بعید به نظر می رسد که جستجو موفقیت آمیز باشد. [18]
شبکه های ساختاری
نمودار شبکه برای شبکه P2P ساخت یافته ، با استفاده از یک جدول هش توزیع شده (DHT) برای شناسایی و تعیین محل گره ها / منابع
در شبکه های نظیر به نظیر ساختار یافته ، پوشش در یک توپولوژی خاص سازمان یافته است و پروتکل تضمین می کند که هر گره می تواند به طور کارآمد [19] شبکه را به دنبال یک پرونده / منبع جستجو کند ، حتی اگر منبع بسیار کمیاب باشد.
رایج ترین نوع شبکه های P2P ساخت یافته ، جدول هش توزیع شده (DHT) را اجرا می کنند [20] [21] که در آن از یک نوع هش سازگار برای اختصاص مالکیت هر پرونده به یک شخص خاص استفاده می شود. [22] [23] این امکان را برای همتا فراهم می کند تا با استفاده از جدول هش به جستجوی منابع در شبکه بپردازند: یعنی جفت (کلید ، مقدار) در DHT ذخیره می شوند و هر گره شرکت کننده می تواند مقدار مرتبط با یک کلید داده شده را به طور کارآمد بازیابی کند. [24] [25 ]
جداول هش توزیع شده
با این حال ، برای هدایت ترافیک به طور موثر از طریق شبکه ، گره ها در یک پوشش ساختاریافته باید لیستی از همسایگان را نگهداری کنند [26] که معیارهای خاصی را برآورده می کنند. این باعث می شود که آنها در شبکه هایی با سرعت زیاد تراکنش (یعنی تعداد زیادی گره که به طور مکرر به شبکه می پیوندند و از شبکه خارج می شوند) مقاومت کمتری داشته باشند. [17] [27] ارزیابی اخیر از راه حل های کشف منابع P2P تحت بارهای واقعی ، به موارد مختلفی در راه حل های مبتنی بر DHT از جمله هزینه بالای تبلیغات / کشف منابع و عدم تعادل بار استاتیک و پویا اشاره کرده است. [28]
شبکه های توزیع شده قابل توجهی که از DHT استفاده می کنند شامل Tixati ، جایگزین ردیاب توزیع شده BitTorrent ، شبکه Kad ، botnet Storm ، YaCy و شبکه توزیع محتوای مرجان است. برخی از پروژه های برجسته تحقیقاتی شامل پروژه آکورد ، Kademlia ، ابزار ذخیره سازی PAST ، P-Grid ، یک شبکه همپوشانی خود سازمان یافته و در حال ظهور و سیستم توزیع محتوای CoopNet هستند. [29] شبکه های مبتنی بر DHT نیز به طور گسترده ای برای دستیابی به کارآیی استفاده شده است