320 likes | 333 Views
This lecture provides an introduction to networking, covering topics such as protocols, layering, and medium access. The goal is to understand the design principles of large-scale computer networks and the fundamental problems in building fast, efficient, secure, and robust networks.
E N D
CSE 561 – Introduction and Layering David Wetherall djw@cs.washington.edu Spring 2000
This Lecture • Administrative Stuff • Introduction to Networking • Protocols and Layering • Medium Access djw // CS 561, Spring 2000
People • David Wetherall • djw@cs.washington.edu • Sieg 210, Th 11 12 • Eric Hoffman • hoffman@cs.washington.edu djw // CS 561, Spring 2000
Materials • Course Web page • www.cs.washington.edu/education/course/561/00sp • Mailing list • Important – make sure you join! • Readings • Select papers distributed in class • Textbook • Peterson and David, Computer Networks: A Systems Approach • 2nd edition came out late 1999 and is great. djw // CS 561, Spring 2000
Work and Grading • Paper reviews and class participation (30%) • Reviews due by noon on day of class • Written assignment (20%) • Mini-study of development of an area or technique • Project (30%) • Groups, research-oriented, simulation or implementation • Exam (20%) • In-class quiz in the latter part of the quarter djw // CS 561, Spring 2000
Mini-Reviews • Half a page or so • Post on web site by noon before class • Identify contributions/significance of paper • Summarize thrust of paper • Identify strengths and weaknesses • Tell me what you think • What you learned, what you found interesting, what you want to know djw // CS 561, Spring 2000
Projects • Done in groups of two or three • Research-oriented • Evaluate proposed or new solutions/techniques • Simulation, measurement, or implementation • Topic is up to you • Proposal • Two pages only stating purpose, prior work, plan of attack, and measure for success • Presentations • In class, midterm and final (with paper) djw // CS 561, Spring 2000
Timeline • Projects • Proposal end of week 2 (two pages only) • Midterm status report due end of week 5 • Final presentation/paper in class end of week 10 • Assignment • Due end of week 6 • Exam • In class, start of week 8 djw // CS 561, Spring 2000
Goal of this Course • For you to understand the design of large-scalecomputer networks. • Fundamental problems in building networks • That are fast, efficient, secure and robust • Design principles of proven value • Networking is young and there are few! • Common implementation technologies • These will change of course … djw // CS 561, Spring 2000
Lecture Topics • Multi-access (Ethernet) • Routing and forwarding (IP routers) • Network and Protocol Design (E2E etc.) • Reliable transport (TCP) • Congestion control (TCP) • Multicast (Mbone) • Scheduling and QOS (Intserv, DiffServ) • Naming (DNS) djw // CS 561, Spring 2000
Elements of a Network • Links carry information (bits) • Wire, wireless, fiber optic, smoke signals … • Switches move bits between links • Routers, gateways, bridges, CATV headend, PABXs, … • Hosts are the communication endpoints • PC, PDA, cell phone, tank, toaster, … djw // CS 561, Spring 2000
Example – Local Area Network • Your home network • Ethernet is a broadcast-capable multi-access LAN Ethernet Hub Cable Modem Printer Laptop PC djw // CS 561, Spring 2000
Example – An Internetwork • Internetwork is a network of networks • The Internet is a global internetwork in which all participants speak a common language, IP. ISP 2 ISP 1 Local Net 1 Local Net 2 djw // CS 561, Spring 2000
Our Focus • We are interested in networks that are: • Distributed • Large scale • Multi-purpose djw // CS 561, Spring 2000
The meaning of “Distributed” • There are distributed and parallel networks: • Cash machines versus a parallel computer • What is the essential difference? • Tolerance of failed components • Decentralized operation • Heterogeneity • Hard to get it right • “A distributed system is a system in which I can’t do my work because some computer has failed that I’ve never even heard of.” – Lamport djw // CS 561, Spring 2000
The meaning of “Large-scale” djw // CS 561, Spring 2000
The meaning of “Multi-purpose” • Telephone network • Designed for telephone calls • Internet • Web, email, Quake, e-commerce, audio/video, … • But evolution was at work: Web/email a “surprise” • Computer networks • Carry digital information and support a rich variety of distributed applications djw // CS 561, Spring 2000
Why Build Networks? • Communication at a distance • Want performance sufficient to given task • Video conference, etc. • Cost-effective resource sharing • Networks are shared among users • Statistical multiplexing djw // CS 561, Spring 2000
Statistical Multiplexing • Static partitioning schemes work well for a fixed number of users that always have data to send • Not suited to data communications: peak>>average • If we share on demand we can support more users • Based on the statistics of their transmissions • Occasionally we might be oversubscribed • Statistical multiplexing is heavily used in data networks djw // CS 561, Spring 2000
Example • One user sends at 1 Mbps and is idle 90% of the time. • 10 Mbps channel; 10 users if statically allocated • What are the likely loads if we share on demand? Prob Prob 2 users 10 users 0 1 2 Mbps 0 1 … 10 Mbps djw // CS 561, Spring 2000
You do the Math • For 10 users, Prob(need 10 Mbps) = 10-10 • So keep adding users … • For 35 users, Prob(>10 active users) = 0.17% • We can support three times as many users! djw // CS 561, Spring 2000
Protocols and Layering • Need abstractions to handle complexity • Protocols and layering • Protocol • Agreement dictating the form and function of data exchanged between parties to effect communication • Two parts: • Syntax: where the bits go • Semantics: what they mean, what to do with them • Examples: • IP, the Internet protocol • TCP and HTTP, for the Web djw // CS 561, Spring 2000
Protocol Standards • Different functions require different protocols • Thus there are many protocol standards • E.g., IP, TCP, UDP, HTTP, DNS, FTP, SMTP, NNTP, ARP, Ethernet/802.3, 802.11, RIP, OPSF, 802.1D, NFS, ICMP, IGMP, DVMRP, IPSEC, PIM-SM, BGP, … • Organizations: IETF, IEEE, ITU • IETF specifies Internet-related protocols • RFCs (Requests for Comments) • “We reject kings, presidents and voting. We believe in rough consensus and running code.” – Dave Clark. djw // CS 561, Spring 2000
Protocol Layering • Layering • Higher level protocols build on services provided by lower levels • Peer layers communicate with each other Layer N+1 e.g., HTTP Layer N e.g., TCP Home PC Netscape djw // CS 561, Spring 2000
Example – Layering at work host host • We can connect different systems router djw // CS 561, Spring 2000
Layering Mechanics • Encapsulation and decapsulation Layer N+1 PDU becomes Layer N ADU Hdr + Data Messages passed between layers Data Hdr + djw // CS 561, Spring 2000
More Layering Mechanics • Multiplexing and demultiplexing in a protocol graph SMTP HTTP TCP port number TCP UDP IP protocol field IP ARP 802.2 identifier Ethernet djw // CS 561, Spring 2000
A Packet on the Wire • Starts looking like an onion! • This isn’t entirely accurate • ignores segmentation and reassembly, Ethernet trailers, etc. • But you can see that layering adds overhead Ethernet Hdr IP Hdr TCP Hdr HTTP Hdr Payload (Web object) Start of packet End of packet djw // CS 561, Spring 2000
Internet Protocol Stacks Model Protocols djw // CS 561, Spring 2000
Seven Layers Their functions: Your call Encode/decode messages Manage connections Reliability, congestion control Routing Framing, multiple access Symbol coding, modulation OSI Reference Model djw // CS 561, Spring 2000
The Problem of Multiple Access • Multiple nodes share a broadcast channel • wired LAN, wireless LAN, cell phones, packet radio, satellites • How do they coordinate their transmissions? • Ideal solution for N nodes sharing bandwidth B bps: • high goodput (B), low delay (0), fair (B/N), decentralized, stable, and simple! nodes broadcast media djw // CS 561, Spring 2000
Key Concepts • Networks are used to share distributed resources • Protocol layers are used to handle complexity • The Internet/OSI models give us a roadmap djw // CS 561, Spring 2000