Computer Networks Chapter 2 Flashcards
API
Application programming interface. A set of functions and procedures allowing the creation of applications that access the features or data of an operating system, application, or other service.
Process
Program running within a host (end system).
Communication Within the Same Host
Within the same host, two processes communicate using inter-process communication, defined by the OS.
Communication Between Different Hosts
Processes in different hosts communicate by exchanging messages.
Client Process
Process that initiates communication.
Server Process
Process that waits to be contacted.
Open Protocols
Defined in RFCs. Everyone has access to protocol definition. Allows for interoperability.
ex. HTTP, SMTP.
Proprietary Protocols
Private protocol definition.
ex. Skype, Zoom.
Client-Server Paradigm
Server:
-always-on host
-permanent IP address
often in data centers, for scaling
Clients:
-contact, communicate with, server
-may be intermittently connected
-may have dynamic IP addresses
-do not communicate directly with each other
ex. HTTP, IMAP, FTP
Peer-Peer (P2P) Architecture
-no always-on server
-arbitrary end systems directly communicate
-peers request service from other peers, provide service in return to other peers
-self-scalability - new peers bring new service capacity as well as new service demands
-peers are intermittently connected and change IP addresses
-complex management compared to client-server paradigm
*Applications with P2P architecture have both client and server processes, depending on the task they are currently carrying out.
Sockets
A socket is analogous to a door:
-process sends/receives messages to/from its socket.
-sending process relies on transport infrastructure on other side of door to deliver message to socket at receiving process.
-two sockets involved: one on each side.
Identifiers
To receive messages, a process must have an identifier. An identifier includes both IP address and port number associated with the process on the host.
*Host devices have a unique 32-bit IP address.
*example port numbers include: HTTP server (80) and mail server (25).
An Application-Layer Protocol Defines…
How an application’s processes, running on different end systems, pass messages to each other.
-types of messages exchanged.
-message syntax.
-message semantics.
-rules for when and how processes send and respond to a message.
Transport Services an App Needs
-data integrity
-timing
-throughput
-security
Internet Transport Protocols Services
-TCP
-UDP