4. Chapter 4: Inter-process Communication

4.6. Elements of C-S Computing

Elements of C-S Computing

Processes follow protocol that defined a set of rules that must be observed by participants:

  • How the data is exchange is encoded?
  • How are events (sending, receiving) are synchronized (ordered) so that participants can send and receive in a coordinated manner?

Face-to-face communication, humans beings follow unspoken protocol based on eye contact, body language, gesture.

Client/sever model

Client asks (request) – server provides (response)

Typically: single server - multiple clients 

The server does not need to know anything about the client

  • even that it exists

The client should always know something about the server

  • at least where it is located

Networking Basics

TCP/IP Stack


Physical/Link Layer

  • Functionality for the transmission of signals, representing a stream of data from one computer to another.

Internet/Network Layer

  • IP (Internet Protocols) – a packet of data to be addressed to a remote computer and delivered.

Transport Layer

  • Functionalities for delivering data packets to a specific process on a remote computer.
  • TCP (Transmission Control Protocol)
  • UDP (User Datagram Protocol)

Programming Interface:

  • Sockets

Applications Layer

  • Message exchange between standard or user applications:
    • HTTP, FTP, Telnet

TCP (Transmission Control Protocol) is a connection-oriented communication protocol that provides a reliable flow of data between two computers. Example applications:

  • HTTP
  • FTP
  • Telnet

UDP (User Datagram Protocol) is a connectionless communication protocol that sends independent packets of data, called datagrams, from one computer to another with no guarantees about arrival or order of arrival. Similar to sending multiple emails/letters to a friends, each containing part of a message.Example applications:

  • Clock server
  • Ping