(11) Computer Networks Flashcards
What are the components of a distributed System?
Nodes: hosts
Edges: computer network
What are the issues regarding distributed systems?
- single point of failure, performance bottlenecks
- no global view, no global time
- Heterogeneous network and nodes
What are the advantages of distributed systems?
- resource sharing is possible (e.g. printer)
- connect remote places
- Redundancy
- Reflect the organisational structure
What are difficulties and threats facing distributed systems?
- Widely varying mode of use (workload, available resources, …)
- Wide range of system requirements (heterogeneous hardware and operating systems, …)
- Internal problems (non-synchronised clocks, conflicting data access,…)
- External threats (attack on data integrity and secrecy)
Which aspects have to be considered when designing a distributed system?
- Architecture (architectural models)
- Interaction of different processes (interaction models)
- Failures in distributed systems (failure models)
- Security in distributed systems (security models)
What do interaction models consist of?
- Roles: determine the communication partner
Interaction: data is exchanged and synchronisation pattern
What are Producer/Consumer Systems and how do they work?
- Interaction model
- Producer: generates data and sends it to consumer
- Consumer: receives and processes data
- Interaction: unidirectional communication
Example: Video Stream
What is the Pipeline Model and how does it work?
- Generalisation of the producer-consumer model
- Intermediate processes are both producer and consumer
- Processes are connected by unidirectional communication channels
- Example: Data exchange in a supply chain
What is the Client-Server Model and how does it work?
- Client: sends service request to the server (active entity)
- Server: waits for request, processes it, and sends the result back to the client (passive entity)
- A server process offers its service to a set of a priori unknown number of clients
- A client process uses the offered service
- A service may be implemented by
several server processes
What is the reason for architectural models?
- Client/Server does not (necessarily) map to the application structure
- Placement and relevance of components is crucial
- Approach: A general architecture model
What are architectural models doing and what are examples of architectural models?
- Architectural Models define the structure of the distributed
system involving different components - Abstraction of the functions of the individual components
- Examples: Three-Tier-Architecture, Peer-to-Peer Architecture
What is the Peer-to-Peer architecture?
- Elimination of the requirements of centrally managed servers
- Provision of resources (e.g., data, storage, bandwidth) by every peer
- All participants are equal
Which types of Peer-to-Peer architecture exist?
- Hybrid Peer-to-Peer: Server is used for peer coordination, Peers let server know which resources they share, direct interaction between peers
- Pure Peer-to-Peer: Peers are all equal, no server (every peer acts as client and as server), Challenge: distribution and location of data and resources)
What is the reason for Layered Networks?
- Designing communicating systems is a complex task (numerous complex functions with different levels of abstractions that interact)
- Solution: layered systems
How are Layered Systems constructed?
- Every layer realizes one level of abstraction
- Interfaces: define which service primitives the lower level offers to the higher level
Protocols: communication agreement between two parties of the same layer on different machines
What is the ISO OSI Reference Model
- Architecture for Layered Networks
- Based on proposal of ISO
- Uses standardization of protocols in the layers
Model with seven layers
What is the TCP/IP Reference Model?
- Architecture for Layered Networks (e.g. ARPANET)
- Initially a model with four layers
What are the seven layers of the ISO OSI Reference Model?
- Physical
- Data link
- Network
- Transport
- Session
- Presentation
- Application
What are the layers of the TCP/IP Model?
- Host-to-network
- Internet
- Transport
- Application
Provide a comparison of the ISO/OSI and the TCP/IP Model
ISO/OSI:
- Provides a model first (multiple implementations later)
- Very clear with regard to concepts (services, interfaces, protocols)
- Allows in theory to replace layers
TCP/IP:
- Provides a working implementation first (model later)
What are generic and application specific services and what does typically exist between them?
- Generic: routing, flow control, physical
- Application specific: data encoding, communication model
- Typically there is a clear separation between them
What are examples for networks?
- Connection-oriented networks
- Ethernet
- Wireless LANs
- The Internet is a collection of different networks
What kinds of wireless LANs exist?
- Wireless networking with a base station
- Ad hoc networking (no base station)
What kind of services does the Layer 4 (Transport) provide for applications?
Connection-oriented services:
- Analog: Telephone system
- Transmission requires connection
- Three Phases: (1) establish a connection, (2) send data, (3) close connection
- Applicable for: time consuming interactions, transfer of large amounts of data
Connectionless Services:
- Analog: Postal service
- No connection
- Transmission of isolated data units
- Applicable for: short interaction time, transfer of small data units
What are Service Primitives good for?
- A set of service primitives formally specifies a service
- The set depends on the nature of the provided service
- Primitives are often parameterized
Which two main protocols does the transport layer of the Internet have?
- UDP (User Datagram Protocol): connectionless protocol
2. TCP (Transmission Control Protocol): connection oriented protocol
What are the characteristics of the User Datagram Protocol?
- Unreliable: message might get lost
- Not ordered: sending order may not be qual to receipt order
- Lightweight: no connection tracking
- Datagrams: Packets are sent as one single piece
What are the characteristics of the Transmission Control Protocol?
- Reliable: certainty that the message will arrive
- Ordered: sending order is always equal to receipt order
- Overhead: message tracking
- Streams: Data is read from a stream which might hold several packages
What are Sockets and what are they used for?
- Sockets are an API (Application Programming Interface) between application and protocol stack
- Sockets connect applications and the protocol software: in this way a process can interact with a port
- TCP and UDP both use the port concept (indirect addressing)
- Port is the point of delivery for the transport layer
UDP vs. TCP - Which one is better?
Depends on the data.
UDP: small or unimportant data
TCP: large or important data
Examples for the use of UDP and TCP
UDP: Media streaming, online games
TCP: E-mail