Remote Procedure Call (RPC) - Session Layer protocol

Published by: Alex George on February 07, 2025

Welcome to the network engineering tutorial section by CoreNetworkZ Tech Solutions. Today, I will teach you one important topic in Network Engineering - Remote Procedure Call (RPC).

I received multiple questions from our students about this protocol regarding the application, working, and authentication methods. So, I will cover them in this tutorial.

What is Remote Procedure Call (RPC)?

Remote Procedure Call (RPC) is a protocol which works in the session layer of the OSI model and in the Application Layer of TCP/IP model. It is useful in developing network applications that need services from a remote computer in the network. With the help of the Remote Procedure Call, programmers need not worry about the complex structure of the OSI layer.

Let me answer one question asked by a reader now. Sherin Thomas asked in the comment section if RPC works in the TCP/IP model. Yes, Sherin, the RPC works in the Application Layer of the TCP/IP model.


Working of Remote Procedure Call

Matteo Gentile asked me to explain the workings of the RPC protocol in simple steps in the comment section. Similarly, Emily Cereseto asked if this protocol supports UDP and TCP. The following four steps will answer their questions.

  1. RPC is working as a client-server model

  2. RPC uses different authentication methods to validate the client's request.

  3. RPC protocol is independent of transport layer protocols.

  4. RPC requests can use both UDP and TCP. But it prefers the UDP format.

Hongmei Xu, a beginner in network engineering, asked if RPC depends on the OSI Transport Layer protocols. The third step is the answer to her question.


Explanation of RPC Client Server Model

Ricky Santos asked me to explain the Remote Procedure Call Client-Server model. So, let me answer him.

In RPC, the client issues requests for certain services from the server through the network. A client is a computer or process that accesses the services or resources of another processor computer on the network. A server is a computer that provides services and resources. It implements network services. In short, the requesting program is a client, and the service-providing program is the server. According to the results, the authentication server may reject or accept the request.


Remote Procedure Call (RPC) Authentications

Vivek Ramaswamy, a regular reader of this blog, asked me to explain RPC authentication methods. So, I will explain the three Remote Procedure Call (RPC) authentication methods in this section.


  1. Null Authentication

    Often calls must be made where the caller does not know who he is or the server does not care who the caller is.


  2. UNIX Authentication

    The caller of a remote procedure may wish to identify himself as he is on a UNIX system.


  3. DES Authentication

    DES Authentication is the advanced form of UNIX Authentication.


Tara Tom Akhavan asked a question in the comment section for a UNIX command to show the RPC programs running on her Linux laptop. The UNIX command to display the RPC programs that are registered on a specified computer is:

rpcinfo -p


Reference:

  1. https://www.systosys.com/viewtopic.php?t=2
  2. http://www.faqs.org/rfcs/rfc1050.html

14 comments:

  1. Sherin Thomas2:42 PM

    Hello Alex,

    You mentioned RPC works in the Session layer of the OSI Model. That I know, I have another question for you. Is this protocol available in the TCP/IP model?

    ReplyDelete
    Replies
    1. Hello Sherin,

      Good question. I have updated the article with the answer to your question.

      Delete
  2. Hongmei Xu2:48 PM

    Hi Alex George,

    I am new to the computer network engineering. Your tutorials helped me a lot. This tutorial is also helpful for beginners like me. Does RPC depend on the Transport layer protocols for its working?

    ReplyDelete
    Replies
    1. Hello Hongmei Xu,

      Thank you for your comment. RPC does not depend on any Transport layer protocols.

      Delete
  3. Tara Tom Akhavan2:53 PM

    Is there a command to display a list of programs using RPC on my Ubuntu PC?

    ReplyDelete
    Replies
    1. Yes Tara Tom Akhavan,

      You can use the following command on your Ubuntu computer -

      rpcinfo -p

      Delete
  4. Emily Cereseto2:59 PM

    Hello Alex,

    Does RPC use a connection oriented or connectionless protocol for its operation? UDP or TCP?

    ReplyDelete
    Replies
    1. Hello Emily,

      It supports both formats. I explained it in the article.

      Delete
  5. Matteo Gentile3:03 PM

    Hello Alex,

    Please explain the workings of RPC in simple words.

    ReplyDelete
    Replies
    1. Hello Matteo Gentile,

      Thank you for reminding me. I understand the terms I used were a bit technical. I have updated the tutorial with step by step working of Remote Procedure Call.

      Delete
  6. Vivek Ramaswamy3:08 PM

    Hello Alex,

    I am following your CCNA exam tutorials on this website. Can you explain the Session layer Remote Procedure Call authentication methods?

    ReplyDelete
    Replies
    1. Hello Vivek,

      Thank you for reading my articles published by CoreNetworkZ Tech Solutions. I have updated the article with an answer to your question.

      Delete
  7. Ricky Santos1:01 AM

    Hello Alex,

    Your article is helpful, but you missed the explanation of the RPC client server model. Please update it as soon as possible.

    ReplyDelete
    Replies
    1. Hello Ricky,

      Thank you for your comment. I have updated the tutorial.

      Delete

Newer Post Older Post Home