Introduction: Why do we need computer networks? Karin A. Hummel - Adapted slides of Prof. B. Plattner, plattner@tik.ee.ethz.ch - Add-on material included of Peterson, Davie: Computer Networks February 2012
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 Laptops smartphones wearable systems Internet of Things (IoT) K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 2
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 Media server K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 3
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 / karin.hummel@tik.ee.ethz.ch 4
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,...) K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 5
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 See also the corresponding readers on Moodle K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 6
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 faults, tools for accounting/billing K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 7
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 K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 8
Building blocks of computer networks February 2012
Basic network building blocks Links, characterized by medium & modulation / encoding) Nodes (PC, router, switch, embedded system, handheld mobile) K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 10
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 K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 11
Point-to-point and broadcast links/channels Point-to-point Broadcast, multiple access K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 12
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 K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 13
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 / karin.hummel@tik.ee.ethz.ch 14
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 Accounting of service/resource usage, charging K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 15
Key issue: Resource sharing vs. switching Channel resources not shared Technically not scalable Economically questionable multiplexing Adaptable level of resource sharing Technically and economically scalable K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 16
Multiplexing Options Multiple logical flows over one physical link De-/multiplexing Statistical multiplexing (priority, quality of service, etc.) Figure source: Petersen, Davie: Computer Networks 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 K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 17
Application-to-application communication Protocol layers Protocol stack K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 18
Protocol graphs Communication patterns: - Request/Reply - Message streaming K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 19
Encapsulation of protocol messages K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 20
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) Figure source: Petersen, Davie: Computer Networks K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 21
OSI Reference Model Application Application Protocol Application Presentation Presentation Protocol Presentation Session Session Protocol Session Tranport Transport Protocol Tranport Network N-P Network N-P Network N-P Network Link L-P Link L-P Link L-P Link Physical P-P Physical P-P Physical P-P Physical OSI: Open Systems Interconnection K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 22
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. Figure source: Petersen, Davie: Computer Networks K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 23
For further reading Zimmermann, H., OSI reference Model the ISO model of architecture for open systems Interconnection. IEEE Transactions on Communications, 28(4):425-432, April 1980. Saltzer, J., Reed, D., and Clark, D. End-to-end arguments in system design. ACM Trans. On Computer Systems 2(4)_277-288, Nov. 1984. Pierce, J. Telephony a personal view. IEEE Communications 22(5):116-120, May 1984. All these papers are available via the Moodle platform. K.A. Hummel based on lecture of Prof. B. Plattner TIK-CSG / karin.hummel@tik.ee.ethz.ch 24