مدل کلاینت–سرور در شبکه های کامپیوتری – راهنمای جامع


در این مقاله ازسری مقالات آموزش مفاهیم شبکههای کامپیوتری به بررسی مدل کلاینت-سرور در شبکههای کامپیوتری میپردازیم.
برای مطالعه بخش قبلی به لینک زیر بروید:
دو پردازش اپلیکیشن ریموت به طور عمده از دو طریق همتا به همتا و کلاینت-سرور با هم ارتباط برقرار میکنند:
- همتا به همتا (Peer-to-peer): هر دو پردازش ریموت در سطح یکسانی اجرا میشوند و دادهها را با استفاده از نوعی منبع مشترک مبادله میکنند.
- کلاینت-سرور: یک پردازش ریموت به عنوان کلاینت عمل میکند و منابع را از پردازش اپلیکیشن دیگر که به عنوان سرور عمل میکند درخواست میکند.
در مدل کلاینت-سرور هر پردازشی میتواند به عنوان یک سرور یا کلاینت عمل کند. نوع دستگاه، اندازه آن یا قدرت محاسباتیاش نیست که موجب میشود به سرور تبدیل شود، بلکه توانایی آن برای پاسخدهی به درخواست است که باعث میشود یک ماشین به عنوان سرور در نظر گرفته شود.
یک سیستم میتواند همزمان به عنوان سرور و کلاینت عمل کند. یعنی یک پردازش به صورت سرور و پردازش دیگر به صورت کلاینت عمل میکند. این نیز ممکن است که هر دو پردازش کلاینت و سرور روی یک دستگاه واحد قرار داشته باشند.
ارتباط
دو پردازش در مدل کلاینت-سرور میتوانند به روشهای مختلفی با هم ارتباط برقرار کنند:
- سوکتها
- فراخوانی روالهای ریموت (PRC)
سوکتها
در این پارادایم، پردازشی که به عنوان سرور عمل میکند یک سوکت را با استفاده از یک پورت شناخته شده (یا دستکم شناخته شده از سوی کلاینت) باز میکند و منتظر میماند تا درخواستی از سمت کلاینت برسد. پردازش دوم که به عنوان کلاینت عمل میکند نیز یک سوکت باز میکند، اما این پردازش کلاینت به جای انتظار کشیدن برای ورود درخواست، خود ابتدا به ساکن، درخواست را میفرستد.
زمانی که درخواست به سرور برسد، آن را پاسخ میدهد. این درخواست میتواند نوعی اشتراک اطلاعات یا درخواست منابع باشد.
فراخوانی روال ریموت
این مکانیسمی است که در آن یک پردازش از طریق فراخوانیهای روال با پردازشهای دیگر تعامل پیدا میکند. یک پردازش (کلاینت)، روال موجود روی میزبان ریموت را فراخوانی میکند. آن پردازش روی میزبان ریموت، سرور نامیده میشود. به هر دو پردازش stub-هایی تخصیص یافته است. ارتباط به روش زیر صورت میپذیرد:
- پردازش کلاینت، stub کلاینت را فراخوانی میکند. بدین ترتیب همه پارامترهای مشارکتکننده در برنامه محلی برای آن ارسال میشوند.
- سپس همه پارامترها بستهبندیشده و یک فراخوانی سیستمی برای ارسال آنها به سمت دیگر شبکه ایجاد میشود.
- کرنل دادهها را روی شبکه ارسال میکند و سمت دیگر دریافت میکند.
- میزبان ریموت دادهها را به stub سرور ارسال میکند که در آنجا از حالت بستهبندی خارج میشوند.
- در نهایت نتیجه به همین ترتیب به کلاینت بازگشت مییابد.
بدین ترتیب به پایان این بخش میرسیم. برای مطالعه بخش بعدی این سری مقالات به لینک زیر بروید:
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای شبکههای کامپیوتری
- آموزش امنیت شبکههای کامپیوتری
- مجموعه آموزشهای دروس علوم و مهنندسی کامپیوتر
- انواع شبکههای کامپیوتری — راهنمای جامع
- مدلهای شبکه کامپیوتری — راهنمای جامع
==