This document discusses communication in distributed systems and introduces several communication models. It begins by explaining that communication in distributed systems is based on message passing rather than shared memory. It then reviews four common communication models: Remote Procedure Call (RPC), Remote Method Invocation (RMI), Message-Oriented Middleware (MOM), and Streams. The document also discusses layered protocols like OSI and TCP/IP, and delves into specifics of RPC including parameter passing and extended RPC models like asynchronous RPC and doors.