Finish RPC, RTP




CS158a

Chris Pollett

Apr. 12, 2023

Outline

Introduction

SunRPC

SUN RPC Protocol Stack SUN RPC Message Headers

SunRPC Example

More on SunRPC

DCE-RPC

DCE-RPC Details

DCE-RPC Message Exchange Timeline

DCE-RPC Message Exchange Example

More on DCE-RPC

gRPC

gRPC Service Invocation

gRPC Request/Reply Patterns

gRPC supports different RPC mechanisms which to different degrees can incorporate streaming.

  1. Simple RPC: The client sends a single request message and the server responds with a single reply message.
  2. Server Streaming RPC: The client sends a single request message and the server responds with a stream of reply messages. The client completes once it has all the server's responses.
  3. Client Streaming RPC: The client sends a stream of requests to the server, and the server sends back a single response, typically (but not necessarily), after it has received all the client's requests.
  4. Directional Streaming RPC: This initiated by the client, but after that, the client and server can read and write requests and responses in any order; the stream are completely independent.

Example gRPC Request Response Messages

gRPC Request Message gRPC Response Message

In-Class Exercise

Transport Protocols for Real-Time Applications

Requirements of Real-Time Applications

RTP Details

Header Format

V=2 | P | X | CC | M | PT | Sequence Number
Timestamp
Synchronization source (SSRC) identifier
Contributing source (CSRC) identifiers
...
Extension Header
RTP Payload

Control Protocol

RTCP Packet Types

Sender/Receiver Reports

These contain (it should be noted that a sender might send to some other sender a report concerning the data received from it):