پروتکل rpc چیست و چه کاربردی در شبکه دارد؟

نمایش پروتکل RPC

پروتکل RPC که مخفف عبارت Remote Procedure Call است یک پروتکل است که به وسیله آن یک برنامه می تواند برای درخواست یک سرویس از یک برنامه در یک کامپیوتر دیگر در یک شبکه کامپیوتری بدون نیاز به درک جزئیات شبکه استفاده کند.
RPC از مدل client-server استفاده می کند. پروتکل rpc یک نوع پروتکل درخواست است که از سمت کلاینت به یک سرور شناخته شده در محل دیگر ارسال میشود تا یک فرآیند مشخص را با  پارامترهای ارایه شده اجرا کند.اگر سرور هم پاسخی به مشتری ارسال کند، برنامه همچنان روند خود را ادامه می دهد.

برای اجازه دادن به کلاینهای مختلف برای دسترسی به سرورها، تعدادی سیستم های استاندارد RPC ایجاد شده اند. اکثر این سیستمها از زبان توصیف رابط یا (lnterface Description Language(IDL استفاده می کنند تا سیستم عامل های مختلف بتوانند با یک RPC سرور با یک سیستم عامل متفاوت ارتباط برقرار کنند. سپس از فایلهای IDL ایجاد شده برای ارتباط بین سرور و کلاینت استفاده می شود.

سرویسهای مهمی که از پروتکل rpc استفاده میکنند:

  • سرویس NFS  (Network File System)  یکی از مهمترین کاربران RPC است.
  • XML-RPC یک پروتکل RPC است که از XML برای رمزگذاری تماس ها و HTTP به عنوان یک مکانیسم حمل و نقل استفاده می کند.
  • JSON-RPC یک پروتکل RPC است که از پیام های کد شده JSON استفاده می کند.
  • Google Toolkit از یک asynchronous RPC برای برقراری ارتباط با سرور استفاده میکند.
  • Google Protocol Buffers Buffers  شامل یک زبان تعریف رابط استفاده شده برای پروتکل های RPC [12] است از سال 2015 به عنوان gRPC عرضه می شود.
  •   Microsoft .NET Remoting امکانات RPC را برای سیستم های توزیع شده در پلت فرم ویندوز ارائه می دهد. این توسط WCF جایگزین شده است.
  • Microsoft DCOM از MSRPC استفاده می کند که بر اساس DCE / RPC است.
  • Open Software Foundation که از DCE / RPC استفاده میکند.
  • (Directory Service Remote Procedure Call (DS-RPC پروتکل پیشفرض، برای intersite replication است.

از جمله سرویسهای پرکاربردی هستند که ازاین پروتکل استفاده میکنند.