کامپیوتر، مهندسی 1064 بازدید

در این مقاله ازسری مقالات آموزش مفاهیم شبکه‌های کامپیوتری به بررسی مدل کلاینت-سرور در شبکه‌های کامپیوتری می‌پردازیم. برای مطالعه بخش قبلی به لینک زیر بروید:

دو پردازش اپلیکیشن ریموت به طور عمده از دو طریق همتا به همتا و کلاینت-سرور با هم ارتباط برقرار می‌کنند:

  • همتا به همتا (Peer-to-peer): هر دو پردازش ریموت در سطح یکسانی اجرا می‌شوند و داده‌ها را با استفاده از نوعی منبع مشترک مبادله می‌کنند.
  • کلاینت-سرور: یک پردازش ریموت به عنوان کلاینت عمل می‌کند و منابع را از پردازش اپلیکیشن دیگر که به عنوان سرور عمل می‌کند درخواست می‌کند.

در مدل کلاینت-سرور هر پردازشی می‌تواند به عنوان یک سرور یا کلاینت عمل کند. نوع دستگاه، اندازه آن یا قدرت محاسباتی‌اش نیست که موجب می‌شود به سرور تبدیل شود، بلکه توانایی آن برای پاسخ‌دهی به درخواست است که باعث می‌شود یک ماشین به عنوان سرور در نظر گرفته شود.

مدل کلاینت-سرور

یک سیستم می‌تواند همزمان به عنوان سرور و کلاینت عمل کند. یعنی یک پردازش به صورت سرور و پردازش دیگر به صورت کلاینت عمل می‌کند. این نیز ممکن است که هر دو پردازش کلاینت و سرور روی یک دستگاه واحد قرار داشته باشند.

ارتباط

دو پردازش در مدل کلاینت-سرور می‌توانند به روش‌های مختلفی با هم ارتباط برقرار کنند:

  • سوکت‌ها
  • فراخوانی روال‌های ریموت (PRC)

سوکت‌ها

در این پارادایم، پردازشی که به عنوان سرور عمل می‌کند یک سوکت را با استفاده از یک پورت شناخته شده (یا دست‌کم شناخته شده از سوی کلاینت) باز می‌کند و منتظر می‌ماند تا درخواستی از سمت کلاینت برسد. پردازش دوم که به عنوان کلاینت عمل می‌کند نیز یک سوکت باز می‌کند، اما این پردازش کلاینت به جای انتظار کشیدن برای ورود درخواست، خود ابتدا به ساکن، درخواست را می‌فرستد.

کلاینت-سرور

زمانی که درخواست به سرور برسد، آن را پاسخ می‌دهد. این درخواست می‌تواند نوعی اشتراک اطلاعات یا درخواست منابع باشد.

فراخوانی روال ریموت

این مکانیسمی است که در آن یک پردازش از طریق فراخوانی‌های روال با پردازش‌های دیگر تعامل پیدا می‌کند. یک پردازش (کلاینت)، روال موجود روی میزبان ریموت را فراخوانی می‌کند. آن پردازش روی میزبان ریموت، سرور نامیده می‌شود. به هر دو پردازش stub-هایی تخصیص یافته است. ارتباط به روش زیر صورت می‌پذیرد:

  • پردازش کلاینت، stub کلاینت را فراخوانی می‌کند. بدین ترتیب همه پارامترهای مشارکت‌کننده در برنامه محلی برای آن ارسال می‌شوند.
  • سپس همه پارامترها بسته‌بندی‌شده و یک فراخوانی سیستمی برای ارسال آن‌ها به سمت دیگر شبکه ایجاد می‌شود.
  • کرنل داده‌ها را روی شبکه ارسال می‌کند و سمت دیگر دریافت می‌کند.
  • میزبان ریموت داده‌ها را به stub سرور ارسال می‌کند که در آنجا از حالت بسته‌بندی خارج می‌شوند.
  • در نهایت نتیجه به همین ترتیب به کلاینت بازگشت می‌یابد.

بدین ترتیب به پایان این بخش می‌رسیم. برای مطالعه بخش بعدی این سری مقالات به لینک زیر بروید:

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.

«میثم لطفی» دانش‌آموخته ریاضیات و شیفته فناوری به خصوص در حوزه رایانه است. وی در حال حاضر علاوه بر پیگیری علاقه‌مندی‌هایش در رشته‌های برنامه‌نویسی، کپی‌رایتینگ و محتوای چندرسانه‌ای، در زمینه نگارش مقالاتی با محوریت نرم‌افزار نیز با مجله فرادرس همکاری دارد.

بر اساس رای 2 نفر

آیا این مطلب برای شما مفید بود؟

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *