February 2012
Introduction: Why do we need computer
networks?
Karin A. Hummel
- Adapted slides of Prof. B. Plattner, [email protected]
Evolution of computer use
Data processing
Single user/job systems Æ batch processing Æ timesharing Æ networked,
redundant data centers and ‘clouds’
Office environment
Timesharing Æ personal workstation Æ personal, mobile work
environment (e.g., notebooks, smartphones/organizers)
Home computing
No PC Æ off-line PC Æ PC with modem connection Æ networked PC with
broadband access router and firewall, media computers Æ personal, mobile work environment (e.g., tablets, smartphones)
Embedded systems
Stand-alone microcontrollers Æ networks of microcontrollers Æ
internetwork (e.g., sensor networks) Æ self-configuring, autonomic networks (e.g., vehicular networks for autonomic drive cars)
Mobile and ubiquitous computing
K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / [email protected] 3
Client-Server Computing
Basic approach: Simple, dumb terminals connected
to “mainframes” Æ distributed applications on PCs
and data centers
Server processes act as service providers
Web server
Compute server
Database server
File server
Peer-to-peer computing (P2P)
A model for a distributed system
P2P
All participating computers (nodes) are peers
- Communication between peers without intermediate server
Peers are both server and client
Nodes register as a member in a P2P network
- With a central node or centralized service
- May locate other nodes and connect through them
- Distributed resource locating (Distributed Hash Table – DHT) - Incentives needed (freerider problem)
Examples: Napster, Gnutella, BitTorrent, Kaaza, eMule, Skype, …
K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / [email protected] 5
Web-based computing
The web is ubiquitous
PCs are the most frequently used devices
But also GSM/3G smartphones, navigation systems,
watches, cameras, etc.
Smartphones are becoming more and more powerful
From static to dynamic web sites (data taken from
data bases, web pages created on-the-fly)
Web services offer dynamic, personalized services
‘Web 2.0’: Beyond just retrieving information
No longer dominated by providers, everybody offers content (cf. YouTube, myspace, facebook, ...)
Computing in the Cloud
Computing offloaded to infrastructure located anywhere
(‘in the cloud’)
Computation, storage, services
Software as a Service (SaaS): Applications normally run
locally are accessed via the Internet (e.g. via the
Browser) Æ Google Apps
Hardware as a Service (HaaS): Hardware, storage and
networking provided as a service (root server hosting,
Amazon Web Services)
Platform as a Service (PaaS): Development environment
offered for developing your own SaaS, HaaS
K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / [email protected] 7
Expectations and requirements
Application programmer perspective
Provisioning of sufficient ‘network service quality’ in terms of delays, loss-free and without errors (e.g., video
streaming)
Network designer perspective
Cost-effective design, energy-efficient design
Efficient utilization of network resources (capacity planing)
Network provider perspective
Management of the infrastructure: ease of administration and maintenance, fast error detection and isolation of
What is a computer network?
A basic and ubiquitous communication infrastructure
for distributed applications
Providing connectivity
A computer network is built from computers, by
computers*, for access by computers!
*Autonomic networks are
Self-configuring
Self-monitoring
Self-healing
February 2012
Basic network building blocks
Links, characterized by medium & modulation / encoding)
Nodes (PC, router, switch, embedded system, handheld
K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / [email protected] 11
Abstraction of a link: Channel
Channel properties
Depend on link medium and mode of usage
Point-to-point vs. broadcast channel
Propagation delay
Capacity (depending on bandwidth and
modulation/coding used)
Transmission errors (bit errors, error bursts)
All these parameters may be time variant
Point-to-point and broadcast links/channels
Point-to-point
K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / [email protected] 13
Nodes
End nodes / end systems
Source
Sink
Intermediate nodes / intermediate systems / routers
Both source and sink Æ capable of forwarding data
Æ Intermediate nodes enable larger ‘networks’
Network: A recursive definition
A network is a set of nodes interconnected
by links
A network is a set of networks interconnected by nodes
K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / [email protected] 15
Various problems to be solved
Data transmission on a link
Naming and addressing (identification of objects)
Resource sharing
Co-ordination of access to shared resources, fairness
Flow and congestion control
Resilience against failures
Error handling (bit, burst errors), packet loss, delayed or ‘out of order’ messages, link or node failures Æ redundancy
Routing
Key issue: Resource sharing
Channel resources not shared
Technically not scalable
Economically questionable
Adaptable level of resource sharing
Technically and economically scalablevs.
multiplexing switchingK.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / [email protected] 17
Multiplexing
Multiple logical flows over one physical link
De-/multiplexing
Statistical multiplexing (priority, quality of service, etc.)Options
Space Division Multiplexing (SDM): Distinction in ‘space’, e.g. antenna arrays
Time Division Multiplexing (TDM): Distinct time slots, e.g., GSM
Frequency Division Multiplexing (FDM): Distinct frequency bands within the whole frequency range, e.g., GSM
Code Division Multiplexing (CDM): Signal is coded by distinct code, aggregated, and decoded, e.g. UMTS
Application-to-application communication
Protocol layers Protocol stack
K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / [email protected] 19
Protocol graphs
Communication patterns: - Request/Reply - Message streamingK.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / [email protected] 21
Protocols and interfaces
Protocols are building blocks of a network architecture with interfaces
Service interface: Between different layers on the same machine
Peer-to-peer interface: Between the corresponding layer on the remote machine
Protocol specification: Prose, pseudo code, state transition diagrams
Who is responsible for protocol specifications? E.g. Internet: IETF … Internet Engineering Task Force; RFC (Request for Comments)
OSI Reference Model
Application Presentation Session Tranport Network Link Physical P-P L-P N-P Transport Protocol Session Protocol Presentation Protocol Application Protocol Network Link Physical Network Link Physical Network Link Physical Application Presentation Session Tranport P-P L-P N-P P-P L-P N-PK.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / [email protected] 23
Internet protocol stack
IP (Internet Protocol) as the core of the protocol stack
Transport layer: Transmission Control Protocol (TCP) and User Datagram Protocol (UDP)
Subnetwork examples: Ethernet IEEE 802.3, WLAN IEEE 802.11
Application examples: (T)FTP: (Trivial) File Transport Protocol
HTTP: HyperText Transport Protocol
SMTP: Simple Mail Transfer Protocol
Telnet/SSH: Remote login
etc.
For further reading
Zimmermann, H., OSI reference Model – the ISO model of architecture for open systems Interconnection. IEEETransactions on Communications, 28(4):425-432, April 1980.