cse 561 – introduction and layering david wetherall [email protected] spring 2000
Post on 21-Dec-2015
233 views
TRANSCRIPT
djw // CS 561, Spring 2000 L1.2
This Lecture
1. Administrative Stuff2. Introduction to Networking3. Protocols and Layering4. Medium Access
djw // CS 561, Spring 2000 L1.3
People
• David Wetherall– [email protected]– Sieg 210, Th 11 12
• Eric Hoffman– [email protected]
djw // CS 561, Spring 2000 L1.4
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 L1.5
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 L1.6
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 L1.7
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 L1.8
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 L1.9
Goal of this Course
• For you to understand the design of large-scale computer 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 L1.10
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 L1.11
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 L1.12
Example – Local Area Network
• Your home network– Ethernet is a broadcast-capable multi-access LAN
CableModem
PC Laptop
Printer
EthernetHub
djw // CS 561, Spring 2000 L1.13
Example – An Internetwork
• Internetwork is a network of networks• The Internet is a global internetwork in which all
participants speak a common language, IP.
LocalNet 2
LocalNet 1
ISP 2 ISP 1
djw // CS 561, Spring 2000 L1.14
Our Focus
• We are interested in networks that are:– Distributed– Large scale– Multi-purpose
djw // CS 561, Spring 2000 L1.15
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 L1.16
The meaning of “Large-scale”
djw // CS 561, Spring 2000 L1.17
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 L1.18
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 L1.19
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 L1.20
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?
0 1 2 Mbps
Prob
0 1 … 10 Mbps
Prob2 users 10 users
djw // CS 561, Spring 2000 L1.21
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 L1.22
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 L1.23
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 L1.24
Protocol Layering
• Layering– Higher level protocols build on services provided by
lower levels– Peer layers communicate with each other
Layer N+1e.g., HTTP
Layer Ne.g., TCP
Home PC Netscape
djw // CS 561, Spring 2000 L1.25
Example – Layering at work
• We can connect different systems
TCP
IP
Ethernet
TCP
IP
CATV
IP IP
Ethernet
CATV
host host
router
djw // CS 561, Spring 2000 L1.26
Layering Mechanics
• Encapsulation and decapsulation
Hdr
Hdr Data
Data+
+
Layer N+1 PDU
becomes
Layer N ADU
Messagespassed
betweenlayers
djw // CS 561, Spring 2000 L1.27
More Layering Mechanics
• Multiplexing and demultiplexing in a protocol graph
UDPTCP
ARPIP
Ethernet
SMTP HTTP
802.2 identifier
IP protocol field
TCP port number
djw // CS 561, Spring 2000 L1.28
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
IP Hdr Payload (Web object)TCP Hdr HTTP HdrEthernet Hdr
Start of packet End of packet
djw // CS 561, Spring 2000 L1.29
Internet Protocol Stacks
Application
Transport
Network
Link
Many(HTTP, SMTP)
TCP / UDP
IP
Many(Ethernet,
…)
Model Protocols
djw // CS 561, Spring 2000 L1.30
OSI Reference Model
• Seven Layers Their functions:
• Your call
• Encode/decode messages
• Manage connections
• Reliability, congestion
control
• Routing
• Framing, multiple access
• Symbol coding, modulation
Application
Presentation
Session
Transport
Network
Link
Physical
djw // CS 561, Spring 2000 L1.31
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 L1.32
Key Concepts
• Networks are used to share distributed resources• Protocol layers are used to handle complexity• The Internet/OSI models give us a roadmap