چه تفاوتی بین شبکه‌هایClient server و Peer to Peer وجود دارد؟

Client server و Peer to Peer دو نوع از معماری شبکه هستند. در معماری client server وظایف و میزان کارها بین سرورها تقسیم بندی می‎شود و خدمات از طریق کلاینت‎ها درخواست می‎شود. معمولا کلاینت‎ها و سرورها از طریق یک شبکه کامپیوتری با یک دیگر در ارتباط هستند، اما همچنین آنها می‎توانند در یک سیستم یکسان نیز قرار بگیرند. در معماری peer to peer وظایف و میزان کارها بین زوج سیستم‎های نظیر به نظیر تقسیم بندی می‎شود و این زوج‎ها به اصطلاح یک شبکه دوطرفه یا peer to peer را تشکیل می‎دهند. پتانسیل و امتیازات این زوج‎ها با یک دیگر برابر است و هر کدام از آنها بخشی از منابع خود از جمله توان پردازشی، فضای ذخیره سازی دیسک یا پهنای باند شبکه را در اختیار سایر شرکای خود در شبکه قرار می‎دهند.

Client Server چیست؟

همان‎طور که اشاره شد معماری Client Server بر پایه مفهومی‎ بنا شده است که در آن سرورها خدماتی را که توسط کلاینت‎ها درخواست می‎شود تامین می‎کنند. یک سرور در واقع میزبانی است که یک یا چند برنامه ویژه سرور را اجرا کرده و منابع خود را با کلاینت‎ها به اشتراک می‎گذارند. این کلاینت‎ها با درخواست محتوا یا خدمات سرور یک جلسه ارتباطی با این سرورها برقرار می‎کنند. سرورها همیشه منتظر درخواست‎های ورودی از طرف کلاینت‎ها هستند. امروزه چند نوع مختلف از Client Server وجود دارد که هر کدام از آنها چندین ویژگی مشترک از قبیل پایگاه داده امنیت متمرکز برای کنترل دسترسی به منابع به اشتراک گذاشته شده در سرور دارند. یک سرور شامل فهرستی از نام‎های کاربری و کلمات عبور است و یک کاربر تنها در صورتی می‎تواند به شبکه دسترسی داشته باشد که یک نام کاربری و کلمه عبور معتبر را در اختیار داشته باشد. بعد از این که یک کاربر به سیستم وارد شد تنها می‎تواند به منابعی دسترسی داشته باشد که اجازه آن توسط مسئول شبکه صادر شده است. کاربردهای گسترده‎ای از جمله تبادل ایمیل، دسترسی به وب و دسترسی به پایگاه داده برای معماری client–server تعریف شده است.

Peer to Peer چیست؟

در یک شبکه Peer to Peer منابع بدون هیچ گونه هماهنگی مرکزی از طریق یک سرور بین هر Peer  به اشتراک گذاشته می‎شود. هر Peer همزمان هم به عنوان تامین کننده و هم مصرف کننده عمل می‎کند. سیستم‎های Peer to peer یک شبکه همپوشانی شده را در لایه اپلیکیشن روی توپولوژی شبکه فیزیکی به اجرا می‎گذارند. هدف از ایجاد شبکه‎های peer to peer به اشتراک گذاری منابع به شیوه‎ای است که تا حد امکان ارزان قیمت باشد. در این روش هیچ ساختار امنیتی متمرکزی وجود ندارد و این خود کاربر نهایی است که باید کنترل دسترسی به منابع را در دست گیرد. کاربران می‎توانند خودشان نقاط به اشتراک گذاری مورد نظر در کامپیوتر خودشان را ایجاد کنند و امنیت تنها توسط اختصاص یک کلمه عبور در زمان ساخت نقاط اشتراک گذاری تامین می‎شود. ساختار شبکه peer to peer برای استفاده در سیستم‎های معروف به اشتراک گذاری فایل مثل Napster به کار برده می‎شد.

چه تفاوتی بین معماری شبکه Client-Server با Peer to Peer وجود دارد؟

تفاوت اصلی بین سیستم‎های client-server و peer to peer این است که در معماری client-server کلاینت‎های مشخصی وجود دارند که خدماتی را درخواست می‎کنند که توسط یک سری سرور فراهم می‎شود. اما در سیستم peer to peer هر Peer همزمان هم به عنوان تامین‌کننده و هم مصرف‌کننده رفتار می‎کند. علاوه بر این، سیستم‎های client-server به یک سرور فایل مرکزی نیاز دارند که نسبت به ساختار به اشتراک گذاری فایل در سیستم‎های peer to peer هزینه بیشتری دارد. به عبارت دیگر، در سیستم client-server یک سرور فایل اختصاصی سطوح دسترسی متفاوتی را برای کلاینت‎ها فراهم می‎کند که به نسبت سیستم‎های peer to peer که امنیت توسط کاربر نهایی اداره می‎شود از امنیت بیشتری برخوردار است. همچنین شبکه‎های peer to peer با افزایش تعداد نودها دچار اختلال در سطح عملکرد می‎شوند، اما سیستم‎های client-server باثبات تر بوده و می‎توانید آنها را به هر میزان که مایل هستید گسترش دهید. بنابراین ترجیح یکی از این معماری‎ها بر دیگری موضوعی است که به محیطی که شما قصد پیاده سازی آن را دارید بستگی دارد.